⭐ New Features
- Revisit XML schema handling for consistent local vs external resolution #22529
- JdbcTemplate.extractOutputParameters should preserve order of parameters #22493
- Avoid duplicate call to findAnnotations in DefaultListableBeanFactory.findAnnotationOnBean #22355
🪲 Bug Fixes
- Avoid duplicate registration of
@ControllerAdvice
implementing both RequestBodyAdvice and ResponseBodyAdvice #22684 - Locale inconsistently resolves to null for invalid input value #22658
- Jackson2ObjectMapperBuilder's modulesToInstall function does not eventually override the default configuration #22625
- Last-Modified Date format changed with SPR-17571 to not have double digit day #22611
- ServletWebRequest.getHeaderValues throwing NPE when header information is not available #22550
- Events extending from PayloadApplicationEvent and implementing an interface fail to match
@EventListener
argument #22470 - AbstractTraceInterceptor causes problems when implemented in Kotlin #22456
- DefaultConversionService fails to properly convert an Object[] to a int[] #22414
- IllegalArgumentException when overriding empty 'excludeFilters' array on
@ComponentScan
#22407 - RestTemplate adds duplicate accept header information [SPR-16690] #22401
@Transactional
beans not getting proxied when being initialized during failed circular reference attempt #22377- ApplicationContext.refresh() causes stale listeners to be added to ApplicationEventMulticaster #22374
- ApplicationListenerMethodAdapter does not find
@Ordered
annotation for dynamic proxies #22353