Skip to content

feat: sync Java client with Apify OpenAPI spec v2-2026-10-08T073338Z - #21

Merged
Pijukatel merged 3 commits into
masterfrom
claude/sharp-clarke-gg8tp4
Oct 12, 2026
Merged

Pijukatel merged 3 commits into
masterfrom
claude/sharp-clarke-gg8tp4

Conversation

@Pijukatel

@Pijukatel Pijukatel commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Syncs the Java client from OpenAPI spec v2-2026-10-01T153946Z to v2-2026-10-08T073338Z (apify/apify-docs#3043, #3044, #3042) and ports the Java-relevant changes from the reference apify-client-js batch (apify/apify-client-js#1091, #1122, #1121, #1123, #1124, #1107, #1137, #1105).

  • UserProfile.getReadme() for the spec's new Profile.readme field (apify-docs#3043).
  • waitForResources on ActorStartOptions/TaskStartOptions and the matching ActorCallOptions/TaskCallOptions: retries a run start rejected for lack of memory or a concurrent-run slot (apify-client-js#1091). Implemented in internal/RunStartSupport.
  • RunClient.waitForFinish() / BuildClient.waitForFinish() now throw NotFoundError once a run/build has answered 404 for 3s straight, instead of polling for the whole wait budget (apify-client-js#1124).
  • StreamedLog reopens a live log stream that ends with zero bytes (a run that hasn't logged yet) with capped backoff, and does a one-shot fetch if stopped before any content arrived (apify-client-js#1105); keeps the reference client's ~1s stop grace window (apify-client-js#1123).

No Java change was needed for apify-client-js#1107 (generated-model renames), #1121 (unwind already a string list), #1122 (restartOnError not exposed at top level) or #1137 (docs), nor for apify-docs#3044 (schema renames, no wire change) and #3042 (useCache default, documentation only).

Version bumped to 0.8.0; CHANGELOG.md, README.md and docs/*.md updated.

…c v2-2026-10-08T073338Z

- UserProfile.getReadme() (new Profile.readme spec field)
- waitForResources on Actor/Task start+call options: retries a run start rejected for lack of
  memory or a concurrent-run slot, mirroring apify-client-js#1091
- waitForFinish now gives up on a run/build id that keeps 404-ing after 3s instead of polling it
  for the whole wait budget, mirroring apify-client-js#1124
- StreamedLog reopens a log stream that ended with zero bytes (a run that hasn't logged anything
  yet) instead of silently giving up, with a one-shot fallback fetch on stop(), mirroring
  apify-client-js#1105
…en update

- README: fix a stray old Version.API_SPEC_VERSION mention left over from the version bump
- StreamedLog.stop()/close(): restore the reference client's ~1s grace window before
  force-closing the live stream, so a message already in flight (e.g. the run's last line) is
  not cut off - the earlier immediate-close only unblocked an already-blocked read, it did not
  give a pending one a chance to arrive
- StreamedLog: fix a stop()/close() vs. reader-thread deadlock risk (both are `synchronized`
  methods that may block in `join()` while holding the monitor a `synchronized` activeStream
  publish from the reader thread would then need) by publishing the reopened stream as a plain
  volatile write instead, and explicitly close it too if a stop raced in while it was in flight
- ResourceContext.waitForFinish: tolerate a 200 response with a null `data` body as "not yet
  available" again (it stopped doing so when the 404-bound fix swapped in a stricter accessor),
  instead of a NullPointerException
- RunStartSupport: clamp waitForResourcesSecs before computing its deadline, so a value near
  Long.MAX_VALUE cannot overflow it
It described the field as "the instant it was last seen present", but it is set to the instant
the resource was first observed absent.
@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. tested Temporary label used only programatically for some analytics. labels Oct 12, 2026 — with Claude
@Pijukatel
Pijukatel merged commit e3cc604 into master Oct 12, 2026
5 of 9 checks passed
@Pijukatel
Pijukatel deleted the claude/sharp-clarke-gg8tp4 branch October 12, 2026 13:01
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