Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
181 changes: 59 additions & 122 deletions docs/modules/deploy/pages/versioning-compatibility.adoc
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
= Supported Versions and Compatibilities
:description: This section provides the supported versions and interoperability of Hazelcast Platform and its modules.
= Supported versions and compatibilities
:description: This section provides information about the supported versions and interoperability of Hazelcast Platform and its modules.
:page-aliases: deploy:supported-jvms.adoc
:page-icons: font

{description}

== Semantic Versioning
== Semantic versioning

Hazelcast Platform uses https://semver.org/[semantic versioning] where versions appear in the following format:

Expand All @@ -19,7 +19,7 @@ Semantic versioning separates new releases into three types:
* Minor: This version includes backward-compatible functionality.
* Patch: This version includes backward-compatible bug fixes.

=== API Compatibility Exceptions
=== 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.

Expand All @@ -29,7 +29,7 @@ However, note the following exceptions:
* 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 the `impl` and `internal` packages do not provide any compatibility guarantees between versions. These APIs are not meant for public use.

== Supported Architectures
== Supported architectures

Hazelcast Platform has been tested on the following system architectures.

Expand All @@ -42,10 +42,9 @@ Hazelcast Platform has been tested on the following system architectures.
|AArch64/ARM64
|From Platform 5.3


|===

== Supported Operating Systems
== Supported operating systems

Hazelcast Platform has been tested against the following operating systems. It may run on others which are not listed here.

Expand Down Expand Up @@ -82,7 +81,7 @@ Hazelcast Platform has been tested against the following operating systems. It m
|===
// end::supported-os[]

== Supported Virtualization Environments
== Supported virtualization environments

Hazelcast Platform has been tested against the following virtualization environments. It may run on others which are not listed here.

Expand All @@ -104,7 +103,7 @@ Hazelcast Platform has been tested against the following virtualization environm

|===

== Supported Public Cloud Environments
== Supported public cloud environments

.Supported Cloud Environments
|===
Expand Down Expand Up @@ -162,9 +161,54 @@ Hazelcast Platform runs on Java, and supports the following LTS JDKs. It may run
|===
// end::supported-jvms[]

== Compatibility Guarantees
== Client compatibility

The following table shows compatibility between this version of Hazelcast Platform, Management Center (MC), Hazelcast Operator, CLC, and all official clients.

|===
|Component/Client | Minimum version | Recommended version

|MC
|5.5
|{page-latest-supported-mc}

|Operator
|5.13
|{page-latest-supported-po}

|CLC
|5.2.0
|{page-latest-supported-clc}

|Java client
|same as platform
|same as platform

|.NET client
|4.0.0
|{page-latest-supported-csharp-client}

|C++ client
|5.3.1
|{page-latest-supported-cplusplus-client}

|Python client
|4.0.0
|{page-latest-supported-python-client}

|Node.js client
|4.0.0
|{page-latest-supported-nodejs-client}

|Go client
|1.0.0
|{page-latest-supported-go-client}

=== Cluster Members
|===

== Compatibility guarantees

=== Cluster members

Hazelcast Platform members operating on the same major and minor Platform version are always compatible, regardless of the patch version.

Expand All @@ -174,129 +218,22 @@ Each minor version is always compatible with the previous minor version.

All 5.x.y versions of Management Center are compatible with Hazelcast Platform 5.x.y versions. We recommend you use a version of Management Center at least as high 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. You should generally upgrade to the latest version of Management Center when available and refer to xref:{page-latest-supported-mc}@management-center:release-notes:releases.adoc[Management Center release notes] for details on each version.

=== Job States
=== 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 xref:maintain-cluster:rolling-upgrades.adoc[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 xref:pipelines:submitting-jobs.adoc[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
=== Command line tools

Hazelcast xref:management:cluster-utilities.adoc#hazelcast-command-line-tool[CLI] and xref:management:cluster-utilities.adoc#using-the-hz-cluster-admin-script[cluster admin] tools are backwards-compatible across the same minor versions.

=== Configuration Files
=== 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
=== 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
* {cpp}
* .NET
* Python
* Go
* Node.js
* Hazelcast Command Line Client (CLC)

The following table lists the compatibilities between client and Platform/IMDG versions.

[cols="1,2a",options="header"]
.Client Version Compatibilities
|===
|Client | Platform and/or IMDG

|Java 5.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|Java 4.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|Java 3.6.x through 3.12.x
|
* IMDG 3.6.x through 3.12.x

|{cpp} 5.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|{cpp} 4.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|{cpp} 3.6.x through 3.12.x
|
* IMDG 3.6.x through 3.12.x

|.NET 5.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|.NET 4.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|.NET 3.6.x through 3.12.x
|
* IMDG 3.6.x through 3.12.x

|Python 5.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|Python 4.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|Python 3.6.x through 3.12.x
|
* IMDG 3.6.x through 3.12.x

|Node.js 5.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|Node.js 4.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|Node.js 3.6.x through 3.12.x
|
* IMDG 3.6.x through 3.12.x

|Go 1.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|Go 0.x.y
|
* IMDG 3.6.x through 3.12.x

|CLC 5.x.y
|
* Platform 5.x.y
* IMDG 4.x.y

|===