v6.0.14
⭐ New Features
- Provide caching for HandlerMappingIntrospector lookups #31588
Log4jLog
needs to re-resolveExtendedLogger
on deserialization (for compatibility with Log4J 2.21) #31582- Optimize
StandardTypeLocator
for hotspot when the same classes are resolved #31579 - Add duplicate key exception error code for SAP HANA database #31554
- Do not delegate TRACE to HttpServlet on ERROR dispatch #31457
- Add
properties
setter toProblemDetail
#31430
🐞 Bug Fixes
- GeneratedFiles#addSource does not provide proper context if the specified class name is invalid #31612
- MessageBuilder#createMessage should not define the payload as
@Nullable
#31610 - Default Mixin added by Jackson2ObjectMapperBuilder are missing required runtime hints #31606
- NettyDataBuffer#toByteBuffer fails if readPosition > 0 #31605
- Avoid duplicate JAR resources in
PathMatchingResourcePatternResolver
on MS Windows #31598 NamedParameterUtils
broken parsing related to square brackets #31596- Multipart cleanup is done too eagerly #31567
- Jakarta validation field constraints in superclass are ignored in native image #31552
- Function column out doesn't resolve to
SqlOutParameter
#31550 - Restore support for recursive annotations in Kotlin #31518
- Resolve to empty
MultiValueMap
when no matrix variables are provided #31483 ProxyFactoryBean
declaration may lead to unexpected non-fatal "FactoryBean threw exception from getObjectType" stacktrace output #31473- Use of
@Value
in compact constructor of a record should not register method injection #31433 - Prevent duplicate HTTP server observations for cancelled exchanges #31417
- Spring MVC raises MissingPathVariableException resulting in 500 instead of 400 error when path segment is u001F or u00D and cannot be converted to target type UUID #31382
- Ensure consistent value count in ConcurrentReferenceHashMap#Segment #31373
- HeaderContentNegotiationStrategy.resolveMediaTypes throws unexpected IllegalArgumentException #31254
- Session Cookie in Reactive WebSession is not deleted if maxAge is set through cookie initializer (e.g. via Boot application property) #31214
- DefaultWebClient logs URI without the port number #30519
- CGLIB
BeanCopier
falls back toClassLoader.defineClass
for public target #28699 - BeanUtils.copyProperties() consumes large amount of memory #27246
📔 Documentation
- RestTemplate initialization documentation in 6.0.x mentions Netty, yet no ClientHttpRequestFactory is present in the package. #31526
- Correct typo in annotations.adoc #31519
- Document X-Forwarded-* Headers #31491
- Improve support and documentation for the "default" bean definition profile name #29071
- Document that
pertypewithin
is supported by Spring AOP #25887 - Document alternatives of using multiple
PropertyPlaceholderConfigurer
s [SPR-9989] #14623
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@CrotchBurnt, @GVictorG7, @PiotrFLEURY, @baratrax, @bernie-schelberg-invicara, @huyachigege, @izeye, @lorenzsimon, @martin-lukas, and @rwinch