Hazelcast is a unified real-time data platform combining stream processing with a fast data store, allowing customers to act instantly on data-in-motion for real-time insights.
This document lists the new features, enhancements, fixed issues and, removed or deprecated features for Hazelcast Platform 5.4.0 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.
[!CAUTION] Starting with this release of Hazelcast Platform, the minimum supported Java version is 17.
MergingValue
interface within the SPI package now requires the getDeserializedValue()
method to be defined within implementations, replacing the getValue()
definition. [#25942]<classifier>jar-with-dependencies</classifier>
to your pom.xml
. Also removed the permissions for MongoDB connector. [#25744], [#25701]SecurityInterceptor
checks were reviewed and unified into a single place - class com.hazelcast.security.SecurityInterceptorConstants
. Some client messages have the method name changed to reflect their purpose better. Some client messages are newly covered by SecurityInterceptor
checks now. [#25020]hazelcast
.
The previous name, hazelcast-service-port
, caused member auto-discovery for embedded deployments to fail. [#24834], [#24705], [#24688]GenericMapStore
. [#25878]CancellationException
to CancellationByUserException
when the user cancels a job before it is initialized. [#25383]__key
filters. [#25105]EXPLAIN PLAN
statement outputs for all physical joins. [#24899]javax.jms
to jakarta.jms
in Hazelcast distributions. [#24804]stream()
method to the SQL service to return the stream of result rows. [#24525]hashCode()
method of KeyedWindowResult
with that of Map.Entry
. #697
getPartitionAssignment()
method when the partition pruning is not used. #486
forceTotalParallelismOne ()
on random members without permissions. #227
DataSerializable
serialization to Mongo connector. [#25197]getItemAtPositionOrNull()
method. [#25672]IMap.localValues()
and IMap.localValues(Predicate)
methods for a faster access to locally owned values in maps. [#24763]deleteAsync()
for maps to asynchronously remove a provided map entry key. [#23509]setManagementEnabled()
method. [#22575]getCPObjectInfos()
method to create a snapshot of all existing CP objects for a given service on the group leader. #615
getCPGroupIds()
method to the CP Subsystem API to allow listing all data structures within a CP group. #591
ADVANCED_CP
feature is present in the Hazelcast Platform Enterprise license, to enable CPMap. #157
IMap
/ICache
Evictions. [#24941]CacheCreateConfig
and GetSemaphoreType
tasks. [#25529]demoteLocalDataMember()
method to convert members holding data to lite members, enabling a cluster to be alive while there is no data in it. [#24617]ByKey
plans. [#25631]MethodHandle
instead of reflection. [#25279]status
and userCancelled
flags to job metrics. [#24716]size
and sizeBytes
metrics for CPMap. See CP Subsystem Metrics. #6807
connectionHealth
and failedTransmitCount
metrics to WAN Replication. See WAN Replication Metrics. #848
ucn
. #745, #625
onCancel()
method to the reliable message listener to trigger a notification when the listener is cancelled for any reason. #286
RestConfig
tag under the server Config
; it allows configuration of the new REST API server. #508
common.bat
has been updated to not include excessive spaces in parameters.hz-cli.bat
and hz-start.bat
have been updated to reference the common.bat
script with correct paths.hz-start.bat
has been updated to remove double quote expansion for CLASSPATH
.
#165
pom.xml
to use JDK 17, as it requires at minimum JDK 17. #436
JetClassLoader
, were likely to cause deadlocks. [#25379]ClientConfigXmlGenerator
didn't support the hazelcast-cloud
configuration. [#25155]getDistributedObjects()
was returning inconsistent results when multiple members simultaneously join to the cluster. [#25114]java.util.UUID
. [#25073]AggregateOperations.maxBy()
was not checking if the incoming element is null, which can happen if some members did not have any items to process. In this case, the comparator was invoked with the null value which was invalid. #895
JobStatusListener
is offloaded to the event striped executor; now, this offloading is waited to finish. #673
NATIVE
entries in a split-brain scenario. #480
ANALYZE INSERT INTO
SQL statement did not generate metrics. #444
We would like to thank the contributors from our open source community who worked on this release:
This document lists the enhancements, fixed issues, and removed or deprecated features for Hazelcast Platform 5.3.7 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.
This document lists the enhancements and fixed issues for the Hazelcast Platform 5.2.5 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.
hazelcast-service-port
, caused member auto-discovery for embedded deployments to fail. [#24841]We would like to thank the contributors from our open source community who worked on this release:
This document lists the new features, enhancements, fixed issues and, removed or deprecated features for Hazelcast Platform 5.2.0 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.
MapStore
or MapLoader
interfaces.cp-member-priority
configuration element. See Configuring Leadership Priority.BETA
annotations from the compact serialization and GenericRecord
related classes, i.e., they are stable. Now, compact serialization is enabled by default; the enabled
attribute within the compact-serialization
configuration block does not exist anymore. [#21997]offload
element to map store configuration. It is used to offload map store and loader operations for each map in the cluster. This way, a map store operation does not block the next operations by blocking a partition thread indefinitely. Partition threads are one of the most important shared resources in a cluster; this offloading enables faster completion of the operations in these threads. See Offloading MapStore and MapLoader Operations. [#21651]hazelcast-hibernate53
dependency from the main Hazelcast Platform distribution as it is not needed anymore. [#22282]Added support of List
, ArrayList
, Set
, HashSet
, Map
, and HashMap
for the zero-config serializers. [#21980]
Added a check to the array of Compact
and GenericRecord
object fields, that does not allow different item types and schemas in such fields. [#21958]
Moved the GenericRecord
and GenericRecordBuilder
interfaces to the new serialization.genericrecord
package. [#21955]
In case there is a field type that is not supported by the reflective serializer, now Hazelcast fails with an exception; all JDK classes are now excluded from the zero-config serialization, meaning, they cannot be used as types, field types, or array component types in the reflective serializers. [#21918]
Hazelcast now does not provide methods to read a default value in case of a missing field in the data. Instead, the following method has been introduced in CompactReader
to check the existence of a field with its name and kind.+
FieldKind getFieldKind(String fieldName);
You can use this method for fields that have changed or have a potential to change in the future. [#21876]
Moved the type-name
and class
configuration elements into the compact-serialization
block. Removed the registered-classes
element. [#21861]
Renamed the cloneWithBuilder()
method as newBuilderWithClone()
in the GenericRecord
class. [#21730]
Added support for char
fields in the compact serialization format. With this, char
, char[]
, Character
, and Character[]
fields are now supported in the reflective compact serializers. [#21054]
AwsConfig
is extended with an additional executorServiceSupplier
field that allows to specify what executor service to be used. [#21075]service-label-name
, service-label-value
, pod-label-name
, and pod-label-value
. [#22277]newValue()
and oldValue()
, to compare values before and after an update of a record.
** Methods that are used to extract metadata are no longer doing on the fly parsing of the payload, meaning there won't be any ParsingException
and you don't have to deal with those possible exceptions.
** Expose the Debezium source method, which takes a class instance instead of String
with class name, to make the code more strongly-typed.
[#21536]DEBUG
. When you need these metrics, you can use the hazelcast.metrics.debug.enabled
] property. [#21232]hazelcast.disable.docker.tests
property to ignore the tests that require Docker to run (by setting it to false
). [#21087]hazelcast/rest/config/tcp-ip/member-list
) is introduced for getting and updating the member list at runtime.
This improves the split-brain recovery under even certain corner cases and ensures that the cluster recovery from split-brain in every cluster setup can be initially formed. [#20552]IS NULL
condition was being ignored when there is another condition for the same column. [#22238]IMap.get()
call was blocked when NoNodeAvailableException
is thrown from the MapStore. [#22168]ClearBackupOperation
in maps was being reported as a slow operation on the members which was causing the entire cluster to be frozen. [#22082]NullPointerException
was thrown around the CREATE JOB
statement which is using Kafka Sink connector when Kafka has no records yet. Now, it produces an appropriate log message. [#21460]max-idle-seconds
configuration has the value of Integer.MAX_VALUE
. [#21409]REPLICA_NOT_SYNC
state during such health checks. [#21145]SingleProtocolEncoder
; while one method of this interface is called from the input thread, another one is called from the output thread which was causing the race. [#20991]hazelcast-5.x.jar
could not be detected using Gradle. The reason was /META-INF/MANIFEST.MF
not being the first or second entry in the JAR file; now this manifest file is the second entry. [#20969]JSON_QUERY
with expression filter in SQL was not producing a result when the data source contains internal array(s). [#20761]java.util.Map
, the CREATE MAPPING
statement was failing. [#20256]We would like to thank the contributors from our open source community who worked on this release:
This document lists the enhancements, fixed issues, and removed or deprecated features for Hazelcast Platform 5.3.6 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.
This document lists the enhancements, fixed issues, and removed or deprecated features for Hazelcast Platform 5.3.5 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.
NOTE: Due to an error in the tooling, the Platform releases 5.3.3 and 5.3.4 needed to be skipped numerically.
CancellationException
to CancellationByUserException
in case the user cancels a job before it is initialized. [#25452]hazelcast
.
Previously, the name was hazelcast-service-port
causing the member auto-discovery (for embedded deployments) to fail. [#24834]This document lists the enhancements and fixed issues for Hazelcast Platform 5.3.2 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.
hazelcast
.
Previously, the name was hazelcast-service-port
causing the member auto-discovery (for embedded deployments) to fail. [#25228]getDistributedObjects()
was returning inconsistent results when multiple members are simultaneously joining to the cluster. [#25153]FROZEN
state. [#25081]This document lists the enhancements and fixed issues for Hazelcast Platform 5.0.5 release. The numbers in the square brackets refer to the issues in Hazelcast's GitHub repositories.
jackson-core
dependency to 2.15.2
. [#24733]1.1.10.1
and 4.1.94.Final
, respectively. [#24886], [#24864]TLSv1.3
handshake. [#24893]lastAccessTime
and expirationTime
were not updated when an entry is accessed via executeOnEntries
. [#24010]We would like to thank the contributors from our open source community who worked on this release:
This document lists the enhancements and fixed issues for Hazelcast Platform 5.1.7 release. The numbers in the square brackets refer to the issues in Hazelcast's GitHub repositories.
We would like to thank the contributors from our open source community who worked on this release:
This document lists the enhancements and fixed issues for the Hazelcast Platform 5.2.4 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository (github.com/hazelcast/hazelcast).
jackson-core
dependency to 2.15.2. [#24730]service-dns
(DNS lookup mode) specified to a Kubernetes cluster. This was causing the requests to be unsuccessful and the application not to start. This mechanism has been improved by creating Kubernetes client only for the DNS lookup mode. [#24045]lastAccessTime
and expirationTime
was not updated when an entry is accessed via executeOnEntries
. [#24012]