⭐ New Features
- Add convenient method to construct ParameterizedTypeReference from Type [SPR-16054] #20603
- Backport s/s/m/j/o/s/m/w/MockPart.java from 5.x to 4.3.x [SPR-15854] #20409
🪲 Bug Fixes
- Request params Optional<List and List are inconsistent [SPR-15676] #20235
- java.util.Optional MultipartFile[]
@RequestParam
argument is null in multipart/form-data POST [SPR-15918] #20472 - only one MultipartFile object populated when using an java.util.Optional MutipartFile array or list
@RequestParam
[SPR-15919] #20473 - HttpEntityMethodProcessor discards headers [SPR-15952] #20504
- TaskExecutorRegistration.getTaskExecutor() overrides executor properties of a provided ThreadPoolTaskExecutor [SPR-15962] #20514
- JmsMessagingTemplate is not correctly configured [SPR-15965] #20517
- ChannelRegistration.setInterceptors is misnamed [SPR-15976] #20527
- RestTemplate doesn't consistently tolerate unknown HTTP status codes [SPR-15978] #20529
- PathMatchingResourcePatternResolver provides duplicate resources when using classpath* prefix combined with ant-style [SPR-15989] #20539
- Spring EL does not allow '\0' characters [SPR-16032] #20581
- sort BeanDefinitionRegistryPostProcessors added by other BeanDefinitionRegistryPostProcessors [SPR-16043] #20592
- SpelExpression throws NullPointerException instead of EvaluationException for primitives [SPR-16123] #20671