Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 10, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
org.springframework:spring-web 6.2.157.0.3 age confidence
org.springframework.boot:spring-boot-starter-parent (source) 3.5.94.0.2 age confidence

Release Notes

spring-projects/spring-framework (org.springframework:spring-web)

v7.0.3

Compare Source

⭐ New Features

  • DisconnectedClientHelper should detect presence of RestClientException and WebClientException separately #​36141
  • Deprecate PagedListHolder and PropertyComparator for removal #​36139
  • Add DataAccessException and MessagingException to the excluded outermost exceptions in DisconnectedClientHelper #​36134
  • Support property placeholders in HTTP service registry #​36126
  • Introduce Spring property to disable context pausing for tests #​36117
  • Retain original requested bean class for SpringContainedBean #​36116
  • Add task rejection support to SyncTaskExecutor's concurrency throttle #​36114
  • Precompute PropertyDescriptor array in SimpleBeanInfoFactory #​36112
  • Add option for @ConcurrencyLimit to throw rejection exception #​36109
  • Support HttpComponents 5.6 #​36100
  • Fix double encoding in DefaultApiVersionInserter #​36097
  • Optimize single-char wildcard path matching performance #​36095
  • Allow WebFlux ApiVersionResolver to return a Mono #​36084
  • Configure HttpMessageConverters as a list #​36083
  • HTTP Interface with an @RequestBody Object method parameter should use class of actual value #​36078
  • Consistently declare @Nullable on parameter in equals() implementations #​36075
  • Support listener registration for @Transactional triggered method rollbacks #​36073
  • Introduce generalized MethodFailureEvent for use in EventPublicationInterceptor #​36072
  • Avoid duplicate flushes in StringHttpMessageConverter #​36065
  • When no API version is provided, static resources fail to load #​36059
  • When no API version is provided, /error requests also fail. #​36058
  • Declare TaskCallback return value as potentially nullable #​36057
  • Fix case-insensitive semantics for LinkedCaseInsensitiveMap entrySet #​36056
  • Update to NullAway 0.12.15 and fix new warnings #​36054
  • Provide alternative to execute(Retryable) which avoids RetryException in favor of rethrowing the last original RuntimeException #​36052
  • Avoid unnecessary pausing of application contexts in the TestContext framework #​36044
  • Simplify TransactionalOperator.executeAndAwait by removing Optional #​36039
  • Deprecated MockMvcClientHttpRequestFactory is required for tests with HTTP service interface proxy #​35989
  • Introduce Jackson XML codecs #​35752
  • Support listener registration for @Retryable triggered retry executions #​35382

🐞 Bug Fixes

  • Fix SmartFactoryBean type matching for ResolvableType.NONE #​36123
  • AbstractMessageSendingTemplate ignores headers in convertAndSend() variant #​36120
  • JmsClient.sendAndReceive() fails if headers are included #​36118
  • PropertyDescriptorUtils does not reliably resolve overloaded write methods #​36113
  • Fix context class resolution for nested types in AbstractJacksonHttpMessageConverter #​36111
  • DefaultApiVersionInserter encodes already encoded URI #​36080
  • ConverterFactory nullness mismatch with Converter #​36063
  • WiretapConnector leaks data buffers when response body not consumed #​36050
  • CompilationException should not use -1 for line or column numbers when they are unknown #​36041
  • org.springframework.core.test.tools.TestCompiler.Errors should handle case where warnings are turned into errors #​36037
  • UriComponentsBuilder loses the fragment when it consists of only a single character #​36029
  • Parameter names of the handler method are null in HandlerInterceptor::preHandle during first invocation of an endpoint #​36024
  • PropertyDescriptorUtils does not reliably resolve read/write methods in type hierarchies with generics #​36019
  • Illegal reflection use against Hibernate Validator 9 on module path #​36012

