github spring-projects/spring-framework v6.2.12

latest release: v7.0.0-RC1
one day ago

⭐ New Features

  • Add "forEachByte" variant to DataBuffer for efficient traversing #35623
  • Nested transaction support via savepoints is broken in HSQLDB database [followup] #35618
  • Improve exception handling in ConfigurationClassBeanDefinitionReader #35631
  • Add MySQL/MariaDB to TableMetaDataProviderFactory for correct generated-keys support #35593
  • Optimize state management in StompSubProtocolHandler #35591
  • ServletServerHttpRequest.getRemoteAddress() may perform DNS lookup #35589
  • Emit log message when multiple primary beans are detected #35550
  • Duplicate key error is mapped to TransientDataAccessException by SQLStateSQLExceptionTranslator for BatchUpdateException #35547
  • Remove redundant object allocation in cglib proxy method calls #35543
  • Remove deprecation on CandidateComponentsIndex and CandidateComponentsIndexLoader #35472
  • Processing response with no Content-Length header and no body raises EOFException #35361

🐞 Bug Fixes

  • DefaultListableBeanFactory::getBeanNamesForType does not always return all bean names #35634
  • Consider defaultCandidate for scoped proxies #35627
  • Release data buffer in AbstractCharSequenceDecoder even when String creation fails #35625
  • PathMatchingResourcePatternResolver is not able to resolve file in SpringBoot Packaged JAR #35617
  • Prevent NoClassDefFoundError when Jetty Reactive HttpClient is not available #35608
  • Performance regression with Property Placeholder Resolution #35594
  • Retain order of produces media types in @ExceptionHandler #35587
  • Nested transaction support via savepoints is broken in HSQLDB database #35564
  • SpEL expression parser uses more CPU after upgrade to 6.2.9 #35556
  • Thread race during FactoryBean instantiations starting with 6.2 due to lenient locks #35545
  • Update parsed path handling in UrlHandlerFilter #35538
  • ResourceHttpMessageWriter.write has unexpected error handling for invalid range requests (offset > content length) #35536
  • AbstractTestNGSpringContextTests is not thread-safe regarding tracked exceptions #35528
  • UrlHandlerFilter breaks RequestDispatcher.forward() on Tomcat #35509
  • AbstractMockHttpServletRequestBuilder#buildRequest is not idempotent #35493
  • Add support for JvmDefault (default in Kotlin 2.2.20+) #35487
  • InstanceSupplierCodeGenerator fails to detect deprecated type on package private factory method #35486
  • Fix synchronization in ResponseBodyEmitter #35466
  • useCaches option in PathMatchingResourcePatternResolver not applied in special case #35465
  • Deadlock during context initialization due to EntityManager lock #35398

📔 Documentation

  • Improve guidance in WebFlux on how to join inbound and outbound streams in WebSocketHandler #35572
  • Fix idref example in reference manual #35560
  • Fix URI Patterns docs in WebMVC and WebFlux Request Mapping #35551
  • Allow event listener method declared with multiple event classes to take a single parameter that is assignable from all of those event classes #35506
  • Improve Task Javadoc about Runnable wrapping #35394

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.14.12 #35640
  • Upgrade to Reactor 2024.0.11 #35638

❤️ Contributors

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

@Entea, @IMurzich, @hosea, @maziyarbahramian, @mlichtblau, @nstdio, @reckart, and @reda-alaoui

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.