v7.0.2
:star: New Features
- Avoid unnecessary list creation and processing in
AbstractTestContextBootstrapper#35995 AbstractTestContextBootstrappershould resolveContextLoaderonly once #35994- Log
RetryExceptionfor@Retryablemethods #35983 - Consistently stop already started
Lifecyclebeans on cancelled refresh #35964 - Support timeouts in
@RetryableandRetryPolicy#35963 - Use
==instead ofinstanceoffor primitive array type checks #35962 - Introduce
MultiValueMapCollectorfor use with streams #35958 - Avoid package cycle caused by use of UriComponentsBuilder in ServletServerHttpRequest #35952
- Target type in Converter interface should be
@Nullable#35947 - Provide access to attempt count in
RetryListeneras well as callbacks for the initial attempt #35940 - DefaultHandshakeHandler should not log client faults on error level #35930
- Log warning when meta-annotation is ignored due to types not present in classpath #35927
- Revise
ApplicationContext#getId()nullability to non-null #35925 - Use concurrent set behind reactive
TransactionSynchronizationManager#registerSynchronization#35921 - Refine
AbstractKotlinSerializationHttpMessageConverter#canWrite#35920 - Register bean dependency for
Optionalinjection point as well #35919 - Change
canRead/canWriteoverrides toClassones inAbstractSmartHttpMessageConverter#35916 - Do not make HttpHeaders read-only in HttpEntity #35888
- Add WebFlux SSE support with GSON #35884
- Different ReactorNettyWebSocketSession call getId() may return the same value #35883
- Refine nullability of
Assert#noNullElements#35868 - Allow configuring default maxIdleTime on InMemoryWebSessionStore. #35866
- Refine
BindingReflectionHintsRegistrarwithObjectToObjectConverterhints #35847 - Add
resetCaches()method to general CacheManager interface #35845 - Enhance handleTypeMismatch error message in ResponseEntityExceptionHandler #35837
- Add support for package-private
BeanRegistrarin Spring AOT generated code #35803 - Use ExtendedServletRequestDataBinder/ExtendedWebExchangeDataBinder for functional request binding #35800
- Expose Collection on FragmentsRendering to facilitate Unit Tests #35775
- Improve i18n-support for NoResourceFoundException #35758
- Cache resolved singleton beans in injected
Providerinstance #35373
:lady_beetle: Bug Fixes
ContextConfigurationAttributes(Class)constructor incorrectly setsinheritLocationstofalse#36000- NullPointerException thrown from JdkClientHttpRequestFactory for null request header value #35996
- State inconsistency in LazyConnectionDataSourceProxy when connection settings fail #35980
- SubscriberInputStream#resume misuses parked thread reference #35978
- Shared EntityManager returned by AbstractEntityManagerFactoryBean cannot be advised by AspectJ interceptor #35974
- RestClient cannot make HEAD requests when the response declares gzip Content-Encoding #35966
- ServerRequestObservationContext(s) miss Propagator.Getter method implementation #35965
:notebook_with_decorative_cover: Documentation
- Correct link to Reactive Libraries in reference docs #35970
- Document that annotations are ignored if attributes reference types not present in the classpath #35959
- Remove JUnit 4 based meta-annotation example #35903
- Refer to "Spring Tools" instead of "Spring Tools for Eclipse" in reference manual #35901
- Document that
SpringExtensionrequires JUnit Jupiter 6.0 or higher #35900 - Fix broken Javadoc links to methods #35899
- Clarify JMS
sessionTransactedflag for local versus global transaction #35897 - Reference docs should not use obsolete "junit5" links #35892
:hammer: Dependency Upgrades
- Upgrade to json-path 2.10.0 #35924
- Upgrade to Micrometer 1.16.1 #35984
- Upgrade to Reactor 2025.0.1 #35985
:heart: Contributors
Thank you to all the contributors who worked on this release:
@JohnNiang, @Pankraz76, @florianhof, @ivonaest, @izeye, @jnizet, @ngocnhan-tran1996, @remeio, and @zamzterz