⭐ New Features
- Limit string concatenation in SpEL expressions #30331
- Limit SpEL expression length #30329
- Disable variable assignment in SimpleEvaluationContext #30327
- Introduce
StringUtils.truncate()
#30291 - Introduce
ObjectUtils.nullSafeConciseToString()
#30287 - Make
HttpComponentsHeadersAdapter#getFirst
nullable #30269
🐞 Bug Fixes
- Fix regression in ReactorServerHttpRequest related to IPV6 Zone id with "%" #30314
- SSE breaks with indenting serializer in WebMvc.fn #30302
- Increase max regex length in SpEL expressions #30298
- NullPointerException on timeout in HttpComponentsClientHttpConnector when using Apache HttpComponents #30246
- Wrong MockRestRequestMatchers.header() method in spring-test being invoked (JDK issue?) #30235
- TypeNotPresentException: org/springframework/cglib/proxy/NoOp not present on Java 17 #30228
- Refine generic type management in
AbstractMessageWriterResultHandler
#30215 - MvcUriComponentsBuilder.fromMethodCall breaks for controller with CharSequence return type #30212
- Handle all exceptions for stored proc output param retrieval in
SharedEntityManagerCreator
#30164
📔 Documentation
- Fix
@PathVariable
reference documentation code snippets #30258 - Fix example in Javadoc for
@EnableWebSocket
#30187 - Fix anchor in link to "Web on Reactive Stack" chapter #30163
🔨 Dependency Upgrades
- Upgrade to Reactor 2020.0.31 #30315