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

latest releases: v6.2.0-RC3, v6.2.0-RC2, v6.1.14...
pre-release12 months ago

⭐ New Features

  • Support ContextLoader config in @SpringJUnitConfig and @SpringJUnitWebConfig #31498
  • TypeDescriptor and ResolvableType cache in GenericTypeAwarePropertyDescriptor #31490
  • Consistent Class and array matching in ResolvableType.isAssignableFrom #31487
  • BeanDefinitionRegistryPostProcessor should declare empty default postProcessBeanFactory method #31476
  • Remove support for Protobuf 2.x and protobuf-java-format #31465
  • Refine CRaC restoration logs #31462
  • Allow repeatable writes in StreamingHttpOutputMessage #31449
  • Add support for merging two BeanRegistrationAotContribution instances #31446
  • Kotlin BeanFactory.getBean extension fails with nested generic in context #31439
  • Log warning and skip resource hint registration for classpath location patterns #31429
  • Revisit AOT support for generic constructor argument values #31420
  • Add UriBuilderFactoryArgumentResolver. #31413
  • Add Coroutines support for @Cacheable #31412
  • PartEvent API should support limiting the number of file parts #31343
  • Revise support for quoted identifiers in SimpleJdbcInsert #31208
  • When configuration class parsing fails, provide more information about the class that triggered the failure #31146
  • WebClientResponseException defaults to ISO-8859-1 #31072
  • Introduce @DisabledInAotMode in the TestContext framework #30834
  • Support TypedStringValue during AOT processing #29074
  • Support ETag generation on ResourceHttpRequestHandler #29031
  • Better error reporting for @Bean creating when bean instance has been replaced with an incompatible type #28897
  • Add Coroutines support for @EventListener #28343
  • Support "*" catch-all mappings for MockMvc Filter registrations #28041
  • Guard against ConcurrentModificationException when the response processes commitActions #27587
  • Improve ControlFlowPointcut extensibility #27187
  • Uploading a too-large file should be a 4xx client error, not a 500 Internal Server Error #27170
  • Add special handling of disconnected client errors in ExceptionHandlerExceptionResolver #26181

🐞 Bug Fixes

  • ConstructorResolver rejects a candidate if the parameter value is null #31495
  • 3.2.0-RC1: No primary or single unique constructor found for interface java.util.Set #31488
  • Can't link to Spring Framework 6.1.0 release candidate documentation #31480
  • In MockMvc tests all filters end up with empty-string filterName, breaking OncePerRequestFilter #31474
  • <mvc:annotation-driven> should not instantiate bean property values #31472
  • Graal VM native image: Substitution target for o.s.o.j.v.Target_BytecodeProvider is not loaded #31452
  • JdkClientHttpRequest does not support Content-Length 0 #31451
  • Fix typo in ClassUtils.forName() #31428
  • AOT processing fails to determine proper target for a FactoryBean that produces an array #31426
  • BeanDefinitionPropertyValueCodeGenerator#orderForConsistency expects values to be Comparable #31419
  • Conversion not applied to @RequestParam default value if used for "null after conversion" case #31336
  • HandlerMethodValidationException.Visitor incorrectly triggers other() method instead of requestParam() for @RequestParam validation errors #31329
  • AbstractApplicationContext.refresh() leaves bean resources uncleaned when SmartInitializationSingleton throws a non BeansException #28878

📔 Documentation

  • Document pattern matching support in NameMatchMethodPointcut #31500
  • Fix small typo in javadoc #31455
  • Expand explanation for the "lite" bean approach #29957

🔨 Dependency Upgrades

  • Upgrade to ASM 9.6 #31431
  • Upgrade to Kotlin 1.9.20-RC2 #31494

❤️ Contributors

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

@OlgaMaciaszek, @bdshadow, @funky-eyes, @izeye, @larsgrefer, and @mmoayyed

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.