Skip to content

@snicoll snicoll released this Sep 28, 2019 · 1629 commits to master since this release

⭐️ 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
  • 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
  • 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!

Assets 2
You can’t perform that action at this time.