Skip to content

chore: sync .NET client with Apify OpenAPI spec v2-2026-07-08T143931Z + compression/OS-token alignment - #5

Merged
Pijukatel merged 2 commits into
masterfrom
claude/awesome-rubin-1w4ucz
Jul 10, 2026
Merged

chore: sync .NET client with Apify OpenAPI spec v2-2026-07-08T143931Z + compression/OS-token alignment#5
Pijukatel merged 2 commits into
masterfrom
claude/awesome-rubin-1w4ucz

Conversation

@Pijukatel

@Pijukatel Pijukatel commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Syncs the .NET client with Apify OpenAPI spec v2-2026-07-08T143931Z and aligns it with recent reference-client changes, then applies two cross-client uniformity requirements. Version 0.1.2.

Changes

Spec sync

  • Bumped ApifyClientVersion.ApiSpecVersion to v2-2026-07-08T143931Z. No in-scope endpoint/parameter/schema delta; coverage unchanged.

Request-body compression — both brotli and gzip (reference: apify-client-js#962)

  • Added a RequestCompression enum (Brotli, Gzip) and ApifyClientOptions.RequestCompression (default Brotli), threaded into HttpClientCore. Both paths are implemented (BrotliStreamContent-Encoding: br, GZipStreamContent-Encoding: gzip), genuinely reachable via the public option, and tested. Existing behavior preserved: only compress string/byte payloads ≥ 1024 bytes, prepared once before the retry loop, skip when Content-Encoding is already set.

User-Agent OS token — identical across all clients (reference: apify-client-js#964)

  • ResolveOsToken emits exactly the reference JS os.platform() tokens: win32/darwin/android/linux/freebsd (via OperatingSystem.IsX()) plus openbsd/netbsd/sunos (Solaris + illumos)/aix (via RuntimeInformation), with unknown only for non-Node platforms. Confirmed win32 (not windows) and darwin (not osx/macos).

Docs

  • Documented RequestCompression; fixed a pre-existing csproj/ClientVersion version mismatch and several pre-existing doc issues (JSON namespace guidance, storages return types, Count labeling, log cross-links, examples link).

Testing

  • dotnet format --verify-no-changes clean; Release build clean (warnings-as-errors).
  • Unit 94/94, Examples 7/7, Integration 46/46 pass against the live API (integration/example suites push >1 KiB bodies, exercising both Content-Encoding: br and gzip).

Note

The live spec has since advanced to v2-2026-07-09T114529Z (one day newer than this PR's baseline); a re-sync to that version is a separate future change, not part of this compression/OS-token work.

claude added 2 commits July 9, 2026 22:25
- Bump ApiSpecVersion to v2-2026-07-08T143931Z and client version to 0.1.2
- Align User-Agent OS token with reference clients (win32/darwin/linux/android/freebsd)
- Add brotli request-body compression for bodies >= 1024 bytes (Content-Encoding: br)
- Document the Actor versions / environment-variables sub-API and make doc token
  preamble null-safe
…-Agent OS token

- Add RequestCompression option (Brotli default, Gzip); both paths reachable and tested
- Map User-Agent OS token to the reference os.platform() values across all platforms
  (win32/darwin/linux/android/freebsd/openbsd/netbsd/sunos/aix)
- Fix csproj version to match ClientVersion; document RequestCompression
@Pijukatel Pijukatel changed the title chore: sync .NET client with Apify OpenAPI spec v2-2026-07-08T143931Z chore: sync .NET client with Apify OpenAPI spec v2-2026-07-08T143931Z + compression/OS-token alignment Jul 10, 2026
@Pijukatel
Pijukatel merged commit ed59e47 into master Jul 10, 2026
2 checks passed
@Pijukatel
Pijukatel deleted the claude/awesome-rubin-1w4ucz branch July 10, 2026 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants