Spring Framework - v6.0.10


:star: New Features

  • ClassLoader can be null in DeserializingConverter and should be annotated with @Nullable #30670
  • Introduce TestExecutionListener for Micrometer's ObservationRegistry in the TestContext framework #30658
  • Add missing hint for ResourceEditor #30628
  • Add missing hint for converting String to URI #30627
  • Redesign inner Pointcut implementations as standalone classes #30621
  • Add missing @Nullable in DefaultJmsListenerContainerFactory #30620
  • Handle custom JMS acknowledgment modes as client acknowledge #30619
  • Declare Advisor#isPerInstance() as default method #30614
  • Improve error message for unsupported character in SpEL expression #30602
  • Multipart data is always read irrelevant of handler response #30590
  • Performance optimization in AbstractBeanFactoryBasedTargetSource.hashCode() #30576
  • Log a warning when commons-logging is in the classpath #30575
  • Always use MethodArgumentNotValidException(MethodParameter, BindingResult) constructor #30558
  • Remove non-empty filename check in ContentDisposition builder #30537
  • Add missing EntityManagerFactory hints for SharedEntityManagerCreator #30523
  • Disable Hibernate reflection optimizer with native #30521
  • Introduce a method in MockHttpServletRequestBuilder to set remote address #30497
  • Skip class transformer in PersistenceUnitInfoDescriptor for native images #30492
  • @Bean 'lite' mode not supported if @Bean methods are not declared locally #30449
  • Align HibernateJpaVendorAdapter with Hibernate ORM 6.2 #30288
  • Add nested propagation support to R2dbcTransactionManager #30134

:lady_beetle: Bug Fixes

  • Cron expression scheduling might be triggered 1 millisecond earlier #30666
  • Change of behaviour for UUID in bean validation output in v5.3.27 #30661
  • Test context cache stats are not logged when ApplicationContext fails to load #30635
  • Inconsistent ProxyCallbackFilter#equals/hashCode methods in CglibAopProxy #30615
  • SpEL's CompoundExpression.toStringAST() incorrectly includes . for indexed properties #30610
  • NPE in ReactiveTransactionSupport.unwrapIfResourceCleanupFailure #30597
  • CollectionFactory.createMap(HashMap.class, 0) now returns a LinkedHashMap rather than a HashMap #30596
  • ThreadLocalTargetSource does not include actual target bean name in NamedThreadLocal #30581
  • ApplicationListenerMethodAdapter inconsistently publishes events from CompletableFuture #30578
  • Unsupported SQL type: TIMESTAMP_WITH_TIMEZONE when using OffsetDateTime with MySQL #30556
  • SpringBeanContainer not called with Hibernate ORM 6.2 #30545
  • WebFlux returns 406 instead of RFC 7807 response for subtype of ProblemDetail #30533
  • HTTP Interface client cannot send URI query parameter with multipart request #30520
  • Transaction isolation level not working with R2dbcTransactionManager #30508
  • Support for AOT processing with GraalVM tracing agent is not consistent #30511
  • For @Bean method that returns null, @Autowired injects NullBean instead of null for cached arguments #30485
  • MediaType property binding issue in native builds #30491
  • InjectionMetadata AOT contributions do not check for existing property value #30476
  • Spring Framework 6.0.8 appears to cause issues in OSGi environment #30389
  • Empty @RequestMapping method should match both "" and "/" consistently #30293
  • EclipseLinkJpaDialect: Unexpected default isolation levels #29997
  • Memory leak with CglibAopProxy$ProxyCallbackFilter #26266

:notebook_with_decorative_cover: Documentation

  • Fix markup issue in Javadoc of QuartzCronField #30646
  • Document @DirtiesContext semantics when declared at the class level and method level #30623
  • Add missing Javadoc for RegisteredBean.resolveAutowiredArgument() #30609
  • Fix invalid link in transaction resources #30570
  • FileSystemUtils::deleteRecursively Javadoc refers to File instead of Path #30554
  • Improve Javadoc for ExchangeFilterFunction #30543
  • Update Javadoc and reference doc for WebMvcConfigurer to mention Boot's HttpMessageConverters #30538
  • Add Javadoc since to InjectedElement.shouldInject() #30512
  • Fix wording in r2dbc Statement Filters section of ref docs #30482
  • Typo in Spring official documentation #30473
  • Link for @javax.annotation.Nonnull is wrong in Javadoc for Spring's @NonNull #30455
  • Improve how the build deals with javadoc invalid references #30428
  • Docs: Remove duplicate in SpEL feature list #30404
  • Document which @Scheduled attributes support SpEL expressions #29290

:hammer: Dependency Upgrades

  • Upgrade to micrometer-bom 1.10.8 and context-propagation 1.0.3 #30657
  • Upgrade to Reactor 2022.0.8 #30655

:heart: Contributors

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

@Foolkin, @anyuruf, @galingerv, @izeye, @jmewes, @kihyuk-sung, @leewin12, @marcingrzejszczak, @rweisleder, @rwinch, @scordio, @ssang1105, and @vpavic


Details

date
June 15, 2023, 11:15 a.m.
name
v6.0.10
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