⭐ New Features
- Align default order between
@EnableAsync
and@EnableResilientMethods
#35643 - Add first class
ParameterizedTypeReference
support toBeanRegistrar
#35635 - Support for JTA 2.1 read-only attribute #35633
- UriComponentsBuilder#query should not clear queryParams if null passed in #35629
- Revise
PersistenceUnitInfo
management for compatibility with JPA 3.2 as well as JPA 4.0 #35622 - Deprecate
TransactionCallbackWithoutResult
#35606 - Introduce
queryParamPredicate
inAbstractRequestLoggingFilter
#35603 - Add builder-based constructors to Jackson 3 infrastructure #35597
- Refine
StringUtils#splitArrayElementsIntoProperties
nullability #35595 - Support matching against exception causes in
ExceptionTypeFilter
#35592 - Match against exception causes in
@Retryable
andRetryPolicy
#35583 - Improve configuration of HttpMessageConverters in RestClient and RestTestClient #35578
- Support Bean Overrides for non-singletons #35574
- Introduce
findAnnotatedBeans(ListableBeanFactory)
inControllerAdviceBean
#35571 - Support explicitly specifying "no version" on a request #35566
- Simplify overriding of default codec for Jackson 3 vs 2 #35562
- Revise nullability of
TransactionCallback
,TransactionOperations
, andTransactionalOperator
#35561 - Refine
SingletonSupplier<T>
supplier-based static methods nullability #35559 - Add Kotlin extensions for RestTestClient #35558
- Deprecation warning with GraalVM 25 due to
--install-exit-handlers
#35557 - Introduce
MapAccessor
in SpEL and deprecate existing implementation inspring-context
#35537 - Add
serialVersionUID
inLinkedCaseInsensitiveMap
#35535 - Use uppercase for classpath-related static final field names #35525
- Prevent empty declaration of
@ConcurrencyLimit
#35523 - Nullability fixes for AtomicReference #35514
- Enhance toString method in SockJsFrame #35510
- Invoke ConfigurationBeanNameGenerator even if a '
@Bean
(name = ..)' is provided #35505 - Add support for recording and reusing the outcome of classpath scanning #35497
- Upgrade to NullAway 0.12.10 and refine nullability #35492
- Introduce automatic context propagation in
CoroutinesUtils#invokeSuspendingFunction
#35485 - Missing Nullable on body parameter in HttpClientErrorException.create methods. #35482
- Introduce placeholder resolution support in
@ConcurrencyLimit
#35470 - Refine
PropagationContextElement
#35469 - Refine
EntityManagerRuntimeHints
for Hibernate 7.1+ #35462 - Provide programmatic alternative to
@ConcurrencyLimit
#35460 - Add caching to default JMS destination resolver #35456
- Deprecate the org.springframework.web.servlet.view.document package #35451
- Support injecting the API version into a controller method #35424
- Provide access to raw content in RestTestClient #35399
- Reject effectively private handler methods on CGLIB proxied controllers #35352
- Use EmbeddedValueResolver to resolve value in MvcUriComponentsBuilder #35348
- Upgrade to JUnit 6 #35124
- Add
ParameterizedTypeReference
overload next toBeanFactory.getBeanProvider(ResolvableType)
#31444 - Provide GSON-based Encoder/Decoder #27131
🐞 Bug Fixes
ReactorResourceFactory
is not restarted properly whenApplicationContext
is resumed by TestContext Framework #35585AbstractJacksonEncoder
ignoresFILTER_PROVIDER_HINT
when encodingFlux<T>
#35575- HttpMessageConverters overrides custom string converter #35563
- Reinstantiate checks for
kotlin-reflect
#35511
📔 Documentation
- Remove outdated reference to JSR 305 in the reference documentation #35580
- Update Javadoc related to use of ApiVersionInserter to show examples #35565
- Update references to HTTP service client in the documentation #35522
- Update docs to replace use of "X-API-Version" as an example #35494
- Document placeholder and Ant-style pattern support for
@ComponentScan
#35491
🔨 Dependency Upgrades
- Upgrade to Jackson 3.0.0 #35521
- Upgrade to Micrometer 1.16.0-RC1 #35639
- Upgrade to Reactor 2025.0.0-RC1 #35637
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Allan-QLB, @HyunSangHan, @NeatGuyCoding, @Rockernun, @Wars, @YongGoose, @chemicL, @hosea, @msridhar, @polyglot-k, @quaff, and @sic2