Skip to content

v6.0.0-M5

Pre-release
Pre-release
Compare
Choose a tag to compare
@spring-builds spring-builds released this 14 Jul 08:30
· 6388 commits to main since this release

⭐ New Features

  • HibernateTransactionManager compatibility with Hibernate 6.0/6.1 #28813
  • Reject JDK proxy hint registration for sealed interfaces #28786
  • Provide SerializationHintsPredicates in RuntimeHintsPredicates #28772
  • Deprecate convention-based annotation attribute overrides in favor of @AliasFor #28760
  • Add native image support for WebSocket STOMP messaging #28754
  • Simplify hint registration for Spring AOP proxies #28745
  • Only use JPMS exports as we don't need reflection access #28733
  • Open GraalVM internals to the ConstantFieldFeature #28732
  • Add support for records in BindingReflectionHintsRegistrar #28721
  • Replace java.util.Date and TimeUnit usage in scheduling with appropiate java.time classes #28714
  • Jackson well-known module support in native image #28709
  • RuntimeHints missing for WebFlux #28701
  • Add runtime hints for AbstractHandshakeHandler #28697
  • native-image: Problem with Scheduled annotation #28696
  • native-image: Support for MethodValidationPostProcessor #28689
  • native-image: Field 'PROPAGATION_REQUIRED' not found in class TransactionDefinition #28688
  • Allow dynamic properties in ProblemDetail #28665
  • Add Kotlinx Serialization support to BindingReflectionHintsRegistrar #28635
  • Add ResourceHints registrar for classpath patterns #28626
  • Replace build-time initialization by constant field evaluation at build-time #28624
  • Add reflection hints for data binding in Web controllers #28623
  • Add reflection hints for HttpEntity used in Web controllers #28622
  • Introduce ResourcePatternHint#toRegex #28620
  • Add ifPresent utility methods on RuntimeHints #28617
  • Register native hints for jakarta.inject annotations #28614
  • Use PathPatternParser by default in Spring MVC #28607
  • Support that the same RuntimeHintsRegistrar can be specified multiple times and invoked only once #28594
  • Rationalize naming strategy in ApplicationContextAotGenerator #28585
  • Add minimal Kotlin DSL RouterFunction attributes support #28569
  • Introduce attribute support in Kotlin RouterFunction DSL #28567
  • Allow ApplicationContextAotGenerator to generated better class names #28565
  • Allow BeanRegistrationAotContributions to provide BeanRegistrationCodeFragments customization #28557
  • Introduce RuntimeHints predicates utilities #28555
  • Deprecate trailing slash match and change default value from true to false #28552
  • Improve options for exception handling in HTTP interface client #28533
  • Add reflection hints for Web controllers #28518
  • Ambiguous behavior for ClassNameGenerator::generateClassName #28517
  • Support module path scanning for "classpath*:" resource prefix #28506
  • Refactor HttpServiceProxyFactory to be suitable as an infrastructure bean #28505
  • Allow custom HTTP method with @HttpExchange methods #28504
  • Create UrlResource factory methods that throw unchecked exceptions #28501
  • Introduce utility to register hints for an annotation that uses AliasFor #28497
  • Support property placeholders in url attribute of @HttpExchange #28492
  • Support default methods in @HttpExchange interface #28491
  • Introduce AotDetector mode #28474
  • Introduce a meta-annotation that indicates the annotated element requires reflection hints #28469
  • Add level guards for trace logging in SpringFactoriesLoaderRuntimeHintsRegistrar #28465
  • Add resolver for request attributes for @HttpExchange methods #28458
  • Add WebFlux equivalent of ResponseEntityExceptionHandler #28439
  • Avoid collectList when sending a Flux of objects as JSON using WebClient #28398
  • Avoid loading XML files for default SQL exception translation #28216
  • Refine runtime hint conditions #28126
  • Provide testing infrastructure for RuntimeHints #27981
  • Simplify default locale/timezone resolution in cookie/session locale resolvers #27609
  • Nested Exception's message should not include the messages from causal chain #25162
  • Add If-Match support and improve If-None-Match wildcard support #24881

🐞 Bug Fixes

  • Guard against NPE in PathMatchConfigurer #28816
  • AnnotationTypeMapping tracks @AliasFor mappings as convention-based #28773
  • Support by-type constructor references in ConstructorOrFactoryMethodResolver #28728
  • AOT generated code leads to exception on startup: Object of class [java.lang.Boolean] must be an instance of boolean #28727
  • HtmlUnit / MockMvc integration handles forwarded URLs partially #28722
  • StackOverflowError when using BindingReflectionHintsRegistrar #28683
  • Wrong reflection hints for arrays of inner types #28664
  • Add automatic hint for autowired field support #28655
  • Reflection configuration for parameter types with an inner class have wrong name #28606
  • Fix ResourceHintsWriter for leading/trailing wildcards #28597
  • JdkHttpClientResourceFactory has dependency on org.eclipse.jetty #28588
  • CompileWithTargetClassAccessClassLoader does not implement findResource #28574
  • ScopedProxyBeanRegistrationAotProcessor is never called #28561
  • Proxy hint missing when AliasFor is used on the annotation itself #28528
  • Fix attribute return types in @DeleteExchange, @PatchExchange, and @PutExchange #28498
  • Correctly detect Optional return type for @HttpExchange methods #28493
  • Resolve package cycle around MissingServletRequestPartException #28455
  • findAnnotationOnBean finds annotations from a static @Bean method's enclosing class #28298

📔 Documentation

  • Fix WebClientAdapter.createHttpServiceProxyFactory() example in ref docs #28753
  • Remove obsolete references to @Required #28600
  • Improve ResourcePatternHint documentation #28598
  • Use getHost instead of getContainerIpAddress in Redis examples #28461
  • Update documentation for RFC 7807 support #28438

🔨 Dependency Upgrades

  • Upgrade client support to R2DBC 1.0 #28787
  • Upgrade Dokka to 1.7 #28641
  • Upgrade to Kotlin 1.7.0 #28619
  • Upgrade to Kotlin 1.7.10 #28784
  • Upgrade to Reactor 2022.0.0-M4 #28766

❤️ Contributors

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