client_java
GitHub Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

API stability

The published Java API surface is marked with the @StableApi annotation. The annotation is opt-in: only annotated types and members are part of the stable, published API and follow semantic versioning — backwards-incompatible changes happen only in a major version bump. Unannotated public types are not part of the stability contract and may change in any release.

@StableApi can be applied to a type to publish the type and its members, or to individual constructors, methods, and fields when only part of a public type is stable.

API diff check

CI runs japicmp against a pinned baseline release and writes the published API diffs under docs/apidiffs/current_vs_latest/. Pull requests must keep those checked-in diffs up to date. Run it locally with:

mise run api-diff

Raw reports are written to **/target/japicmp/*.

The baseline version is tracked in pom.xml and updated by Renovate; the published baseline diffs are stored under docs/apidiffs/.

Pull requests that change docs/apidiffs/current_vs_latest/ are automatically labeled api-change for additional maintainer review. If the committed API diff contains breaking-change markers such as ***!, ---!, or +++!, the pull request is also labeled breaking-api-change.