Skip to content

chore(deps): update spring boot to v4 - #57

Open
specmatic-builder wants to merge 1 commit into
mainfrom
renovate/major-spring-boot
Open

chore(deps): update spring boot to v4#57
specmatic-builder wants to merge 1 commit into
mainfrom
renovate/major-spring-boot

Conversation

@specmatic-builder

@specmatic-builder specmatic-builder commented Nov 23, 2025

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.springframework.boot:spring-boot-maven-plugin (source) 3.5.164.1.1 age adoption passing confidence
org.springframework.boot:spring-boot-starter-logging (source) 3.5.164.1.1 age adoption passing confidence
org.springframework.boot:spring-boot-starter-test (source) 3.5.164.1.1 age adoption passing confidence
org.springframework.boot:spring-boot-starter-validation (source) 3.5.164.1.1 age adoption passing confidence
org.springframework.boot:spring-boot-starter-security (source) 3.5.164.1.1 age adoption passing confidence
org.springframework.boot:spring-boot-starter-web (source) 3.5.164.1.1 age adoption passing confidence
org.springframework.boot:spring-boot-starter (source) 3.5.164.1.1 age adoption passing confidence

Release Notes

spring-projects/spring-boot (org.springframework.boot:spring-boot-maven-plugin)

v4.1.1

Compare Source

⚠️ Attention Required
  • Spring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the protobuf extension with the grpc plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of protoc-gen-grpc-java as before. #​50822
🐞 Bug Fixes
  • Kafka consumer-specific security protocol is not taken into account #​51369
  • Structured logging: a failed JSON encode corrupts the next log event written on the same thread #​51156
  • Micrometer registries pin the application context #​51135
  • Temporary file is not deleted when ExportedImageTar construction fails #​51132
  • Metadata annotation processor ignores getter-level @NestedConfigurationProperty for records #​51098
  • spring-boot-h2-console pulls servlet-api as transitive dependency #​51095
  • PropertiesLauncher does not log nested archive paths #​51089
  • Methods that return the result of Map#remove are not declared with a @Nullable return type #​51087
  • NativeImageResourceProvider flattens Flyway migration paths in subdirectories #​50964
  • Fix ordering of Kotlinx Serialization CodecCustomizer #​50961
  • JarFile is not closed when finding main class from archive #​50959
  • Application-managed JUL bridge handler should only be removed if installed #​50950
  • CloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined #​50944
  • Context refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health #​50942
  • Resources are not cleaned up when resolving an image that is not yet present in the builder #​50941
  • GraphQlWebMvcAutoConfiguration should apply customizers in order #​50914
  • Auto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true #​50884
  • Context refresh fails when using Actuator on Jersey without spring-boot-health #​50872
  • Context refresh fails on Cloud Foundry when using Actuator without spring-boot-health #​50871
  • IllegalStateException when binding properties to a @Validated class that contains a map whose value type is a wildcard #​50856
  • High number of connections due to Mongo health indicator #​50852
  • Inconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri #​50849
  • Return type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null #​50845
  • PropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it #​50843
  • Exposing gRPC test server port should backoff if gRPC is not present #​50825
  • JpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor #​50801
  • spring.grpc.server.health.include-overall-health is not taken into account #​50799
  • Setting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute #​50790
  • Managed version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus #​50780
  • Map properties bound from empty strings fail with ConverterNotFoundException #​50773
  • Protobuf Common Protos should not be a managed dependency #​50772
  • An application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not #​50764
  • W3CHeaderParser's decoding is not compliant with RFC 3986 #​50650
📔 Documentation
  • Description of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide #​51348
  • spring.profiles.group should have a 'spring-profile-name' hint provider #​51284
  • Remove reference to removed InfluxDB auto-configuration #​51176
  • Use JacksonJsonSerde in Kafka Streams documentation #​51161
  • Document alternatives to HttpMessageConverters #​51129
  • Fix stale type reference for OTLP logging transport metadata #​51119
  • Metadata for spring.test.mockmvc.htmlunit.url declares the wrong type #​51115
  • Caching documentation refers to AutoConfigureCache by its pre-4.0 package #​51113
  • Fix examples in Metadata Format documentation chapter #​51102
  • Improve discoverability of the AOT Cache How-to guides #​51000
  • Table of auto-configured HealthIndicators lists the wrong key for MongoHealthIndicator #​50940
  • Update OpenTelemetryResourceAttributes documentation #​50874
  • Fix @Value placeholder syntax in external config docs #​50873
  • Polish gRPC documentation #​50863
  • Fix duplicate word typos in documentation #​50850
  • Fix forwarded headers property in cloud deployment docs #​50848
  • Refer to spring-boot-starter-webmvc, not deprecated spring-boot-starter-web #​50847
  • Fix documentation inconsistencies #​50800
  • Add Spring gRPC properties to Common Application Properties referrence #​50789
  • Document OTLP SSL service connections #​50782
  • Update docs for changes to optional property binding and JPA repositories bootstrap mode #​50759
