Skip to content

feat!: sync PHP client with Apify OpenAPI spec v2-2026-11-01T214220Z and port the apify-client-js v3 changes - #20

Merged
Pijukatel merged 11 commits into
masterfrom
claude/dazzling-ritchie-2ekm9p
Nov 2, 2026
Merged

Pijukatel merged 11 commits into
masterfrom
claude/dazzling-ritchie-2ekm9p

Conversation

@Pijukatel

@Pijukatel Pijukatel commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Syncs the PHP client with the Apify OpenAPI spec v2-2026-11-01T214220Z (apify-docs #3115, #3117, #3118, #3125, #3130; apify-client-js #1176, #1178) and ports the apify-client-js PRs that targeted the deleted v3 branch. Version 0.12.0.

Highlights

  • Breaking, timeout tiers (#1046): short and medium default to 5 s and 30 s. Each method's tier matches the reference client. waitForFinish holds extend their request's timeout, and the polls of waitForFinish/call() have no request timeout by default.
  • Breaking, URL normalization (#1045): format: uri fields come back in the WHATWG serialization. A value that isn't a valid host is returned unchanged.
  • Breaking: ScheduleClient::getLog() returns the list of log entries (#1016).
  • Breaking: createItemsPublicUrl() and createKeysPublicUrl() reject an expiresInSecs of zero or less.
  • RunClient::iterateDatasetItems() reads a run's dataset while the run is still producing items.
  • pushItems() no longer retries a timed-out request, which could store the items twice.
  • Spec sync:
    • New deployment filter on run lists and includeInputSchema on the Store list.
    • User limits and usage work for any user id.
    • New model fields pass through.

Left out as JS-only: Node/ESM/pnpm and dependency PRs, zod and generated TS models, date-field conversion (#1060), and AbortSignal (#1081). See CHANGELOG.md (0.12.0) for the full list.

claude added 11 commits November 2, 2026 12:36
…01T214220Z

- Timeout tiers default to 5s (short) and 30s (medium); waitForFinish requests get the API hold on top of their tier.
- Normalize format: uri response fields to the WHATWG URL serialization.
- ScheduleClient::getLog() returns the invocation entries.
- Add RunClient::iterateDatasetItems() for live dataset iteration.
- Add deployment run filter and includeInputSchema store option; user limits and usage work for any user ID.
- Tests, docs and CHANGELOG for the above; integration listing checks wait out replica lag.
…expiry, internals)

- Align per-method default timeout tiers with the reference client and pin them in a test.
- waitForFinish polls and call() have no request timeout by default and take an optional timeoutSecs;
  the server-side hold stays below the request timeout.
- Reject a non-positive expiresInSecs for signed public URLs; public URL builders take timeoutSecs.
- pushItems does not retry a timeout.
- Move live-iteration helpers out of public classes into an internal DatasetItemsPage.
- Integration tests for the remaining simple GET endpoints and a live-iteration test that runs an Actor.
- Load intl in CI, refresh outdated comments, trim CHANGELOG.
…ext, deployment test)

- ScheduleClient::getLog() returns an empty list for a null or missing data field.
- RunClient builds the default dataset context once and uses it for both the dataset client and page reads.
- The deployment filter integration test runs a test-owned long-running Actor and compares listings.
- Drop a clampServerWait doc sentence that described another method.
@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 2, 2026 — with Claude
@apify-service-account apify-service-account added the tested Temporary label used only programatically for some analytics. label Nov 2, 2026
@Pijukatel
Pijukatel merged commit 4df79b1 into master Nov 2, 2026
4 of 8 checks passed
@Pijukatel
Pijukatel deleted the claude/dazzling-ritchie-2ekm9p branch November 2, 2026 12:57
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