Skip to content

Releases: hz-devops-test/hazelcast

v5.3.6

09 Nov 08:50
Compare
Choose a tag to compare

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.

Fixes

  • Fixed a WAN replication failure - when using maps with WAN replication enabled, and BINARY or NATIVE in-memory formats for the entries, WAN replication was failing when an entry is updated with the same key/value pair, and the cluster members lack serialization information. [hazelcast#25899]

v5.3.5

24 Oct 09:47
Compare
Choose a tag to compare

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.

Enhancements

  • Improved the permission checks by fixing the CVE-2023-45859 and CVE-2023-45860 vulnerabilities.
  • Changed the exception type from CancellationException to CancellationByUserException in case the user cancels a job before it is initialized. [hazelcast#25452]
  • Updated the versions of following dependencies
    ** gRPC to 1.57.0
    ** Netty to 4.1.100
    ** Avro to 1.1.13
    ** Snappy Java to 1.1.10.5
    ** Elasticsearch to 7.17.13
    [hazelcast#25430], [hazelcast#25670], [hazelcast#25659]
  • Renamed the service port for Hazelcast clusters deployed in Kubernetes environments as hazelcast.
    Previously, the name was hazelcast-service-port causing the member auto-discovery (for embedded deployments) to fail. [hazelcast#24834]

Fixes

  • Fixed an issue where the map entries' metadata, such as time-to-live and expiration, was not replicated correctly over WAN after updating existing entries. [hazelcast#25505]
  • Fixed an issue where the member list was not updated after a cluster failover scenario. [hazelcast#25504]
  • Fixed a memory leak issue happening in Hazelcast members and clients while destroying fenced locks. [hazelcast#25421]

Removed/Deprecated Features

  • Removed the evaluation tool (to try out Platform 5.x features for IMDG 3.x users) and the relevant IMDG 3.x JAR libraries from Hazelcast Platform distributions. [hazelcast#25663]

v5.3.2

21 Aug 13:18
Compare
Choose a tag to compare

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.

Enhancements

Fixes

  • Renamed the service port for Hazelcast clusters deployed in Kubernetes environments as hazelcast.
    Previously, the name was hazelcast-service-port causing the member auto-discovery (for embedded deployments) to fail. [hazelcast#25228]
  • Fixed an issue where the getDistributedObjects() was returning inconsistent results when multiple members are simultaneously joining to the cluster. [hazelcast#25153]
  • Fixed an issue where the Hot Restart procedure was failing on Hazelcast Viridian, when the cluster is in the FROZEN state. [hazelcast#25081]
  • Fixed an issue where the retry mechanism for the communications between CP leader and followers was generating too many retries, due to incorrect backoff timeout reset behavior. [hazelcast#25074]

v5.0.5

28 Jun 10:57
Compare
Choose a tag to compare

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.

== Enhancements

== Fixes

  • Fixed protocol handshake issues in the IO subsystem, including the TLSv1.3 handshake. [hazelcast#24893]
  • Fixed an issue where Hazelcast was sending empty map interceptor information to the members which are newly joined to the cluster; it was causing eager map initializations. [hazelcast#24667]
  • Fixed an issue where lastAccessTime and expirationTime were not updated when an entry is accessed via executeOnEntries. [hazelcast#24010]
  • Fixed a parsing issue in JSON arrays when using predicate queries; it was causing the JSON query results to be varied according to the property order. [hazelcast#23451]

== Contributors

We would like to thank the contributors from our open source community who worked on this release:

v5.1.7

19 Jun 11:22
Compare
Choose a tag to compare

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.

Enhancements

  • Added support of [IMDSv2] for Hazelcast’s AWS Discovery plugin. [hazelcast#23594]
  • Updated the version of jackson-core dependency to 2.15.2. [hazelcast#24731]

Fixes

  • Fixed an issue where Hazelcast was sending empty map interceptor information to the members which are newly joined to the cluster;
    it was causing eager map initializations. [hazelcast#24668]
  • Fixed various issues in Health Monitor including incorrect metric names. [hazelcast#24633]
  • Fixed an issue where the REST calls were failing for Hazelcast clusters with TLS v1.3 configured, and deployed on Kubernetes. [hazelcast#24625]
  • Fixed a parsing issue in JSON arrays when using predicate queries; it was causing the JSON query results to be varied according to the property order. [hazelcast#23452]

Contributors

We would like to thank the contributors from our open source community who worked on this release:

v5.2.4

13 Jun 10:07
Compare
Choose a tag to compare

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).

Enhancements

  • Updated the version of jackson-core dependency to 2.15.2. [hazelcast#24730]
  • Hazelcast was sending requests to Kubernetes API when deploying an application with embedded Hazelcast and 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. [hazelcast#24045]

Fixes

  • Fixed an issue where Jet job snapshots could be prematurely deleted after a restart of a cluster, having lossless restart enabled. [hazelcast#24576]
  • Fixed an issue where the SELECT COUNT(DISTINCT COLUMN) query for maps was producing incorrect results. [hazelcast#24490]
  • Fixed various issues in [Health Monitor] including incorrect metric names. [hazelcast#24634]
  • Fixed an issue where the REST calls were failing for Hazelcast clusters with TLS v1.3 configured, and deployed on Kubernetes. [hazelcast#24624]
  • Fixed an issue where SQL statements were failing when a class (to determine the fields of a key/value pair) no longer exists but the mapping is still valid. [hazelcast#24043]
  • Fixed an issue where lastAccessTime and expirationTime was not updated when an entry is accessed via executeOnEntries. [hazelcast#24012]

v5.3.1

09 Jun 07:13
Compare
Choose a tag to compare

This document lists the new features, enhancements, fixed issues and, removed or deprecated features for Hazelcast Platform 5.3.1 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.

Enhancements

  • Updated the version of jackson-core dependency to 2.15.2. [hazelcast#24727]

Fixes

  • Fixed an issue where submitting a job was failing when it is done using Hazelcast Command-Line Client (CLC). [hazelcast#24704]
  • Fixed an issue where the REST calls were failing for Hazelcast clusters with TLS v1.3 configured, and deployed on Kubernetes. [hazelcast#24623]
  • Fixed various issues in Health Monitor including incorrect metric names. [hazelcast#24636]

v4.2.8

29 May 08:53
Compare
Choose a tag to compare

This document lists the new features, enhancements, fixed issues and, removed or deprecated features for Hazelcast IMDG 4.2.8 release. The numbers in the square brackets refer to the issues in Hazelcast's GitHub repositories.

Enhancements

v5.3.0

18 May 08:53
Compare
Choose a tag to compare

This document lists the new features, enhancements, fixed issues and, removed or deprecated features for Hazelcast Platform 5.3.0 release. The numbers in the square brackets refer to the issues and pull requests in Hazelcast's GitHub repository.

New Features

  • Connector for Kafka Connect source (BETA): Import data from an external system directly into a Hazelcast data pipeline without the need of a Kafka cluster.
  • Connector for MongoDB (BETA): Read and write from/to MongoDB via this connector and execute SQL queries on Mongo collections directly from Hazelcast.
  • Partition-Aware SQL Client: Send the SQL commands only to the members having the relevant data, which reduces the network hops and improves the query performances.

Breaking Changes

  • Renamed the DataLinkFactory interface as DataConnection. [hazelcast#24224]
  • Changed the default cloud coordinator URL from coordinator.hazelcast.cloud to api.viridian.hazelcast.com.
    The default configuration now connects to https://viridian.hazelcast.com/sign-in?next=/ instead of Hazelcast Cloud.
    If you want to continue accessing your Hazelcast Cloud clusters, you need to set the hazelcast.client.cloud.url property to https://coordinator.hazelcast.cloud in your configuration. [hazelcast#23290]

Enhancements

Cloud

Storage

  • Disk tier option of Tiered Storage is now disabled by default. [hazelcast#23747]

Distribution

  • Hazelcast no longer depends on JRuby; the JRuby ScriptFactory dependency must be explicitly added to the application. [hazelcast#23355]
  • Added the Kafka Connect extension to the distribution. [hazelcast#23312]
  • Shaded dependencies for Hazelcast Platform have been combined in a dedicated package (com.hazelcast.shaded). [hazelcast#23124]

Networking

  • Added socket options for per-socket keep-alive configuration: keep-count, keep-idle-seconds, and keep-interval-seconds.
    You can set these options using either the advanced network configurations or Hazelcast system properties.
    See Configuring TCP Keep-Alive. [hazelcast#24050]

SQL Engine

  • The CREATE MAPPING statement for Compact Serialization now supports nullable primitives. [hazelcast#24300]
  • Implemented the GET_DDL function. [hazelcast#23595]
  • Implemented the SHOW DATA CONNECTIONS statement to show the connections created by the CREATE CONNECTIONS statement. [hazelcast#24028]
  • Added support of providing declarative partitioning strategies based on attributes. These attributes represent specific partition keys for a map.
    You can also configure this strategy dynamically. [hazelcast#23535], [hazelcast#23954]
  • Improved the nested loop joins algorithm by making the CreateDagVisitor interface generic. [hazelcast#23368]
  • Implemented the TO_CHAR function which is capable of formatting dates, timestamps, and numbers. [hazelcast#22529]
  • Implemented JSON=VARCHAR comparison. [hazelcast#22746]

Jet Engine

Security

  • Added the TLS configuration property keyMaterialDuration which allows using a configurable timeout for caching keyStores and trustStores.
    See [TLS Configuration] for the details on how to configure this property. [hazelcast#23307]

Serialization

  • Hazelcast now allows serializing unsupported types via [zero-configuration] provided that there is an explicit serializer implemented for the unsupported type. [hazelcast#23449]
  • Setting a generic record now fails if the value is not of the same type of generic record. [hazelcast#23522]
  • Introduced clearer exception messages for Generic MapStore, instead of UndefinedErrorCodeException. [hazelcast#22765]

WAN Replication

  • Added the REST endpoint /hazelcast/rest/wan/sync/progress which allows tracking the WAN synchronization progress. [hazelcast#22958]

Connectors

  • Added support of predicates in DML (Data Manipulation Language) in JDBC SQL connector. [hazelcast#24521]
  • Added the ability to provide host, username, password, and authDB when connecting to a MongoDB, as an alternative to specifying a connection string. [hazelcast#24238]
  • Added the ability to create a mapping with a MongoDB data connections that provides unbounded (streaming) results. [hazelcast#24356]
  • Added compound identifier for the externalName() method. [hazelcast#23772]
  • Added an option for the MongoDB source to perform reading with a single processor instance. Usually distributing the operations is a best practice; however,
    the $function aggregation method is not supported by the Atlas Serverless instances. In this case, this newly introduced option can be used to to query such instances in one processor. See the option's https://github.com/hazelcast/hazelcast/blob/master/hazelcast-sql/src/main/java/com/hazelcast/jet/sql/impl/connector/mongodb/Options.java#L77. [hazelcast#24198]
  • Added additional permission checks to JDBC connectors (source and sink). The previous checks in some cases used only the jdbc: name in ConnectorPermission.
    The newly introduced checks get the JDBC URL from existing connection metadata and check if the permission is granted. If want to grant a ConnectorPermission
    to all JDBC URLs, you may use wildcards, e.g., jdbc:*. [hazelcast#23716]
  • Added DataConnection for Kafka consumers and producers, and for MongoDB [hazelcast#23886], [hazelcast#23837]
  • Jet engine's connector for MongoDB is now a part of the Hazelcast Platform distribution. [hazelcast#22565]

Metrics

  • Added name of the job to the [job specific metrics]. [hazelcast#23744]
  • Added Tiered Storage compactor metrics to be exposed by the tools and interfaces such as Management Center, JMX, and diagnostics. [hazelcast#23643]
  • Added a new tag to the CP Subsystem metrics to display the client names for CP sessions on Hazelcast Management Center. [hazelcast#23387]
  • Added entry eviction and expiration counts to local map statistics and metrics. [hazelcast#23318]

Other Enhancements

  • External Data Store references have been renamed as _Data Connections. This includes the renaming of the external-data-store configuration element as data-connection. [hazelcast#24224]
  • Added the ability to test whether the connection with a JDBC data link is valid (testConnection method for JdbcDataConnection). [hazelcast#23405]
  • Upgraded Apache Calcite to 1.32.0. [hazelcast#22849]

Fixes

  • Fixed an issue where map.clear() was timing out when the map is configured with a generic map store. [hazelcast#24534]
  • Fixed an issue where the SELECT COUNT(DISTINCT COLUMN) query for maps was producing incorrect results. [hazelcast#24464]
  • Fixed an issue where there was a memory leak when High-Density Memory Store is used and Jet engine metrics are enabled. [hazelcast#23492]
  • Fixed an issue where the DELETE FROM or UPDATE functions, when used with fully-qualified names, was failing in a JDBC table. [hazelcast#23476]
  • Fixed an issue where Data Definition Language (DDL) could not be generated for a map with High-Density Memory Store and having no indexes. [hazelcast#24054]
  • Fixed an issue where SQL statements were failing when a class (to determine the fields of a key/value pair) no longer exists but the mapping is still valid. [hazelcast#24003]
  • Fixed an issue where lastAccessTime and expirationTime was not updated when an entry is accessed via executeOnEntries. [hazelcast#23926]
  • Fixed an issue where the Hazelcast configuration was modified by the Jet engine, if the wildcard configuration is used and Jet is enabled; meaning the configurations
    made by the user was not being reflected. [hazelcast#23848]
  • Fixed an issue where Hazelcast was failing to connect to a database when using Debezium, and the key of a record is null. [hazelcast#23768]
  • Enabled smart client connectivity to Hazelcast clusters deployed on Kubernetes, when advanced network configuration is enabled. [hazelcast#23707]
  • Fixed an issue where Debezium connector for MongoDB could not keep the connection after some time. [hazelcast#23689]
  • Enhanced the handling of errors coming from the Kubernetes API:
    ** Not detecting the intent correctly whenever the cluster is shutdown, so the cluster was not restarted successfully.
    ** Extensive amount of Kubernetes API calls were being logged when Automatic State Management feature is enabled. [hazelcast#23538]
  • Fixed an issue where Hazelcast transaction manager was timing out before the timeout value set for the transaction commit. [hazelcast#23471]
  • Fixed an issue where the unordered mapUsingServiceAsync was losing items when there are no watermark...
Read more

v5.1.6

10 May 08:03
Compare
Choose a tag to compare

This document lists the new features, enhancements, fixed issues and, removed or deprecated features for Hazelcast Platform 5.1.x releases. The numbers in the square brackets refer to the issues in Hazelcast's GitHub repositories.

==== 5.1.5 ====

Fixes

  • Fixed an issue where 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. [hazelcast#22697]
  • Fixed an issue where the map entries recovered from persistence were not expiring after their time-to-live durations. [hazelcast#22558]
  • Fixed an issue where replication over WAN was failing on the source cluster members, when there are multiple batch publishers configured in a single WAN replication. [hazelcast#22500]

==== 5.1.4 ====

Enhancements

  • Removed the hazelcast-jet-cdc-mysql module from the Hazelcast Platform Enterprise distributions due to licensing.
    You need to manually download this module if you have the Enterprise edition. See Capture Changes from MySQL for details. [hazelcast#5312]
  • The Kubernetes discovery plugin has been enhanced to support the service token expiration. The token is time-bound and its content
    is refreshed periodically in the recent Kubernetes versions. A new token reader has been implemented to get the token value periodically. [hazelcast#22394]
  • You can now provide comma-separated lists to give multiple labels for the Kubernetes Discovery Plugin configurations service-label-name, service-label-value, pod-label-name, and pod-label-value. [hazelcast#22401]

==== 5.1.3 ====

Enhancements

Fixes

  • When the hazelcast.socket.buffer.direct property is enabled, clusters no longer throw exceptions in response to text protocols such as the REST API. [hazelcast#21700]

==== 5.1.2 ====

Fixes

  • Fixed an issue where a cluster could not be formed when security is enabled, various client permissions are set, and multiple members
    are started simultaneously. [hazelcast#21510]
  • Fixed an issue where a cluster was unresponsive when you perform a health check to see the members are in the safe state;
    cluster members were hanging in the REPLICA_NOT_SYNC state during such health checks. [hazelcast#21208]
  • Fixed an issue where the list of members in the cluster was reset to an empty list when the UUID of a cluster changes after its restart:
    this was causing startup failures since Hazelcast could not manage the events due to the empty member list after a restart. [hazelcast#21178]
  • Fixed an issue where the statistics like puts and removals were not increasing when these operations are executed through Transactional interface. [hazelcast#21107]
  • Fixed a data race in 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. [hazelcast#20994]
  • Fixed an issue where the automatic module name in 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. [hazelcast#20976]

==== 5.1.1 ====

Fixes

  • Fixed an issue where the partition migrations were failing when there is a single map in the cluster with Merkle trees enabled. [hazelcast#20929]
  • Fixed a potential deadlock during partition migrations and inability to make progress while performing graceful shutdown with persistence enabled. [hazelcast#20813]

==== 5.1 ====

New Features

Enhancements

SQL Engine

Distribution

  • Hazelcast command line interface is now available within the Hazelcast distribution package; previously
    it needed to be installed separately. [hazelcast#20062]

Cloud Discovery Plugins

  • Added EndpointSlices support for the Kubernetes discovery plugin; now the EndpointSlices API usage is default,
    and the old Endpoints API is not used as a fallback if EndpointSlices are not available. [hazelcast#19643]

Serialization

  • Added zero-configuration support for the Java records in compact serialization. [hazelcast#20724]
  • Updated the names of methods and fields in the Compact Serialization API to make them
    non-Java centric. [hazelcast#20257]
  • Added the declarative configuration elements for Compact Serialization. [hazelcast#20016]
  • Introduced the FieldKind class to get the field types for portable and compact serializations;
    previously it was FieldType. [hazelcast#19517]

Data Structures

  • Added the support of include-value parameter for MultiMap item listeners; you can set it to true
    if you want the item event to contain the item values. [hazelcast#18815]

Configuration

Logging

  • Added support of customizing the logging pattern and specifying configuration files via environment
    variables. We also added support for JsonTemplateLayout for which the JSON template can be customized. [hazelcast#20528]

Management Center

  • Added the data-access-enabled property for the Management Center configuration on the member side.
    This allows you to enable or disable the access of Management Center to the data stored by the data structures in the cluster.
    Management Center can't access the data if at least one member has the data access disabled. Its default value is true (enabled). [hazelcast#19991]
  • Added the console-enabled property for the Management Center configuration on the member side.
    This allows you to disable the console feature on Management Center as it supports lots of operations and it's not subject
    to the regular access restrictions; it can read from/write to any data structure even if Management Center is restricted
    to access those via client permissions. [hazelcast#19718]

Licensing

  • Hazelcast now shows the possible solutions in the terminal, if the license key is not set while starting a Hazelcast Enterprise cluster. hazelcast#4614
  • Added the ability to persist the renewal of a Hazelcast license key when this change is made without shutting down the cluster.
    Renewing a license key has already been possible using the REST API; https://docs.hazelcast.com/hazelcast/5.1/deploy/updating-license-rest.
    This enhancement makes such license renewals to be persisted so that when a member or the cluster is restarted, you will not need to
    re-update the license. [hazelcast#20446]

Other Enhancements

  • Added safe-serialization property to protect MulticastDiscoveryStrategy against Java deserialization attacks. [hazelcast#20728]
  • Upgraded the Elasticsearch client in Hazelcast's elasticsearch-7 Jet engine connector.
    Since the client license was changed from Apache 2.0 to Elastic 2.0 in Elasticsearch 7.11, we also added the new
    https://github.com/hazelcast/hazelcast/blob/master/extensions/elasticsearch/elasticsearch-7/ELASTIC-LICENSE-README.md[license] to explain the changes. [hazelcast#20427]
  • Updated log4j2 dependency version to 2.17.1 in Hazelcast's root pom.xml. [hazelcast#20184]
  • With the introduction of Tiered Storage feature, we've improved the partition migration system to support chunked partition migrations.
    By this way, the data is sent as a stream of chunks while the partitions are migrated upon member failures or new member additions.
    Previously, at most 250 MB was recommended as the maximum size for a partition; however, if a partition is backed by Tiered Storage,
    this size may go beyond this limit and may cause out of memory errors during the migrations of partitions having large data. Chunked
    partition migrations eliminate these errors. [hazelcast#20005]
  • The hz-start script now accepts absolute paths when providing the Hazelcast configuration file's location. [hazelcast#19908]
  • JSON strings can now work with paging predicate queries. [hazelcast#19880]
  • You can now check if Hazelcast is started properly in the Docker environment simply by using
    a curl command, e.g., curl -f http://hazelcast-host:5701/hazelcast/health/ready. [hazelcast#19664]
  • Hazelcast's memcached implementation was interpreting the number v...
Read more