📔 Documentation

  • Clarify unversioned handler matching precedence #​36125
  • Clarify meaning of maxAttempts in FixedBackOff vs. maxRetries in RetryPolicy #​36119
  • Polishing AOT cache documentation #​36108
  • Upgrade Antora dependencies #​36105
  • Modernize the DispatcherServlet Locale documentation #​36099
  • Fix Kotlin example in Multipart Content #​36094
  • Remove @EnableWebFlux from documentation code snippets #​36091
  • Fix Kotlin example in CORS and Functional Endpoints references #​36089
  • Extract remaining WebMVC configuration snippets #​36088
  • Remove the "Other Web Frameworks" documentation #​36086
  • Fix reference links in Configuration page #​36079
  • Document HttpHeaders#toSingleValueMap() case-sensitive behavior #​36070
  • Correct encode Javadoc for UriComponents and UriComponentsBuilder #​36040
  • Fix typos and grammar #​36022
  • Custom @ExceptionHandler silently ignored when spring.mvc.problemdetails.enabled=true without @Order #​35982
  • Document how to discard response body with WebTestClient #​35953
  • Modernize the view technologies section #​35450
  • Remove JavaScript/Kotlin from ScriptEngine documentation #​27919

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​JKaplanEmpty-Nes, @​MukjepScarlet, @​TerryTaoYY, @​haydenrear, @​jhan0121, @​jher235, @​marcphilipp, @​mipo256, @​msridhar, @​ngocnhan-tran1996, @​parkhojeong, @​philipbolting, @​playous, @​quaff, @​thelightway24, and @​xyraclius

v7.0.2

Compare Source

⭐ New Features

  • Avoid unnecessary list creation and processing in AbstractTestContextBootstrapper #​35995
  • AbstractTestContextBootstrapper should resolve ContextLoader only once #​35994
  • Log RetryException for @Retryable methods #​35983
  • Consistently stop already started Lifecycle beans on cancelled refresh #​35964
  • Support timeouts in @Retryable and RetryPolicy #​35963
  • Use == instead of instanceof for primitive array type checks #​35962
  • Introduce MultiValueMapCollector for 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 RetryListener as 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 Optional injection point as well #​35919
  • Change canRead/canWrite overrides to Class ones in AbstractSmartHttpMessageConverter #​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 BindingReflectionHintsRegistrar with ObjectToObjectConverter hints #​35847
  • Add resetCaches() method to general CacheManager interface #​35845
  • Enhance handleTypeMismatch error message in ResponseEntityExceptionHandler #​35837
  • Add support for package-private BeanRegistrar in 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 Provider instance #​35373

🐞 Bug Fixes

  • ContextConfigurationAttributes(Class) constructor incorrectly sets inheritLocations to false #​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
  • Jackson used instead of kotlinx.serialization for more complex types #​35960
  • Strong locking in ConcurrentReferenceHashMap#computeIfAbsent may cause context initialisation deadlock #​35944
  • BridgeMethodResolver change in 6.2.13 breaks Spring Data entity introspection #​35936
  • DefaultMessageListenerContainer does not clear Session and MessageConsumer for paused invokers #​35932
  • Tighten cacheable decision behind @Lazy injection point #​35917
  • AOT-generated bean definition does not consider name of RuntimeBeanReference using name and type #​35913
  • Accidental fallback match for Collection-type beans due to @Bean-level qualifier annotation #​35908
  • SingletonSupplier should be defensive against singletonInstance/initialized visibility mismatch #​35905
  • SortedResourcesFactoryBean does not accept non-existent resources anymore #​35895
  • Support reading unresolvable types in AbstractJacksonHttpMessageConverter #​35889
  • Refine Kotlin Serialization codec type checks #​35885
  • UrlHandlerFilter also removes query parameters and fragment when using HTTP redirect #​35873
  • Fix handling of ServerSentEvent with Jackson encoder #​35872
  • @EnableResilientMethods does not participate in globally enforced target class proxying #​35863
  • RestTestClient can leak HTTP connections when no body expectations are performed #​35784
  • Use provided ReactiveAdapterRegistry in BindingContext constructor #​35771
  • PathMatchingResourcePatternResolver fails with URI in JAR manifest Class-Path entries #​35682

📔 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 SpringExtension requires JUnit Jupiter 6.0 or higher #​35900
  • Fix broken Javadoc links to methods #​35899
  • Clarify JMS sessionTransacted flag for local versus global transaction #​35897
  • Reference docs should not use obsolete "junit5" links #​35892
  • Testing chapter references nonexistent Dependency Management documentation #​35890
  • Wrong interface in WebFlux Documentation page for API Version #​35887
  • Update reference documentation to use Jackson 3 #​35886

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​JohnNiang, @​Pankraz76, @​florianhof, @​ivonaest, @​izeye, @​jnizet, @​ngocnhan-tran1996, @​remeio, and @​zamzterz

