⭐ New Features
@MessageExceptionHandler
should match cause as well (analogous to@ExceptionHandler
) [SPR-14424] #18995- Defensively access deprecated AbstractHttpClient class from Apache HttpComponents [SPR-14422] #18993
- Convert comma-separated string into list of classes analogous to existing support for class array [SPR-14415] #18986
- Add BasicAuthorizationInterceptor [SPR-14412] #18983
- Enforce UTF-8 encoding in SseEmitter [SPR-14407] #18978
- MvcUriComponentsBuilder should not include empty query parameters in build URI [SPR-14405] #18976
- RequestMappingInfoHandlerMapping.handleNoMatch throws 415 when it should throw 406 [SPR-14397] #18969
- Improve error handling when resolving message payloads [SPR-14394] #18967
- Improve warn logging in AbstractHandlerExceptionResolver [SPR-14392] #18965
- STOMP 1.1 protocol support for client [SPR-14391] #18964
- Multiple load-time-weaver elements cause repeated addition of AspectJ transformer [SPR-14373] #18946
- ForwardedHeaderFilter should support case insensitive header name [SPR-14372] #18945
- Revise PropertySourcesPropertyResolver's default logging and customizability [SPR-14370] #18943
@WebAppConfiguration
fails with ServletServerContainerFactoryBean in the ApplicationContext [SPR-14367] #18939- ReflectionTestUtils should defensively invoke toString() on target objects [SPR-14363] #18935
- Provide API to expose Spring MVC's ability to match requests [SPR-14321] #18893
- Add exposeProxy to
@EnableAspectJAutoProxy
[SPR-10454] #15087
🪲 Bug Fixes
- Return type implementing DeferredResult is rejected with exception [SPR-14423] #18994
- Cache infrastructure using AspectJ is not properly configured [SPR-14413] #18984
- Possible issue with handling http method OPTIONS [SPR-14410] #18981
- Regression: DefaultCorsProcessor ignores already present Access-Control-Allow-Origin header [SPR-14406] #18977
- InjectionPoint not propagated by AutowiredAnnotationBeanPostProcessor's cached argument resolution [SPR-14400] #18971
- JDBC Connection to reset not identical to originally prepared Connection with Hibernate 5.2 [SPR-14393] #18966
@JmsListener
endpoint@Payload
resolution fails due to interplay of new LazyResolutionMessage and MessagingMessageConverterAdapter [SPR-14389] #18962- Deadlock while creating a new thread on bean initialization with transactional code invocation [SPR-14388] #18961
- HEAD/GET in MVC not fully backward-compatible [SPR-14383] #18956
- Background initialization for Hibernate SessionFactory breaks transaction management [SPR-14379] #18952
- Regression: Static JS files served as 'application/octet-stream' instead of 'application/javascript' [SPR-14368] #18940
- NoSuchMethodError for SessionFactoryImplementor.getProperties() with Hibernate 5.1 [SPR-14365] #18937
- Hibernate 5 SpringSessionSynchronization calls Session.getFlushMode() directly instead of using SessionFactoryUtils.getFlushMode(session) [SPR-14364] #18936
- Failure to resolve
@RequestMapping
method arguments in Servlet 2.5 environments [SPR-14358] #18930 - SockJs heartbeat during message send closes socket [SPR-14356] #18928