github spring-projects/spring-framework v6.2.1

2 days ago

⭐ New Features

  • Implement toString() in TestBeanOverrideHandler #34072
  • Log alias removal in DefaultListableBeanFactory #34070
  • Log warning when one Bean Override overrides another Bean Override #34056
  • Introduce "unsafeAllocated" flag in TypeHint #34055
  • Cannot assert status reason phrase with MockMvcTester #34016
  • Improve toString for reactive ScheduledTask #34010
  • Optimize sending requests without a body in RestClient and WebClient with Reactor Netty #34003
  • Add missing @Contract annotation to ObjectUtils#isEmpty #33984
  • OptionalValidatorFactoryBean suppresses Hibernate Validator configuration failures too much #33979
  • Support Flux<ServerSentEvent<Fragment>> in WebFlux #33975
  • Update in FragmentsRendering to names of static methods #33974
  • Honor @Fallback semantics for Test Bean Overrides #33924
  • AdvisedSupport.MethodCacheKey should check for logical equality as well as identity #33915
  • Fail with full description for XML diff in XmlExpectationsHelper #33827
  • MapMethodProcessor should only resolve arguments of type Map or the ModelMap hierarchy #33160

🐞 Bug Fixes

  • Support binding from request headers via constructor args #34073
  • Unable to configure custom scheduler for @Scheduled annotation #34058
  • Identical Bean Overrides are silently allowed #34054
  • OOM due to NoTransactionInContextException in reactive pipeline #34048
  • Priority header causes binding exception after upgrade to Spring Framework 6.2.0 #34039
  • @MockitoBean incorrectly injects supertype into subtype field #34025
  • NestedPlaceholder are not recursively resolved if the fallback is a placeholder #34020
  • AOT no longer generates BeanInstanceSupplier signature for a CGLIB proxy with its public type #33998
  • Nested transaction support via savepoints is broken in Oracle database #33987
  • Proxy created with IntroductionInterceptor but without target always throws an exception #33985
  • ApplicationListener no longer invoked for generic ApplicationEvent with 6.2.0 #33982
  • Error handling override in DefaultResponseErrorHandler ignored after upgrade to 6.2.0 #33980
  • BeanCurrentlyInCreationException is thrown when multiple threads simultaneously try to create a FactoryBean #33972
  • HandshakeWebSocketService assumes jakarta websocket is present #33970
  • @Value cases SpringCGLIB$$0 required a bean of type java.lang.String that could not be found in Native compile when migrating to SB 3.4 #33960
  • PathMatchingResourcePatternResolver should not log directory-skip messages at info level #33956
  • Avoid infinite recursion in BeanValidationBeanRegistrationAotProcessor with recursive generics #33950
  • Skip runtime hint registration for validation constraint with missing dependencies #33949
  • Move Kotlin value class unboxing to InvocableHandlerMethod #33943
  • MockReset strategy is no longer honored for @MockitoBean and @MockitoSpyBean #33941
  • TypeDescriptor with recursive generics triggers infinite recursion in ResolvableType.equals/hashCode #33932
  • RestClient does not expose full URI template as attribute #33928
  • Bean Overrides like @MockitoBean and @TestBean should not be allowed on static fields #33922
  • Regression in duplicate beans with different method names #33920

📔 Documentation

  • Fix link to MockMvcBuilders in reference documentation #34031
  • Fix a typo in the filters documentation #33959
  • Document visibility requirements for Bean Overrides #33923
  • Fix typos and link in Observability documentation #33910
  • SpEL documentation contains syntax errors #33907
  • Improve explanation of AOP advice classes that should implement MethodInterceptor #33901
  • Reflect well-known HttpHeaders intent in Javadoc #33886
  • Reflect well-known MediaTypes intent in Javadoc #33754
  • Document support for varargs invocations in SpEL #33332

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.14.2 #34050
  • Upgrade to Reactor 2024.0.1 #34051

❤️ Contributors

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

@Boiarshinov, @CHOICORE, @KNU-K, @izeye, @ngocnhan-tran1996, @scordio, @sonallux, and @youabledev

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.