v7.0.1

Compare Source

⭐ New Features

  • Align RestOperations Kotlin extensions nullability with Java one #​35852
  • Add resetCaches() method to Caffeine/ConcurrentMapCacheManager #​35840
  • Fix single-check idiom in UnmodifiableMultiValueMap #​35822
  • Fix Spliterator characteristics in ConcurrentReferenceHashMap #​35817
  • RestTestClient does not configure JsonPathAssertions in the same way as WebTestClient #​35793

🐞 Bug Fixes

  • Fix JdbcOperations Kotlin extensions #​35846
  • Fix getCacheNames() concurrent access in NoOpCacheManager #​35842
  • Annotation discovery regression for interfaces extending BeanNameAware and co. #​35835
  • MissingPathVariableException produces wrong status code in ProblemDetail #​35829
  • Refine ParameterizedPreparedStatementSetter nullability #​35749
  • Fix HtmlUtils unescape for supplementary chars #​35477

📔 Documentation

  • Fix cross-reference links in HtmlUnit sections #​35853
  • Remove @see Javadoc references to deprecated PropertiesBeanDefinitionReader #​35836
  • Replace kotlin-issues attribute reference #​35820
  • Document semantics and behavior of SpringExtension.getApplicationContext() #​35764

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​juntae6942, @​kilink, @​ngocnhan-tran1996, and @​quaff

v7.0.0

Compare Source

🍃 Please read the official release notes and upgrade guide

⭐ New Features

  • Make SessionHolder publicly accessible for external resource management #​35799
  • RouterFunctions Builders do not support ServerResponse subtypes #​35791
  • Configure Jackson CBOR codecs by default if present #​35787
  • Rename maxAttempts to maxRetries in @Retryable and RetryPolicy #​35772
  • Prevent Kotlin Serialization side effects #​35761
  • Add default API version to the list of supported versions #​35755
  • Improve user check in TransportHandlingSockJsService #​35753
  • Update ApiVersionDeprecationHandler to provide access to handler #​35750
  • Use dedicated classes for ApiVersionResolver implementations #​35747
  • Provide AOT support for @Nested classes in a @ParameterizedClass #​35744
  • AssertJ support for WebTestClient #​35737
  • Reject attempt to use @MockitoSpyBean with a scoped proxy #​35722
  • Provide a way to supply the client builder for an HttpServiceGroup #​35707
  • Review HttpMessageConverters.Builder to improve readability of code using the API #​35704
  • Configure custom Kotlin Serialization converter on HttpMessageConverters #​35733

🐞 Bug Fixes

  • Missing support for UnprocessableContent in WebClientResponseException.create(HttpStatusCode, ..) methods #​35802
  • Relax media type checks in HttpMessageConverters #​35801
  • Fix HttpHeaders and WebSocketHttpHeaders interop issues #​35792
  • @ConcurrencyLimit weird behavior when combined with @Async and @Transactional #​35788
  • buildSrc:test failing on JDKs before JDK 25 #​35777
  • Add jar validation and fix multi-release jar #​35768
  • Upgrade to JUnit 6.0.1 and prevent AOT test scanning failure for JUnit 4 tests #​35740
  • Fix port handling in HtmlUnitRequestBuilder #​35709
  • RestTestClient.mutate() should not have side effects #​35698

📔 Documentation

  • Document workaround for @PersistenceContext and @PersistenceUnit in test classes in AOT #​31442

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​Sineaggi and @​UpStreamThomas

spring-projects/spring-boot (org.springframework.boot:spring-boot-starter-parent)

v4.0.2

Compare Source

⚠️ Noteworthy Changes

  • The dependency on org.eclipse.jetty.ee11:jetty-ee11-servlets has been removed from spring-boot-jetty as it was unnecessary and unused. If your application code depends on a class from jetty-ee11-servlets, declare a dependency on it in your build configuration. #​48677

