fix(deps): update spring core to v6.2.9
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| org.springframework:spring-test | dependencies | patch |
6.2.2 -> 6.2.9
|
| org.springframework:spring-beans | dependencies | patch |
6.2.2 -> 6.2.9
|
| org.springframework:spring-core | dependencies | patch |
6.2.2 -> 6.2.9
|
Release Notes
spring-projects/spring-framework (org.springframework:spring-test)
v6.2.9
⭐ New Features
-
OncePerRequestFiltercannot be CGLib-proxied #35198 - Consistently catch
InaccessibleObjectExceptionnext toIllegalAccessException#35190 - Introduce
Date-to-InstantandInstant-to-Dateconverters #35175 - Consistent nullability and exception declarations in
AbstractMessagingTemplatehierarchy #35159 - Register runtime hints for
Instant-to-Timestampconversion #35156 - Improve handling of
ResponseEntity<?>in Spring MVC #35153 - Support
@CacheConfig("myCacheName")declarations for simplified configuration #35152 - Declare
messageSelectorparameters inJmsOperationsas@Nullable#35151 - Add getter for
OverflowStrategyinConcurrentWebSocketSessionDecorator#35132 - Use preset Content-Type for streaming and reactive responses in Spring MVC #35130
- Leniently tolerate null
@Aspectbean #35074 -
DataAccessResourceFailureExceptionthrown when transaction times out on PostgreSQL #35073 -
MethodInvokingFactoryBeanfails to invoke publicly exported methods overridden by internal classes when using JPMS #34028
🐞 Bug Fixes
- Restore preference for interface (most abstract) method in
getPubliclyAccessibleMethodIfPossible#35189 - Make
targetBeanNamefield in AbstractBeanFactoryBasedTargetSourceprotectedto avoid exceptions in logging andtoString()#35172 - Fix inconsistencies in
StaticListableBeanFactory#35119 - Support StreamingHttpOutputMessage in RestClient #35102
- When building
DELETErequests, the request body is not used inJdkClientHttpRequest.buildRequest#35068 - AOT-generated bean registration file contains "too many constants" when building with many beans #35044
- Prevent cache pollution by storing only the factories #34732
- WebFlux decodes wildcard content-types as form-data/multipart #34660
- AOT-generated CGLib proxies do not contain method overrides #34642
- 500 response for ResourceHttpRequestHandler when requested range is not satisfied #34490
📔 Documentation
- Document how to register runtime hints for convention-based conversion #35178
- Link to
@ContextConfigurationJavadoc from reference manual #35088
🔨 Dependency Upgrades
- Upgrade to JUnit 5.13.3 #35103
- Upgrade to Micrometer 1.14.9 #35202
- Upgrade to Reactor 2024.0.8 #35201
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Meijuh, @RazorNd, @chenggwang, @izeye, @mjd507, @ngocnhan-tran1996, and @philwebb
v6.2.8
⭐ New Features
- Nullability
@Contractdeclaration forCodeFlow.isIntegerForNumericOp()is unnecessary #34985 - Serializer hint registration is broken for some Kotlin classes #34979
- Clients created using JdkClientHttpRequestFactory set content-length for GET, DELETE and HEAD requests #34971
- Support registration of non-public
BeanDefinitionReadervia@ImportResource#34928 - Make max size for pattern cache in
PathPatternMatchableHandlerMappingconfigurable #34918 - Add optimized DataBufferInputStream overrides #34799
🐞 Bug Fixes
- Encode non-printable character in Content-Disposition parameter #35034
- Allow update of existing
WebSessionafter max sessions limit is reached #35013 - Fix support for collections in
AbstractKotlinSerializationHttpMessageConverter#34992 - PathPattern#combine throws StringIndexOutOfBoundsException #34986
- Fix AOT code generation for autowired inner class constructor #34974
- AbstractFileResolvingResource.exists closes JAR resource input streams with v6.2.7 #34955
- Enhanced configuration class fails to call package-visible superclass constructor on WebSphere #34950
- Fix
REPLY_CHANNELheader check inMessageHeaderAccessor#34949 -
MockEnvironmentdoes not acceptObjectproperty values #34947 -
PropertySourcesPlaceholderConfigurerno longer usesConversionServicefromEnvironment#34936 -
@ContractforStreamUtils.drain()incorrectly declaresnullresults in an exception #34933 - Inconsistent behavior injecting null
@Beanfactory parameter #34929 - MockHttpServletRequest.addHeader duplicates "Content-Type" header #34913
- BeanUtils.getParameterNames fails for Kotlin data classes #34760
- JAXB message converters ignore Content-Type charset #34745
- Aspect Not Triggered After Restart in Spring Boot 3.4.x (But Works in 3.3.10) #34735
- Add caching headers to unmodified static resources #34614
📔 Documentation
- Apply gh-34856 to MockClientHttpRequest in testfixture package #35031
- Fix
ResourceHttpRequestHandler#setHeadersJavaDoc #35004 - Remove reference to AspectJ Eclipse Javadoc #35000
- Mention CompletableFuture in Spring MVC "Asynchronous Requests" section of reference manual #34991
- Fix exception name in ModelAttribute docs #34980
- Fix syntax in
@SqlGroupexample #34972 - Update X-Forwarded-Proto doc to say https / http #34959
- Update Guidance on Best Practices To Test Code That Uses RestClient and RestTemplate #34892
- Add a section for WebAsyncTask in mvc-ann-async.adoc #34885
- Clarify what
@RestControllerAdvicevs@ControllerAdviceapply to by default #34866 - Improve Javadoc for
@ExceptionHandler#34554
🔨 Dependency Upgrades
- Upgrade to HttpComponents HttpClient 5.5 #34941
- Upgrade to Micrometer 1.14.8 #35020
- Upgrade to Reactor 2024.0.7 #35021
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Allan-QLB, @Aurh1l, @BowieDu, @DhruvTheDev1, @Dongnyoung, @JimmyAx, @addoDev, @dmitrysulman, @izeye, @jjank, @kilink, @mbazos, @msnsaeed71, @ngocnhan-tran1996, @nosan, @remeio, @vpavic, and @yuzawa-san
v6.2.7
⭐ New Features
- Forward more methods to underlying InputStream in NonClosingInputStream #34893
- Introduce Spring property for the default property placeholder escape character #34865
- Close ApplicationContext once AOT processing has completed #34841
- Fix
AbstractJackson2HttpMessageConverter#getObjectMappersForTypenullness #34811 - Add option for case-insensitive match to PatternMatchUtils #34801
- RestClient
@RequestBodyparameters lose generic type information when creating HTTP service beans #34793 - Adds option to set Principal in MockServerWebExchange #34789
🐞 Bug Fixes
- Beans created by FactoryBean are not considered as autowiring candidates if another thread holds a singletonLock #34902
-
PropertySourcesPlaceholderConfigurerplaceholder resolution fails in several scenarios #34861 - HttpComponentsClientHttpRequestFactory setConnectionRequestTimeout not working with httpclient 5.3.1 #34851
- Fragment.create() requires mutable map - which is unusable when used with Kotlin #34848
- Duplicate
BeanOverrideHandlerdiscovered in@Nestedtest case with superclass from different class or in interface implemented multiple times #34844 - Accidental ClassLoader defineClass enforcement after #34677 #34824
- HttpEntity.EMPTY headers should not be possible to mutate via HttpHeaders constructor #34812
- AbstractFileResolvingResource.exists incorrectly reports result for resources inside of spring-boot executable jar #34796
- Correctly expand query param with same name from URI variables array #34783
- R2DBC
NamedParameterUtilsonly expands reused collection parameter once #34768 -
PathMatchingResourcePatternResolverwrongly assumes thattarget/classesalways exists #34764
📔 Documentation
- Clarify
CompositePropertySourcebehavior forEnumerablePropertySourcecontract #34886 - Javadoc and
@Nullableannotation forservletContextparameter ofConfigurableWebEnvironment.initPropertySourcesare contradictory #34845 - Spring MVC:
@EnableAsyncneeds to be redeclared for each ApplicationContext #34843 - Provide a working example instead of unclear placeholders #34828
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Artur-, @blake-bauman, @iifawzi, @kilink, @quaff, @whlit, and @zzoe2346
v6.2.6
⭐ New Features
- An option for SimpleAsyncTaskExecutor to throw an exception when limit is reached #34727
- Provide first-class support for Bean Overrides with
@ContextHierarchy#34723 - Micro performance optimizations #34717
- Suppress "Unable to rollback against JDBC Connection" in case of timeout (connection closed) #34714
- Avoid early FactoryBean instantiation for type-based retrieval with includeNonSingletons=false and allowEagerInit=true #34710
- ReactiveCachingHandler still not using error handler on sync cache. #34708
- Add an
exchangeForRequiredValuevariant toRestClient#34692 - Recursively boxing Kotlin nested value classes in
CoroutinesUtils#34682 - ServletServerHttpRequest does not use charset parameter of application/x-www-form-urlencoded #34675
- LifecycleGroup concurrent start and start timeout #34634
- HibernateJpaDialect exception translation misses concrete exceptions wrapped in Hibernate's ExecutionException #34633
🐞 Bug Fixes
- Inconsistency in
SseEmitter.onCompletion()behavior between Spring 6.2.3 and 6.2.5 #34762 - Deadlock while creating Spring beans with parallel bootstrap threads on IBM Liberty #34729
-
PropertyBatchUpdateException: causes of nestedPropertyAccessExceptions not shown in output #34691 - IllegalAccessError for package-private member of AzureStorageConfiguration on WebSphere #34684
- Change in Jar usecache behavior with Spring 6.1.x causing java.lang.IllegalStateException: zip file closed #34678
- Startup performance regression due to CGLIB class load attempts in Spring 6.1.x #34677
- An infinite wait on a parallel context.getBean() #34672
- InvalidObservationException: Invalid start: Observation 'http.client.requests' has already been started #34671
-
@Configurationclasses can no longer beabstractwithout@Beanmethods #34663 - Generated-code for LinkedHashMap is missing static keyword #34659
- Detect late-set primary markers for autowiring shortcut algorithm #34658
-
@MockitoBeanwith custom@Qualifieris not injected into@Configurationclass #34646 - Qualifier Resolution Issue in Parent-Child Context Hierarchies #34644
- Enforced container-level acknowledge call for custom acknowledgement mode #34635
- UriComponentsBuilder does not treat a URN as opaque if it contains a slash #34588
- Migrating from Spring 6.1.x to 6.2.x leads to exceptions in a Pekko setup #34303
📔 Documentation
- Update Javadoc for
ignoreDependencyInterface()inAbstractAutowireCapableBeanFactory#34747 - Update Javadoc to stop mentioning 5.3.x as the status quo #34740
- Fix broken link for Server-Sent Events #34705
- Fix typo in Bean Validation section of reference manual #34686
- Remove unnecessary closing curly brackets in Javadoc #34679
- Add javadoc notes on potential exception suppression in
ListableBeanFactory#getBeansOfType#34629 - Remove remaining references to Forwarded headers in MvcUriComponentsBuilder #34625
❤️ Contributors
Thank you to all the contributors who worked on this release:
@acktsap, @dmitrysulman, @iggzq, @izeye, @ngocnhan-tran1996, @obourgain, and @tobias-haenel
v6.2.5
⭐ New Features
- Make dependencies on AssertJ and JUnit in
spring-core-testoptional #34612 - Suggest compilation with
-parameterswhenAspectJAdviceParameterNameDiscovererfails against ambiguity #34609 - SseBuilder in ServerResponse should allow empty comment #34608
- MockServerWebExchange does not allow setting the ApplicationContext on the base class #34601
-
FormHttpMessageConvertershould throwHttpMessageNotReadableExceptionwhen the http form data is invalid #34594 - Provide a method to retrieve all singleton autowire candidates from the bean factory #34591
🐞 Bug Fixes
- PathMatchingResourcePatternResolver regression for jar root scanning in 6.2.4 #34607
- AbstractReactiveTransactionManager throws IllegalStateException when rollback fails after commit attempt #34595
- Recursively boxing/unboxing nested inline value classes #34592
📔 Documentation
-
MvcUriComponentsBuilderjavadocs inaccurately reflects usage of forwarded headers #34615 - Fix formatting and update links to scripting libraries and HDIV #34603
- Remove dubious link to MockObjects Web site in reference manual #34593
- Fix
StringUtils#uriDecodeJavadoc #34590
🔨 Dependency Upgrades
- Upgrade to ASM 9.8 (for early Java 25 support) #34600
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Helmsdown, @dmitrysulman, and @ngocnhan-tran1996
v6.2.4
⭐ New Features
- JettyCoreHttpHandlerAdapter compatibility with Jetty 12.0.17 #34561
- HandlerMethodValidationException.Visitor should support RequestBody with method parameter constraints #34549
- Allow
ContentResultMatchersDslmatchers for supertypes of the checked type #34542 - Avoid
JarURLConnectionresource leak inAbstractFileResolvingResource.exists()#34528 - Deprecate
rowsExpectedproperty ofSqlQueryfor removal #34526 - Supply
RuntimeHintsto anAotContextLoader#34513 - Deprecate and remove use of UrlPathHelper in ServletWebSocketHandlerRegistry #34508
- Avoid unnecessary CGLIB processing on configuration classes #34486
- Inconsistent default class loaders in hint classes #34470
- Add missing converters to
DefaultRestClientBuilder#34439 - Improve
BeanFactory/ObjectProviderto select the only one default candidate among non-default candidates #34432
🐞 Bug Fixes
-
MockCookie.parse()fails to parse custom attribute with a value #34575 -
BeanNotOfRequiredTypeExceptionif@Beanfactory method returnsnull#34543 - Regression in 6.2.3: No unique bean available for injection point with unresolvable generics #34541
- GenericConversionService cannot find a converter when converting to a Kotlin list of maps #34535
- isClientDisconnectedException needs to protect against null input #34533
- spring boot 3.4.3 + TimedAspect causes thread to hang #34522
- Missing Partitioned cookie support in reactive HTTP clients #34521
- DefaultManagedTaskExecutor throws java.lang.UnsupportedOperationException: isShutdown when rejecting tasks #34514
- FileSystemResource location does not end with slash for RouterFunction check #34509
- AbstractJackson2HttpMessageConverter not resolving generic type for request body since 6.2.3 #34504
- Request param handling in HttpRequestValues overrides existing URI variables with same name #34499
- MockHttpServletResponse - handle multiple values for Content-Language header #34488
- Endless loop with DataSourceUtils in spring-jdbc #34484
- MockHttpServletResponse#setHeader does not remove header for null values #34464
- ContentCachingResponseWrapper.setHeader does not handle null value properly. #34460
- Component scan fails to find bean candidates in the embedded jar file in META-INF/context.xml for embedded Tomcat application #34446
- 6.2.0 broke with "Could not register object [
@someHash] under bean name 'blabla': there is already object [@sameHash] bound" #34427 - 503 status code after completing SseEmitter in onTimeout #34426
-
NullPointerExceptionthrown whenConfigurationClassEnhancercreates CGLIB proxy #34423 - Add onRequest() hook for propagating request from downstream #34388
- Content-Type response header duplicated for failed StreamingResponseBody return value #34366
- Task scheduler configured by XML is not eligible for getting processed by all BeanPostProcessors #34015
📔 Documentation
- Fix typo in Spring MVC error responses documentation #34552
- Document that Spring Framework 6.x does not yet support JSpecify annotations #34551
- Fix web and webflux reference links #34517
- Document default KeyGenerator in spring-cache XSD #34468
- Fix broken antora task #34454
- Add
@sincetag for formField() and formFields in MockHttpServletRequestDsl #34448 - Improve Javadoc of ObjectProvider to clarify what is unique #34447
- rest-http-interface example code can't run #34443
- Add Javadoc since for HandlerMethod(HandlerMethod, Object, boolean) #34431
- Document wrapping behavior of
TestExecutionListenercallbacks #34422 - Cross reference annotation search APIs in Javadoc #34421
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@chenggangpro, @dark2momo, @dmitrysulman, @izeye, @ngocnhan-tran1996, @pankratz76, @quaff, @ryanprayogo, and @vpavic
v6.2.3
⭐ New Features
- Add form fields to MockMvc Kotlin DSL #34412
- Make ProblemDetail implement Serializable #34409
- Support
@MockitoSpyBeanat the type level on test classes #34408 - Expose order values of
TestExecutionListenerimplementations as constants #34404 - ContentDisposition should match attributes in a case-insensitive fashion #34383
- Provide access to servletPath in ServletRequestPathUtils #34379
- Use
ConversionServiceto convert POJO to array for SpEL varargs invocations #34371 - Provide a more actionable CGLIB error message with native #34370
- Wrap disconnected client exceptions as AsyncRequestNotUsableException in Servlet container onError callback #34363
- Support RFC 8441 WebSocket upgrade with HTTP/2 CONNECT #34362
- Optimize default property editor allocations for bean instance creation #34361
- Continue with pre-instantiation when current bean is in creation already #34349
- Allow filtering bean instances returned by ObjectProvider#stream() #34318
- GenericConversionService finds wrong converter for partially unresolvable generic types #34298
- Avoid re-creating HandlerMethod unless handler is resolved through the BeanFactory #34277
- UrlResource should leniently handle HTTP endpoints which do not support HEAD #34217
- Add API counterpart for handling Fallback and 'defaultCandidate=false' beans #34203
- Add support for multidimensional arrays #34183
- Add getters to ServerResponseResultHandler #34066
- Improve diagnostics when a Bean Override cannot be selected by type #34006
- Expression performance regression due to missing annotation types on context classes #33948
🐞 Bug Fixes
- PathMatchingResourcePatternResolver failing against non-jar file in classpath #34417
- GenericTypeResolver Since 6.2.0, generics cannot be obtained correctly in multi-layer interface inheritance (possible regression of #24963) #34386
- Test Bean Overrides honor fallback qualifier instead of
@Primarysemantics #34374 - HTTP interface client raises IllegalArgumentException if query param name contains a colon #34364
- Quartz-style Nth Day of Week cron expressions can overflow to other month #34360
- Component scan fails to find jar entries in WEB-INF/classes with embedded Tomcat #34348
- Check hasNext when when accessing sessionIds from UserDestinationResult #34333
- Property binding to
Mapthat implementsIterableno longer works #34332 - GenericTypeResolver returns EmptyType #34328
- Duplicate
BeanOverrideHandlerdiscovered in@Nestedtest class hierarchy when upgrading to Spring 6.2.2 #34324 -
AnnotationBeanNameGeneratorissues warning about explicitly aliasedvalueattribute #34317 - Stop assuming that AspectJ Advice has JoinPoint as the first argument #34316
- Constructor binding fails for simple types List/Map/Array and for nested container combinations #34305
- Change in BeanFactoryUtils.beanNamesForTypeIncludingAncestors() Behavior in Spring Framework 6.2.x causing ClassCastExceptions #34300
- Data binding does not filter HTTP headers for constructor binding #34292
- Escaped character in nested placeholder not detected properly and leads to invalid parts #34289
- ReflectJvmMapping.getKotlinFunction returns null for Kotlin properties #34284
-
ConfigurationClassEnhancershould explicitly set customClassLoaderon CGLIBEnhancer(aligned withCglibAopProxy) #34274 - Connection reset exception from RestTemplate call in Spring Web MVC controller is ignored #34264
- AsyncExecution fails to detect the return type of an annotated method from an interface with a generic #33957
- Ensure Locale context is available for WebFlux method validation #33810
📔 Documentation
- Fix reference to ApplicationContext#getAutowireCapableBeanFactory in reference documentation #34400
- Clarify component scanning of abstract classes with
@Lookupmethods #34367 - Minor update in WebSocket STOMP reference documentation #34353
- Clarify documentation on the usage of RestClient in POST scenarios without response body #34334
- Document limitation around the port of localAddress in
StandardWebSocketSession#34304 - Fix Javadoc for field reflection hints #34297
- Improve Javadoc for
SpringProperties.getFlag()#34295 - Link to current AspectJ Javadoc #34293
- Update Javadoc for
SimpleCommandLinePropertySource#34282 - Update RestClientException Javadoc to refer to RestClient #34270
- Document order values for
TestExecutionListenerimplementations #34265 - Document custom HttpServiceArgumentResolver usage #34227
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.14.4 #34401
- Upgrade to Reactor 2024.0.3 #34403
- Upgrade to RSocket 1.1.5 #34402
❤️ Contributors
Thank you to all the contributors who worked on this release:
@JoshuaChen, @Puppy4C, @anaconda875, @brandenclark, @canattofilipe, @dobrosi, @izeye, @jazdw, @khoutz182, @kwondh5217, @pirocraft, @quaff, @remeio, and @tarekmues
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.