Spring v5.1.10.RELEASE Release Notes
Release Date: 2019-09-28 // over 4 years ago-
🍱 ⭐️ New Features
- 📦 Backport PR #22485 (Exclude jdk package in ShadowingClassLoader) to 5.1 branch #23641
- 🔀 SimpleCacheManager should not synchronize on AbstractCacheManager#cacheMap #23635
- 🤡 MockClientHttpResponse loses original HttpStatus code #23599
- BeanUtils.isSimpleValueType() should not consider void or Void as a simple value type #23573
- ClassUtils.isPrimitiveOrWrapper(…) and friends should consider Void.class a primitive wrapper for void.class #23572
- 0️⃣ Custom DefaultResourceLoader subclass should be able to consume context-provided ProtocolResolvers #23564
- sendBufferSizeLimit exceeded should be logged at warn level #23534
- Provide a method to get the original bean name from a scoped target's bean name #23514
- Raise 400 instead of 500 on failure to find index of lookupPath within requestUri in ResourceUrlEncodingFilter #23508
- IncompatibleClassChangeError on Jetty WebSocket ExtensionFactory #23500
- Respect already set
content-length
header for HEAD request. #23484 - 👍 Static resource support does not handle requests for a file with % character in its name #23463
- Errors.NativeIoException from WebClient on WebFlux server does not set the response status #23319
🍱 🐞 Bug Fixes
- SameSite cookie attribute missing when using WebFlux #23693
- Ensure ClassFilter and MethodMatcher implementations are cacheable #23659
- 🔗 LinkedCaseInsensitiveMap does not track removals via keySet, entrySet, or values #23644
- Wait for complete disposal of Reactor Netty resources in ReactorResourceFactory #23631
- Spring fails to determine that XML is DTD-based if DTD declaration is followed by a comment #23605
- ClassCastException when use ServerHttpResponseDecorator to modify response of websocket #23598
- Infinite loop due to doFilterNestedErrorDispatch() method in OncePerRequestFilter #23596
- Bean definition override leads to NPE due to inconsistent equality check #23593
- 🛠 Fix DefaultListableBeanFactory#copyConfigurationFrom #23569
- Response with an invalid content type hangs when using WebFlux with Jetty #23553
- Entry set of read-only HttpHeaders loses original headers' ordering #23551
- 0️⃣ DefaultListableBeanFactory throws a NullPointerException when resetBeanDefinition() is invoked concurrently #23542
- 🤡 No way to replace Set-Cookie header via MockHttpServletResponse #23512
- 🤡 ConcurrentModificationException in MockHttpServletResponse #23460
- 🔀 Synchronized blocks in MethodOverrides are hurting concurrency #23448
- AnnotationAttributes#assertNotException should check for instance of Throwable #23424
- ⬆️ Reactive JettyRequestUpgradeStrategy returns 'No WebSocketServerFactory available' on startup with simultaneous handshakes #23313
- ⏱ WebFlux with Tomcat, intermittent timeout when creating response #23096
📔 Documentation
- 👌 Improve docs for AnnotatedBeanDefinitionReader,
@Configuration
, and@ContextConfiguration
regarding "annotated classes" #23638
⬆️ 🔨 Dependency Upgrades
- ⬆️ Upgrade to Reactor Californium-SR12 #23694
🍱 ❤️ Contributors
🚀 We'd like to thank all the contributors who worked on this release!