Skip to content

Commit a395662

Browse files
DOC-300: update client and tool compatibility [v/5.6] (#2082)
Backport of #2056 Update the content and presentation of client and tool versions. General update and reorganize. Preview: https://deploy-preview-2056--hardcore-allen-f5257d.netlify.app/hazelcast/5.7-snapshot/deploy/versioning-compatibility#clients-and-tools Co-authored-by: Rob Swain <rob.swain@hazelcast.com>
1 parent b2cf1a3 commit a395662

File tree

1 file changed

+102
-158
lines changed

1 file changed

+102
-158
lines changed
Lines changed: 102 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,11 @@
1-
= Supported Versions and Compatibilities
2-
:description: This section provides the supported versions and interoperability of Hazelcast Platform and its modules.
1+
= Supported versions
2+
:description: Hazelcast Platform can be deployed in a wide range of environments with multiple clients and other components. It is important to ensure you use compatible versions for each part of your Hazelcast deployment.
33
:page-aliases: deploy:supported-jvms.adoc
44
:page-icons: font
55

66
{description}
77

8-
== Semantic Versioning
9-
10-
Hazelcast Platform uses https://semver.org/[semantic versioning] where versions appear in the following format:
11-
12-
`major.minor.patch`
13-
14-
For example, in Platform version 5.2.1, *5* is the major version, *2* is the minor version, and *1* is the patch version.
15-
16-
Semantic versioning separates new releases into three types:
17-
18-
* Major: This version may include breaking changes.
19-
* Minor: This version includes backward-compatible functionality.
20-
* Patch: This version includes backward-compatible bug fixes.
21-
22-
=== API Compatibility Exceptions
23-
24-
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.
25-
26-
However, note the following exceptions:
27-
28-
* Classes in the `com.hazelcast.jet.core` package provide only patch-level compatibility guarantees.
29-
* 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.
30-
* 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.
31-
32-
== Supported Architectures
8+
== Architectures
339

3410
Hazelcast Platform has been tested on the following system architectures.
3511

@@ -42,16 +18,13 @@ Hazelcast Platform has been tested on the following system architectures.
4218
|AArch64/ARM64
4319
|From Platform 5.3
4420

45-
4621
|===
4722

48-
== Supported Operating Systems
23+
== Operating systems
4924

50-
Hazelcast Platform has been tested against the following operating systems. It may run on others which are not listed here.
25+
Hazelcast Platform has been tested on the following operating systems. It may run on others that are not listed here.
5126

5227
// tag::supported-os[]
53-
[options="header"]
54-
.Supported Operating Systems
5528
|===
5629
|OS | Platform {full-version}
5730

@@ -73,20 +46,21 @@ Hazelcast Platform has been tested against the following operating systems. It m
7346
|Windows Server 2019
7447
|✓
7548

76-
|Windows 10, 11footnote:dev[Suitable for the development of applications (or Hazelcast itself), _but not_ for production. Some features are not available or are not supported.]
77-
|Supported for development
49+
|Windows 10, 11
50+
|Supported for development only
7851

79-
|macOSfootnote:dev[]
80-
|Supported for development
52+
|macOS
53+
|Supported for development only
8154

8255
|===
8356
// end::supported-os[]
8457

85-
== Supported Virtualization Environments
58+
NOTE: Windows 10 and 11 and macOS are not suitable for production. Some features are not available or are not supported.
59+
60+
== Virtualization environments
8661

87-
Hazelcast Platform has been tested against the following virtualization environments. It may run on others which are not listed here.
62+
Hazelcast Platform has been tested in the following virtualization environments. It may run on others that are not listed here.
8863

89-
.Supported Virtualization Environments
9064
|===
9165
|Environment | Platform {full-version}
9266

@@ -104,9 +78,10 @@ Hazelcast Platform has been tested against the following virtualization environm
10478

10579
|===
10680

107-
== Supported Public Cloud Environments
81+
== Public cloud environments
82+
83+
Hazelcast Platform has been tested in the following public cloud environments. It may run on others that are not listed here.
10884

109-
.Supported Cloud Environments
11085
|===
11186
|Environment | Platform {full-version}
11287

@@ -124,14 +99,11 @@ Hazelcast Platform has been tested against the following virtualization environm
12499

125100
|===
126101

102+
== Java Development Kits (JDKs)
127103

128-
== Supported Java Virtual Machines
129-
130-
Hazelcast Platform runs on Java, and supports the following LTS JDKs. It may run on other JDK distributions which are not listed here.
104+
Hazelcast Platform runs on Java, and supports the following LTS JDKs. It may run on other JDK distributions that are not listed here.
131105

132106
// tag::supported-jvms[]
133-
[options="header"]
134-
.Supported JDKs
135107
|===
136108
|JDK | Platform {full-version}
137109

@@ -162,9 +134,87 @@ Hazelcast Platform runs on Java, and supports the following LTS JDKs. It may run
162134
|===
163135
// end::supported-jvms[]
164136

165-
== Compatibility Guarantees
137+
== Clients and tools
138+
139+
The following table shows compatibility between this version of Hazelcast Platform and Hazelcast administrative tools.
140+
141+
|===
142+
|Tool |Minimum version |Recommended version
143+
144+
|Management Center
145+
|5.5
146+
|{page-latest-supported-mc}
147+
148+
|Operator
149+
|5.13
150+
|{page-latest-supported-po}
151+
152+
|CLC
153+
|5.2.0
154+
|{page-latest-supported-clc}
155+
156+
|===
157+
158+
The following table shows compatibility between this version of Hazelcast Platform and all official clients.
159+
160+
|===
161+
|Client |Minimum version |Recommended version
162+
163+
|Java
164+
|Platform version
165+
|Platform version
166+
167+
|.NET
168+
|4.0.0
169+
|{page-latest-supported-csharp-client}
166170

167-
=== Cluster Members
171+
|C++
172+
|5.3.1
173+
|{page-latest-supported-cplusplus-client}
174+
175+
|Python
176+
|4.0.0
177+
|{page-latest-supported-python-client}
178+
179+
|Node.js
180+
|4.0.0
181+
|{page-latest-supported-nodejs-client}
182+
183+
|Go
184+
|1.0.0
185+
|{page-latest-supported-go-client}
186+
187+
|===
188+
189+
NOTE: The Java client JAR is provided in the Hazelcast Platform package and has the same version number. Other clients are released separately.
190+
191+
== Versioning and compatibility guarantees
192+
193+
Hazelcast Platform uses https://semver.org/[semantic versioning], where versions appear in the following format:
194+
195+
`major.minor.patch`
196+
197+
For example, in Platform version 5.2.1, *5* is the major version, *2* is the minor version, and *1* is the patch version.
198+
199+
This also defines three types of release, with differing levels of backward compatibility:
200+
201+
* Major: This version may include breaking changes.
202+
* Minor: This version includes backward-compatible functionality.
203+
* Patch: This version includes backward-compatible bug fixes.
204+
205+
In addition, Hazelcast offers several compatibility guarantees to ensure a predictable upgrade path for your deployment.
206+
207+
=== APIs
208+
209+
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.
210+
211+
However, note the following exceptions:
212+
213+
* Classes in the `com.hazelcast.jet.core` package provide only patch-level compatibility guarantees.
214+
* 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.
215+
* 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.
216+
217+
=== Members
168218

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

@@ -174,129 +224,23 @@ Each minor version is always compatible with the previous minor version.
174224

175225
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.
176226

177-
=== Job States
227+
=== Job states
178228

179229
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.
180230

181231
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].
182232

