Skip to content

2. Versioning and Compatibility

Brendan Burns edited this page Nov 9, 2024 · 25 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.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31
9.0.x - - x x x x x x x x x x x x
10.0.x + - - x x x x x x x x x x x
11.0.x + + - - x x x x x x x x x x
12.0.x + + + - - x x x x x x x x x
13.0.x + + + ! - - x x x x x x x x
14.0.x + + + + + - - x x x x x x x
15.0.x + + + + + + - - x x x x x x
16.0.x + + + + + + + - - x x x x x
17.0.x + + + + + + + + - - x x x x
18.0.x + + + + + + + + + - - x x x
19.0.x + + + + + + + + + + - - - x
20.0.x* + + + + + + + + + + + - - -
21.0.x* + + + + + + + + + + + + + -
22.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