Infinispan, an open-source key/value data store and data grid platform written in Java, unveiled its latest version, 15.0.0. This release is a significant milestone, introducing many new features and improvements across various areas. Notably, it implements most of the core Redis commands in the RESP endpoint, optimizes intra-cluster communications, enhances the tracing subsystem and server management console, and updates the minimum JDK requirement to JDK 17.
It is now possible to query directly using the cache API instead of the Search/QueryFactory combination. The query result object now features two methods, hitCount()
which represents the total number of results returned from the query, and exact()
which specifies whether the hit count is exact or a lower bound. To improve query performance, hit count accuracy can be configured globally and at individual query levels via the attribute hit-count-accuracy
.
The latest release of Infinispan further develops the tracing capability introduced in Infinispan 14. The standard Infinispan configuration can now be used to set up tracing globally and on a per-cache basis. It is also now possible to trace additional events, such as cluster calls, cross-site calls, cache store events, and security audit calls. For more details on the changes to the tracing subsystem, see the official blog.
Noteworthy core optimizations include reducing intra-cluster traffic during remove operations when no value is present and reducing payload size by not returning previous values when not needed. A new method called includeOldValue
is introduced in listener converters, which can be overridden to send a previous or old value in the change event.
The Infinispan server includes the RESP (Redis Serialization Protocol) endpoint, also introduced in Infinispan 14.0.0, which was significantly enhanced to implement most of the core Redis commands in this release. Add the resp-connector
to the Infinispan server configuration to enable the RESP endpoint, which allows interactions with remote caches using Redis Clients. Server security now includes the aggregate-realm type that can combine different realms to load authentication and authorization steps.
The server management console was enhanced to display a list of connected clients to a cluster and allow the management of roles, users, and access controls. Additionally, it supports dark mode.
The minimum JDK requirement to use Infinispan 15 is JDK 17. It also supports JDK 21 and JDK 22. With this change, Infinispan only ships Jakarta EE-compliant modules, while Infinispan 14 is still available and is compatible with Java EE.
Other improvements include support for BigDecimal and BigInteger in Ickle queries and the introduction of new projection kinds, such as score, version, and star/identity. Index sharding, which splits index data into multiple indexes, is now configurable via the shards
attribute. A manual
indexing mode is now available to update the index only when the reindex operation is explicitly invoked.
See the complete list of features in the Infinispan 15.0.0 release blog. Since 15.0.0, two minor versions, 15.0.1 and 15.0.2, have been released.
To learn more about Infinispan, check out their learning materials and blogs. Also, see their roadmap to discover what features are being released next.