Hazelcast Spring Session is getting a refresh (and Hazelcast now maintains it)
If you use Spring Session with Hazelcast to share HTTP sessions across multiple application instances, you already know the value it brings: scalability, resilience, and performance. You may also be familiar with some of the sharp edges—configuration that must be just right, subtle issues around serialization, and problems that only surface at scale or when moving to client/server architectures.
We’re changing that.
In October 2025, the Hazelcast team took over stewardship of Spring Session Hazelcast (read our blog announcement here). This ensures the integration remains actively supported, aligned with modern Hazelcast and Spring practices, and continues to evolve with the needs of users.
This post explains what we’re modernizing, and what you can expect in the upcoming Hazelcast Spring Session 4.0 release.
What’s changing in 4.0 (and why it’s a major version)
Hazelcast Spring Session 4.0 is the first release led by the Hazelcast team. To reflect the new ownership and module home, it includes backwards-incompatible changes to package names and Maven coordinates.
The migration notes in the repo cover the key updates, including the new groupId/artifactId and moved packages: [Configure Hazelcast Spring Session | Hazelcast Docs]
This major bump also gave us room to improve the developer experience in areas that previously couldn’t be changed safely—especially serialization: We made a breaking change that allows you to use client-server architecture without any need for server-side code deployment and we’ve updated the serialization configuration so that it is more unified between deployment styles.
Developer Experience improvements
Hazlecast Spring Session has long been a popular backing store for Spring sessions because of its simplicity, scalability, and performance. With 4.0, we’re building on those strengths while making the module easier to configure, safer to run in production and clearer to reason about.
1) Session map auto-configuration
Today, many users must manually configure the same map attributes and indexes to ensure efficient lookups (for example, indexing the principal name). In 4.0, the module will auto-configure sensible defaults when you haven’t provided your own, reducing repetitive and error-prone setup.
2) Safer default serialization setup
Currently, inconsistent serializer configuration across nodes can lead to failures that are hard to diagnose. We’re moving toward out-of-the-box serializer registration so the “works on one node, fails on another” class of problems goes away. This also aligns better with Hazelcast’s recommended serialization patterns.
3) Improved client/server experience
In client/server deployments, requiring application classes and serializers can be difficult to manage. 4.0 improves how session attributes can be handled so fewer server-side classes and custom serializers are required, making client/server architectures easier to operate and evolve.
4) A complete, explicit configuration guide
We’re investing in the documentation to make onboarding and configuration straightforward and clear. Updates include:
- Required vs. optional index configuration
- Serialization behaviour: what runs on clients vs. members, and why
- A complete reference of configuration parameters
- What is auto-configured, when it kicks in, and how to override it
Who this is for
This modernization is aimed at developers who:
- Run one or more Spring Boot instances and need resilient, fault-tolerant session storage
- Are moving from local sessions to clustered sessions and want the simplest path
- Run Hazelcast in client/server mode and want fewer classpath/serializer surprises
- Care about clear, explicit docs and production-ready defaults
Where to follow along (and how to prepare)
- Repo + migration notes: the Hazelcast-led module lives here, including what changes in 4.0.
- Hazelcast announcement: background on Hazelcast taking the lead.
- Spring announcement: Spring Session Hazelcast leadership transition.
- Resilient user sessions are easier than you think – blog post with hands-on example on Hazelcast Spring Session