All Versions
16
Latest Version
Avg Release Cycle
31 days
Latest Release
23 days ago

Changelog History
Page 1

  • v3.12.3

    September 27, 2019
  • v3.12.3-c1

    October 17, 2019
  • v3.12.2

    July 30, 2019
  • v3.12.2-visa2

    September 26, 2019
  • v3.12.2-visa

    September 16, 2019
  • v3.12.1

    June 18, 2019

    πŸš€ This document includes the new features, enhancements and fixed issues for Hazelcast IMDG v3.12.1, Open Source edition release.

    πŸ†• New Features

    _ Hazelcast IMDG Enterprise New Features: _

    • βž• Added support for updating the licenses of all the running members of a Hazelcast IMDG cluster using the REST API. See the License Information section.

    ✨ Enhancements

    πŸ‘€ Introduced complete example configurations (XML and YAML) for Hazelcast Java client and client failover. See the Configuring Declaratively section.

    ⚑️ Updated Hazelcast JCache implementation to support JCache 1.1.1. This version of JCache does not introduce new functionalities; it resolves the errata and issues in JCache 1.1.0. See the Upgrading to JCache 1.1.1 section.

    The following are the other improvements performed to solve the enhancement issues opened by the Hazelcast customers/team.

    πŸ‘Œ Improved Config#getConfigurationUrl()'s Javadoc to mention that it returns null if the Config instance has been built from a source different than URL or file. #15109

    πŸ‘Œ Improved the Raft snapshotting so that the old log entries are not kept when there is no follower with an unknown match index. #15068

    ⚑️ Updated the client failover XSD to include targetNamespace that has been delivered with Hazelcast IMDG 3.12. #15057

    ⚑️ Updated the Hazelcast Kubernetes dependency to the latest version. #14899

    βž• Added the getter method for the YAML configuration builder properties. #14884

    🌲 Eliminated the excessive logging when NIO networking is shutdown by deregistering the IO threads. #14837

    ⚠ Introduced a warning log for illegal reflective access operation when using Java 9 and higher, and OpenJ 9. #14835

    ⚑️ Updated the Hazelcast web session manager dependency to the latest version. #14822

    πŸ›  Fixes

    πŸ›  Fixed an issue where the queries like labels[any] = 0 and labels[any] = 1 were optimized only to false since labels[any] was interpreted as a regular attribute name having a single value. #15138

    πŸ›  Fixed an issue which was causing OutOfMemoryException in a split-brain situation, due to the client listeners. #15042

    πŸ›  Fixed the authentication mechanism between the clients and members by adding a check to prevent re-verification while the client is changing its owner member. #15015

    πŸ›  Fixed an issue where the Hazelcast IMDG configuration files, that have an extension other than .xml.yaml or .yml or do not have an extension, were ignored silently. This was happening when the configuration file is set by using the hazelcast.config system property. #14945

    πŸ‘€ Some operations such as heartbeat checks and partition migrations share common threads with the client login module. In case of the long running client login module implementations, some symptoms such as split brain syndrome can be seen. This has been fixed by introducing a blocking executor which is used only for the client JAAS authentications. #14957

    πŸ›  Fixed an issue where the client was not considering the new address of a restarted member, which has the same UUID but could have a different IP address after it is restarted. #14843

    πŸ›  Fixed an issue where the migration operations were running before the previous finalization is completed. #14834

  • v3.12

    June 18, 2019

    πŸš€ This document includes the new features, enhancements and fixed issues for Hazelcast IMDG v3.12, Open Source edition release.

    πŸ’₯ Breaking Changes

    • πŸ‘Œ Support for JDK 6 and 7 has been dropped. The minimum Java version that Hazelcast supports now is Java 8. See the Supports JVMs section.

    πŸ†• New Features

    CP Subsystem:  Implementing the Raft consensus algorithm, Hazelcast introduces its CP subsystem which runs within a Hazelcast cluster and offers linearizable implementations of Hazelcast's concurrency APIs. See the CP Subsystem chapter.

    Querying JSON Strings:  You can now query JSON strings stored inside your Hazelcast clusters. See the Querying JSON Strings section.

    Pipelining:  Introduced pipelining mechanism using which you can send multiple requests in parallel to Hazelcast members or clients, and read the responses in a single step. See the Pipelining section.

    πŸ‘Œ Support for Multiple Endpoints When Configuring Member's Networking:  Added the ability to configure the Hazelcast members with separate server sockets for different protocols. See the Advanced Network Configuration section.

    πŸ”§ YAML Configuration Support:  Added the support for configuring Hazelcast in YAML. See the Configuring Declaratively with YAML section.

    ✨ Enhancements

    Client Instance Names and Labels:  You can now retrieve the names of client instances on the member side. Moreover, client labels have been introduced so that you can group your clients and/or perform special operations for specific clients. See the Defining Client Labels section.

    Composite Indexes:  Introduced the ability to recognize the queries that use all the indexed properties and treat them as a composite, e.g., foo = 1 and bar = 2 and foobar = 3. See the Composite Indexes section.

    REST Endpoint Groups:  With this enhancement you can enable or disable:

    REST API completely

    Memcache protocol

    REST endpoint groups

    πŸ‘€ See the Using the REST Endpoint Groups section.

    The following are the other improvements performed to solve the enhancement issues opened by the Hazelcast customers/team.

    πŸ‘Œ Improved the YAML configuration so that you can configure multiple WAN member sockets. #14800

    πŸ‘€ Members now fail fast when the max-idle-seconds element for the entries in a map is set to 1 second. See the note in the Configuring Map Eviction section for this element. #14697

    βœ‚ Removed group password from the Hazelcast's default XML configuration file. Also improved the non-empty password INFO message. It's now only logged if security is disabled, password is not empty and password is not the Hazelcast default one. #14603

    πŸ‘Œ Improved the code comments for the HazelcastInstance interface. #14439

    πŸ‘Œ Improved the Javadoc of HazelcastClient so that the code comments now use "unisocket client" instead of "dumb client". #14213

    βž• Added the ability to perform an LDAP subtree search for groups in Hazelcast Management Center's LDAP authenticator. #14118

    βž• Added the ability to set the EvictionConfig.comparatorClassName() in the client's declarative configuration, too. #14093

    Introduced the /ready endpoint to the REST API to allow checking a member if it is ready to be used after it joins to the cluster. #14089

    πŸ‘Œ Improved the syncing of XSD files. #14070

    🚚 The IMap.removeAll() method now supports PartitionPredicate#12238

    πŸ‘Œ Improved the diagnostics tool so that it automatically creates the configured directory for the diagnostic outputs. #11946

    πŸ›  Fixes

    πŸ›  Fixed an issue where the state of member list on the clients were broken after a hot restart in the cluster. #14839

    πŸ›  Fixed an issue where the outbound pipeline was not waking up properly after merging the write-through changes. #14830

    πŸ›  Fixed an issue where the like and ilike predicates didn't catch any entity with the text field containing the \n character. #14751

    πŸ›  Fixed an issue where NullPointerExceptions was thrown recursively when a client is connected to an unreachable member during a split-brain. #14722

    πŸ›  Fixed an issue where Hazelcast running on RHEL (OpenJDK8) shows unknown gc in the logs, instead of major gc and minor gc#14701

    πŸ›  Fixed an issue where the IP client selector was not working for the local clients. #14654

    πŸ›  Fixed the wording of a misleading error in the first attempt to connect to a wrongly configured cluster. The error message has been changed to "Unable to connect to any cluster". #14574

    πŸ›  Fixed an issue where the setAsync() method was throwing NullPointerException#14445

    πŸ›  Fixed an issue where the collection attributes indexed with [any] were causing incorrect SQL query results, if the first data inserted to the map has no value for the attribute or the collection is empty. #14358

    πŸ›  Fixed an issue where mapEvictionPolicy couldn't be specified in the JSON configuration file. #14092

    πŸ›  Fixed an issue where the rolling upgrade was failing when all members change their IP addresses. #14088

    πŸ›  Fixed an issue where the resources were not wholly cleared when destroyingDurableExecutorService causing some resources to be left in the heap. #14087

    πŸ›  Fixed an issue where the REST API was not handling the HTTP requests without headers correctly: when a client sends an HTTP request without headers to the Hazelcast REST API, the HttpCommand class was wrongly expecting an additional new line. #14353

    πŸ›  Fixed an issue where QueryCache was not returning the copies of the found objects. #14280

    πŸ›  Fixed an issue where the locks were not cleaned up after the members are restarted. #14215

    πŸ›  Fixed an issue where the MultiMap's RemoveOperation was iterating through the backing collection, which caused performance degradation (when using the SET collection type). #14145

    πŸ›  Fixed an issue where the user code deployment feature was throwing NullPointerExceptionwhile loading multiple nested classes and using entry processors. #14105

    πŸ›  Fixed an issue where the newly joining members could not form a cluster when the existing members are killed. #14051

    πŸ›  Fixed an issue where the IMap.get() method was not resetting the idle time counter when read-backup-data is enabled. #14026

    πŸ›  Fixed an issue where the addIndex() method was performing a full copy of entries when a new member joins the cluster, which is not needed. #13964

    πŸ›  Fixed an issue where the initialization failure of discoveryService was causing some threads to remain open and the JVM could not be terminated because of these threads. #13821

    πŸ›  Fixed the discrepancy between the XSD on the website and the one in the download package.#13011

    πŸ›  PagingPredicate with comparator was failing to serialize when sending from the client or member when the cluster size is more than 1. This has been fixed by making the PagingPredicateQuery comparator serializable. #12208

    πŸ›  Fixed an issue where TcpIpConnectionManager was putting the connections in a map under the remote endpoint bind address but not under the address to which Hazelcast connects. #11256

    βœ‚ Removed/Deprecated Features

    πŸ—„ ILock interface and implementation of ILock has been deprecated, and FencedLock has been introduced.

    πŸ—„ The original implementations of IAtomicLongIAtomicReferenceISemaphore and ICountDownLatch have been deprecated. Instead, the implementations provided by the CP Subsystem have been introduced.

    πŸ—„ The following system properties are deprecated:

    hazelcast.rest.enabled

    hazelcast.mc.url.change.enabled

    hazelcast.memcache.enabled

    hazelcast.http.healthcheck.enabled

  • v3.12-BETA

    March 15, 2019

    πŸš€ This document includes the new features, enhancements and fixed issues for Hazelcast IMDG v3.12-BETA-2, Open Source edition release.

    πŸ’₯ Breaking Changes

    • πŸ‘Œ Support for JDK 6 and 7 has been dropped. The minimum Java version that Hazelcast supports now is Java 8. See the Supports JVMs section.

    πŸ†• New Features

    • CP Subsystem: Implementing the Raft consensus algorithm, Hazelcast introduces its CP subsystem which runs within a Hazelcast cluster and offers linearizable implementations of Hazelcast's concurrency APIs. See the CP Subsystem chapter.
    • Querying JSON Strings: You can now query JSON strings stored inside your Hazelcast clusters. See the Querying JSON Strings section.
    • Pipelining: Introduced pipelining mechanism using which you can send multiple requests in parallel to Hazelcast members or clients, and read the responses in a single step. See the Pipelining section.
    • πŸ‘Œ Support for Multiple Endpoints When Configuring Member’s Networking: Added the ability to configure the Hazelcast members with separate server sockets for different protocols. See the Advanced Network Configuration section.
    • πŸ”§ YAML Configuration Support: Added the support for configuring Hazelcast in YAML. See the Configuring Declaratively with YAML section.

    ✨ Enhancements

    • Client Instance Names and Attributes: You can now retrieve the names of client instances on the member side. Moreover, client attributes have been introduced so that you can group your clients and/or perform special operations for specific clients. See the Defining Client Attributes section.
    • Composite Indexes: Introduced the ability to recognize the queries that use all the indexed properties and treat them as a composite, e.g., foo = 1 and bar = 2 and foobar = 3. See the Composite Indexes section.
    • REST Endpoint Groups: With this enhancement you can enable or disable:

    The following are the other improvements performed to solve the enhancement issues opened by the Hazelcast customers/team.

    3.12-BETA-2

    • βœ‚ Removed group password from the Hazelcast’s default XML configuration file. Also improved the non-empty password INFO message. It's now only logged if security is disabled, password is not empty and password is not the Hazelcast default one. [#14603]

    3.12-BETA-1

    • πŸ‘Œ Improved the Javadoc of HazelcastClient so that the code comments now use "unisocket client" instead of "dumb client". [#14213]
    • Introduced the /ready endpoint to the REST API to allow checking a member if it is ready to be used after it joins to the cluster. [#14089]
    • πŸ‘Œ Improved the syncing of XSD files. [#14070]
    • 🚚 The IMap.removeAll() method now supports PartitionPredicate. [#12238]
    • πŸ‘Œ Improved the diagnostics tool so that it automatically creates the configured directory for the diagnostic outputs. [#11946]

    πŸ›  Fixes

    3.12-BETA-2

    • πŸ›  Fixed an issue where the IP client selector was not working for the local clients. [#14654]
    • πŸ›  Fixed the wording of a misleading error in the first attempt to connect to a wrongly configured cluster. The error message has been changed to β€œUnable to connect to any cluster”. [#14574]
    • πŸ›  Fixed the REST service which was not working when the REST endpoint is configured for AdvancedNetworkConfig. [#14516]
    • πŸ›  Fixed an issue where the setAsync() method was throwing NullPointerException. [#14445]
    • πŸ›  Fixed an issue where the collection attributes indexed with [any] were causing incorrect SQL query results, if the first data inserted to the map has no value for the attribute or the collection is empty. [#14358]
    • πŸ›  Fixed an issue where mapEvictionPolicy couldn’t be specified in the JSON configuration file. [#14092]
    • πŸ›  Fixed the discrepancy between the XSD on the website and the one in the download package. [#13011]
    • πŸ›  Fixed an issue where TcpIpConnectionManager was putting the connections in a map under the remote endpoint bind address but not under the address to which Hazelcast connects. [#11256]

    3.12-BETA-1

    • πŸ›  Fixed an issue where the REST API was not handling the HTTP requests without headers correctly: when a client sends an HTTP request without headers to the Hazelcast REST API, the HttpCommand class was wrongly expecting an additional new line. [#14353]
    • πŸ›  Fixed an issue where QueryCache was not returning the copies of the found objects. [#14280]
    • πŸ›  Fixed an issue where the locks were not cleaned up after the members are restarted. [#14215]
    • πŸ›  Fixed an issue where the MultiMap's RemoveOperation was iterating through the backing collection, which caused performance degradation (when using the SET collection type). [#14145]
    • πŸ›  Fixed an issue where the user code deployment feature was throwing NullPointerException while loading multiple nested classes and using entry processors. [#14105]
    • πŸ›  Fixed an issue where the newly joining members could not form a cluster when the existing members are killed. [#14051]
    • πŸ›  Fixed an issue where the IMap.get() method was not resetting the idle time counter when read-backup-data is enabled. [#14026]
    • πŸ›  Fixed an issue where the addIndex() method was performing a full copy of entries when a new member joins the cluster, which is not needed. [#13964]
    • πŸ›  PagingPredicate with comparator was failing to serialize when sending from the client or member when the cluster size is more than 1. This has been fixed by making the PagingPredicateQuery comparator serializable. [#12208]

    βœ‚ Removed/Deprecated Features

    • πŸ—„ ILock interface and implementation of ILock has been deprecated, and FencedLock has been introduced.
    • πŸ—„ The original implementations of IAtomicLong, IAtomicReference, ISemaphore and ICountDownLatch have been deprecated. Instead, the implementations provided by the CP Subsystem have been introduced.
    • πŸ—„ The following system properties are deprecated:
      • hazelcast.rest.enabled
      • hazelcast.mc.url.change.enabled
      • hazelcast.memcache.enabled
      • hazelcast.http.healthcheck.enabled
  • v3.11.4

    June 18, 2019

    πŸš€ This document includes the fixed issues for Hazelcast IMDG v3.11.4, Open Source edition release.

    πŸ›  Fixes

    • πŸ‘€ Some operations such as heartbeat checks and partition migrations share common threads with the client login module. In case of the long running client login module implementations, some symptoms such as split brain syndrome can be seen. This has been fixed by introducing a blocking executor which is used only for the client authentications. #14941
  • v3.11.4-visa

    May 21, 2019