🐞 Bug Fixes

  • No TransactionAutoConfiguration with spring-boot-starter-kafka for Spring Boot 4 #​48880
  • Evaluation of bean conditions unnecessarily queries the bean factory for types that are not present #​48840
  • When a bean condition references a type that is not present, it appears as ? in the condition evaluation report #​48838
  • SessionAutoConfiguration creates a DefaultCookieSerializer with a default SameSite of null instead of Lax #​48830
  • Setting graphql schema location to "classpath*:graphql/**/" causes failure due to incorrectly packaged test resource #​48829
  • Message interpolation by MVC and WebFlux's Validators does not work correctly in a native image #​48828
  • CloudFoundry integration fails in Servlet-based web app without a dependency on spring-boot-starter-restclient #​48826
  • RestTestClientAutoConfiguration and TestRestTemplateAutoConfiguration should be package-private #​48820
  • SSL metrics are no longer auto-configured #​48819
  • Actuator /info endpoint fails in Java 25 Native Image (VirtualThreadSchedulerMXBean support) #​48812
  • DataSourceBuilder cannot create oracle.ucp.jdbc.PoolDataSourceImpl in a native image #​48703
  • The spring-boot-cloudfoundry module should only have an optional dependency on spring-boot-security #​48685
  • Application JAR created by extract command is not reproductible #​48678
  • AOT processing of tests should not be disabled when 'skipTests' is set #​48662
  • @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) is no longer applied to the management server #​48653
  • Fix zero-length byte buffer in InspectedContent #​48650
  • Can no longer override JacksonJsonHttpMessageConverter with ServerHttpMessageConvertersCustomizer #​48635
  • HttpServiceClientProperties incorrectly uses the @ConfigurationProperties annotation on a LinkedHashMap class #​48616
  • spring-boot-micrometer-tracing-opentelemetry fails if spring-boot-opentelemetry isn't there #​48585
  • App fails to start with starter-webmvc and starter-zipkin #​48581
  • Micrometer test modules should have an api dependency on micrometer-observation-test #​48386

📔 Documentation

  • Fix typo in REST client documentation #​48907
  • Remove duplicate word #​48874
  • Document support for configuring arguments passed to Docker Compose #​48806
  • The documentation related to EnvironmentPostProcessor links to deprecated interface #​48803
  • Update documentation for Buildpack's AOT Cache support #​48769
  • Correct docs to use new location for error handling configuration properties #​48767
  • Document spring-boot-starter-cloudfoundry on Cloud Foundry Support Page #​48675
  • Clarify javadoc to make it clear that HazelcastConfigCustomizer beans are only applied if Hazelcast is configured via a config file #​48659
  • Example using excludeDevtools property should document that optional dependencies should be enabled #​48641
  • Fix grammar and typos in the reference guide #​48601
  • Update Tracing section for Spring Boot 4's modularity #​48576

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​GaoSSR, @​ShaunHaldane, @​Zuohuang-Cai, @​izeye, @​mspiess, @​ngocnhan-tran1996, and @​philipbolting

v4.0.1

Compare Source

⚠️ Noteworthy Changes

  • Hibernate has been upgraded to 7.2.0.Final in response to Hibernate 7.1 moving to limited support
  • spring-boot-starter-kotlin-serialization has been renamed to to spring-boot-starter-kotlinx-serialization-json and spring-boot-starter-kotlin-serialization-test has been renamed to spring-boot-starter-kotlinx-serialization-json-test. This change aligns the starters' names with those of their respective modules
  • Using TestRestTemplate now requires a dependency on spring-boot-restclient

