v7.0.0-M7
Pre-release
Pre-release
⭐ New Features
- LocalDataSourceJobStore should re-initialize statically registered Quartz ConnectionProvider on context restart #35208
- Make rootObject parameter consistently nullable #35206
- Refine multipart converter registration in HttpMessageConverters #35203
- Introduce
getSource()
inApplicationContextEvent
with covariant return type #35197 - Introduce
ContextRestartedEvent
as a subtype ofContextStartedEvent
#35194 - Align HttpMessageConverters builder with WebFlux codecs variants #35187
- Transaction-scoped resource binding in
TransactionSynchronizationManager
#35182 - Use flexible generics nullness in
RestClient.RequestHeadersSpec.ExchangeFunction
#35180 - Introduce
ConfigurableApplicationContext.restart()
method #35171 - Pause unused application contexts in the TestContext framework #35168
- Skip initialization of a
NullBean
#35165 - Short-circuit matching algorithm in
InstanceFilter
#35161 - Support direct matching against exceptions in
ExceptionTypeFilter
#35160 InstanceFilter
andExceptionTypeFilter
should setmatchIfEmpty
totrue
by default #35158- Require explicit constraints in
@Contract
#35157 - Specify fetchSize/maxRows/queryTimeout per statement in JdbcClient #35155
- Include MethodParameter[] parameters in HttpRequestValues.Processor #35148
- Deprecate
DaoSupport
classes #35145 - Remove
maxDuration
/maxElapsedTime
support fromRetryPolicy
#35144 - Introduce
@ConcurrencyLimit
annotation based onConcurrencyThrottleInterceptor
#35133 - Consistently implement
toString()
inBackOff
strategies #35120 - Support API versioning for functional endpoints #35113
- Migrate
orm.hibernate5
toorm.jpa.hibernate
package for Hibernate ORM 7.0 #35111 - Redesign
RetryPolicy
to directly incorporateBackOff
#35110 - Ability to limit list of supported API versions to explicitly configured ones for Spring MVC #35105
- Refine nullability of
PropertyResolver.getProperty(key: String)
extension #35104 - Support for exposing additional object types in
SmartFactoryBean
#35101 - Add missing
@Nullable
toMethodInvoker::setArguments
parameter #35089 - Support
@RequestBody
in interface method when computing "consumes" condition #35086 - Consistent validation of supported API versions #35082
- Resolve optional HandlerMethod parameter of
@ExceptionHandler
method to null #35067 - Add ability to decorate HttpExchangeAdapter through HttpServiceProxyFactory #35059
- Introduce
Builder
API and factory methods forRetryPolicy
#35058 - Revise
RetryTemplate
for alignment with Reactor (in preparation for@Retryable
) #35057 - Add ApiVersionResolver based on parameter in media type #35050
- Support deprecation information in API versioning #35049
- Add support for configuring
SslInfo
inWebTestClient
#35042 - Make built-in
RetryPolicy
implementationsfinal
#35040 - Specify flexible generics nullness in spring-jdbc #34911
- Allow usage of
@CheckReturnValue
on types and constructors #34910 - Support repeatable writes in FormHttpMessageConverter#writeMultipart #34859
- Convert applicable methods in
Scope
todefault
methods #34757 - Add public method to get bean order #34712
- Discard further rows once maxRows has been reached #34709
- Support
DefaultWebFilterChain
allowing the current filter to provide its name explicitly #34702 - API Versioning Support #34565
- Introduce
@Retryable
AOP support (based oncore.retry
and Reactor retry functionality) #34529 - Revisit converters and codecs default setup in HTTP stacks #33894
ConfigurationBeanNameGenerator
for@Bean
-annotated methods #33448- Qualified
EntityManager
/EntityManagerFactory
injection (aligned with Jakarta Persistence 3.2) #33414 - Introduce JmsClient with customizable send/receive operations #32501
- Allow conditional handling of 404 with HTTP Interface clients #32105
- Allow to set TTL (and other QoS-related settings) on a per-message (and/or per-send) basis #26840
🐞 Bug Fixes
- Allow ordering of
HttpMessageConverters
s throughWebMvcConfigurer.configureMessageConverters(HttpMessageConverters.Builder)
#35177 - Content-Disposition response header duplicated for failed StreamingResponseBody #35116
- CachingMetadataReaderFactory does not cache all metadatareader calls #35112
sslInfo()
should return the builder forMockServerHttpRequest
#35075- HttpService group adapters could not be instantiated in a native image #35038
📔 Documentation
- Improve URLs in Validation chapter of the reference manual #35181
- Update Spring MVC message converters documentation #35166
- Add a note about Field/Method vs. TYPE_USE annotations in reference docs #35098
- Document intention of
toString()
inHandlerMethod
#35055 - Add section in docs on byte-range requests in Spring MVC and WebFlux #35052
🔨 Dependency Upgrades
- Upgrade to Jetty 12.1.0.beta1 #35084
- Upgrade to Kotlin 2.2.0 #34453
- Upgrade to Micrometer 1.16.0-M1 #35170
- Upgrade to Reactor 2025.0.0-M5 #35169
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Allan-QLB, @NeatGuyCoding, @OlgaMaciaszek, @Pankraz76, @izeye, @ngocnhan-tran1996, @quaff, @remeio, @renatomameli, @scordio, and @wonyongg