github spring-projects/spring-framework v6.2.0-RC2

pre-release16 hours ago

⭐ New Features

  • Verify static resource location ends on slash #33712
  • Support record canonical constructor in BeanUtils #33707
  • Rename OverrideMetadata for Bean Overrides #33702
  • Rename BeanOverrideStrategy enum constants #33701
  • Polish ServletWebRequest #33698
  • Remove support for relative paths in static resource handling #33687
  • Add value attribute alias to @MockitoBean and @MockitoSpyBean #33680
  • Reject bean names with factory prefix for Bean Overrides #33674
  • Revise handling of URI variable syntax in WhatWG URL parser #33673
  • Introspect pre-registered singletons in preDetermineBeanTypes as well #33668
  • Remove unnecessary array length check #33655
  • Polish CorsConfiguration #33650
  • Add URL Parser for RFC 3986 #33639
  • Handle X-Forwarded-Prefix parsed by Reactor-Netty in ReactorServerHttpRequest #33638
  • RestClient should auto-detect ReactorClientHttpRequestFactory #33635
  • Improve random source in SockJS support #33632
  • Stop replacing existing Bean Override definitions with pseudo-definitions #33627
  • Introduce enforceOverride flag in @TestBean and @MockitoBean #33613
  • Refactor unwrapOptional method to improve readability and performance #33612
  • ServerSentEvent should implement equals() and hashCode() #33606
  • Reduce the GC pressure due to NoTransactionInContextException instances #33601
  • Make DynamicPropertyRegistrarBeanInitializer public #33593
  • Improve toString() for AbstractBeanDefinition and BeanMetadataAttribute #33579
  • Add utility methods for resource handler checks #33574
  • UrlHandlerFilter should not strip the trailing slash from the contextPath URL #33565
  • AbstractGenericHttpMessageConverter has no constructor taking a Charset #33563
  • JdbcClient ResultQuerySpec - Provide a optionalValue() method #33560
  • Add read timeout setter on HttpComponentsClientHttpRequestFactory #33556
  • Fix virtual thread pinning caused by synchronized blocks in EclipseLinkJpaDialect #33546
  • Add RestClient.Builder#messageConverters(List) #33536
  • Refine null-safety for additional Assert methods #33530
  • Throw runtime error for @TransactionalEventListener when @Transactional propagation level is not REQUIRES_NEW or NOT_SUPPORTED #33470
  • With virtual threads enabled, long-running fixedDelay tasks block fixedRate tasks #33408
  • Provide a public mechanism for detecting if AOT processing is in progress #33388
  • Use only one request timeout mechanism in JdkClientHttpRequest #33090
  • Support bean override features with AOT and native image #32933
  • Limit reflective operations in BeanInstanceSupplier with Spring AOT #32834
  • Mixin created with IntroductionInterceptor results in dynamic proxy instead of CGLIB proxy #31304
  • Lenient URI parsing in ServletServerHttpRequest #30489
  • Exclude authorization messages from ERROR logging in StompSubProtocolHandler #28252
  • Propagate fully capable ServletContext in AbstractContextLoaderInitializer (for SessionCookieConfig access) #22319

🐞 Bug Fixes

  • PropertySourcesPropertyResolver no longer converts to non CharSequence types #33727
  • Lower-casing of scheme in UriComponentsBuilder breaks use of URI variables #33699
  • Remove @MockitoBeanSettings and support for MockitoSession management #33692
  • @MockitoBeanSettings is not inherited in @Nested test class #33685
  • AOT fails when generating code for a component declared as an inner-class #33683
  • @MockitoBean reset and MockitoSession management do not work with @Nested tests #33676
  • DurationFormatterUtils should not attempt to parse an empty duration #33669
  • DefaultServerHttpRequestBuilder can create case-sensitive Headers instances #33666
  • Context cache is broken if two Bean Override fields declare annotations in different order #33633
  • Test bean override support should only override singletons #33602
  • Kotlin checked exception thrown from proxy service causes UndeclaredThrowableException #33585
  • Autowiring of generic beans with array types is broken since 6.2.0-M1 #33535
  • AnnotatedBeanDefinitionReader should respect @Fallback qualifier analogous to @Primary #33533

📔 Documentation

  • Add Javadoc since for headers() in Delete/Patch/Post/PutExchange #33723
  • Document XML parser usage against security false positives #33713
  • Update scheduling.adoc #33709
  • Document TestExecutionListener implementations introduced in 6.2 #33661
  • Replace RFC 7807 with RFC 9457 in documentation #33594
  • Document that TestContextAnnotationUtils is required for proper @Nested test class support #33586
  • Replace e.g. with for example #33515
  • Document non-default candidate beans and Java-based configuration of non-autowire candidate beans #33392

🔨 Dependency Upgrades

  • Upgrade to Jackson 2.18 #33615
  • Upgrade to Micrometer 1.14.0-RC1 #33648
  • Upgrade to Reactor 2024.0.0-RC1 #33636

❤️ Contributors

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

@EugeneNik, @J-unStiN, @Jaeyoung22, @Seungpang, @SungbinYang, @TAKETODAY, @boulce, @cfredri4, @chemicL, @chschu, @cmagnuson, @izeye, @khyojun, @kimjuke, @ngocnhan-tran1996, @quaff, @smartandhandsome, and @zinzoddari

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.