🐞 Bug Fixes

  • JsonMixinModuleEntriesBeanRegistrationAotProcessor does not handle deprecated code #​48564
  • JdbcSessionAutoConfiguration may not match when using the auto-configured DataSource #​48552
  • @ServiceConnection for LgtmStackContainer fails when logging endpoint is configured due to multiple OtlpLoggingConnectionDetails beans #​48536
  • WebApplicationType does not consider modules when deduced from classpath #​48517
  • Spring Session auto-configuration fails in a war deployment as ServerProperties is not available #​48493
  • Opentelemetry logging export requires actuator module #​48488
  • RabbitHealthIndicator reports an error when version is missing from the connection's server properties #​48487
  • Actuator Info class has inconsistent nullability annotations and cannot be built with null value #​48480
  • Profiles retained during AOT processing are not configured in a native image #​48476
  • Security matchers and WebServerNamespace resolution can fail with NoClassDefFoundError when used in a traditional WAR deployment #​48388
  • HealthEndpointGroupMembershipValidator does not consider reactive health indicators causing NoSuchHealthContributorException to be thrown #​48387
  • spring.jackson.default-property-inclusion is not applied to content inclusion #​48343
  • TestRestTemplate.getRootUri() returns empty string #​48330
  • Redis health check reports an error when redis_version is missing from the INFO response #​48328
  • Parent's MeterRegistry beans are closed when child context closes #​48325
  • HttpMessageConverters picks up converter beans for both client and server #​48310
  • Conditions to auto-configure a RestClient are outdated with the modularization #​48308
  • A custom JwtTypeValidator that replaces the default can no longer be configured #​48301
  • PropertiesRestClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it #​48296
  • SpringBootTest.UseMainMethod.WHEN_AVAILABLE and ALWAYS are incompatible with package-private or parameter-less main method #​48275
  • Conditions to auto-configure RestClient-based HTTP service clients are outdated with the modularization #​48274
  • Starter for Kotlinx Serialization Json is misnamed #​48262
  • ApplicationServletEnvironment is no longer configured in war deployments #​48254
  • RestClient.Builder bean present in @SpringBootTest due to spring-boot-starter-webmvc-test, but missing at runtime without restclient starter #​48253
  • ProblemDetail is rendered to XML incorrectly #​48222

📔 Documentation

  • Harmonize Kotlin example for HTTP Service client support #​48577
  • Document HttpMessageConverters detection changes in 4.0.1 #​48574
  • Improve javadoc for when to use class names rather than class references #​48569
  • Documentation has an outdated reference to the Jackson Kotlin Module #​48534
  • Caching documentation should clarify how to use a no-op implementation to run a test suite #​48532
  • Document that the default rolling policy for Log4j2 requires logging.file.path to be set #​48527
  • Review documentation and migration guide about changes in @AutoConfigureCache #​48522
  • License header in build samples is displayed in the reference documentation #​48478
  • Configuring Two DataSources How-To code sample is inconsistent #​48449
  • Fix links to source files on GitHub #​48398
  • Documentation contains broken links to GitHub source files #​48394
  • Document that org.aspectj.weaver.Advice must be on the classpath to enable support for Micrometer's annotations #​48360
  • Correct the annotation in the Kotlin @ConfigurationPropertiesSource example #​48357
  • Polish TestRestTemplate examples in the reference guide #​48336
  • Documentation missing for LocalTestWebServer #​48333
  • Update "Creating Your Own Starter" following modularisation #​48317
  • Fix links to javadoc in the reference documentation #​48300
  • Update references for RestTemplateCustomizer and RestTemplateBuilder classes in documentation #​48295
  • Remove modules section of the README following modularisation #​48291
  • Wrong number in Graceful Shutdown chapter #​48284
  • Mention new spring-boot-h2console module when describing how to use H2 Console #​48278
  • Clarify that @EnableBatchProcessing turns off all batch auto-configuration, including schema initialization #​48266
  • Documented replacements for spring.jackson.generator and spring.jackson.parser are inverted #​48255
  • Document the need for a JdbcDialect bean when using Spring Data JDBC and AOT #​48240
  • Update reference documentation as Spring Batch's resourceless infrastructure means that it no longer always requires a DataSource #​48233
  • Kotlin auto-configuration examples are not annotated with @AutoConfiguration #​48228
  • Revise "Use Liquibase for test-only migrations" section in reference manual #​48219
  • Infinispan Cache Documentation is outdated #​48218
  • Removed max-attempts properties metadata don't have replacement #​48206
  • Polish documentation on testing web applications and the various testing clients that are available #​47948

🔨 Dependency Upgrades


Configuration

📅 Schedule: Branch creation - "before 6am every weekday" in timezone America/Vancouver, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot enabled auto-merge (squash) February 10, 2026 10:38
@github-actions github-actions bot added the fix label Feb 10, 2026
auto-merge was automatically disabled February 11, 2026 14:55

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant