Skip to content

v6.0.0-M4

Pre-release
Pre-release
Compare
Choose a tag to compare
@spring-builds spring-builds released this 12 May 15:01
· 7673 commits to main since this release

⭐ New Features

  • Add native hints for core annotations #28442
  • Add byte[] to supported types in SimpleJmsHeaderMapper #28421
  • Add RootBeanDefinition constructor that accepts a ResolvableType #28418
  • Add Throwable functional interfaces #28417
  • Support multiple SpringFactoriesLoader files #28416
  • Add position variant of ObjectUtils.addObjectToArray #28415
  • Support for Jakarta Concurrency 3.0 #28400
  • Add header resolver for HttpExchange method #28395
  • FormHttpMessageConverter should not have a dependency on the Jakarta Mail API #28392
  • Support to Create a Proxy From an Annotated HTTP Service Interface #28386
  • BeanRegistrationContributionProvider should have access to the bean factory #28384
  • Generate appropriate AOT bean registration for scoped proxies #28383
  • AOT contribution for @PersistenceContext and @PersistenceUnit #28364
  • Return UnmodifiableMap in MVC PathVariableMapMethodArgumentResolver #28352
  • Allow to register AotContributingBeanFactoryPostProcessor declaratively #28342
  • Allow to register reflection hints for multiple types at once #28339
  • Add support for HEAD methods in Spring's Resource handling #28291
  • Initialize NativeDetector at build time #28244
  • Support multiple segments in encoded Content-Disposition #28236
  • Introduce HttpStatusCode interface #28214
  • Introduce fluent API for search options in MergedAnnotations #28208
  • Introduce predicate for searching enclosing classes in MergedAnnotations #28207
  • Remove obsolete org.springframework.core.NestedIOException #28198
  • Enable access to an RFC 7807 ProblemDetail formatted error response from the client side #28190
  • Support "application/problem+json" as the response Content-Type #28189
  • Introduce RuntimeHintsRegistrar #28160
  • Ability to differentiate different causes for WebInputException #28142
  • Remove TYPE_HIERARCHY_AND_ENCLOSING_CLASSES search strategy for MergedAnnotations #28080
  • Deprecate SerializationUtils#deserialize #28075
  • MediaType parameters in the "consumes" condition of @RequestMapping are not considered for matching #28024
  • Introduce token-based consumption of multipart requests in WebFlux #28006
  • Automatically clean up multipart temp files #27633
  • Introduce removeApplicationListener in ConfigurableApplicationContext #14023

🐞 Bug Fixes

  • Use Arrays.toString for initMethodNames and destroyMethodNames arrays in AbstractBeanDefinition#toString #28427
  • Reflection configuration for primitives have wrong name #28347
  • GraalVM reflect config uses wrong format for inner classes #28312
  • Throw a meaningful exception if a TypeReference does not use a fully qualified name #28213
  • Fix queriedMethods handling in ReflectionHintsSerializer #28212
  • AntPathMatcher matches path with trailing slash differently if '**' is present in the pattern #27506

📔 Documentation

  • Use "instanceof pattern matching" in sample in reference docs #28332
  • Add Javadoc since for BeanDefinitionValueResolver.resolveInnerBean() #28217

🔨 Dependency Upgrades

  • Upgrade to Kotlin 1.6.20 #28036
  • Upgrade to Reactor 2022.0.0-M2 #28365

❤️ Contributors

We'd like to thank all the contributors who worked on this release!