spring-framework v7.0.7
spring-framework v7.0.7
:star: New Features
- Improve
SpringValidatorAdapterandMethodValidationAdapterperformance #36621 - Support JSON array decoding to
FluxinKotlinSerializationJsonDecoder#36597 - Deprecate
methodIdentification()inCacheAspectSupportfor removal #36575 - Add MockRestServiceServer#createServer variant for RestClient #36572
- Create RestClientXhrTransport variant replacing RestTemplateXhrTransport #36566
- Improve error handling in multipart codecs #36563
- Make
ApplicationListenerMethodAdapter#getTargetMethod()public #36558 - ApiVersionConfigurer.setSupportedVersionPredicate() returns void instead of ApiVersionConfigurer #36551
- LazyConnectionDataSourceProxy does not work well with Hibernate’s multi-tenancy by schema strategy #36527
- Add registerManagedResource variant with bean key argument to MBeanExporter #36520
- Handle blank Accept-Language header in AcceptHeaderLocaleResolver #36513
- Make AbstractStreamingClientHttpRequest and AbstractBufferingClientHttpRequest public #36501
- MySQL Error 149 (Galera/WSREP conflict) not translated to ConcurrencyFailureException in Spring JDBC/ORM #36499
- Add PreFlightRequestFilter #36482
- Support configuration of extension context scope for
SpringExtensionvia Spring or JUnit properties #36460 - Lower log level of “Cache miss for REQUEST dispatch” in HandlerMappingIntrospector #36309
:lady_beetle: Bug Fixes
- WebDataBinder unnecessarily instantiates collections when using the ”!” and ”_” prefixes #36625
- Cache pollution from high-cardinality FieldError default messages in MessageSourceSupport #36609
MergedAnnotationdoes not useClassLoaderfor method or field #36606@Sqlfails ifDataSourceis wrapped in aTransactionAwareDataSourceProxy#36611AnnotatedTypeMetadatano longer retains source declaration order on Java 24+ #36598MergedAnnotation.asMap()fails when an attribute references a non-existent class #36586FileSystemResourcedoes not strictly follow theResource#isReadable()contract #36584- Converter overrides in HttpMessageConverters only apply when defaults are registered #36579
- Invalid method return type metadata for ClassFile variant on JDK 24+ #36577
- Fix Writer lifecycle for
AbstractJsonHttpMessageConverter.writeInternal(Object, Type, Writer)#36565 - Flushing-related regression in
SseServerResponse#36537 - LazyConnectionDataSourceProxy does not pass on holdability to target Connection #36528
AnnotationBeanNameGeneratorfails when an annotation references a non-existent class #36524- Perserve default API version in RestClientAdapter #36514
- Inconsistent codings resolution in resource resolvers #36507
DefaultJmsListenerContainermay hang in an endless loop indoShutdown#36506- Query not hidden in DefaultClientResponse checkpoint #36502
- RestClient closes stream for ResponseEntity
responses #36492 - IllegalStateException when using websocket handshake headers with Tomcat #36486
- Invalid nullness information for ParameterizedTypeReference #36477
- WebTestClient cannot assert null list elements #36476
- Handle Kotlin nullable value class param correctly in
CoroutineUtils#36449 - Remove RFC 2047 encoding from Content-Disposition filename #36328
:notebook_with_decorative_cover: Documentation
- Clarify semantics of HttpMethod.valueOf() #36652
- Document whitespace semantics in SpEL expressions #36628
- Document that
spring.profiles.activeis ignored by@ActiveProfiles#36600 MergedAnnotation.asAnnotationAttributes()Javadoc incorrectly states that it creates an immutable map #36567- Fix incorrect Javadoc in HandlerMethodReturnValueHandlerComposite regarding caching #36555
- Fix incorrect method name in
TypeDescriptor.array()Javadoc #36549 - Introduce Kotlin examples for Bean Overrides (
@MockitoBean, etc.) #36541 - Fix incorrect cross-reference links in AbstractEnvironment Javadoc #36516
- Document RetryTemplate#invoke variants in reference manual #36452
- Link observability section to Micrometer Observation Handler docs #34994
:hammer: Dependency Upgrades
:heart: Contributors
Thank you to all the contributors who worked on this release:
@Mohak-Nagaraju, @Sineaggi, @T45K, @angry-2k, @bebeis, @cookie-meringue, @dmitrysulman, @elgunshukurov, @itsmevichu, @junhyung8795, @msridhar, @nameearly, @tobifasc, and @xxxxxxjun
Source spring-projects/spring-framework ·
v7.0.7· 2026-04-17 · upstream release
Mirrored verbatim for indexing. All rights belong to the upstream project.
Release notes are published by the upstream project and mirrored here for indexing. All rights belong to their authors.