Skip to content

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

Open
Pijukatel wants to merge 10 commits into
masterfrom
claude/sharp-clarke-2ekm9p
Open

Pijukatel wants to merge 10 commits into
masterfrom
claude/sharp-clarke-2ekm9p

Conversation

@Pijukatel

Copy link
Copy Markdown
Collaborator

Syncs the Java client with the Apify OpenAPI specification v2-2026-10-29T100357Z (apify-docs #3115, #3117, #3118, #3125, #3130; apify-client-js #1176, #1178). It also ports the apify-client-js PRs that targeted the deleted v3 branch. Version 0.12.0. This PR replaces #26 and adds the fixes from a later full review.

Highlights

  • Timeout tiers: SHORT/MEDIUM/LONG/NO_TIMEOUT/of(Duration), with builder setters and ApifyClient.withTimeout(Timeout). A waitForFinish hold extends its request's timeout and is no longer silently dropped.
  • Request compression: configurable with BrotliHttpCompressor and GzipHttpCompressor (default level 6). Default headers are set with ApifyClientBuilder.header(...).
  • Spec parameters: RunListOptions.deployment, StoreListOptions.includeInputSchema, user limits and usage for any user id, and new typed model fields (incl. ActorRun.getStandby()).
  • Normalized URLs: the format: uri fields are normalized.
  • Ids: they are percent-encoded into one path segment, and empty ids and dot segments are rejected.
  • pushItems: shape validation, and no retry after a timeout.
  • batchAddRequests: each request is serialized once.
  • Cancellation: cancelling a returned future aborts the request in flight, the retries, the polling, the pagination and call()'s log redirection. CancellableFuture.copy() cancels only the copy, and a streaming response that races a cancel is closed.
  • RunClient.iterateDatasetItems(...): iterates a run's default dataset while the run is still producing items.
  • ApifyClientBuilder.timeout(Duration) and Build.getChangelog() are deprecated.

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

Testing

mvn spotless:check and mvn clean verify spotbugs:check with APIFY_TOKEN pass: 354 tests, including the live integration, examples and doc-snippet tests, with 0 SpotBugs findings.


Generated by Claude Code

claude added 10 commits October 30, 2026 18:45
…and port the apify-client-js v3 changes

Spec sync: deployment filter on run lists, includeInputSchema on the Store list, user limits and
monthly usage by user id, Run.standby (Server Actor tenancy) and the other new model fields.

Ported from apify-client-js (v3 branch): timeout tiers (#1046), configurable request compression
(#1065), default headers (#1058), normalized format:uri fields (#1045), pushItems shape check
(#1066), raw byte[]/String Actor input (#1078), path-segment encoding of resource ids (#1011),
serialize-once batchAddRequests (#1051), RunClient.iterateDatasetItems (#1085) and the listing
replica-lag wait of the integration tests (#1090).
…d polls under withTimeout, document cancellation
… still opening, exempt polls from withTimeout
…eoutMax, stream cancel leak, copy isolation)
@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

This branch has not been deployed

No deployments
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