🔨 Dependency Upgrades
❤️ Contributors

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

@​DragonFSKY, @​LordKay-sudo, @​MacAlsandair, @​SJvaca30, @​SebTardif, @​SimonVerhoeven, @​codingkiddo, @​dhruv-15-03, @​dlwldnjs1009, @​dmitrysulman, @​doehyunbaek, @​filiphr, @​msridhar, @​ngocnhan-tran1996, @​nosan, @​ns3154, @​quaff, @​scordio, @​seonwooj0810, @​skdas20, @​vipi-n, @​vvzvvv, @​wantaekchoi, @​xfocus3, and @​yamamoto-ehhMH

v4.1.0

Compare Source

Full release notes for Spring Boot 4.1 are available on the wiki.

⭐ New Features

  • Add public constructor to InvalidConfigurationPropertyValueException that accepts a cause #​50211
  • Reduce memory consumption when repeatedly calling WritableJson.toByteArray #​49428

🐞 Bug Fixes

  • MailSender auto-configuration does not enable hostname verification #​50747
  • Artemis auto-configuration uses a predictable default location for the embedded broker's data #​50745
  • Embedded LDAP SSL should not be enabled when its bundle is empty #​50700
  • InetAddressFilter.externalAddresses does not exclude special purpose addresses from RFC 6890 #​50668
  • NullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket #​50645
  • SSL should not be enabled when a SSL bundle is overridden to an empty string #​50635
  • Test auto-configuration no longer integrates Spring Security with HtmlUnitDriver #​50633
  • Configuration property metadata includes incorrect class references #​50632
  • Docker Compose support does not restore thread interrupt flag when catching InterruptedException #​50618
  • RabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string #​50612
  • NullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles #​50610
  • SpringJtaPlatform should have been deprecated since 4.1.0-M3 #​50592
  • Layer written outside the output location of '//' exception is thrown when using extract layers in root directory #​50510
  • ConfigurationPropertiesReportEndpoint exposes AOP proxy internals #​50417
  • Created StackTracePrinter instances have no access to the Environment #​50414
  • MappingsEndpoint reports the context's own ID as parentId when a parent exists #​50412
  • Buildpack module does not validate long-to-int casts #​50410
  • Gradle gRPC support fails if protobuf-java dependency is used instead of protobuf-java-util #​50405
  • GraphQL WebSocket support does not configure allowed origins #​50394
  • Spring Boot Loader Does Not Support RSA and EC Signed Jars #​50298
  • Meter registries are not removed from the global registry when the context is closed #​50287
  • DataSourceBuilder cannot derive a DataSource from a lazy connection proxy #​50271
  • Nullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation #​50266
  • Bean definitions can be added with an initializer before setAllowBeanDefinitionOverriding is called #​50264
  • EndpointRequest links matcher unnecessarily matches HTTP methods other than GET #​50261
  • Actuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource #​50258
  • ThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time #​50234
  • NimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms #​50228
  • Missing dependency management for spring-boot-web-server-test #​50224
  • Spring Batch support for MongoDB modules are not included in dependency management #​50223
  • Apply HTML escaping to timestamp attribute in Whitelabel error page #​50216
  • GrpcServerHealthScheduler is not started in servlet environments #​50209
  • Setting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat #​50204

📔 Documentation

  • Fix reference to Gradle documentation for module replacement #​50647
  • Document SSL reloading with Let's Encrypt #​50630
  • Remove the use of Optional from Data Neo4j repository examples #​50622
  • Fix typos in documentation #​50620
  • Clarify dependency requirement for Bean Validation support #​50614
  • Document Java 25 requirement for AOT cache #​50485
  • Add links for Java CAS Client Spring Boot Starter #​50285
  • Document known testcontainers lifecycle issues #​50220
  • Document adding multiple connectors for Jetty #​50218
  • Polish InvalidConfigurationPropertyValueException constructor javadoc #​50214
  • Fix typo in Spring Security OAuth2 client registration documentation #​50199

🔨 Dependency Upgrades

❤️ Contributors

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

@​Abdlatif-nabgha, @​DragonFSKY, @​Kapil-chn7, @​Kimgyuilli, @​SJvaca30, @​SebTardif, @​ares333, @​codingkiddo, @​dlwldnjs1009, @​eddumelendez, @​henriquejsza, @​igormukhin, @​johnnypwong, @​kwondh5217, @​leestana01, @​mheath, @​mmoayyed, @​msridhar, @​ngocnhan-tran1996, @​nosan, @​quaff, @​scordio, @​vinhhieu21, @​vpavic, @​won-seoop, and @​zxuhan

v4.0.8

Compare Source

