Skip to content

v6.2.4

Latest
Compare
Choose a tag to compare
@spring-builds spring-builds released this 13 Mar 08:48
· 513 commits to main since this release

⭐ New Features

  • JettyCoreHttpHandlerAdapter compatibility with Jetty 12.0.17 #34561
  • HandlerMethodValidationException.Visitor should support RequestBody with method parameter constraints #34549
  • Allow ContentResultMatchersDsl matchers for supertypes of the checked type #34542
  • Avoid JarURLConnection resource leak in AbstractFileResolvingResource.exists() #34528
  • Deprecate rowsExpected property of SqlQuery for removal #34526
  • Supply RuntimeHints to an AotContextLoader #34513
  • Deprecate and remove use of UrlPathHelper in ServletWebSocketHandlerRegistry #34508
  • Avoid unnecessary CGLIB processing on configuration classes #34486
  • Inconsistent default class loaders in hint classes #34470
  • Add missing converters to DefaultRestClientBuilder #34439
  • Improve BeanFactory/ObjectProvider to select the only one default candidate among non-default candidates #34432

🐞 Bug Fixes

  • MockCookie.parse() fails to parse custom attribute with a value #34575
  • BeanNotOfRequiredTypeException if @Bean factory method returns null #34543
  • Regression in 6.2.3: No unique bean available for injection point with unresolvable generics #34541
  • GenericConversionService cannot find a converter when converting to a Kotlin list of maps #34535
  • isClientDisconnectedException needs to protect against null input #34533
  • spring boot 3.4.3 + TimedAspect causes thread to hang #34522
  • Missing Partitioned cookie support in reactive HTTP clients #34521
  • DefaultManagedTaskExecutor throws java.lang.UnsupportedOperationException: isShutdown when rejecting tasks #34514
  • FileSystemResource location does not end with slash for RouterFunction check #34509
  • AbstractJackson2HttpMessageConverter not resolving generic type for request body since 6.2.3 #34504
  • Request param handling in HttpRequestValues overrides existing URI variables with same name #34499
  • MockHttpServletResponse - handle multiple values for Content-Language header #34488
  • Endless loop with DataSourceUtils in spring-jdbc #34484
  • MockHttpServletResponse#setHeader does not remove header for null values #34464
  • ContentCachingResponseWrapper.setHeader does not handle null value properly. #34460
  • Component scan fails to find bean candidates in the embedded jar file in META-INF/context.xml for embedded Tomcat application #34446
  • 6.2.0 broke with "Could not register object [@someHash] under bean name 'blabla': there is already object [@sameHash] bound" #34427
  • 503 status code after completing SseEmitter in onTimeout #34426
  • NullPointerException thrown when ConfigurationClassEnhancer creates CGLIB proxy #34423
  • Add onRequest() hook for propagating request from downstream #34388
  • Content-Type response header duplicated for failed StreamingResponseBody return value #34366
  • Task scheduler configured by XML is not eligible for getting processed by all BeanPostProcessors #34015

📔 Documentation

  • Fix typo in Spring MVC error responses documentation #34552
  • Document that Spring Framework 6.x does not yet support JSpecify annotations #34551
  • Fix web and webflux reference links #34517
  • Document default KeyGenerator in spring-cache XSD #34468
  • Fix broken antora task #34454
  • Add @since tag for formField() and formFields in MockHttpServletRequestDsl #34448
  • Improve Javadoc of ObjectProvider to clarify what is unique #34447
  • rest-http-interface example code can't run #34443
  • Add Javadoc since for HandlerMethod(HandlerMethod, Object, boolean) #34431
  • Document wrapping behavior of TestExecutionListener callbacks #34422
  • Cross reference annotation search APIs in Javadoc #34421

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.14.5 #34580
  • Upgrade to Reactor 2024.0.4 #34578

❤️ Contributors

Thank you to all the contributors who worked on this release:

@chenggangpro, @dark2momo, @dmitrysulman, @izeye, @ngocnhan-tran1996, @pankratz76, @quaff, @ryanprayogo, and @vpavic