⭐ New Features
- Add CORS support for Private Network Access #31974
- Avoid early getMostSpecificMethod resolution in CommonAnnotationBeanPostProcessor #31969
🐞 Bug Fixes
- Consistent parsing of user information in UriComponentsBuilder #32247
- QualifierAnnotationAutowireCandidateResolver.checkQualifier does identity checks when comparing arrays used as qualifier fields #32108
- Guard against multiple body subscriptions in Jetty and JDK reactive responses #32101
- Static resources caching issues with ShallowEtagHeaderFilter and Jetty caching directives #32051
- ChannelSendOperator.WriteBarrier race condition in request(long) method leads to response being dropped #32021
- Spring AOP does not propagate arguments for dynamic prototype-scoped advice #31964
- MergedAnnotation swallows IllegalAccessException for attribute method #31961
- CronTrigger hard-codes default ZoneId instead of participating in scheduler-wide Clock setup #31950
MergedAnnotations
finds duplicate annotations on method in multi-level interface hierarchy #31825- PathEditor cannot handle absolute Windows paths with forward slashes #31728
- Include Hibernate's
Query.scroll()
inSharedEntityManagerCreator
'squeryTerminatingMethods
set #31684 - TypeDescriptor does not check generics in
equals
method (for ConversionService caching) #31674 - Slow SpEL performance due to method sorting in ReflectiveMethodResolver #31665
- Jackson encoder releases resources in wrong order #31657
- WebSocketMessageBrokerStats has null stats for stompSubProtocolHandler since 5.3.2 #31642
📔 Documentation
- Document cron-vs-quartz parsing convention for dayOfWeek part in CronExpression #32131
🔨 Dependency Upgrades
- Upgrade to Reactor 2020.0.41 #32276