With the new major release version, the Spring Session team took the opportunity to make some non-passive changes. The focus of these changes is to improve and harmonize Spring Session’s APIs as well as remove the deprecated components.
Spring Session 2.0 requires Java 8 and Spring Framework 5.0 as a baseline, since its entire codebase is now based on Java 8 source code. See Upgrading to Spring Framework 5.x for more on upgrading Spring Framework.
As a part of the project’s splitting of the modules, the existing spring-session
has been replaced with the spring-session-core
module.
The spring-session-core
module holds only the common set of APIs and components, while other modules contain the implementation of the appropriate SessionRepository
and functionality related to that data store.
This applies to several existing modules that were previously a simple dependency aggregator helper module.
With new module arrangement, the following modules actually carry the implementation:
Also, the following modules were removed from the main project repository:
Note that these two have moved to separate repositories and continue to be available under new artifact names:
The following changes were made to packages, classes, and methods:
ExpiringSession
API has been merged into the Session
API.
Session
API has been enhanced to make full use of Java 8.
Session
API has been extended with changeSessionId
support.
SessionRepository
API has been updated to better align with Spring Data method naming conventions.
AbstractSessionEvent
and its subclasses are no longer constructable without an underlying Session
object.
RedisOperationsSessionRepository
is now fully configurable, instead of being partially configurable.
RedisTemplate
bean.
JdbcTemplate
bean.
As a part of the changes to HttpSessionStrategy
and its alignment to the counterpart from the reactive world, the support for managing multiple users' sessions in a single browser instance has been removed.
The introduction of a new API to replace this functionality is under consideration for future releases.