Skip to content

2. Versioning and Compatibility

Min Jin edited this page Feb 11, 2024 · 19 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.14 1.15 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
6.0.x - - x x x x x x x x x x x x
7.0.x + - - x x x x x x x x x x x
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 (including legacy) + + + + + + + + + + + + + +
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.

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