183233
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.
184234

185-
=== Command Line Tools
235+
=== Command line tools
186236

187237
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.
188238

189-
=== Configuration Files
239+
=== Configuration files
190240

191241
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.
192242

193-
=== Names of Metrics
243+
=== Metrics
194244

195245
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.
196246

197-
=== Client Version Compatibilities
198-
199-
Hazelcast Platform has clients implemented in the following languages:
200-
201-
* Java
202-
* {cpp}
203-
* .NET
204-
* Python
205-
* Go
206-
* Node.js
207-
* Hazelcast Command Line Client (CLC)
208-
209-
The following table lists the compatibilities between client and Platform/IMDG versions.
210-
211-
[cols="1,2a",options="header"]
212-
.Client Version Compatibilities
213-
|===
214-
|Client | Platform and/or IMDG
215-
216-
|Java 5.x.y
217-
|
218-
* Platform 5.x.y
219-
* IMDG 4.x.y
220-
221-
|Java 4.x.y
222-
|
223-
* Platform 5.x.y
224-
* IMDG 4.x.y
225-
226-
|Java 3.6.x through 3.12.x
227-
|
228-
* IMDG 3.6.x through 3.12.x
229-
230-
|{cpp} 5.x.y
231-
|
232-
* Platform 5.x.y
233-
* IMDG 4.x.y
234-
235-
|{cpp} 4.x.y
236-
|
237-
* Platform 5.x.y
238-
* IMDG 4.x.y
239-
240-
|{cpp} 3.6.x through 3.12.x
241-
|
242-
* IMDG 3.6.x through 3.12.x
243-
244-
|.NET 5.x.y
245-
|
246-
* Platform 5.x.y
247-
* IMDG 4.x.y
248-
249-
|.NET 4.x.y
250-
|
251-
* Platform 5.x.y
252-
* IMDG 4.x.y
253-
254-
|.NET 3.6.x through 3.12.x
255-
|
256-
* IMDG 3.6.x through 3.12.x
257-
258-
|Python 5.x.y
259-
|
260-
* Platform 5.x.y
261-
* IMDG 4.x.y
262-
263-
|Python 4.x.y
264-
|
265-
* Platform 5.x.y
266-
* IMDG 4.x.y
267-
268-
|Python 3.6.x through 3.12.x
269-
|
270-
* IMDG 3.6.x through 3.12.x
271-
272-
|Node.js 5.x.y
273-
|
274-
* Platform 5.x.y
275-
* IMDG 4.x.y
276-
277-
|Node.js 4.x.y
278-
|
279-
* Platform 5.x.y
280-
* IMDG 4.x.y
281-
282-
|Node.js 3.6.x through 3.12.x
283-
|
284-
* IMDG 3.6.x through 3.12.x
285-
286-
|Go 1.x.y
287-
|
288-
* Platform 5.x.y
289-
* IMDG 4.x.y
290-
291-
|Go 0.x.y
292-
|
293-
* IMDG 3.6.x through 3.12.x
294-
295-
|CLC 5.x.y
296-
|
297-
* Platform 5.x.y
298-
* IMDG 4.x.y
299-
300-
|===
301-
302-

0 commit comments

Comments
 (0)