-
Notifications
You must be signed in to change notification settings - Fork 679
Spring Data 2025.1 Release Notes
-
Upgrade to Spring Framework 7
-
Upgrade to Jakarta EE 11 (JPA 3.2, Servlet 6.1)
-
Upgrade to Kotlin 2.0
-
Strong use of JPQL in JPA
-
Removal of
ListenableFuture
support
Details
-
Spring Data Build - 4.0
With Spring Framework removing support for ListenableFuture
, we’re removing support for ListenableFuture
as well. Please use CompletableFuture
when using @Async
query methods.
PersistenceConstructor Migration
-
Removal of
@PersistenceConstructor
in favor of@PersistenceCreator
-
Removal of
Parameter.hasSpelExpression()
in favor ofhasValueExpression()
. -
Removal of
PersistentEntity.getPersistenceConstructor()
in favor ofPersistentEntity.getInstanceCreatorMetadata()
andisConstructorArgument(…)
in favor ofisCreatorArgument(…)
. -
Removal of
PreferredConstructor.isConstructorParameter(…)
isCreatorParameter(…)
. -
Removal of
MappingInstantiationException.getConstructor(…)
in favor ofgetEntityCreator()
.
SpEL to Value Expression Migration
-
Removal of
DefaultSpELExpressionEvaluator
andSpELExpressionEvaluator
in favor ofValueExpressionEvaluator
. -
Removal of
SpELExpressionParameterValueProvider
in favor ofValueExpressionParameterValueProvider
. -
Removal of
ValueExpressionParameterValueProvider.potentiallyConvertSpelValue(…)
in favor ofpotentiallyConvertExpressionValue(…)
. -
Removed
ExtensionAwareQueryMethodEvaluationContextProvider
,QueryMethodEvaluationContextProvider
and their reactive variants in favor of Value Expression support.QueryMethodValueEvaluationContextAccessor.createEvaluationContextProvider(beanFactory)
can help to create default instances. -
Removed
SpelEvaluator
andSpelQueryContext
in favor ofValueExpressionQueryRewriter
QueryMethod Parameters Revision
-
Removed
QueryMethod.createParameters(Method method, TypeInformation<?> domainType)
in favor ofcreateParameters(ParametersSource parametersSource)
-
Removal of
Parameter(MethodParameter parameter)
andParameters(Method method, Function<MethodParameter, T> parameterFactory)
.
Other Changes
-
Removal of
PersistentPropertyPath.getRequiredLeafProperty()
in favor ofgetLeafProperty()
. -
QPageRequest
constructors areprivate
now, useof
factory methods. -
Removal of
AnnotationRepositoryConfigurationSource
constructor -
Removal of
RepositoryFactorySupport.getTargetRepositoryViaReflection(…)
, useinstantiateClass(…)
instead. -
Removed
PagedResourcesAssembler.getMethodParameter(…)
without replacement -
Removed
org.springframework.data.repository.util.ReactiveWrappers
in favor of the variant in theorg.springframework.data.util
package. -
ClassTypeInformation
was made package-protected. Obtain instances ofTypeInformation
using the appropriate factory methods onTypeInformation
. -
Removal of the
org.springframework.data.type.classreading
package in favor of Spring’sAnnotationMetadata
.
With Spring Framework removing support for ListenableFuture
, we’re removing support for ListenableFuture
as well. Packages org.springframework.data.cassandra.core.cql.legacy
and o.s.d.c.core.legacy
are removed. Use asynchronous template API implementations and their utilities from o.s.d.c.core.cql
respective o.s.d.c.core
.
-
M1 - December 2024
-
M2 - January 2025
-
M3 - March 2025
-
M4 - May 2025
-
M5 - July 2025
-
RC1 - Sept 2025
-
RC2 - Oct 2025
-
GA - Nov 2025
-
OSS Support until: May 2025
-
End of Life: Sept 2026