⭐ New Features
- Avoid multiple warnings related to jackson-module-kotlin in Jackson2ObjectMapperBuilder [SPR-16497] #21040
- WebClient | onErrorResume logs exception although it has been handled [SPR-16484] #21027
- Supports ConversionService on SingleColumnRowMapper [SPR-16483] #21026
- AcceptHeaderLocaleResolver should match country locales against supported language locales [SPR-16457] #21002
- Avoid String concatenation for not-null assertion in BeanProperty/DirectFieldBindingResult [SPR-16455] #21000
- Quartz Scheduler - configurable SchedulerFactory [SPR-16439] #20985
- Missing java.time.Year Formatter [SPR-16437] #20983
- ViewResolverRegistry in WebFlux is missing a scriptTemplate option [SPR-16431] #20977
- MockMvc error handling with CompletableFuture regression in 5.0.1+ [SPR-16430] #20976
DelegatingServletInputStream#available
always returns 0 [SPR-16416] #20962- Add Vary: Access-Control-Request-Method/Headers CORS headers [SPR-16413] #20959
- The FieldError class does not provide access to the exception that triggered the binding error. [SPR-16372] #20919
- StringToLocaleConverter should allow BCP 47 values [SPR-16188] #20736
- Support Smile streaming in WebFlux [SPR-16151] #20699
- ScheduledAnnotationBeanPostProcessor does not support Duration syntax [SPR-15455] #20016
- Improve WebFlux exception logging [SPR-15083] #19649
🪲 Bug Fixes
- Performance degradation for creating non-singleton bean [SPR-16514] #21057
- NPE in AnnotationAwareOrderComparator.getPriority [SPR-16508] #21051
- With two-way-ssl exchange.getRequest().getSslInfo() always null [SPR-16507] #21050
- ForwardedHeaderFilter garbles query params during sendRedirect() [SPR-16506] #21049
- Invalid/missing locale strings in header prevents resolving the locale [SPR-16500] #21043
- FormTag renders empty tag [SPR-16498] #21041
- ExceptionHandlerExceptionResolver advice applicability check may fail against interface-based controller proxy [SPR-16496] #21039
- NPE in Spring-JDBC with Oracle and SimpleJdbcInsert [SPR-16495] #21038
- JsonMappingException when trying to instantiate org.springframework.messaging.Message [SPR-16486] #21029
- Set thread interrupt flag on InterruptedException [SPR-16479] #21023
- SimpleJdbcCall can't access synonyms in Oracle database [SPR-16478] #21022
- NamedParameterUtils.isParameterSeparator throws ArrayIndexOutOfBoundsException for non ASCII characters [SPR-16472] #21017
- GSON converter only serialises fields of controller method return type, ignoring subclass fields of response object [SPR-16461] #21006
- MimeType compareTo implementation is not compatible with equals [SPR-16458] #21003
- Resolvable type cannot resolve generic between different collection types [SPR-16456] #21001
- MockHttpServletRequest.addHeader fails for invalid LanguageRange in Accept-Language [SPR-16454] #20999
- MockMvcRequestBuilder does not decode pathInfo [SPR-16453] #20998
- CachingConnectionFactory - Invalid session in session cache [SPR-16450] #20995
- Cannot create BindStatus for valid field on immutable form object in case of bind errors [SPR-16449] #20994
- Lambda error detection might not work on JDK 9 [SPR-16435] #20981
- ServerHttpRequest.mutate does not preserve encoded chars if path modified [SPR-16434] #20980
- Spurious WARNINGs when XML declared TransactionProxyFactoryBean's target bean depends on an annotation declared bean that depends on another bean [SPR-16427] #20973
- AbstractClientSockJsSession.close call does not propagate IOException from disconnect [SPR-16415] #20961
- ServletServerHttpRequest.getURI() may throw a java.net.URISyntaxException [SPR-16414] #20960
- SubProtocolWebSocketHandler should not log ERROR on "No messages received after ..." [SPR-16409] #20955
- StringDecoder shouldn't chop off strings randomly [SPR-16337] #20884