Releases
v5.3.30
⭐ New Features
Optimize ClassUtils#getMostSpecificMethod
#31100
Optimize whitespace checks in StringUtils
#31069
Align validation metadata handling in PayloadMethodArgumentResolver
#31056
Register an override for an existing adapter in ReactiveAdapterRegistry
#31048
Make bean initialization deterministic for multiple @Autowired
methods on same bean class #30994
Performance bottlenecks while creating scoped bean instances #30892
🐞 Bug Fixes
Possible classloader leak through incomplete clearing of annotation caches #31176
Spring LogFactory
implementation deviates from original Apache LogFactory
in terms of abstract method declarations #31167
Bean injection fails due to nullSafeConciseToString()
invoking isEmpty()
on a Map
/Collection
proxy #31156
SpelExpressionParser throws IllegalStateException instead of ParseException for invalid expression #31099
@DynamicPropertySource
in @Nested
test class cannot override dynamic properties from enclosing class #31085
TransactionalApplicationListenerMethodAdapter
should find @TransactionalEventListener
on target class method #31037
ScheduledAnnotationBeanPostProcessor: graceful shutdown should not interrupt currently running jobs #31020
Permgen memory leak due to ClassInfo
caching in java.beans.Introspector
on JDK 11/17 #31005
MethodIntrospector.selectMethods(?)
fails to find methods in case of special bridge method arrangement #30907
📔 Documentation
Fix documentation: Passing in Lists of Values for IN Clause does not work with JdbcTemplate #31229
Refine CORS documentation for wildcard processing #31168
Propagation REQUIRES_NEW may cause connection pool deadlock #31040
Clarify R2DBC ConnectionAccessor
and DatabasePopulator
exception declarations #30933
Doc: Avoid deadlock in @PostConstruct
through SmartInitializingSingleton or ContextRefreshedEvent #30889
You can’t perform that action at this time.