Repository navigation
feat!: port apify-client-js v3 changes and sync with Apify OpenAPI spec v2-2026-10-29T100357Z - #34
Merged
Merged
Conversation
…ec v2-2026-10-29T100357Z Adds timeout tiers with per-client overrides, configurable compressors and default headers, ambiguous-404 handling, path-segment validation, push_items shape check and the new spec query parameters.
Adds statistics, do-not-retry-on-timeout for non-idempotent calls, the request queue timeout cap, typed normalized URL fields and the remaining reference tiers; keeps the deprecated exclusiveStartId and the reference gzip quality.
Adds RunClient::iterate_dataset_items, carries the last_run filters into chained clients, keeps a zero timeout local to its client and rejects zero timeout tiers.
Rejects desc in iterate_dataset_items, keeps the last_run filters in public storage URLs and documents the zero timeout rule of the builder.
Start and poll `call` without a client-side timeout, do not retry timed-out run and build starts, add log redirection (StreamedLog, LogSink, ActorCallOptions::log), bound polls of a finite wait, add TaskStartOptions, make internals crate-private, and add the missing live tests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The reference client's
v3branch was merged into itsmasterwithout PRs tomaster. This PR ports the merged PRs that targetedv3inapify/apify-client-js(#995–#1090) to the Rust client. It also syncs the client with OpenAPI specv2-2026-10-29T100357Z(apify-docs #3115, #3117, #3118, #3125, #3130) and apify-client-js #1176 and #1178. The crate version goes to 0.15.0 (breaking).Ported from v3
Short/Medium/Long/NoTimeout/Custom), builder options, andwith_timeouton every resource client (#1046).HttpCompressor, Brotli/Gzip) and default headers (#1065, #1058).404resolves toNoneonly for id-named clients. Chained clients return it as an error (#1042).push_itemsaccepts only an object or an array of objects (#1066).batch_add_requestsserializes each request once (#1051).StreamedLog,LogSinkandLogRedirect.callredirects the run log by default./v2base URL (#1077), pagination past filtered pages (#1044), skipping compression for compressed types (#1053), error bodies of streamed requests (#1055).AbortSignal(dropping a future cancels the request in Rust).Spec sync
deploymenton run lists,includeInputSchemaon the Store list, anddownloadon logs.UserClient::limits,monthly_usageandupdate_limitsnow work for any user id.Safety fixes found in review
callandTaskClient::callno longer abort and retry a slow start, which could start a second paid run.startandbuilddo not retry a transport timeout.wait_for_finish(Some(n))bounds each poll.pub(crate).ApifyClient::stats()andRunClient::iterate_dataset_itemswere added.The CHANGELOG lists every breaking change.