From 412fb49ca40114aab05af197469ebaff6c9141e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20Proch=C3=A1zka?= Date: Fri, 28 Aug 2026 11:03:23 +0000 Subject: [PATCH] chore: sync Java client with Apify OpenAPI spec v2-2026-08-27T071624Z --- CHANGELOG.md | 8 +++++++ README.md | 8 +++---- pom.xml | 2 +- spotbugs-exclude.xml | 26 ++++++++++----------- src/main/java/com/apify/client/Version.java | 4 ++-- 5 files changed, 28 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79ca825..af59438 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to the Apify Java client are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.6.2] - 2026-08-28 + +### Changed + +- Bumped `Version.API_SPEC_VERSION` to `v2-2026-08-27T071624Z` and `Version.CLIENT_VERSION` to + `0.6.2`. +- Reworded a stale temporal reference ("(this PR)") in a `spotbugs-exclude.xml` comment. + ## [0.6.1] - 2026-08-15 ### Fixed diff --git a/README.md b/README.md index aa865e9..7f27785 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Maven (Maven Central is a default repository, so no extra configuration is neede com.apify apify-client - 0.6.1 + 0.6.2 ``` @@ -35,7 +35,7 @@ repositories { } dependencies { - implementation 'com.apify:apify-client:0.6.1' + implementation 'com.apify:apify-client:0.6.2' } ``` @@ -293,10 +293,10 @@ try { The public `com.apify.client.Version` class (`import com.apify.client.Version;`) exposes two constants: -- `Version.CLIENT_VERSION` — the semantic version of this client (`0.6.1`). +- `Version.CLIENT_VERSION` — the semantic version of this client (`0.6.2`). - `Version.API_SPEC_VERSION` — the version of the [Apify OpenAPI specification](https://docs.apify.com/api/openapi.json) (its `info.version` field) that this client's endpoints, parameters and models were last generated - and checked against (`v2-2026-08-14T072928Z`). It is a snapshot, not a live compatibility + and checked against (`v2-2026-08-27T071624Z`). It is a snapshot, not a live compatibility guarantee: the client keeps working against newer, backward-compatible spec revisions, but a feature added to the API after this snapshot has no corresponding method here yet. diff --git a/pom.xml b/pom.xml index 3edadbd..86df320 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.apify apify-client - 0.6.1 + 0.6.2 jar Apify Java Client diff --git a/spotbugs-exclude.xml b/spotbugs-exclude.xml index 97992ef..4111b75 100644 --- a/spotbugs-exclude.xml +++ b/spotbugs-exclude.xml @@ -33,19 +33,19 @@ traces a record's synthesized accessor and canonical constructor), so this pair of exclusions is specific to the record form. - 4. EI_EXPOSE_REP on the specific getters listed below, each returning a field whose type was just - changed (this PR) to extend the shared {@code ApifyResource} forward-compatibility base (an - {@code extra} catch-all map + package-private {@code @JsonAnySetter}), so unmodelled API fields - on nested value DTOs are preserved instead of silently dropped. That base class is not {@code - final} and holds a mutable {@code LinkedHashMap} field, which flips SpotBugs' mutability - heuristic for every subtype from "no public mutator -> immutable-enough, don't flag" to - "mutable -> flag every getter that returns one as a field of another class" - even though - nothing about this actually changed: {@code putExtra} stays package-private, {@code - getExtra()} still returns an unmodifiable view, and there is still no public way to mutate a - returned instance. Defensively copying on every getter call would require deep-cloning the - {@code extra} map each time, which is wasted work for a map that is (by construction) never - mutated after deserialization, so copying is not the fix here - the false positive is. Listed - per getter (not per class) to keep the exclusion exactly as narrow as the finding it suppresses. + 4. EI_EXPOSE_REP on the specific getters listed below, each returning a field whose type extends + the shared {@code ApifyResource} forward-compatibility base (an {@code extra} catch-all map + + package-private {@code @JsonAnySetter}), so unmodelled API fields on nested value DTOs are + preserved instead of silently dropped. That base class is not {@code final} and holds a mutable + {@code LinkedHashMap} field, which flips SpotBugs' mutability heuristic for every subtype from + "no public mutator -> immutable-enough, don't flag" to "mutable -> flag every getter that + returns one as a field of another class" - a false positive: {@code putExtra} stays + package-private, {@code getExtra()} still returns an unmodifiable view, and there is still no + public way to mutate a returned instance. Defensively copying on every getter call would require + deep-cloning the {@code extra} map each time, which is wasted work for a map that is (by + construction) never mutated after deserialization, so copying is not the fix here - the false + positive is. Listed per getter (not per class) to keep the exclusion exactly as narrow as the + finding it suppresses. 5. EI_EXPOSE_REP2 on {@code ListPublisher}'s constructor, which stores the caller-supplied {@code CompletableFuture>} straight into a field. A {@code CompletableFuture} is a handle to an diff --git a/src/main/java/com/apify/client/Version.java b/src/main/java/com/apify/client/Version.java index 87b2a7e..6866f7d 100644 --- a/src/main/java/com/apify/client/Version.java +++ b/src/main/java/com/apify/client/Version.java @@ -13,13 +13,13 @@ public final class Version { * The semantic version of this client library (see SemVer). * Changes to the public interface other than additive ones are considered breaking changes. */ - public static final String CLIENT_VERSION = "0.6.1"; + public static final String CLIENT_VERSION = "0.6.2"; /** * The version of the Apify OpenAPI specification this client was generated and verified against. * Corresponds to the {@code info.version} field of the Apify OpenAPI document. */ - public static final String API_SPEC_VERSION = "v2-2026-08-14T072928Z"; + public static final String API_SPEC_VERSION = "v2-2026-08-27T071624Z"; private Version() {} }