Supported Versions and Compatibilities
This section provides the supported versions and interoperability of Hazelcast Platform and its modules.
Semantic Versioning
Hazelcast Platform uses semantic versioning where versions appear in the following format:
major.minor.patch
For example, in Platform version 5.1.3, 5 is the major version, 1 is the minor version, and 3 is the patch version.
Semantic versioning separates new releases into three types:
-
Major: This version may include breaking changes.
-
Minor:This version includes backward-compatible functionality.
-
Patch: This version includes backward-compatible bug fixes.
API Compatibility Exceptions
According to semantic versioning, a Platform job written using the Pipeline API in a previous minor version should compile and have the same behavior in later minor versions.
However, note the following exceptions:
-
Classes in the
com.hazelcast.jet.core
package provide only patch-level compatibility guarantees. -
Types and methods annotated with
@EvolvingApi
and@Beta
provide only patch-level compatibility guarantee. These are typically new features where the API is subject to further changes. -
Types and methods annotated with
@PrivateApi
, and classes in theimpl
andinternal
packages do not provide any compatibility guarantees between versions. These APIs are not meant for public use.
Supported Virtualization Environments
Environment | Platform 5.1.7 |
---|---|
VMWare 6.x |
✓ |
Docker 18, 19 |
✓ |
Kubernetes (1.14.0 or newer) |
✓ |
Supported Public Cloud Environments
Environment | Platform 5.1.7 |
---|---|
AWS |
✓ |
GCP |
✓ |
Azure |
✓ |
RedHat OpenShift |
✓ |
Supported Java Virtual Machines
Hazelcast Platform runs on Java, and supports the following JDKs. It may run on other JDK distributions which are not listed here.
JDK | Platform 5.1.7 |
---|---|
AdoptOpenJDK 11 |
✓ |
AdoptOpenJDK 8 |
✓ |
Amazon Corretto 17 |
✓ |
Amazon Corretto 11 |
✓ |
Amazon Corretto 8 |
✓ |
Azul Zing 8 |
✓ |
Azul Zulu 17 |
✓ |
Azul Zulu 11 |
✓ |
Azul Zulu 8 |
✓ |
IBM SDK, Java Technology Edition 8 |
✓ |
Oracle 17 |
✓ |
Oracle 11 |
✓ |
Oracle 8 |
✓ |
Red Hat build of OpenJDK 17 |
✓ |
Red Hat build of OpenJDK 11 |
✓ |
Red Hat build of OpenJDK 8 |
✓ |
Microsoft Build of OpenJDK |
╳ |
Compatibility Guarantees
Cluster Members
Hazelcast Platform members operating on the same major and minor Platform version are always compatible, regardless of the patch version.
Each minor version is always compatible with the previous minor version.
Management Center
All 5.x.y versions of Management Center are compatible with Hazelcast Platform 5.x.y versions. But, it’s recommended to use the same version of Management Center as the Hazelcast Platform version in your cluster. For example, Management Center 5.1.1 may not support all the features of Hazelcast Platform 5.2, or vice versa.
Job States
Hazelcast Platform job states are only backward-compatible across the same minor versions. A newer patch version is able to understand the job states only from the previous patch versions of the same minor version.
If you have a running job, using the rolling upgrades feature, you are able to upgrade the cluster to a newer patch version without losing the state of a running job. See Rolling Upgrades. Also note that jobs must be resubmitted after a rolling upgrade to a newer minor version since they don’t run during upgrades. See Submitting Jobs.
Hazelcast clients that submit jobs (currently only Java clients) are compatible with members running on the same minor version. This means that a client using an older or newer patch version is able to connect and submit a job to a cluster that’s running a different patch version.
Command Line Tools
Hazelcast CLI and cluster admin tools are backwards-compatible across the same minor versions.
Configuration Files
XML and YAML configuration files provided with the Hazelcast Platform package are backward-compatible across the same minor versions. After upgrading a cluster to a new minor version, the configuration files for the previous version can be used without any modification.
Names of Metrics
Hazelcast Platform sends metrics to Management Center and other means such as JMX. The names of these metrics may change across minor versions but not between patch versions.
Client Version Compatibilities
Hazelcast Platform has clients implemented in the following languages:
-
Java
-
C++
-
.NET
-
Python
-
Go
-
Node.js
-
Hazelcast Command Line Client (CLC)
The following table lists the compatibilities between client and Platform/IMDG versions.
Client | Platform and/or IMDG |
---|---|
Java 5.x.y |
|
Java 4.x.y |
|
Java 3.6.x through 3.12.x |
|
C++ 5.x.y |
|
C++ 4.x.y |
|
C++ 3.6.x through 3.12.x |
|
|
|
|
|
|
|
Python 5.x.y |
|
Python 4.x.y |
|
Python 3.6.x through 3.12.x |
|
Node.js 5.x.y |
|
Node.js 4.x.y |
|
Node.js 3.6.x through 3.12.x |
|
Go 1.x.y |
|
Go 0.x.y |
|
CLC 5.x.y |
|
CLC 1.x.y |
|
CLC 0.x.y |
|