⭐ New Features
- Improve performance of hashcode calculations for request mappings #36297
- Improve performance of HandlerMethod bean lookup #36296
- Improve performance of validation groups determination #36295
- Improve performance of single pattern request mappings #36294
- Optimize NamedParameterUtils#buildValueArray by lazily fetching SqlParameter #36232
- Consistently close streams through try-with-resources in FileCopyUtils #36224
- SqlBinaryValue and SqlCharacterValue should support InputStream content with undetermined length #36220
DataBufferUtils.write()with NettyDataBuffer on JDK 25 hangs indefinitely #36189- WebClient (Reactor) attributes on Netty channel do not clear after connection release #36163
- Reintroduce WebLogicJtaTransactionManager in Spring Framework 6.2.x #36152
- DisconnectedClientHelper should detect presence of RestClientException and WebClientException separately #36150
- Add DataAccessException and MessagingException to the excluded outermost exceptions in DisconnectedClientHelper #36135
- Improve user check in TransportHandlingSockJsService #36129
🐞 Bug Fixes
- Avoid lock congestion in ConcurrentReferenceHashMap #36308
- Resolved HttpEntity Controller argument does not reflect mutated HTTP headers #36301
- AbstractMessageConverter does not support wildcards in supported MIME types #36286
- Make
LocalEntityManagerFactoryBean#setDataSourcework on Hibernate as well as EclipseLink #36272 - Deadlock might occur when calling
System.exiton startup (against multiple shutdown hooks) #36268 Netty4HeadersAdapter.removereturns empty list instead ofnullfor non-existing key #36227EclipseLinkConnectionHandlecan fail against transaction isolation race condition #36166- WiretapConnector leaks data buffers when response body not consumed #36051
- UriComponentsBuilder loses the fragment when it consists of only a single character #36035
SimpleBeanInfoFactoryfails to reliably resolve read/write methods in type hierarchies with unresolved generics #36026
📔 Documentation
- Fix links to JUnit User Guide #36218
- Fix
LocalContainerEntityManagerFactoryBean#setPersistenceUnitNamejavadoc #36206 - Update documentation on trailing slash handling where type-level
@GetMapping("/base") is combined with method level@GetMapping("/") #36200 - Update documentation on the MediaType used for ProblemDetail #36193
- Replace
getErrors()withgetBindingResult()in examples #36172 - Upgrade Antora dependencies #36106
- Fix typos and grammar #36023