v6.0.11
⭐ New Features
- Reduce
WARNlevel log output during test AOT processing #30867 - Avoid need for reflection hints for
MBeanExporterin native image #30846 - Tolerate
AnnotationUtils.isCandidateClasscall withnullas annotation type #30842 - Simplify
DefaultSingletonBeanRegistry.isDependent()#30839 - Add missing
@Nullableannotations 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#invokeSuspendingFunctionreturn type toObject#30716 ResolvableType.hasUnresolvableGenerics()should cache its result #30713- Deprecate RootBeanDefinition(ResolvableType) constructor #30704
- Reinstate dependency injection support for legacy JSR-250
@javax.annotation.Resourceannotation #30695 - Translate SQL Exception with State S0001 and Vendor Code 2628 to a Spring Exception in MSSQL 2019 #30681
- Ensure Spring
LogFactorycontains all public methods from ApacheLogFactory#30668 - Infer hints required for aspects #28711
- Improve diagnostics for CGLIB ClassLoader issues with shared classes in parent ClassLoader #25940
JdbcTemplatedoes not callhandleWarningsin case of exception #23106- Avoid illegal reflective access in ContextOverridingClassLoader.isEligibleForOverriding #22791
🐞 Bug Fixes
- Revert changes to
toString()inFieldError#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 Jackson2ObjectMapperBuilderbreaks whenmodulescustomizer followsmodulesToInstall#30751NullPointerExceptionin reactiveTransactionalOperatorImpl#30729MicrometerObservationRegistryTestExecutionListeneruses wrongClassLoaderto 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
@EventListeneranymore 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
@Nullabledeclarations #30601 - Code generation should only apply shortcut if the target method is not ambiguous #29278
📔 Documentation
- Update STOMP documentation with the new guidelines #30857
- Clarify
ReactiveTransactionManagerexception declarations #30817 - Doc:
JdbcTransactionManagervsDataSourceTransactionManager#30802 - Fix typo in Javadoc for
BeanDefinitionDsl.kt#30798 - Remove
@Aspectfor classes containing only@Pointcutdeclarations in reference documentation #30790 - NestedRuntimeException javadoc not updated after implementation change #30748
AbstractMessageListenerContainerdocumentation and code disagree regarding log level #30730- Fix link text from "null" to "Component Classes" in Testing chapter #30714
- Document that
RowCallbackHandlercan be used withNamedParameterJdbcTemplate#30705 - Javadoc HTML tables are no longer rendered properly since upgrade to Java 17 #30701
- Fix typo in
UriUtilsJavadoc #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
@Sqlrequiresspring-jdbcandspring-txon 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
🔨 Dependency Upgrades
- Upgrade to
micrometer-bom1.10.9 andcontext-propagation1.0.4 #30860 - Upgrade to me.champeau.jmh 0.7.1 #30690
- Upgrade to Reactor 2022.0.9 #30871
❤️ 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