Skip to content

2. Versioning and Compatibility

Brendan Burns edited this page Jul 13, 2024 · 23 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.16 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
8.0.x - - x x x x x x x x x x - -
9.0.x + - - x x x x x x x x x - -
10.0.x + + - - x x x x x x x x - -
11.0.x + + + - - x x x x x x x - -
12.0.x + + + + - - x x x x x x - -
13.0.x + + + + ! - - x x x x x - -
14.0.x + + + + + + - - x x x x - -
15.0.x + + + + + + + - - x x x - -
16.0.x + + + + + + + + - - x x - -
17.0.x + + + + + + + + + - - x - -
18.0.x + + + + + + + + + + - - - -
19.0.x + + + + + + + + + + + - - -
20.0.x* + + + + + + + + + + + + - -
21.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