Skip to content

2. Versioning and Compatibility

Brendan Burns edited this page Jan 6, 2026 · 29 revisions

Client versioning

The Java client uses Semantic Versioning. We increment the major version number whenever we regenerate the client for a new Kubernetes release version (see table below). Whenever we do this there are new APIs added and possibly breaking changes in the generated Kubernetes API Stubs. Whenever you upgrade a major version, be prepared for potential breaking changes.

Compatibility

client version 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34
14.0.x - - x x x x x x x x x x
15.0.x + - - x x x x x x x x x
16.0.x + + - - x x x x x x x x
17.0.x + + + - - x x x x x x x
18.0.x + + + + - - x x x x x x
19.0.x + + + + + - - - x x x x
20.0.x* + + + + + + - - - x x x
21.0.x* + + + + + + + + - - x x
22.0.x* + + + + + + + + + - x x
23.0.x* + + + + + + + + + + - -
24.0.x* + + + + + + + + + + + -
25.0.x* + + + + + + + + + + + +
HEAD + + + + + + + + + + + +

Key:

  • Exactly the same features / API objects in both java-client and the Kubernetes version.
  • + java-client has features or api objects that may not be present in the Kubernetes cluster, but everything they have in common will work.
  • - The Kubernetes cluster has features the java-client library can't use (additional API objects, etc).
  • x The Kubernetes cluster has no guarantees to support the API client of this version, as it only promises n-2 version support. It is not tested, and operations using API versions that have been deprecated and removed in later server versions won't function correctly.
  • ! There was an error in process and 13.0.0 was based on Kubernetes 1.20 rather than 1.21 as it should have been.
  • * Includes both current and legacy versions

See the CHANGELOG for a detailed description of changes between java-client versions.

Clone this wiki locally