Skip to content

feat!: sync Rust client with Apify OpenAPI spec v2-2026-10-20T121847Z and raise rustls trust-store floors - #31

Open
Pijukatel wants to merge 6 commits into
masterfrom
claude/youthful-franklin-dgvy9d
Open

Pijukatel wants to merge 6 commits into
masterfrom
claude/youthful-franklin-dgvy9d

Conversation

@Pijukatel

@Pijukatel Pijukatel commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Syncs the Rust client to OpenAPI spec v2-2026-10-20T121847Z (apify/apify-docs#3087, #3090, #3091, #3092, #3093, #3096). It also covers the reference client changes apify/apify-client-js#1143, #1146, #1162, #1164 and #1167, and the compromised intermediate CA certificates incident. Crate version goes from 0.13.0 to 0.14.0.

  • Breaking:
    • ActorVersionCollectionClient::list and iterate no longer take ListOptions. The endpoint has no query parameters, so the options were silently ignored. A new single_page_iterator! macro serves both non-paginated collections (versions and env vars).
    • RunChargeOptions gains a public field, which breaks struct literals.
  • Charge request ID: RunChargeOptions::request_id is sent as requestId in the charge body, and left out when None (#3092, JS #1162).
  • Spec sync:
    • API_SPEC_VERSION is bumped. Models are lenient and request bodies are caller-supplied, so no other model code changed.
    • Doc comments for pricing_model and response_format and the version-body notes in docs/actors.md are updated.
    • The schedule integration test now covers the notifications field.
  • Reference client:
    • JS #1164 and #1167 (null buildTag, restartOnError, isOneTimeEvent) are pinned by unit tests.
    • JS #1146: Rust already matched, and tests now pin it. An unparsable success body is not retried, and an unparsable error body is retried by status code.
    • JS #1143 has no Rust equivalent, because request bodies are always in-memory bytes.
  • CA incident: the rustls feature now sets minimum versions rustls-webpki >= 0.103.16 and webpki-roots >= 1.0.10. CI adds a clippy step for rustls, and the README and CHANGELOG explain the change. The default native-tls feature uses the OS trust store.
  • Docs build: fixes 10 dead rustdoc links that were already on master. CI now runs cargo doc --no-deps with -D warnings.

All of these pass: fmt, clippy (default and rustls), cargo doc, unit tests, live-API integration tests, examples and doctests.

…and raise rustls trust-store floors

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUMWnU4gH573HweHieMhHi
…ss review feedback

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUMWnU4gH573HweHieMhHi
…tions

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUMWnU4gH573HweHieMhHi
@apify-service-account apify-service-account added the tested Temporary label used only programatically for some analytics. label Oct 21, 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 21, 2026
@Pijukatel Pijukatel added adhoc Ad-hoc unplanned task added during the sprint. and removed tested Temporary label used only programatically for some analytics. labels Oct 21, 2026 — with Claude
@apify-service-account apify-service-account added the tested Temporary label used only programatically for some analytics. label Oct 21, 2026
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUMWnU4gH573HweHieMhHi
…nks and deny doc warnings in CI

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUMWnU4gH573HweHieMhHi
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUMWnU4gH573HweHieMhHi
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