Skip to content

feat: sync .NET client with Apify OpenAPI spec v2-2026-10-08T073338Z - #16

Merged
Pijukatel merged 3 commits into
masterfrom
claude/compassionate-babbage-gg8tp4
Oct 12, 2026
Merged

Pijukatel merged 3 commits into
masterfrom
claude/compassionate-babbage-gg8tp4

Conversation

@Pijukatel

@Pijukatel Pijukatel commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Syncs the .NET client (previously at OpenAPI spec v2-2026-10-01T153946Z, client 0.4.0) to the latest
spec (v2-2026-10-08T073338Z, client 0.5.0) and to the apify-client-js behavior fixes merged since the
last sync (apify-client-js#1091, #1125, #1122, #1121, #1123, #1124, #1107, #1137, #1105, #1144;
apify-docs#3043, #3044, #3042).

  • Adds WaitForResources to ActorStartOptions/TaskStartOptions: StartAsync/CallAsync on both
    ActorClient and TaskClient retry a start rejected with actor-memory-limit-exceeded/
    concurrent-runs-limit-exceeded instead of throwing immediately (apify-client-js#1091).
  • Fixes the auto-paging collection iterators to stop only once a page returns no items, not once offset
    reaches an earlier page's stale total (apify-client-js#1125).
  • Fixes WaitForFinishAsync (run/build) to throw NotFoundException after 3s of continuous 404s instead
    of polling for the whole (possibly multi-day) waitSecs budget (apify-client-js#1124).
  • Fixes StreamedLog to reopen the log stream (growing backoff up to 5s) when it ends empty before the run
    has logged anything, with a one-shot fallback on stop (apify-client-js#1105).

The other reference-client PRs (#1122, #1121, #1123, #1107, #1144) and spec changes (apify-docs#3043,
#3042) required no code change — the .NET client's architecture (untyped UpdateAsync(object),
already-typed string[] options, CancellationToken-based stream cancellation, lean models with a raw-JSON
fallback) already covers them. See CHANGELOG.md for the complete, user-facing change list.

@apify-service-account apify-service-account added the tested Temporary label used only programatically for some analytics. label Oct 12, 2026
@apify-service-account apify-service-account added the t-tooling Issues with this label are in the ownership of the tooling team. label Oct 12, 2026
Bumps the spec version and adds the apify-client-js v3 behavior fixes merged
since the last sync:

- Add `WaitForResources` to `ActorStartOptions`/`TaskStartOptions`: retry a
  run start rejected for lack of memory or a concurrent-run slot instead of
  throwing immediately (apify-client-js#1091).
- Fix the auto-paging collection iterators to stop only once a page returns
  no items, not once `offset` reaches an earlier page's stale `total`
  (apify-client-js#1125).
- Fix `WaitForFinishAsync` to throw `NotFoundException` after 3s of
  continuous 404s instead of polling for the whole wait budget
  (apify-client-js#1124).
- Fix `StreamedLog` to reopen the log stream when it ends empty before the
  run has logged anything, with a one-shot fallback on stop
  (apify-client-js#1105).
- Reset notFoundError alongside notFoundSinceMillis on a successful
  WaitForFinishAsync fetch, for robustness.
- Add a regression test for the case where waitSecs elapses before the
  not-found grace window (WaitForFinishAsync must still throw
  NotFoundException, not a generic error).
- Reject NaN/infinite budgets in WaitForResources.For, so
  double.PositiveInfinity cannot silently stand in for UntilAvailable.
The <param> doc for maxWaitSecs still said "must not be negative" after
the validation was broadened to also reject NaN/infinite values.
@Pijukatel
Pijukatel force-pushed the claude/compassionate-babbage-gg8tp4 branch from cc87e09 to a9023e1 Compare October 12, 2026 09:55
@Pijukatel Pijukatel added the adhoc Ad-hoc unplanned task added during the sprint. label Oct 12, 2026 — with Claude
@Pijukatel
Pijukatel merged commit af1d005 into master Oct 12, 2026
3 of 6 checks passed
@Pijukatel
Pijukatel deleted the claude/compassionate-babbage-gg8tp4 branch October 12, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team. tested Temporary label used only programatically for some analytics.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants