⭐ New Features
- Inefficient reflection operations for destroy method determination #26499
- No way to affect response when unhandled exceptions thrown from ForwardedHeaderTransformer #26465
- Fail early FactoryBean instantiation for LinkageError #26426
- Close mapping streams after the ValidatorFactory has been built in LocalValidatorFactoryBean #26424
- Defensively handle loadClass null result in BeanUtils.findEditorByConvention (against misbehaving ClassLoader impl such as in the GWT JettyLauncher) #26256
🪲 Bug Fixes
- Avoid unnecessary wrapping for SqlParameterValue #26547
- Autowiring shortcut fails with NoSuchBeanDefinitionException after removeBeanDefinition call #26518
- SimpleJdbcInsert (sporadically) does not insert all columns #26503
- DefaultHandlerExceptionResolver handling of media type exception on Tomcat 7+ #26475
- Websocket extensions not working #26452
- AbstractBeanDefinition#equals handles propertyValues incorrectly #26435
- Remove obsolete commandName attribute in spring-form.tld #26338
- NettyHeadersAdapter.add() accepts
@Nullable
value but throws NullPointerException #26277
📔 Documentation
- Document the "SpringProperties mechanism" mentioned in the testing chapter #26494
- UriComponentsBuilder documentation error for HTTP request encoding #26455
- Wrong documentation for CachePut #26404
🔨 Dependency Upgrades
- Upgrade to Reactor Dysprosium-SR17 #26549