Skip to content

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
  • OncePerRequestFilter cannot be CGLib-proxied #​35198
  • Consistently catch InaccessibleObjectException next to IllegalAccessException #​35190
  • Introduce Date-to-Instant and Instant-to-Date converters #​35175
  • Consistent nullability and exception declarations in AbstractMessagingTemplate hierarchy #​35159
  • Register runtime hints for Instant-to-Timestamp conversion #​35156
  • Improve handling of ResponseEntity<?> in Spring MVC #​35153
  • Support @CacheConfig("myCacheName") declarations for simplified configuration #​35152
  • Declare messageSelector parameters in JmsOperations as @Nullable #​35151
  • Add getter for OverflowStrategy in ConcurrentWebSocketSessionDecorator #​35132
  • Use preset Content-Type for streaming and reactive responses in Spring MVC #​35130
  • Leniently tolerate null @Aspect bean #​35074
  • DataAccessResourceFailureException thrown when transaction times out on PostgreSQL #​35073
  • MethodInvokingFactoryBean fails 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 targetBeanName field in AbstractBeanFactoryBasedTargetSource protected to avoid exceptions in logging and toString() #​35172
  • Fix inconsistencies in StaticListableBeanFactory #​35119
  • Support StreamingHttpOutputMessage in RestClient #​35102
  • When building DELETE requests, the request body is not used in JdkClientHttpRequest.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 @ContextConfiguration Javadoc from reference manual #​35088
🔨 Dependency Upgrades
❤️ 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 @Contract declaration for CodeFlow.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 BeanDefinitionReader via @ImportResource #​34928
  • Make max size for pattern cache in PathPatternMatchableHandlerMapping configurable #​34918
  • Add optimized DataBufferInputStream overrides #​34799
🐞 Bug Fixes
  • Encode non-printable character in Content-Disposition parameter #​35034
  • Allow update of existing WebSession after 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_CHANNEL header check in MessageHeaderAccessor #​34949
  • MockEnvironment does not accept Object property values #​34947
  • PropertySourcesPlaceholderConfigurer no longer uses ConversionService from Environment #​34936
  • @Contract for StreamUtils.drain() incorrectly declares null results in an exception #​34933
  • Inconsistent behavior injecting null @Bean factory 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#setHeaders JavaDoc #​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 @SqlGroup example #​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 @RestControllerAdvice vs @ControllerAdvice apply to by default #​34866
  • Improve Javadoc for @ExceptionHandler #​34554
🔨 Dependency Upgrades
❤️ 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#getObjectMappersForType nullness #​34811
  • Add option for case-insensitive match to PatternMatchUtils #​34801
  • RestClient @RequestBody parameters 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
  • PropertySourcesPlaceholderConfigurer placeholder 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 BeanOverrideHandler discovered in @Nested test 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 NamedParameterUtils only expands reused collection parameter once #​34768
  • PathMatchingResourcePatternResolver wrongly assumes that target/classes always exists #​34764
📔 Documentation
  • Clarify CompositePropertySource behavior for EnumerablePropertySource contract #​34886
  • Javadoc and @Nullable annotation for servletContext parameter of ConfigurableWebEnvironment.initPropertySources are contradictory #​34845
  • Spring MVC: @EnableAsync needs 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 exchangeForRequiredValue variant to RestClient #​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 nested PropertyAccessExceptions 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
  • @Configuration classes can no longer be abstract without @Bean methods #​34663
  • Generated-code for LinkedHashMap is missing static keyword #​34659
  • Detect late-set primary markers for autowiring shortcut algorithm #​34658
  • @MockitoBean with custom @Qualifier is not injected into @Configuration class #​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() in AbstractAutowireCapableBeanFactory #​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-test optional #​34612
  • Suggest compilation with -parameters when AspectJAdviceParameterNameDiscoverer fails against ambiguity #​34609
  • SseBuilder in ServerResponse should allow empty comment #​34608
  • MockServerWebExchange does not allow setting the ApplicationContext on the base class #​34601
  • FormHttpMessageConverter should throw HttpMessageNotReadableException when 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
  • MvcUriComponentsBuilder javadocs 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#uriDecode Javadoc #​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 ContentResultMatchersDsl matchers for supertypes of the checked type #​34542
  • Avoid JarURLConnection resource leak in AbstractFileResolvingResource.exists() #​34528
  • Deprecate rowsExpected property of SqlQuery for removal #​34526
  • Supply RuntimeHints to an AotContextLoader #​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/ObjectProvider to select the only one default candidate among non-default candidates #​34432

🐞 Bug Fixes

  • MockCookie.parse() fails to parse custom attribute with a value #​34575
  • BeanNotOfRequiredTypeException if @Bean factory method returns null #​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
  • NullPointerException thrown when ConfigurationClassEnhancer creates 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 @since tag 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 TestExecutionListener callbacks #​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 @MockitoSpyBean at the type level on test classes #​34408
  • Expose order values of TestExecutionListener implementations as constants #​34404
  • ContentDisposition should match attributes in a case-insensitive fashion #​34383
  • Provide access to servletPath in ServletRequestPathUtils #​34379
  • Use ConversionService to 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 @Primary semantics #​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 Map that implements Iterable no longer works #​34332
  • GenericTypeResolver returns EmptyType #​34328
  • Duplicate BeanOverrideHandler discovered in @Nested test class hierarchy when upgrading to Spring 6.2.2 #​34324
  • AnnotationBeanNameGenerator issues warning about explicitly aliased value attribute #​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
  • ConfigurationClassEnhancer should explicitly set custom ClassLoader on CGLIB Enhancer (aligned with CglibAopProxy) #​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 @Lookup methods #​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 TestExecutionListener implementations #​34265
  • Document custom HttpServiceArgumentResolver usage #​34227

🔨 Dependency Upgrades

❤️ 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

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about these updates again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Perun-GitLab Service Account

Merge request reports

Loading