Spring Framework - v6.0.12


:star: New Features

  • ArithmeticException: long overflow on @Scheduled(fixedDelay = Long.MAX_VALUE, timeUnit = TimeUnit.MINUTES) #31210
  • Polish resolveArgument method in RequestResponseBodyMethodProcessor #31175
  • Update logging level in BeanValidationBeanRegistrationAotProcessor for validation exceptions #31147
  • Skip searching of nonexistent directory in PathMatchingResourcePatternResolver #31111
  • Add @Nullable to argValue in doSetValue() in Argument[Type]PreparedStatementSetter #31086
  • Optimize whitespace checks in StringUtils #31067
  • Missing proxy hint when using a simple JPARepository #31050
  • Register an override for an existing adapter in ReactiveAdapterRegistry #31047
  • DefaultListableBeanFactory#getBeanNamesForType does not take target type into account for FactoryBean resolution #30987
  • Give spring-core access to org.jboss.vfs for VfsUtils support on WildFly #30973
  • Use readNBytes in StringHttpMessageConverter when contentLength is available #30942
  • Skip array sort when the length of array not greater than 1 #30934
  • Avoid flushing for each SseEventBuilder entry #30912
  • Make DefaultGenerationContext(DefaultGenerationContext, String) constructor protected #30895
  • Add missing @Nullable annotations in AbstractResourceResolver subclasses in Spring MVC #30893
  • Performance bottlenecks while creating scoped bean instances #30883
  • Make bean initialization deterministic for multiple @Autowired methods on same bean class #30359
  • Optimize ClassUtils#getMostSpecificMethod #30272
  • Missing native hints for Hibernate Native Query proxy #29603
  • Check exception cause for @PropertySource(ignoreResourceNotFound) support #22276
  • Align validation metadata handling in PayloadMethodArgumentResolver #21852

:lady_beetle: Bug Fixes

  • Spring Boot fails with "does not reside in the file system: manifoldclass://622488023/.../" #31216
  • WebClientResponseException.getResponseBodyAs throws exception instead of returning null for empty body #31179
  • Possible classloader leak through incomplete clearing of annotation caches #31170
  • Spring LogFactory implementation deviates from original Apache LogFactory in terms of abstract method declarations #31166
  • graalvm native image feature PreComputeFieldFeature disable all netty native transports #31141
  • Bean injection fails due to nullSafeConciseToString() invoking isEmpty() on a Map/Collection proxy #31138
  • R2DBC: Skip release connection after nested with existing transaction #31133
  • SpelExpressionParser throws IllegalStateException instead of ParseException for invalid expression #31097
  • @DynamicPropertySource in @Nested test class cannot override dynamic properties from enclosing class #31083
  • Spring Boot WebFlux validation of invalid inputs #31045
  • TransactionalApplicationListenerMethodAdapter should find @TransactionalEventListener on target class method #31034
  • ScheduledAnnotationBeanPostProcessor: graceful shutdown should not interrupt currently running jobs #31019
  • TypeBootstrapContext constructor not called in custom types with Hibernate 6 #30924
  • MethodIntrospector.selectMethods(?) fails to find methods in case of special bridge method arrangement #30906
  • Spring webflux @ModelAttribute annotated methods not working with kotlin suspend methods #30894
  • Support Kotlin Serialization custom serializers #30870
  • Test AOT processing fails if a feature name prefix is reused #30861
  • NoUniqueBeanDefinitionException should make sure beansNameFound is serializable #29753
  • Permgen memory leak due to ClassInfo caching in java.beans.Introspector on JDK 11/17 #27781
  • Model.set() Kotlin extension method does not allow null value #27115
  • Allow PropertySourcesPlaceholderConfigurer subclass to customize PropertyResolver #26761

:notebook_with_decorative_cover: Documentation

  • Fix documentation: Passing in Lists of Values for IN Clause does not work with JdbcTemplate #31228
  • Fix typo in comment in XML configuration example #31194
  • Document some non-nullable Kotlin extensions can throw NoSuchElementException #31189
  • Improve documentation on applicability of mapped interceptors with the Spring MVC config #31185
  • Add Javadoc since tags in FilePatternResourceHintsRegistrar #31174
  • Refine CORS documentation for wildcard processing #31143
  • Fix invalid type name in RSocket section of the reference documentation #31091
  • @Transactional on package-private/protected methods for class-based proxies #31057
  • Change Kotlin Any to be a nullable type in AOP refdoc examples #31015
  • Versioned redirect seems to all redirect to "current" version #31009
  • Javadoc for PathPatternParser.defaultInstance is outdated #30976
  • Clarify R2DBC ConnectionAccessor and DatabasePopulator exception declarations #30932
  • Document purpose of name attribute in @PropertySource #30195
  • Document how to configure the ApplicationEventMulticaster used by the ApplicationContext #29996
  • Document inference of destroy methods with Java config more prominently #29546
  • Revise FilePatternResourceHintsRegistrar API and improve documentation #29161
  • Document how to configure the cache infrastructure globally #28250
  • SpEL T() operator not able to locate user types with default StandardTypeLocator configuration #26253
  • Propagation REQUIRES_NEW may cause connection pool deadlock #26250
  • Modify DefaultMessageListenerContainer javadoc #25503
  • Doc: Avoid deadlock in @PostConstruct through SmartInitializingSingleton or ContextRefreshedEvent #25074
  • Document expected behavior of a method annotated with multiple @Scheduled annotations #23959
  • Improve documentation for FactoryBean's getObject automatic call through @ManagedResource [SPR-17139] #21676
  • Injecting EntityManagers through constructor injection (and at non-@PersistenceContext injection points in general) [SPR-10443] #15076

:hammer: Dependency Upgrades

  • Upgrade to Context Propagation 1.0.5 #31223
  • Upgrade to Micrometer 1.10.11 #31221
  • Upgrade to Reactor 2022.0.11 #31222

:heart: Contributors

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

@1zg12, @aahlenst, @christophejan, @gnagy, @izeye, @jongwooo, @kilink, @marschall, @michaldo, @perlun, @pstrsr, @quaff, @remeio, @rwinch, @shin-mallang, and @zakaria-shahen


Details

date
Sept. 14, 2023, 9:05 a.m.
name
v6.0.12
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