Skip to content

chore: sync Rust client with Apify OpenAPI spec v2-2026-06-29T142258Z - #10

Merged
Pijukatel merged 1 commit into
masterfrom
claude/quirky-davinci-9p0jk7
Jun 30, 2026
Merged

chore: sync Rust client with Apify OpenAPI spec v2-2026-06-29T142258Z#10
Pijukatel merged 1 commit into
masterfrom
claude/quirky-davinci-9p0jk7

Conversation

@Pijukatel

Copy link
Copy Markdown
Collaborator

Summary

Synchronizes the Apify Rust client with OpenAPI specification v2-2026-06-29T142258Z (from v2-2026-06-25T142310Z) and bumps the crate to 0.4.2.

An operation- and parameter-level audit of every in-scope operation against the new specification — with the JavaScript reference client (apify-client-js/src) as the parity authority for which endpoints/parameters are in scope — found the in-scope typed API surface unchanged: same paths, operations, query/header parameters, request bodies and response schemas. The recently added pay-per-event charge and validate-input operations remain covered and correct. The endpoints the client does not cover (run-sync/run-sync-get-dataset-items, /v2/tools/decode-and-verify & encode-and-sign, /v2/browser-info, and the keyed POST create variants that duplicate covered PUT writes) are confirmed out of scope — the reference client exposes none of them. So the spec bump is version-only for the in-scope surface, and this is a patch release with no public interface change.

Changes

  • src/version.rsAPI_SPEC_VERSIONv2-2026-06-29T142258Z.
  • Cargo.toml — crate version 0.4.10.4.2 (patch; also exposed via CLIENT_VERSION).
  • CHANGELOG.md — new [0.4.2] entry documenting the spec sync and audit outcome.

Review fixes (no behaviour change to the public API)

  • examples/run_store_actor.rs — now discovers the Actor through the Store API (client.store().list(...)) and runs the resolved apify/hello-world entry, so it genuinely demonstrates running an Actor found in the Store.
  • docs/storages.md — lists all DownloadItemsFormat variants with a runnable download_items snippet; explains the forefront flag (front-vs-back of queue); documents the JSON shape of the untyped request-queue / statistics return values.
  • examples/get_account.rs, docs/misc.md — derive the monthly_usage_for_date lookup date from the current day instead of a hardcoded historical date.
  • src/http_client.rs — retry backoff cleanup: jitter now advances its shared state with a single atomic fetch_add (matching its comment), the retry loop is a total loop {} without a dead fallback branch (max_attempts via saturating_add), and backoff doubling uses saturating_mul for consistency with the per-attempt timeout.

Verification

  • cargo fmt --all -- --check and cargo clippy --all-targets -- -D warnings — clean.
  • cargo test --doc — 24 passed.
  • cargo build --examples — clean.
  • Full cargo test --lib --tests against the live API (APIFY_TOKEN) — all 16 test binaries green (0 failures), including the 8 example smoke tests (tests/examples.rs).

This client is official, but experimental, and is generated and maintained with AI assistance.


Generated by Claude Code

Bump API_SPEC_VERSION to v2-2026-06-29T142258Z (from v2-2026-06-25T142310Z)
and the crate to 0.4.2. An operation- and parameter-level audit against the
new spec, with the JavaScript reference client as the parity authority for the
in-scope surface, found the in-scope typed API unchanged, so this is a patch
release with no public interface change.

Also addresses review feedback:
- run_store_actor example now discovers its actor through the Store API.
- Documented DownloadItemsFormat variants (+ a download_items snippet), the
  forefront flag, and the untyped request-queue return shapes.
- Account-usage example/doc derive the lookup date from the current day
  instead of a hardcoded historical date.
- HTTP retry backoff tidied: atomic jitter via fetch_add, a total retry loop
  without a dead fallback branch, and saturating backoff arithmetic.
@Pijukatel
Pijukatel merged commit 233c6b5 into master Jun 30, 2026
2 checks passed
@Pijukatel
Pijukatel deleted the claude/quirky-davinci-9p0jk7 branch July 8, 2026 09:46
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