Skip to content

feat: sync .NET client with Apify OpenAPI spec v2-2026-10-29T100357Z and port the apify-client-js v3 changes - #21

Merged
Pijukatel merged 7 commits into
masterfrom
claude/compassionate-babbage-2ekm9p
Nov 2, 2026
Merged

Pijukatel merged 7 commits into
masterfrom
claude/compassionate-babbage-2ekm9p

Conversation

@Pijukatel

@Pijukatel Pijukatel commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Syncs the .NET client with the Apify OpenAPI spec v2-2026-10-29T100357Z (apify-docs #3115, #3117, #3118, #3125, #3130; apify-client-js #1176, #1178) and ports the apify-client-js PRs that targeted the deleted v3 branch. Version 0.8.0.

Highlights

  • Ported from v3:
    • Path-segment encoding and validation of ids, keys and request ids (#1011).
    • BatchAddRequestsAsync serializes each request once (#1051).
    • ApifyClientOptions.Headers (#1058).
    • Configurable Compressor with Brotli and Gzip (#1065).
    • PushItemsAsync shape check (#1066).
    • HandledAt (#1079).
    • Docs on record parsing (#1082).
    • 90 s listing wait in the integration tests (#1090).
    • The other v3 behaviour was already in the client or is JS-only tooling.
  • PushItemsAsync: no longer retries a timed-out push, which could store the items twice, and serializes the items once.
  • New client options and APIs:
    • PublicBaseUrl defaults to https://api.apify.com.
    • New ApifyClient.Stats.
    • New TimeoutLongSecs option.
    • StreamedLog.DefaultConsole redirects the run log to the console.
  • Spec sync:
    • RunListOptions.Deployment and StoreListOptions.IncludeInputSchema.
    • User limits and usage on User(id).
    • New typed model accessors (incl. ActorRun.Standby).
    • Schedule.uiState accepts null.

See CHANGELOG.md (0.8.0) for the full list.

…and port apify-client-js v3 changes

Regenerate the embedded response schemas (Schedule.uiState accepts null), add typed accessors for the
newly documented fields, encode resource ids and path segments (dot segments rejected), serialize
batch-add requests once, validate pushed dataset items, and add the Headers and Compressor options.
Serve user limits and usage by user ID, add RunListOptions.Deployment and StoreListOptions.IncludeInputSchema,
reject content headers as default headers, default the gzip compressor to the optimal level, fail CI when a
test filter matches no tests, and enable the analyzers for the test project.
Correct the run date-filter docs, tell malformed header names apart from content headers, complete the
usage and limits access rules, and make the deployment integration test assert its filter.
Document a run's standby object by its deployment field, restrict the limited-permission note to the by-ID
usage and limits endpoints, and make the deployment integration test check each run's deployment.
@Pijukatel Pijukatel added adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team. labels Oct 30, 2026 — with Claude
@apify-service-account apify-service-account added the tested Temporary label used only programatically for some analytics. label Oct 30, 2026
@Pijukatel
Pijukatel merged commit d981193 into master Nov 2, 2026
2 of 3 checks passed
@Pijukatel
Pijukatel deleted the claude/compassionate-babbage-2ekm9p branch November 2, 2026 12:56
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