Downloads Release Notes
Release Notes
What has updated, changed or fixed in each release of Infinispan
Infinispan 15.0 Release Notes
Core
- Infinispan requires at least JDK 17. You can also use JDK 21 LTS or JDK 22
- Jakarta EE-only (Java EE suport has been removed)
- Optimized intra-cluster communications: previous values that were identified being returned when they are not needed
- Remove operations on a non tx cache will no longer generate intra-cluster traffic if no value is present.
Server
- RESP endpoint: the Redis-compatible endpoint connector supports most of the core Redis commands
- Memcached: support the binary protocol as well as authentication
- All protocols are now available through the single-port with automatic detection
- Aggregate realms, which allows you to combine different realm types for authentication and authorization.
Cloud
- Operator: configurable probe values, JMX, many improvements for cross-site and security
- Helm charts: custom environment variables, tolerations, node affinity and node selectors, TLS
Marshalling
- Protocol Buffers 3, including `map`
- Support Java `record`s
- Simplified annotations and implicit field numbering
Console
- List connected clients
- Manage roles, users and access control for Principal Role Mappers
- Dark mode
Configuration
- Configurable handling of nodes which have been shutdown uncleanly
Indexing and querying
- Simpler query API
- Vector indexes
- Tunable hit count accuracy
- High-performance indexed count aggregation queries are now supported
- More projection kinds: score, version, star/identity
- Support for BigDecimal/BigInteger in Ickle queries
- Configuratble index sharding
- Optional manual indexing. Useful for bulk loading
- Non-blocking indexing
Persistence
- Soft-Index File Store: huge improvements in performance and reliability
- More efficient passivation
Monitoring and observability
- Global and per-cache tracing configuration
- Tracing categories for cluster, cross-site, persistence and security
Tutorials
- Tutorials have been updated to include examples of the new features.
Infinispan 14.0 Release Notes
Core
- Infinispan requires at least JDK 11. You can also use JDK 17 LTS or JDK 19
- Jakarta EE based jars for most of the Infinispan modules
- Cluster Listener using `includeCurrentState` has better memory and performance
- Smaller memory requirements for State Transfer
- State Transfer metrics exposed through JMX, including the number of segments during the transfer
- Cache size method optimization
- Reduced some cases of blocking threads being over utilized
- Dynamic Role-based access control (RBAC)
Infinispan Server
- RESP endpoint: a Redis-compatible endpoint connector
- FIPS with PKCS#11 keystores
- Support for custom security providers, such as BouncyCastle
- Support for masked and external credentials
- TLS engine configuration allows cipher suites selection for both TLSv1.3 and TLSv1.2
- JMX integration with our security realms
- Deprecation of endpoint worker threads configuration
- Experimental IO_Uring support
- REST endpoints expose distribution information for caches and clusters
Cloud
- Multi Operand support: A single Operator installation can manage multiple Infinispan Server versions
- FIPS support
- Custom user configuration refactored
- Admin service is now headless
- Bundle provided for both amd64 and arm64 architectures
- Image based on ubi9/ubi-micro
Container Image
- Image based on ubi8/openjdk-17-runtime
- Images provided for both amd64 and arm64 architectures
- `SERVER_LIBS` environment variable that allows dependencies to be downloaded prior to server startup
- The `config-generator` has been removed. Its functionality can be replaced by using configuration overlays
CLI
- List cache entries command, including metadata (table, JSON or CSV format)
- Configuration converter
- Schema command to upload, delete, modify protobuf schema
- Index command to manage indexes
- Client certificate authentication
Console
- Cache creation wizard
Configuration
- Multimap supports duplicates
Indexing and querying
- Infinispan native annotations replaced legacy Hibernate Query annotations
- Index start up mode (purge, reindex, none, and auto)
- Dynamic index schema update
- Support Protobuf’s `oneof`
- Improved hybrid query system
- Support for normalizers with the Hot Rod client
Cross-Site Clustering
- The asynchronous cross-site replication updates are batched in the sender
Persistence
- Improvements to `SoftIndexFileStore` segmentation performance
- `JDBCStringBasedStore` is dynamically configured when checking the JDBC connection
- Removal of `JPAStore`
Hot Rod client
- A new Hot Rod client with a completely redesigned API
- Hot Rod 4.0 protocol
- Sync (blocking), Async (non-blocking) and Mutiny sub-APIs
Integrations
- Hibernate caching implementation supporting Hibernate 6
- Hibernate 5 caching is no longer supported due to Jakarta EE migration
Monitoring and observability
- Integration with OpenTelemetry tracing
- Client/server request tracing correlations on both Hot Rod and REST APIs
- Integration with Micrometer to produce Prometheus and OpenMetrics metrics
Tutorials
- ...
Infinispan 13.0 Release Notes
Core
- JDK 17 support (but still compatible with JDK 8 and JDK 11)
Infinispan Server
- Configuration overlays
- Thread pool consolidation for lower resource consumption
- Automatically enable TLS for the cluster transport simply by specifying a security realm with a keystore/truststore server identity
- Distributed Security Realm*: a server security realm which can aggregate multiple sub-realms, trying each one in turn.
- PEM key/trust stores*: Support for PEM files for both keys and certificates without the need to convert them to Java keystores first
- Full support for TLSv1.3 via native OpenSSL.
Cloud
- Operator-assisted cluster migration upgrade
- Helm charts
CLI
- Simplified shell connection to Kubernetes pods
Console
- Type-aware entry editing
- Rebalancing controls
REST
- Rebalancing control
- Availability control
- Configuration mutability
- Configuration conversion
- Cache entry listeners with Server-Sent events
- Cache configuration listeners with Server-Sent events
Live cluster migration
- Manually changing configurations of the cache(s) is no longer necessary
- New methods in the REST API to control the migration
- Support dynamically-created caches
- Simplified configuration
Configuration
- XML/YAML/JSON configuration
- Alter cache configuration at runtime
Management, monitoring and logging
- Cache size reporting is now optional to improve performance
Indexing and Querying
- Delete by query
Cross-Site Clustering
- Improve cross-site replication observability
- The cross-site view (sorted list of site names currently online) and relay-nodes (members who are responsible for relaying messages between sites) are now exposed via CLI/REST/JMX.
- Detailed metrics exposed per site and per cache (response times, number of messages)
Persistence
- Default file store is now the Soft-Index file store
- SQL store for easy mapping of tables/queries
Testing
- Testcontainers for user development
Tutorials
- ...
Infinispan 12.1 Release Notes
Core
- ...
Infinispan Server
- ...
Infinispan Operator
- ...
CLI
- ...
Console
- ...
REST
- ...
Quarkus
- ...
Container Image
- ...
Configuration
- ...
Management, monitoring and logging
- ...
Indexing and Querying
- ...
Cross-Site Clustering
- ...
Marshalling
- ...
Persistence
- ...
Test suite
- ...
Tutorials
- ...
Infinispan 12.0 Release Notes
Core
- Integration with Knative Eventing
- Allow caches to scale up without state transfer
- Replace Blocking Executor with an EnhancedQueueExecutor
- BlockingManager add reentrant blocking scheduler
- Improved license generation
- Improved MediaType parsing
Infinispan Server
- Allow custom paths for conf/data/log directories
- Ability to separate server root subdirectories
- Handlers for both HTTP 1.1 and HTTP 2.0
- Improve Infinispan Server Extension in Spring Boot
- Cluster backup and restore capabilities
- Use alternative to JMX to compute protocols server global connection count
- System init files to run as a system service
- Treat PEM files in the client in the same way as truststores
- Use correct expressions to set infinispan.cluster.name and infinispan.cluster.stack properties
- Add credential store support
- Allow system properties from file
- Set JGroups port offset
- Improve log message when client auth config is incomplete
- Add caching to the server security realm
- Near caches with bloom filter
- OpenTracing for distributed tracing
Infinispan Operator
- Cluster backup and restore capabilities
- Manual cross-site configuration
- Node anti-affinity configuration
- Ability to specify the PVC StorageClassName
- Kubernetes CLI
- Support for multiple and global namespace installation
- Quarkus native Infinispan image support
CLI
- Improve CLI server report to work with macOS
- Alternative CLI configuration
- Persistent CLI configuration
- CLI command help improvements
- Tooling to generate server performance tests
Console
- Add an About page
- Make the welcome visible without login in every case
- Filter counters
- Delete counters
- Describe ProtoBuf error message
- Handle FAILED Health status
- Display a sample of data on the cache entries tab
REST
- Report realm readiness through REST login configuration resource
- Allow backup restore progress to be submitted and polled
- Support streaming operations for entries
- Remove jackson databind
- Remove deprecated GET methods
Quarkus
- Infinispan Native CLI
Container Image
- Added support for configuring zero-capacity
- Override JGroups properties at runtime
Configuration
- Support cache fragments when creating caches and templates via remote APIs
- Handle maximum idle expiration across sites
- Enforce `
` for protobuf payloads in indexed caches - Add JGroups stack.combine INSERT_BEFORE
- Configurable properties for JGroupsChannelLookup
- Add zero-capacity-node support for Replicated caches
- Convert expiration to no longer use transactions
- Dump effective JGroups Stack on startup
- CacheIgnoreManager should use global config cache
- org.infinispan.CONFIG should ignore zero-capacity-node=true
- Allow templates to be defined clusterwide and persisted
- Improve error message when XML element is removed
Management, monitoring and logging
- Allow anonymous connections to the metrics endpoint
Indexing and Querying
- Upgrade to Hibernate Search 6 and Lucene 8
- Non-blocking indexing
- Remove deprecated indexed query classes
- Avoid loading from unreferenced caches during queries
- Support for query and indexing statistics
- Introduce strong typed indexing configuration
- Add blockhound support
Cross-Site Clustering
- `Transport::getSitesView()` should be ordered
- SPI for Cross-Site Replication conflict resolution
- Update `tcp::MPING::bind_addr` to SITE_LOCAL
- XSite Response should allow a value
- Enable conflict resolution for IRAC state transfer
Marshalling
- User types fully isolated from the Infinispan internal context
- Automatic SerializationContextInitializer registration
- Add UUID to core SerializationContexts
- ProtoStream adapters for third-party classes
Persistence
- RemoteStore uses new NonBlockingStore SPI
- Change RemoteStore to handle media types and verify segments
- Add JDBC Meta Table
- Add RocksDB Meta Column Family
- Remove Rest store
- Allow custom wait strategies for database connections
Test suite
- Add default Infinispan JGroups stacks
- Remove alternative http clients
- Add test driver dependencies to the bom
- Add the `server-integration` module into `integrationtests` module
- Allow different servers for server integration test suite
- Create an InfinispanXSiteServerRule and increase test coverage
- Add eap profile for third-party-server project
- Allow custom unzip expression for tomcat in third-party-server
- E2E Smoke tests with Cypress
- Add Memcached client test for third-party-server
- Shrinkwrap dependencies for Server JUnit modules
Tutorials
- Infinispan Remote Weather App Tutorial
- Infinispan Server Extension tutorial (remote-junit5)
Website
- Improve Welcome Page design and use new Logo
- Change favicon to the new logo
Infinispan 11.0 Release Notes
Core
- Compile-time internal dependency injection removes runtime reflection
- Non-blocking embedded and remote listeners
- Expiration on primary-node only to reduce load
- Quarkus
- Off-heap iterator improvements
Infinispan Server
- Complete rearchitecture
- Reduced disk footprint (50MB vs 170MB)
- Reduced boot memory footprint (18MB vs 40MB)
- Single-port design for Hot Rod, HTTP/1.1 and HTTP/2
- Elytron-backed security
- New Hot Rod authentication mechs (SCRAM, OAUTHBEARER)
- New HTTP authentication mechs (DIGEST, CLIENT_CERT, TOKEN)
- Non-blocking Hot Rod and REST authentication
- New CLI
- REST-based admin API
Quarkus
- Embedded Quarkus extension
- Remote Quarkus extension
- Native server
REST
- New V2 REST API
- Support for counters
- Much better performance
- Full authorization support
Marshalling
- Complete separation of internal and user marshaller
- Embedded marshaller is now based on Protocol Buffers
Configuration
- Inline JGroups configuration with XSite
- Out-of-the-box JGroups stacks for many cloud environments
- XInclude support
Management, monitoring and logging
- MicroProfile metrics
- OpenMetrics endpoint
- Coarse-grained logging categories
- JSON logging
Persistence
- All core cache-stores are now non-blocking
- Increased passivation throughput
- Segmented stores by default for faster performance and decreased memory usage
Container Image
- Based on UBI Minimal and Java 11
- Simple YAML configuration
- Authentication, Encryption, Logging and XSite support
Cross-Site Clustering
- Concurrent requests handled simultaneously instead of sequentially
- Detect site disconnections in async mode
- Metrics for asynchronous requests
Infinispan 10.0 Release Notes
Core
- Compile-time internal dependency injection removes runtime reflection
- Non-blocking embedded and remote listeners
- Expiration on primary-node only to reduce load
- Quarkus
- Off-heap iterator improvements
Infinispan Server
- Complete rearchitecture
- Reduced disk footprint (50MB vs 170MB)
- Reduced boot memory footprint (18MB vs 40MB)
- Single-port design for Hot Rod, HTTP/1.1 and HTTP/2
- Elytron-backed security
- New Hot Rod authentication mechs (SCRAM, OAUTHBEARER)
- New HTTP authentication mechs (DIGEST, CLIENT_CERT, TOKEN)
- Non-blocking Hot Rod and REST authentication
- New CLI
- REST-based admin API
Quarkus
- Embedded Quarkus extension
- Remote Quarkus extension
- Native server
REST
- New V2 REST API
- Support for counters
- Much better performance
- Full authorization support
Marshalling
- Complete separation of internal and user marshaller
- Embedded marshaller is now based on Protocol Buffers
Configuration
- Inline JGroups configuration with XSite
- Out-of-the-box JGroups stacks for many cloud environments
- XInclude support
Management, monitoring and logging
- MicroProfile metrics
- OpenMetrics endpoint
- Coarse-grained logging categories
- JSON logging
Persistence
- All core cache-stores are now non-blocking
- Increased passivation throughput
- Segmented stores by default for faster performance and decreased memory usage
Container Image
- Based on UBI Minimal and Java 11
- Simple YAML configuration
- Authentication, Encryption, Logging and XSite support
Cross-Site Clustering
- Concurrent requests handled simultaneously instead of sequentially
- Detect site disconnections in async mode
- Metrics for asynchronous requests
Infinispan 9.4 Release Notes
Core
- Segmented off-heap data container
Data Interoperability
- Transcoding completely replaces compatibility mode
Cache Stores
- Segmented cache stores
Infinispan Server
- Rebased on WildFly 14
Management, monitoring and logging
- Hot Rod client-side statistics
Hot Rod / REST
- Transaction recovery over Hot Rod
- Near-cache performance/reliability improvements
Infinispan 9.3 Release Notes
Core
- Segmented on-heap data dontainer
- Cluster-wide max idle expiration
Data Interoperability
- Transparently convert between JSON and Protobuf for remote APIs
Cache Stores
- Write-behind stores are now fault-tolerant
Infinispan Server
- Rebased on WildFly 13
- Single port access independent of protocol
Management, monitoring and logging
- Improved editors to add syntax highlighting
Hot Rod / REST
- Transactions over Hot Rod
- On the fly data conversion
Integrations
- Hibernate 5.1/5.3 second-level cache providers
- Hibernate Search 5.10
- WildFly feature packs for Infinispan use in app server
Infinispan 9.2 Release Notes
Core
- Further improvements to conflict resolution and merge policies
- Reactive streams for increased throughput
- Biased reads for scattered caches
- More accurate off-heap memory calculations
Data Interoperability
- Transparently convert between JSON and Protobuf
API
- Multimap caches for embedded and Hot Rod
- Clustered Counters for Hot Rod
- Clustered Locks
- Wildcard configurations
- Cluster-wide cache admin via embedded and remote
Indexing and Query
- Broadcast queries
Management, monitoring and logging
- Console support for counters
- Improved remote protocol access logging
Infinispan Server
- Rebased on WildFly 11
- Hot Rod server uses async ops for reduced thread usage
Integrations
- JCache 1.1
- Hibernate 5.1/5.2 second-level cache providers
- Azure cloud discovery
Hot Rod / REST
- Clustered Counters over Hot Rod
- MultiMap over Hot Rod
- Queries over REST
- Hot Rod Client rewritten to use Netty
Infinispan 9.1 Release Notes
Core
- Conflict resolution and merge policies
- Performance improvements
Cache Stores
- Batching support
API
- Clustered counters
- Exclusive stream operations
- Distributed compute(), computeIfAbsent(), computeIfPresent()
Infinispan Server
- HTTP/2 support for the REST endpoint
- Much improved REST endpoint performance
Management and monitoring
- Endpoint management through the console
- Usability improvements
Integrations
- Improved Kubernetes PING support
Infinispan 9.0 Release Notes
Core
- Graceful shutdown and restart with persistent cache state
- Off-heap storage
- Performance improvements
- New internal marshaller
Indexing and Query
- Ickle, a new query language derived from JPQL with full-text predicates
- Replace the HQL translator with an internal one
- Always cache the query AST
- ElasticSearch indexing backend
API
- Replace the home-brew notifying futures with CompletableFutures everywhere
- Stream usability improvements
Infinispan Server
- Server base upgraded to WildFly 11
- SNI for Hot Rod and REST
- Multi-tenancy
Eviction
- New bounded container based on Caffeine
- More reliable eviction
Integrations
- Spring Session support
- Kryo and Protostuff marshallers for Hot Rod
- Kubernetes PING support
Management and monitoring
- Web console works with both domain and standalone mode
Cache Stores
- RocksDB cache store which replaces the LevelDB one
- Upserts and transactions for JDBC stores
- HikariCP connection pooling
- Dropped Mixed and Binary JDBC stores
Infinispan 8.2 Release Notes
Core
- Staggered remote gets
- Continued internals refactoring
- Synchronous consistent hashing is now the default
- Initial cluster size configuration
- Performance and memory allocation-rate improvements
Indexing and Query
- Explicit indexed entity configuration
- Hibernate Search 5.6 Alpha and Lucene 5.5
- Unified continuous query API between embedded and remote
- Experimental index affinity
API
- New lambda-aware clustered executor to replace distributed executor
Infinispan Server
- Server base upgraded to WildFly 10
- Queryable event logger
- More complete management ops for schemas and scripts
Management and monitoring
- Persistent login session which survives refresh
- Deployment / undeployment of user code
- Management of ProtoBuf schemas for indexing
- Management of scripts for task execution
- Event viewing
- Much improved cache and template configuration
- Container configuration
- Cross-site replication management
Server tasks
- Deployable tasks
- Alternate data-types for input/output for cross-language compatibility
Infinispan 8.1 Release Notes
Core
- Global state persistence
- Continued internals refactoring
- Per-cache rebalance control
Indexing and Query
- Continuous Queries are now indexed
- Projections in Continuous Queries
- Lots of improvements in performance and correctness
API
- Cache injection in forEach consumer
Infinispan Server
- Server base upgraded to WildFly 10
- Caches can be hidden from the clients to perform maintenance
Management and monitoring
- Huge overhaul of the web-based management console for server
Server tasks
- Includes server-side scripting
- Per-task role ACL, strict named-parameter checking
Hot Rod protocol improvements
- Site failover support
- Clustered statistics
- Compatibility mode awareness
Security
- Improved caching of ACLs with flush ops
Infinispan 8.0 Release Notes
Core
- Based on Java 8
- Reduced resource consumption
- Reduced locking
- Separate thread pool for async operations
Indexing and Query
- Continuous Query listeners
- Grouping and Aggregation with DSL-based queries
- Mixed queries, supporting indexed and non-indexed fields
- The indexing and query engine has been upgraded to Lucene 5.2
API
- New lambda-based functional cache API
- Distributed streams based on java.util.stream
- Configuration templates
Integrations
- Apache Spark connector
- Apache Hadoop connector
Eviction
- Memory size-based eviction
- Runtime resizing of the maximum number of entries
Management and monitoring
- Remote entry iterator
- Expose server segment mapping
Listeners
- Notifications for entry expiration
- Listeners can be registered using DSL queries
Hot Rod protocol improvements
- Remote entry iterator
- Expose server segment mapping
Infinispan 7.2 Release Notes
Bulk operations
- The performance of bulk operations (getAll, putAll) in both embedded and remote mode has been improved by an order of magnitude
- The clear operation is now non-transactional and lock-free.
Scripting (JSR-223) in server
- Allows creation of server-side scripts which can be invoked from HotRod
Eviction
- New design based on the ConcurrentHashMap from JDK 8
- The maximum number of entries is now respected exactly, and not rounded up to the nearest power of 2
- A greatly improved LIRS algorithm which is much more accurate in deciding which entries to evict
Integrations
- JCache (JSR-107) support over Hot Rod
Listeners
- Listeners can be registered using DSL queries
Cache Stores
- It is now possible to deploy cache stores to the server
- We now have a cache store Maven archetype
Configuration
- Configuration inheritance now only applies modified attributes, making programmatic templating more predictable
Indexing
- More performance improvements
Infinispan 7.1 Release Notes
Near Cache support
- HotRod clients can utilize near caching to improve read performance
Uber Jars
- The CLI is now also packaged as an UberJar
- Many fixes to classloading and hiding of private inner packages
Partition Handling
- Cluster will enter degraded mode instead of unavailable allowing for more keys to stay available
- Huge stability improvements
Indexing
- Mass Indexer operation no longer blocks
- Huge performance/stability improvements in indexing
Clustered listeners
- Enhanced performance when multiple cluster listeners are installed as well as asynchronous cluster listeners
Remote events over HotRod
- Remote event filter/converter callbacks can use raw data
Enhanced Statistics
- Statistics for clustered caches
- Statistics for a single node
Entry Iterator
- Local entry iteration when no loader should operate subsantially faster
Infinispan 7.0 Release Notes
Partition Handling
- Detects split brain scenarios and reduces availability to provide consistency in such situations
Uber JARs
- To add Infinispan to your application you now need to use only one JAR
Security
- Cache and CacheManager authorization with support for custom auditing. This feature can optionally integrate with the JDK SecurityManager.
- HotRod authentication based on SASL and integrated with the Security Realms in the server.
- Clustering authentication and authorization integrated with the Security Realms in the server.
Brand new XML configuration
- XML configuration has been revamped to match server-side configuration format found in Infinispan Server, Wildfly or JBoss Application Server 7.
- Support for the XML format used by Infinispan 6.0 and older has been dropped
Cross-Site Clustering
State-transfer across sites for seamless synchronization of data when a remote site is brought online
Query improvements
- Indexless queries
- Integration with Apache Lucene version 4.10.x
- Improved reliability of index storage
- Significant performance improvements for asynchronous indexing backends
- Experimental support for “MoreLikeThis” queries
- Automatic election of “master” indexing node (experimental)
Clustered listeners
Distributed caches can now notify a single listener in the cluster of all write events
Remote events over HotRod
- Server-side cache events can be now propagated to Hot Rod clients that register listeners, enabling near-cache architectures.
- Events can be filtered server-side and they can be customized to fit the user.
Distributed Entry Iterator
- Allows for memory sensitive way to iterate entire contents of the cluster
- Provides way for filtering of entries retrieved and materialized views
Remote Query improvements
- Simplified schema management using the cache API
- Schemas are automatically compiled by the server
- Field-level indexing granularity
- Protobuf schemas are supported without need to precompile them
Map bulk operations enhancements (entrySet, keySet, values, size)
- Operations now properly take into account entire cluster contents
- Returned collections are now backing in that updates to the collection are reflected in the cache and vice versa
Infinispan Server improvements
- Hot Rod remote event filters and converters, container within JAR files, can be deployed using standard mechanisms to Infinispan Servers.
- The server CLI is now built on top of WildFly’s CLI enabling access to the full Domain Management Model
Map/Reduce performance improvements
- Now takes advantage of multicore concurrency in all phases for exceptional speedup when compared to Infinispan 6
Hot Rod 2.0 protocol improvements
- RemoteCache.size() now implemented with a dedicated size() operation in the protocol, which takes both persistent store, and cluster wide cache contents into account.
- Better topology updates sent to clients, containing less information and providing more precise key location mechanism.
Integrations
- JCache (JSR-107) support upgraded to 1.0.0
- Support for CDI events
- OSGi support
- Support for both Spring 3.x and 4.x
New experimental Soft Index File Store
- A file store which indexes entries using B+ tree that is cached in-memory using Java's soft references