Spring Framework - v6.0.11


:star: New Features

  • Reduce WARN level log output during test AOT processing #30867
  • Avoid need for reflection hints for MBeanExporter in native image #30846
  • Tolerate AnnotationUtils.isCandidateClass call with null as annotation type #30842
  • Simplify DefaultSingletonBeanRegistry.isDependent() #30839
  • Add missing @Nullable annotations in ContentDisposition.Builder #30820
  • Provide explicit support for collections, maps, and arrays in ObjectUtils.nullSafeConciseToString() #30810
  • Extend list of supported types in ObjectUtils.nullSafeConciseToString() #30805
  • Align ConcurrentMapCacheManager locking behavior with CaffeineCacheManager #30780
  • Improve logging for missing dependencies in MicrometerObservationRegistryTestExecutionListener #30747
  • Optimize KotlinReflectionParameterNameDiscoverer #30725
  • Change InvocableHandlerMethod#invokeSuspendingFunction return type to Object #30716
  • ResolvableType.hasUnresolvableGenerics() should cache its result #30713
  • Deprecate RootBeanDefinition(ResolvableType) constructor #30704
  • Reinstate dependency injection support for legacy JSR-250 @javax.annotation.Resource annotation #30695
  • Translate SQL Exception with State S0001 and Vendor Code 2628 to a Spring Exception in MSSQL 2019 #30681
  • Ensure Spring LogFactory contains all public methods from Apache LogFactory #30668
  • Infer hints required for aspects #28711
  • Improve diagnostics for CGLIB ClassLoader issues with shared classes in parent ClassLoader #25940
  • JdbcTemplate does not call handleWarnings in case of exception #23106
  • Avoid illegal reflective access in ContextOverridingClassLoader.isEligibleForOverriding #22791

:lady_beetle: Bug Fixes

  • Revert changes to toString() in FieldError #30799
  • For a prototype bean, if first-time rejected value is null, subsequent value will wrongly be null always #30794
  • Fix log level on error with @TransactionalEventListener #30776
  • ClassCastException in AbstractBeanDefinition.getBeanClassName() when getting bean multithreaded #30773
  • SerializableTypeWrapper does not consistently catch InvocationTargetException #30764
  • NPE in MvcUriComponentsBuilder with no-arg target method on interface #30756
  • ArithmeticException: long overflow on @Scheduled(fixedDelay = Long.MAX_VALUE) #30754
  • Jackson2ObjectMapperBuilder breaks when modules customizer follows modulesToInstall #30751
  • NullPointerException in reactive TransactionalOperatorImpl #30729
  • MicrometerObservationRegistryTestExecutionListener uses wrong ClassLoader to detect dependencies #30726
  • Support [package-]private init/destroy methods in AOT mode #30724
  • Package-private init/destroy methods are not always invoked #30718
  • Generic RedisKeyExpiredEvent not delivered to @EventListener anymore in 6.0.9 #30712
  • Explicit BeanDefinition#targetType is not honoured in AOT scenarios #30689
  • Spring ORM SpringBeanContainer when trying to create a bean fails with not found bean definition, and fallbacks to default hibernate bean creation #30683
  • PathResourceResolver#resolve*Internal is missing @Nullable declarations #30601
  • Code generation should only apply shortcut if the target method is not ambiguous #29278

:notebook_with_decorative_cover: Documentation

  • Update STOMP documentation with the new guidelines #30857
  • Clarify ReactiveTransactionManager exception declarations #30817
  • Doc: JdbcTransactionManager vs DataSourceTransactionManager #30802
  • Fix typo in Javadoc for BeanDefinitionDsl.kt #30798
  • Remove @Aspect for classes containing only @Pointcut declarations in reference documentation #30790
  • NestedRuntimeException javadoc not updated after implementation change #30748
  • AbstractMessageListenerContainer documentation and code disagree regarding log level #30730
  • Fix link text from "null" to "Component Classes" in Testing chapter #30714
  • Document that RowCallbackHandler can be used with NamedParameterJdbcTemplate #30705
  • Javadoc HTML tables are no longer rendered properly since upgrade to Java 17 #30701
  • Fix typo in UriUtils Javadoc #30598
  • Fix example in Javadoc for MultipartBodyBuilder #30593
  • Elaborate on ShallowEtagHeaderFilter limitations #30517
  • Document how to configure a custom LocalContainerEntityManagerFactoryBean to work with native #30498
  • Document that @Sql requires spring-jdbc and spring-tx on the classpath #30280
  • Document limitations of Servlet Filter observations #29398
  • Warn against direct usage of Servlet API in WebFlux applications #28872
  • ResultSet holdability into the View layer broken by Hibernate 5 #26557

:hammer: Dependency Upgrades

  • Upgrade to micrometer-bom 1.10.9 and context-propagation 1.0.4 #30860
  • Upgrade to me.champeau.jmh 0.7.1 #30690
  • Upgrade to Reactor 2022.0.9 #30871

:heart: Contributors

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

@KSH-code, @antongub, @bnbakp0582, @cwatzl, @heoYH, @izeye, @kilink, @maartenc, @quaff, @rwinch, @valfirst, and @vbaidak


Details

date
July 13, 2023, 8:57 a.m.
name
v6.0.11
type
Patch
👇
Register or login to:
  • 🔍View and search all Spring Framework releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or