🐞 Bug Fixes
  • Kafka consumer-specific security protocol is not taken into account #​51365
  • Temporary file is not deleted when ExportedImageTar construction fails #​51117
  • spring-boot-h2-console pulls servlet-api as transitive dependency #​51094
  • Methods that return the result of Map#remove are not declared with a @Nullable return type #​50972
  • PropertiesLauncher does not log nested archive paths #​50968
  • JarFile is not closed when finding main class from archive #​50949
  • CloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined #​50928
  • Resources are not cleaned up when resolving an image that is not yet present in the builder #​50919
  • Context refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health #​50916
  • GraphQlWebMvcAutoConfiguration should apply customizers in order #​50908
  • Micrometer registries pin the application context #​50886
  • Context refresh fails when using Actuator on Jersey without spring-boot-health #​50858
  • Context refresh fails on Cloud Foundry when using Actuator without spring-boot-health #​50857
  • IllegalStateException when binding properties to a @Validated class that contains a map whose value type is a wildcard #​50798
  • Setting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute #​50781
  • Application-managed JUL bridge handler should only be removed if installed #​50779
  • Inconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri #​50755
  • PropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it #​50737
  • High number of connections due to Mongo health indicator #​50734
  • Return type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null #​50701
  • NativeImageResourceProvider flattens Flyway migration paths in subdirectories #​50433
  • Fix ordering of Kotlinx Serialization CodecCustomizer #​50428
  • Metadata annotation processor ignores getter-level @NestedConfigurationProperty for records #​50096
📔 Documentation
  • spring.profiles.group should have a 'spring-profile-name' hint provider #​51273
  • Remove reference to removed InfluxDB auto-configuration #​51172
  • Use JacksonJsonSerde in Kafka Streams documentation #​51152
  • Document alternatives to HttpMessageConverters #​51124
  • Caching documentation refers to AutoConfigureCache by its pre-4.0 package #​51111
  • Metadata for spring.test.mockmvc.htmlunit.url declares the wrong type #​51110
  • Fix examples in Metadata Format documentation chapter #​51097
  • Improve discoverability of the AOT Cache How-to guides #​50996
  • Table of auto-configured HealthIndicators lists the wrong key for MongoHealthIndicator #​50931
  • Update OpenTelemetryResourceAttributes documentation #​50867
  • Fix @Value placeholder syntax in external config docs #​50859
  • Refer to spring-boot-starter-webmvc, not deprecated spring-boot-starter-web #​50842
  • Fix forwarded headers property in cloud deployment docs #​50841
  • Fix duplicate word typos in documentation #​50738
🔨 Dependency Upgrades

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • 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 PR becomes conflicted, or you tick the rebase/retry checkbox.

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


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

This PR has been generated by Renovate Bot. Specmatic specific configuration is managed here.

@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch from c2d451e to 6b0808a Compare November 23, 2025 14:33
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 7 times, most recently from 230be14 to 12386cd Compare December 13, 2025 08:22
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from 2933769 to 6e84fb0 Compare December 18, 2025 18:19
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 4 times, most recently from 2228427 to 73b9fb6 Compare December 27, 2025 03:22
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from 114946e to e7fe8ef Compare January 17, 2026 20:08
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from 22b383b to 7cd91a2 Compare January 22, 2026 20:10
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 4 times, most recently from fe5bb1a to 269620f Compare February 10, 2026 20:31
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 5 times, most recently from f5b0848 to 2b278f3 Compare February 21, 2026 20:16
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch from 2b278f3 to b083010 Compare February 24, 2026 20:24
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch from 3e04701 to 247d82a Compare March 28, 2026 00:33
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from 67e25e1 to 7a47e54 Compare April 21, 2026 00:40
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 4 times, most recently from e7551fb to a046502 Compare April 29, 2026 00:45
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from aaa27d1 to 3bbec4c Compare May 13, 2026 00:48
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch from 3bbec4c to 081c503 Compare May 15, 2026 00:47
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch from 081c503 to 76f8e20 Compare May 22, 2026 00:51
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from df47a6c to 79ea961 Compare June 6, 2026 00:51
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch from 79ea961 to d498c29 Compare June 11, 2026 00:57
@specmatic-builder specmatic-builder changed the title chore(deps): update spring boot to v4 (major) chore(deps): update spring boot to v4 Jun 11, 2026
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 4 times, most recently from b6169ab to afb68ee Compare June 17, 2026 00:58
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from 7ae28e8 to 9e64ef6 Compare June 27, 2026 00:54
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from 92c7eb1 to 1d55ea6 Compare July 8, 2026 00:41
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from 2ceafa5 to 3016611 Compare July 19, 2026 00:40
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from fb18409 to c3334d2 Compare August 2, 2026 00:44
@specmatic-builder
specmatic-builder force-pushed the renovate/major-spring-boot branch 2 times, most recently from 532212a to f182e8d Compare August 14, 2026 00:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant