Skip to content

feat!: add zstd compression and parent_request_id, sync with Apify OpenAPI spec v2-2026-11-09T143926Z - #36

Merged
Pijukatel merged 6 commits into
masterfrom
claude/affectionate-lamport-d87ffi
Nov 11, 2026
Merged

Pijukatel merged 6 commits into
masterfrom
claude/affectionate-lamport-d87ffi

Conversation

@Pijukatel

Copy link
Copy Markdown
Collaborator

Summary

Syncs the Rust client with OpenAPI spec v2-2026-11-09T143926Z (apify/apify-docs#3084, #3199) and apify-client-js #1198, #1200 and #1205. Applies requirement updates from apify/apify-client-orchestration#66 and #67, and cleans up docs and comments. The crate version goes to 0.17.0 (breaking).

Spec sync

  • API_SPEC_VERSION is v2-2026-11-09T143926Z.
  • #3084: ActorVersion::actor_path was already present.
  • #3199: adds zstd to the documented Content-Encoding values.

zstd request compression (JS #1200)

  • New ZstdHttpCompressor (quality 1–19, default 3) and RequestCompression::Zstd.
  • Behind a new zstd cargo feature, on by default, because the zstd crate builds a C library. CI has a "Clippy without zstd" step.
  • With default-features = false the TLS backend is dropped too, so the README says to enable native-tls or rustls explicitly.

parent_request_id for Server Actor requests (JS #1198)

  • New ActorServerRequestOptions::parent_request_id, sent as X-Actor-Request-ID. It replaces any header with the same name, whatever its case.
  • It is a field on the options struct, like the JS parentRequestId option and the other options structs in this client.
  • docs/actors.md has a new section with a runnable snippet.
  • JS #1205 only regenerates JS types, so nothing was ported.

Docs and comments cleanup

  • Removed reference-client provenance notes, mentions of sibling clients, regression-test narratives, comments that restate the code, and accessor banners across src, tests, examples, README.md and docs/.
  • Shortened the longest rustdoc blocks and fixed install snippets that still said 0.15.

Tests

  • Unit tests for zstd and parent_request_id.
  • Live key-value store test for a zstd upload.

Breaking changes

  • ActorServerRequestOptions gained a field, so struct literals without ..Default::default() no longer compile. Listed in the CHANGELOG.

Generated by Claude Code

@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 Nov 10, 2026 — with Claude
@apify-service-account apify-service-account added the tested Temporary label used only programatically for some analytics. label Nov 10, 2026
@Pijukatel
Pijukatel merged commit 8afe897 into master Nov 11, 2026
2 of 6 checks passed
@Pijukatel
Pijukatel deleted the claude/affectionate-lamport-d87ffi branch November 11, 2026 07:46
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