spring-projects/spring-boot
 Watch   
 Star   
 Fork   
4 days ago
spring-boot

v4.0.0-RC1

⭐ New Features

  • Revisit metrics and tracing test properties #47776
  • Downgrade to GraphQL Java 24.3 #47752
  • Configure devtools to set trace probability to 100% by default #47721
  • Remove "public" from referenced configurations from auto-configurations #47715
  • Remove support for Spring Pulsar Reactive #47707
  • Add Jackson 2 module to ease upgrade effort #47688
  • Remove ConcurrentReferenceCachingMetadataReaderFactory #47687
  • Remove integration for REST Docs' REST Assured support until REST Assured supports Groovy 5 #47685
  • Remove support for embedded jar launch scripts #47666
  • Remove support for Spring Session Data MongoDB #47662
  • Remove support for Spring Session Hazelcast #47661
  • Drop Spock until it supports Groovy 5 #47650
  • Provide auto-configuration for Jackson's CBOR data format #47641
  • Add support for @ObservationKeyValue #47637
  • Rename Jackson-specific Json… annotations and classes to Jackson… #47625
  • Use Neo4j Java Driver BOM #47623
  • Add TWENTY_FIVE to JavaVersion enum #47616
  • Rationalize endpoint packages #47606
  • Refactor spring-boot-cloudfoundry package structure #47605
  • Rename spring-boot-tx module to spring-boot-transaction #47603
  • Use JsonMapper instead of ObjectMapper where feasible #47503
  • Automatically detect Jackson 3 modules #47485
  • Add AWS ECS to cloud platforms #47482
  • Rename SharedObjectMapper to SharedJsonMapper #47471
  • Provide a configuration property to auto-configure Jackson 3 for best compatibility with Spring Boot 3's Jackson 2 defaults #47470
  • Raise GraalVM baseline to 25 #47433
  • Clarify that spring-boot-rsocket does not require spring-web #47409
  • Rationalize HTTP client configuration properties #47398
  • Disable LiveReload server by default #47387
  • Update Neo4j support to require Neo4j Java Driver 6.0.0 #47381
  • Remove SQL and Reactor starters as they are only used transitively #47378
  • Rationalize SSL bundle configuration in RedisConnectionDetails #47375
  • Add support for RestTestClient #47335
  • Rename Spring Session properties that depend on Spring Data #47333
  • Rename JsonMapper-specific properties to make it clear that they're JSON-specific #47328
  • Move spring.jackson.datetime.<feature-name> to spring.jackson.datatype.datetime #47327
  • Modularize spring-boot-test-autoconfigure #47322
  • Allow jars to be marked as a development-tool to exclude from uber-jar #47320
  • Switch Maven plugin to exclude optional dependencies by default #47318
  • Provide a configuration property for enabling and disabling Elasticsearch Client's sniffer #47301
  • Add @ControllerAdvice support to RSocket messaging auto-configuration #47287
  • Reintroduce previous EnvironmentPostProcessor in deprecated form #47272
  • Remove Bitnami support #47267
  • Improve how Spring AMQP's retry can be configured #47264
  • Refine JSpecify annotations #47263
  • Add support for configuring HttpClientTransport in JettyClientHttpConnectorBuilder #47251
  • Raise the minimum supported version of the CycloneDX Gradle Plugin to 3.0.0 #47250
  • Make all type exclude filters package-private #47227
  • Rename …DataAutoConfiguration to Data…AutoConfiguration #47049
  • Configure Lettuce with MicrometerTracing instead of MicrometerCommandLatencyRecorder when micrometer-tracing is available #46975
  • Add support for static master-replica with Lettuce #46957
  • Review and refine where possible war deployments following 4.0's modularisation #46944
  • Remove unused SHA-1 hash from UNPACK markers #46520
  • Adopt Framework's HttpMessageConverters #46411
  • Add native image support for Log4J integration #46410
  • Modularize spring-boot-test #46356
  • Add support for in-memory Batch infrastructure #46307
  • Package mappings and exchanges classes consistently #46217
  • Introduce a shared abstraction for database initialization #46213
  • Add FONTS location to StaticResourceLocation #46208
  • Update Log4j's configuration using reconfigure rather than start #46035
  • Drop spring-boot-loader-classic support #45714
  • Allow DevTools property defaults to be contributed by modules #44792

🐞 Bug Fixes

  • Signed jar verification fails when nested in an uber war running on an Oracle JVM #47772
  • In an uber war, value of the Sbom-Location manifest attribute does not match the SBOM's actual location #47739
  • Homebrew formula for the CLI should use libexec #47723
  • When virtual threads are enabled, embedded Jetty does not use recommended virtual thread configuration #47718
  • Dependency management for Hibernate is inconsistent #47698
  • ClientHttpRequestFactoryRuntimeHints is missing timeout methods with Duration overloads #47679
  • @AutoConfigureHttpGraphQlTester should not trigger the configuration of mockMvc #47660
  • The 'spring.mongodb.representation.uuid' property cannot be bound #47654
  • OnBeanCondition no longer correctly finds annotations on scoped target proxy beans #47636
  • JavaVersion doesn't work reliably in native-image #47621
  • Using CodecCustomizer requires explicit dependency on spring-boot-http-codec #47397
  • Auto-configured JsonMapper backs off when any type of ObjectMapper is defined #47379
  • LiquibaseEndpoint always uses defaultSchema instead of liquibaseSchema #47347
  • Maven plugin does not provide an easy way to exclude optional dependencies from uber jar #47319
  • Launcher fails to find main method when it is parameterless #47312
  • Package private Main class using Java 25 is not found by build plugins #47310
  • ProblemDetailJacksonMixin not configured on Jackson JsonMapper #47298
  • Spring Boot's dependencies POM is missing spring-boot-persistence #47271
  • spring-boot-dependencies contains unwanted dependency management #42522

📔 Documentation

  • Update @since tags following modularization #47779
  • Improve configuration metadata for spring.jackson.generator and spring.jackson.parser #47778
  • Configuration metadata changelog does not list properties that were removed without a prior deprecation #47762
  • Published Kotlin API documentation is incorrect #47761
  • Configuration metadata changelog does not list properties that were added as deprecated #47759
  • Dependency management for Maven AntRun Plugin is missing changelog link #47745
  • Developing Your First Spring Boot Application has outdated tools #47701
  • Include deprecated configuration properties in the reference documentation #47670
  • Aggregated Javadoc should link to the proper version of JakartaEE #47594
  • Fix wrong variable name in JacksonTester javadoc #47478
  • Update javadoc of TestRestTemplate following change to redirect behavior #47475
  • Harmonize Kotlin getting started section in the reference documentation #47428
  • Clarify that API versioning for the client is not inferred from the server configuration #47373
  • Update links from reference guide to javadoc to account for package name changes due to modularization #47351
  • Adapt source code references to new modules in reference guide #47348
  • Use non-deprecated syntax to configure sourceCompatibility #47344
  • Remove milestone repository from Maven and Gradle examples #47341
  • Fix link to Framework's @Bean annotation #47331
  • Update managed dependency version override examples in documentation #47307
  • Use renamed link to HTTP Service Clients in Spring Framework reference guide #47297
  • Rename CDS section in documentation to AOT cache #45201

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.8 #47769
  • Upgrade to Angus Mail 2.0.5 #47557
  • Upgrade to Artemis 2.43.0 #47681
  • Upgrade to AssertJ 3.27.6 #47558
  • Upgrade to Byte Buddy 1.17.8 #47559
  • Upgrade to Cassandra Driver 4.19.1 #47770
  • Upgrade to Classmate 1.7.1 #47560
  • Upgrade to Commons Lang3 3.19.0 #47561
  • Upgrade to Couchbase Client 3.9.2 #47599
  • Upgrade to Elasticsearch Client 9.1.5 #47677
  • Upgrade to Flyway 11.14.1 #47562
  • Upgrade to Glassfish JAXB 4.0.6 #47563
  • Upgrade to Groovy 5.0.2 #47147
  • Upgrade to H2 2.4.240 #47564
  • Upgrade to Hibernate 7.1.4.Final #47565
  • Upgrade to HtmlUnit 4.17.0 #47566
  • Upgrade to HttpClient5 5.5.1 #47567
  • Upgrade to HttpCore5 5.3.6 #47568
  • Upgrade to Jackson Bom 3.0.1 #47753
  • Upgrade to Jakarta Mail 2.1.5 #47570
  • Upgrade to Jakarta XML Bind 4.0.4 #47240
  • Upgrade to Jedis 7.0.0 #47600
  • Upgrade to Jetty 12.1.3 #47730
  • Upgrade to Jetty Reactive HTTPClient 4.1.0 #47627
  • Upgrade to jOOQ 3.19.27 #47573
  • Upgrade to JUnit Jupiter 6.0.0 #47383
  • Upgrade to Kotlin 2.2.20 #47628
  • Upgrade to Liquibase 5.0.1 #47386
  • Upgrade to Log4j2 2.25.2 #46334
  • Upgrade to Logback 1.5.20 #47708
  • Upgrade to Lombok 1.18.42 #47575
  • Upgrade to Maven AntRun Plugin 3.2.0 #47731
  • Upgrade to Maven Compiler Plugin 3.14.1 #47576
  • Upgrade to Maven Dependency Plugin 3.9.0 #47577
  • Upgrade to Maven Enforcer Plugin 3.6.2 #47578
  • Upgrade to Maven Javadoc Plugin 3.12.0 #47579
  • Upgrade to Micrometer 1.16.0-RC1 #47488
  • Upgrade to Micrometer Tracing 1.6.0-RC1 #47489
  • Upgrade to Mockito 5.20.0 #47580
  • Upgrade to MongoDB 5.6.1 #47643
  • Upgrade to MSSQL JDBC 13.2.1.jre11 #47629
  • Upgrade to Native Build Tools Plugin 0.11.2 #47683
  • Upgrade to Neo4j Java Driver 6.0.1 #47597
  • Upgrade to Netty 4.2.7.Final #47652
  • Upgrade to OpenTelemetry 1.55.0 #47630
  • Upgrade to Postgresql 42.7.8 #47583
  • Upgrade to Pulsar 4.1.1 #47584
  • Upgrade to R2DBC H2 1.1.0.RELEASE #47658
  • Upgrade to R2DBC Postgresql 1.1.0.RELEASE #47585
  • Upgrade to Rabbit AMQP Client 5.27.0 #47684
  • Upgrade to Reactor Bom 2025.0.0-RC1 #47490
  • Upgrade to RxJava3 3.1.12 #47586
  • Upgrade to Selenium 4.37.0 #47709
  • Upgrade to Selenium HtmlUnit 4.36.1 #47588
  • Upgrade to Spring AMQP 4.0.0-RC1 #47491
  • Upgrade to Spring Batch 6.0.0-RC1 #47484
  • Upgrade to Spring Data Bom 2025.1.0-RC1 #47394
  • Upgrade to Spring Framework 7.0.0-RC2 #47743
  • Upgrade to Spring GraphQL 2.0.0-RC1 #47492
  • Upgrade to Spring HATEOAS 3.0.0-RC1 #47493
  • Upgrade to Spring Integration 7.0.0-RC1 #47494
  • Upgrade to Spring Kafka 4.0.0-RC1 #47495
  • Upgrade to Spring LDAP 4.0.0-RC1 #47496
  • Upgrade to Spring Pulsar 2.0.0-RC1 #47497
  • Upgrade to Spring RESTDocs 4.0.0-RC1 #47498
  • Upgrade to Spring Security 7.0.0-RC1 #47499
  • Upgrade to Spring Session 4.0.0-RC1 #47500
  • Upgrade to Spring WS 5.0.0-RC1 #47501
  • Upgrade to Testcontainers 2.0.1 #47664
  • Upgrade to Tomcat 11.0.13 #47589
  • Upgrade to Versions Maven Plugin 2.19.1 #47590
  • Upgrade to WebJars Locator Lite 1.1.2 #47591
  • Upgrade to XML Maven Plugin 1.2.0 #47710

❤️ Contributors

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

@DKARAGODIN, @JinhyeokFang, @Lublanski, @NeatGuyCoding, @Pankraz76, @academey, @dmitrysulman, @dungdm93, @eddumelendez, @facewise, @fhiyo, @fmbenhassine, @injectives, @izeye, @jonatan-ivanov, @meistermeier, @ngocnhan-tran1996, @nosan, @onobc, @ppkarwasz, @quaff, @rstoyanchev, @scottfrederick, @shahabkondri, @var4609, @vpavic, @vy, and @xyraclius

4 days ago
spring-boot

v3.5.7

⭐ New Features

  • Add TWENTY_FIVE to JavaVersion enum #47609

🐞 Bug Fixes

  • Signed jar verification fails when nested in an uber war running on an Oracle JVM #47771
  • In an uber war, value of the Sbom-Location manifest attribute does not match the SBOM's actual location #47737
  • Homebrew formula for the CLI should use libexec #47722
  • When virtual threads are enabled, embedded Jetty does not use recommended virtual thread configuration #47717
  • ClientHttpRequestFactoryRuntimeHints is missing timeout methods with Duration overloads #47678
  • OnBeanCondition no longer correctly finds annotations on scoped target proxy beans #47635
  • JavaVersion doesn't work reliably in native-image #47620
  • LiquibaseEndpoint always uses defaultSchema instead of liquibaseSchema #47346
  • Launcher fails to find main method when it is parameterless #47311
  • Package private Main class using Java 25 is not found by build plugins #47309
  • Bitnami legacy images are not automatically detected #47275
  • Maven plugin does not provide an easy way to exclude optional dependencies from uber jar #25403

📔 Documentation

  • Some spring.test.* properties are not documented #47775
  • Dependency management for Maven AntRun Plugin is missing changelog link #47744
  • Developing Your First Spring Boot Application has outdated tools #47700
  • Include deprecated configuration properties in the reference documentation #47669
  • Aggregated Javadoc should link to the proper version of JakartaEE #47593
  • Update javadoc of TestRestTemplate following change to redirect behavior #47474
  • Use non-deprecated syntax to configure sourceCompatibility #47343
  • Fix link to Framework's @Bean annotation #47330
  • Update managed dependency version override examples in documentation #47306

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.8 #47767
  • Upgrade to Angus Mail 2.0.5 #47525
  • Upgrade to AssertJ 3.27.6 #47526
  • Upgrade to Byte Buddy 1.17.8 #47527
  • Upgrade to Cassandra Driver 4.19.1 #47768
  • Upgrade to Classmate 1.7.1 #47528
  • Upgrade to Elasticsearch Client 8.18.8 #47671
  • Upgrade to Glassfish JAXB 4.0.6 #47529
  • Upgrade to GraphQL Java 24.3 #47755
  • Upgrade to Groovy 4.0.29 #47713
  • Upgrade to Hibernate 6.6.33.Final #47530
  • Upgrade to HttpClient5 5.5.1 #47531
  • Upgrade to HttpCore5 5.3.6 #47532
  • Upgrade to Jakarta Mail 2.1.5 #47533
  • Upgrade to Jakarta XML Bind 4.0.4 #47242
  • Upgrade to Jetty 12.0.29 #47728
  • Upgrade to Jetty Reactive HTTPClient 4.0.12 #47534
  • Upgrade to jOOQ 3.19.27 #47536
  • Upgrade to Logback 1.5.20 #47714
  • Upgrade to Lombok 1.18.42 #47538
  • Upgrade to Maven Compiler Plugin 3.14.1 #47539
  • Upgrade to Micrometer 1.15.5 #47457
  • Upgrade to Micrometer Tracing 1.5.5 #47458
  • Upgrade to MongoDB 5.5.2 #47648
  • Upgrade to MSSQL JDBC 12.10.2.jre11 #47612
  • Upgrade to Netty 4.1.128.Final #47649
  • Upgrade to Postgresql 42.7.8 #47540
  • Upgrade to Pulsar 4.0.7 #47541
  • Upgrade to R2DBC H2 1.0.1.RELEASE #47729
  • Upgrade to R2DBC Postgresql 1.0.8.RELEASE #47542
  • Upgrade to Reactor Bom 2024.0.11 #47459
  • Upgrade to RxJava3 3.1.12 #47543
  • Upgrade to Spring AMQP 3.2.8 #47614
  • Upgrade to Spring Authorization Server 1.5.3 #47460
  • Upgrade to Spring Batch 5.2.4 #47487
  • Upgrade to Spring Data Bom 2025.0.5 #47461
  • Upgrade to Spring Framework 6.2.12 #47462
  • Upgrade to Spring GraphQL 1.4.3 #47754
  • Upgrade to Spring Integration 6.5.3 #47615
  • Upgrade to Spring LDAP 3.3.4 #47463
  • Upgrade to Spring Pulsar 1.2.11 #47464
  • Upgrade to Spring Security 6.5.6 #47465
  • Upgrade to Spring Session 3.5.3 #47466
  • Upgrade to Spring WS 4.1.2 #47467
  • Upgrade to Tomcat 10.1.48 #47613
  • Upgrade to Undertow 2.3.20.Final #47545
  • Upgrade to WebJars Locator Lite 1.1.2 #47546

❤️ Contributors

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

@DKARAGODIN, @JinhyeokFang, @Lublanski, @Pankraz76, @fhiyo, @ngocnhan-tran1996, @nosan, @scottfrederick, and @xyraclius

5 days ago
spring-boot

v3.4.11

🐞 Bug Fixes

  • In an uber war, value of the Sbom-Location manifest attribute does not match the SBOM's actual location #47735
  • Homebrew formula for the CLI should use libexec #47696
  • When virtual threads are enabled, embedded Jetty does not use recommended virtual thread configuration #47690
  • ClientHttpRequestFactoryRuntimeHints is missing timeout methods with Duration overloads #47675
  • OnBeanCondition no longer correctly finds annotations on scoped target proxy beans #47633
  • JavaVersion doesn't work reliably in native-image #47619
  • In an uber war, value of the Sbom-Location manifest attribute does not match the SBOM's actual location #47408
  • LiquibaseEndpoint always uses defaultSchema instead of liquibaseSchema #47300
  • Signed jar verification fails when nested in an uber war running on an Oracle JVM #47284
  • Bitnami legacy images are not automatically detected #46983

📔 Documentation

  • Dependency management for Maven AntRun Plugin is missing changelog link #47732
  • Developing Your First Spring Boot Application has outdated tools #47699
  • Include deprecated configuration properties in the reference documentation #47622
  • Aggregated Javadoc should link to the proper version of JakartaEE #47592
  • Use non-deprecated syntax to configure sourceCompatibility #47339
  • Fix link to Framework's @Bean annotation #47329
  • Update managed dependency version override examples in documentation #47304

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.8 #47766
  • Upgrade to Angus Mail 2.0.5 #47506
  • Upgrade to Classmate 1.7.1 #47507
  • Upgrade to Glassfish JAXB 4.0.6 #47508
  • Upgrade to Groovy 4.0.29 #47711
  • Upgrade to Hibernate 6.6.33.Final #47509
  • Upgrade to HttpCore5 5.3.6 #47510
  • Upgrade to Jakarta Mail 2.1.5 #47511
  • Upgrade to Jakarta XML Bind 4.0.4 #47237
  • Upgrade to Jaybird 5.0.10.java11 #47513
  • Upgrade to Jetty 12.0.29 #47726
  • Upgrade to Jetty Reactive HTTPClient 4.0.12 #47514
  • Upgrade to jOOQ 3.19.27 #47516
  • Upgrade to Logback 1.5.20 #47712
  • Upgrade to Lombok 1.18.42 #47518
  • Upgrade to Micrometer 1.14.12 #47446
  • Upgrade to Micrometer Tracing 1.4.11 #47447
  • Upgrade to MSSQL JDBC 12.8.2.jre11 #47607
  • Upgrade to Netty 4.1.128.Final #47647
  • Upgrade to Postgresql 42.7.8 #47519
  • Upgrade to Pulsar 3.3.9 #47520
  • Upgrade to R2DBC H2 1.0.1.RELEASE #47727
  • Upgrade to R2DBC Postgresql 1.0.8.RELEASE #47521
  • Upgrade to Reactor Bom 2024.0.11 #47448
  • Upgrade to RxJava3 3.1.12 #47522
  • Upgrade to Spring AMQP 3.2.8 #47610
  • Upgrade to Spring Authorization Server 1.4.6 #47449
  • Upgrade to Spring Batch 5.2.4 #47486
  • Upgrade to Spring Data Bom 2024.1.11 #47450
  • Upgrade to Spring Framework 6.2.12 #47451
  • Upgrade to Spring Integration 6.4.8 #47611
  • Upgrade to Spring LDAP 3.2.15 #47452
  • Upgrade to Spring Pulsar 1.2.11 #47453
  • Upgrade to Spring Security 6.4.12 #47454
  • Upgrade to Spring Session 3.4.6 #47455
  • Upgrade to Spring WS 4.0.16 #47456
  • Upgrade to Tomcat 10.1.48 #47608
  • Upgrade to Undertow 2.3.20.Final #47524

❤️ Contributors

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

@DKARAGODIN, @Lublanski, @fhiyo, @ngocnhan-tran1996, @nosan, @scottfrederick, and @xyraclius

2025-09-18 22:42:10
spring-boot

v4.0.0-M3

⭐ New Features

  • Deprecate JUnit 4 integration #47256
  • Add support for SimpleTaskExecutor#cancel-remaining-tasks-on-close #47244
  • Restructure foundational packages to remove dependency on 'org.springframework.boot' #47232
  • Add configuration property for Tomcat's static resource cache max size #47229
  • Introduce specialized interfaces in PropertiesConfigAdapter #47226
  • Make ConfigDataLocation.of non-nullable #47221
  • Make SanitizableData.key non-nullable #47220
  • Add methods to connector and request factory builds to apply pre-packaged customizations #47205
  • Finalize and document Spring Boot's HTTP Service client support #47179
  • Revisit Kotlin Serialization integration #47178
  • Remove explicit dependency management for Spring Authorization Server as it is now part of Spring Security #47174
  • Adapt RetryTopicConfiguration now that Spring Kafka no longer relies on Spring Retry #47125
  • Remove auto-configuration support for '@HttpServiceClient' #47123
  • Adapt RabbitRetryTemplateCustomizer now that Spring AMQP no longer relies on Spring Retry #47122
  • Rename spring.mongodb.uuid-representation #47052
  • Remove Spring Data MongoDB dependency from MongoDB health support #47051
  • Always use mongodb rather than mongo in MongoDB-related configuration properties #47050
  • Remove GridFs from MongoConnectionDetails #47044
  • Rename *DataProperties classes to Data*Properties #47043
  • Add a configuration property for configuring Spring Data MongoDB's BigDecimal representation #47041
  • Rename ConditionalOnEnabledTracing to ConditionalOnEnabledTracingExport #47029
  • Update PropertyMapper to better support nullability #47024
  • Drop support for Jersey, at least until it supports JAX-RS 4 (Jakarta EE 11) #47017
  • Rename ScheduledTasksObservabilityAutoConfiguration to ScheduledTasksObservationAutoConfiguration #46995
  • Refine JSpecify annotations #46926
  • Introduce Kotlin Serialization auto-configuration #46546
  • Exclude spring-boot-devtools from AOT processing in Maven #46533
  • Improve Log4j Core configuration file detection for Log4j 3 #46409
  • Remove dependency management for Spring Retry in favor of spring-core's new retry support #46309
  • Optimize resource lookup in DevTools restart #46289
  • Add support for authenticating with Elasticsearch using an API key #46167
  • Remove isImmutable and getPrefix from OriginLookup #45547
  • Update Jackson support to require Jackson 3 #45535
  • Use a shaded version of org.json in spring-boot-configuration-metadata and spring-boot-cli #45504
  • Replace @OptionalParameter with JSpecify's @Nullable #45390
  • Create spring-boot-persistence module to house general persistence-related code and properties #45328
  • Rename spring-boot-starter-aop to spring-boot-starter-aspectj #42948
  • Rename MongoDB properties that do not require Spring Data MongoDB #34954
  • Enable readiness and liveness probe endpoints by default #22825

🐞 Bug Fixes

  • App fails to start when trying to use Prometheus without Actuator #47175
  • Quoted -D arguments break system property resolution on Linux with Spring AOT #47167
  • available() does not behave correctly when reading stored entries from a NestedJarFile #47058
  • spring-boot-docker-compose doesn't create service connections when image has registry host but not project #47020
  • Flyway Ignore Migration Patterns setting can't be set to an empty string #47014

📔 Documentation

  • Default value of server.tomcat.resource.cache-ttl is not documented #47254
  • Document Java 25 support #47248
  • Fix links to Flyway reference documentation #46989
  • Clarify Javadoc of Customizer interfaces about overriding behavior #46943

🔨 Dependency Upgrades

  • Upgrade to Couchbase Client 3.9.1 #47129
  • Upgrade to Ehcache3 3.11.1 #46893
  • Upgrade to Elasticsearch Client 9.1.4 #47173
  • Upgrade to Flyway 11.13.1 #47261
  • Upgrade to Gson 2.13.2 #47153
  • Upgrade to Hibernate 7.1.1.Final #47217
  • Upgrade to HikariCP 7.0.2 #47060
  • Upgrade to HtmlUnit 4.16.0 #47061
  • Upgrade to HttpCore5 5.3.5 #47062
  • Upgrade to Infinispan 15.2.6.Final #47063
  • Upgrade to Jackson Bom 3.0.0-rc9 #47130
  • Upgrade to Jakarta Activation 2.1.4 #47161
  • Upgrade to Jakarta Mail 2.1.4 #47064
  • Upgrade to Jaybird 6.0.3 #47065
  • Upgrade to Jedis 6.2.0 #47045
  • Upgrade to Jetty 12.1.1 #47131
  • Upgrade to jOOQ 3.19.26 #47154
  • Upgrade to Kafka 4.1.0 #47066
  • Upgrade to Kotlin 2.2.10 #47067
  • Upgrade to Lettuce 6.8.1.RELEASE #47046
  • Upgrade to Lombok 1.18.40 #47068
  • Upgrade to MariaDB 3.5.6 #47168
  • Upgrade to Maven Failsafe Plugin 3.5.4 #47195
  • Upgrade to Maven Shade Plugin 3.6.1 #47196
  • Upgrade to Maven Surefire Plugin 3.5.4 #47197
  • Upgrade to Micrometer 1.16.0-M3 #46996
  • Upgrade to Micrometer Tracing 1.6.0-M3 #46997
  • Upgrade to MongoDB 5.6.0 #47169
  • Upgrade to Netty 4.2.6.Final #47132
  • Upgrade to OpenTelemetry 1.54.0 #47133
  • Upgrade to Pulsar 4.1.0 #47170
  • Upgrade to R2DBC MSSQL 1.0.3.RELEASE #47171
  • Upgrade to Reactor Bom 2025.0.0-M7 #46998
  • Upgrade to SnakeYAML 2.5 #47069
  • Upgrade to Spring AMQP 4.0.0-M5 #46999
  • Upgrade to Spring Batch 6.0.0-M3 #47001
  • Upgrade to Spring Data Bom 2025.1.0-M6 #47002
  • Upgrade to Spring Framework 7.0.0-M9 #47008
  • Upgrade to Spring GraphQL 2.0.0-M3 #47009
  • Upgrade to Spring HATEOAS 3.0.0-M5 #47003
  • Upgrade to Spring Integration 7.0.0-M3 #47010
  • Upgrade to Spring Kafka 4.0.0-M5 #47004
  • Upgrade to Spring LDAP 4.0.0-M3 #47005
  • Upgrade to Spring Pulsar 2.0.0-M3 #47006
  • Upgrade to Spring RESTDocs 4.0.0-M3 #47007
  • Upgrade to Spring Security 7.0.0-M3 #47199
  • Upgrade to Tomcat 11.0.11 #47070
  • Upgrade to Versions Maven Plugin 2.19.0 #47071
  • Upgrade to XmlUnit2 2.10.4 #47241

❤️ Contributors

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

@Chanwon-Seo, @HyunSangHan, @academey, @dmitrysulman, @doljae, @izeye, @jonatan-ivanov, @kzittritsch, @l-trotta, @maziyarbahramian, @move-hoon, @ppkarwasz, and @quaff

2025-09-18 18:50:40
spring-boot

v3.5.6

🐞 Bug Fixes

  • Quoted -D arguments break system property resolution on Linux with Spring AOT #47166
  • Groovy Templates fails with an NPE when rendering an auto new line #47139
  • available() does not behave correctly when reading stored entries from a NestedJarFile #47057
  • spring-boot-docker-compose doesn't create service connections when image has registry host but not project #47019
  • Flyway Ignore Migration Patterns setting can't be set to an empty string #47013

📔 Documentation

  • Default value of server.tomcat.resource.cache-ttl is not documented #47253
  • Document Java 25 support #47245
  • Fix links to Flyway reference documentation #46988
  • Clarify Javadoc of Customizer interfaces about overriding behavior #46942

🔨 Dependency Upgrades

  • Upgrade to Ehcache3 3.10.9 #47106
  • Upgrade to Elasticsearch Client 8.18.6 #47094
  • Upgrade to Gson 2.13.2 #47158
  • Upgrade to Hibernate 6.6.29.Final #47216
  • Upgrade to HikariCP 6.3.3 #47187
  • Upgrade to HttpCore5 5.3.5 #47108
  • Upgrade to Infinispan 15.2.6.Final #47109
  • Upgrade to Jakarta Activation 2.1.4 #47188
  • Upgrade to Jakarta Mail 2.1.4 #47110
  • Upgrade to Jaybird 6.0.3 #47111
  • Upgrade to Jetty 12.0.27 #47159
  • Upgrade to jOOQ 3.19.26 #47160
  • Upgrade to Lombok 1.18.40 #47113
  • Upgrade to MariaDB 3.5.6 #47189
  • Upgrade to Maven Failsafe Plugin 3.5.4 #47190
  • Upgrade to Maven Shade Plugin 3.6.1 #47191
  • Upgrade to Maven Surefire Plugin 3.5.4 #47192
  • Upgrade to Micrometer 1.15.4 #47083
  • Upgrade to Micrometer Tracing 1.5.4 #47084
  • Upgrade to Netty 4.1.127.Final #47127
  • Upgrade to R2DBC MSSQL 1.0.3.RELEASE #47193
  • Upgrade to Reactor Bom 2024.0.10 #47085
  • Upgrade to Spring AMQP 3.2.7 #47086
  • Upgrade to Spring Batch 5.2.3 #47087
  • Upgrade to Spring Data Bom 2025.0.4 #47088
  • Upgrade to Spring Framework 6.2.11 #47089
  • Upgrade to Spring GraphQL 1.4.2 #47090
  • Upgrade to Spring Integration 6.5.2 #47091
  • Upgrade to Spring Kafka 3.3.10 #47092
  • Upgrade to Spring Pulsar 1.2.10 #47093
  • Upgrade to Spring Security 6.5.5 #47257
  • Upgrade to Tomcat 10.1.46 #47194
  • Upgrade to Undertow 2.3.19.Final #47115
  • Upgrade to XmlUnit2 2.10.4 #47243

❤️ Contributors

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

@Chanwon-Seo, @doljae, @izeye, and @quaff

2025-09-18 16:17:56
spring-boot

v3.4.10

🐞 Bug Fixes

  • available() does not behave correctly when reading stored entries from a NestedJarFile #47056
  • Flyway Ignore Migration Patterns setting can't be set to an empty string #46984
  • spring-boot-docker-compose doesn't create service connections when image has registry host but not project #46974
  • Quoted -D arguments break system property resolution on Linux with Spring AOT #46555

📔 Documentation

  • Default value of server.tomcat.resource.cache-ttl is not documented #47252
  • Fix links to Flyway reference documentation #46976
  • Clarify Javadoc of Customizer interfaces about overriding behavior #46938

🔨 Dependency Upgrades

  • Upgrade to Ehcache3 3.10.9 #47096
  • Upgrade to Hibernate 6.6.29.Final #47215
  • Upgrade to HttpCore5 5.3.5 #47098
  • Upgrade to Infinispan 15.0.21.Final #47099
  • Upgrade to Jakarta Activation 2.1.4 #47181
  • Upgrade to Jakarta Mail 2.1.4 #47100
  • Upgrade to Jaybird 5.0.9.java11 #47101
  • Upgrade to Jetty 12.0.27 #47156
  • Upgrade to jOOQ 3.19.26 #47157
  • Upgrade to Lombok 1.18.40 #47103
  • Upgrade to Maven Failsafe Plugin 3.5.4 #47182
  • Upgrade to Maven Shade Plugin 3.6.1 #47183
  • Upgrade to Maven Surefire Plugin 3.5.4 #47184
  • Upgrade to Micrometer 1.14.11 #47073
  • Upgrade to Micrometer Tracing 1.4.10 #47074
  • Upgrade to Netty 4.1.127.Final #47128
  • Upgrade to R2DBC MSSQL 1.0.3.RELEASE #47185
  • Upgrade to Reactor Bom 2024.0.10 #47075
  • Upgrade to Spring AMQP 3.2.7 #47076
  • Upgrade to Spring Batch 5.2.3 #47077
  • Upgrade to Spring Data Bom 2024.1.10 #47078
  • Upgrade to Spring Framework 6.2.11 #47079
  • Upgrade to Spring Integration 6.4.7 #47080
  • Upgrade to Spring Kafka 3.3.10 #47081
  • Upgrade to Spring Pulsar 1.2.10 #47082
  • Upgrade to Spring Security 6.4.11 #47258
  • Upgrade to Tomcat 10.1.46 #47186
  • Upgrade to Undertow 2.3.19.Final #47105
  • Upgrade to XmlUnit2 2.10.4 #47238

❤️ Contributors

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

@Chanwon-Seo, @doljae, @izeye, and @quaff

2025-08-22 03:56:17
spring-boot

v4.0.0-M2

⭐ New Features

  • Rename metrics, observation, and tracing modules to include micrometer in their names and packages #46925
  • Drop support for Undertow as it is not Servlet 6.1 compatible #46917
  • Harmonize Logback's console and file logging charset #46846
  • Make spring-boot-starter-opentelemetry produce OTLP output from instrumentation #46842
  • Add '@HttpServiceClient' scanning auto-configuration #46782
  • Add dependency management for JSpecify #46776
  • Drop Actuator endpoint parameter support for javax.annotations.NonNull #46773
  • Remove StreamBuilderFactoryBeanCustomizer in favor of Spring Kafka's StreamsBuilderFactoryBeanConfigurer #46675
  • Rely on org.springframework.core.Nullness to determine if an Actuator endpoint is optional #46593
  • Provide configuration property to disable console logging #46592
  • Add JSpecify nullability annotations #46587
  • Add auto-configuration and properties support for Spring Framework's new API Versioning #46519
  • Ensure RestClient uses Virtual Thread Executor when spring.threads.virtual.enabled=true and JdkClientHttpRequestFactoryBuilder #46404
  • Create spring-boot-autoconfigure-classic module #46233
  • Auto-configure Elasticsearch's new Rest5Client rather than the legacy RestClient #46061
  • Raise the minimum supported version of Gradle to 8.14 #43574
  • Support Gradle 9 #43573
  • Make auto-configurations final and remove public members #32883

🐞 Bug Fixes

  • HTTP Service Client properties are not applied #46915
  • Hazelcast health indicator reports the wrong status when Hazelcast has shut down due to an out-of-memory error #46910
  • Configuration Metadata for Actuator endpoints does not take Nullness into account #46854
  • Performance critical tracing code has high overhead due to the use of the Stream API #46845
  • Default authorization server filter chain configuration is excluded in M1 release when actuator starter is on the classpath #46841
  • SpringLiquibaseCustomizer is exposed outside its defined visibility scope #46759
  • Race condition in OutputCapture can result in stale data #46722
  • Auto-configured WebClient no longer uses context's ReactorResourceFactory #46684
  • WebTestClientAutoConfiguration fails when WebFlux is on the classpath and spring-boot-http-codec is not #46678
  • Default value not detected for a field annoted with @Name #46667
  • Missing metadata when using @Name with a constructor-bound property #46664
  • Missing property for Spring Authorization Server's PAR endpoint #46648
  • Auto-configured MockMvc ignores @FilterRegistration annotation #46647
  • Property name is incorrect when reporting a mis-configured OAuth 2 Resource Server JWT public key location #46637
  • Memory not freed on context restart in JpaMetamodel#CACHE with spring.main.lazy-initialization=true #46635
  • Failure to discover default value for a primitive should not lead to document its default value #46562
  • WebTestClient is now bound to previous test server port when test application context is paused #46557
  • Spring Boot 4.0.0-M1 has a typo in spring-boot-dependencies.pom for spring-boot-starter-opentelemetry #46549
  • spring-boot-metrics with micrometer-registry-otlp throws exception if spring-boot-opentelemetry is missing #46303

📔 Documentation

  • Update Servlet container system requirements #46918
  • Kotlin samples for configuration metadata are in the wrong package #46858
  • Observability examples in the reference guide are missing the Kotlin version #46799
  • Align method descriptions for SslOptions getCiphers and getEnabledProtocols with '@returns' #46770
  • Tracing samples in the reference guide are missing the Kotlin version #46768
  • Improve Virtual Threads section to mention the changes in Java 24 #46611
  • spring.test.webtestclient.timeout is not documented #46589
  • spring-boot-test-autoconfigure should use the configuration properties annotation processor like other modules #46586
  • spring.test.mockmvc properties are not documented #46579

🔨 Dependency Upgrades

  • Upgrade to Angus Mail 2.0.4 #46735
  • Upgrade to AssertJ 3.27.4 #46736
  • Upgrade to Byte Buddy 1.17.7 #46887
  • Upgrade to Couchbase Client 3.9.0 #46797
  • Upgrade to Elasticsearch 9.1.0 #46686
  • Upgrade to Elasticsearch Client 9.1.1 #46827
  • Upgrade to Flyway 11.11.1 #46894
  • Upgrade to GraphQL Java 25.0.beta-5 #46880
  • Upgrade to Hibernate 7.1.0.Final #46738
  • Upgrade to HikariCP 7.0.1 #46739
  • Upgrade to HtmlUnit 4.15.0 #46895
  • Upgrade to Jackson Bom 2.20.0-rc1 #46815
  • Upgrade to Jedis 6.1.0 #46687
  • Upgrade to Jetty 12.1.0 #46906
  • Upgrade to Jetty Reactive HTTPClient 4.0.11 #46888
  • Upgrade to jOOQ 3.19.25 #46809
  • Upgrade to Json-smart 2.6.0 #46742
  • Upgrade to Lettuce 6.8.0.RELEASE #46750
  • Upgrade to MariaDB 3.5.5 #46810
  • Upgrade to Maven Javadoc Plugin 3.11.3 #46889
  • Upgrade to Micrometer 1.16.0-M2 #46811
  • Upgrade to Micrometer Tracing 1.6.0-M2 #46812
  • Upgrade to Mockito 5.19.0 #46896
  • Upgrade to MSSQL JDBC 13.2.0.jre11 #46897
  • Upgrade to MySQL 9.4.0 #46743
  • Upgrade to Native Build Tools Plugin 0.11.0 #46501
  • Upgrade to Netty 4.2.4.Final #46829
  • Upgrade to OpenTelemetry 1.53.0 #46813
  • Upgrade to Oracle Database 23.9.0.25.07 #46744
  • Upgrade to Prometheus Client 1.4.1 #46898
  • Upgrade to Pulsar 4.0.6 #46745
  • Upgrade to Reactor Bom 2025.0.0-M6 #46814
  • Upgrade to REST Assured 5.5.6 #46850
  • Upgrade to Selenium 4.35.0 #46899
  • Upgrade to Selenium HtmlUnit 4.35.0 #46900
  • Upgrade to Spring AMQP 4.0.0-M4 #46803
  • Upgrade to Spring Authorization Server 2.0.0-M2 #46617
  • Upgrade to Spring Batch 6.0.0-M2 #46618
  • Upgrade to Spring Data Bom 2025.1.0-M5 #46619
  • Upgrade to Spring Framework 7.0.0-M8 #46620
  • Upgrade to Spring GraphQL 2.0.0-M2 #46628
  • Upgrade to Spring HATEOAS 3.0.0-M4 #46804
  • Upgrade to Spring Integration 7.0.0-M2 #46805
  • Upgrade to Spring Kafka 4.0.0-M4 #46806
  • Upgrade to Spring LDAP 4.0.0-M2 #46621
  • Upgrade to Spring Pulsar 2.0.0-M2 #46622
  • Upgrade to Spring RESTDocs 4.0.0-M2 #46623
  • Upgrade to Spring Security 7.0.0-M2 #46624
  • Upgrade to Spring Session 4.0.0-M2 #46901
  • Upgrade to Tomcat 11.0.10 #46747

❤️ Contributors

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

@Kguswo, @deejay1, @ganjisriver, @izeye, @jetflo, @ngocnhan-tran1996, @nicolasgarea, @nosan, @prishedko, @quaff, @schmidti159, @scordio, @shakuzen, @smartandhandsome, @spencergibb, @tommyk-gears, @wonyongg, and @zakaria-shahen

2025-08-21 16:59:13
spring-boot

v3.5.5

🐞 Bug Fixes

  • Hazelcast health indicator reports the wrong status when Hazelcast has shut down due to an out-of-memory error #46909
  • Performance critical tracing code has high overhead due to the use of the Stream API #46844
  • SpringLiquibaseCustomizer is exposed outside its defined visibility scope #46758
  • Race condition in OutputCapture can result in stale data #46721
  • Auto-configured WebClient no longer uses context's ReactorResourceFactory #46673
  • Default value not detected for a field annoted with @Name #46666
  • Missing metadata when using @Name with a constructor-bound property #46663
  • Missing property for Spring Authorization Server's PAR endpoint #46641
  • Property name is incorrect when reporting a mis-configured OAuth 2 Resource Server JWT public key location #46636
  • Memory not freed on context restart in JpaMetamodel#CACHE with spring.main.lazy-initialization=true #46634
  • Auto-configured MockMvc ignores @FilterRegistration annotation #46605
  • Failure to discover default value for a primitive should not lead to document its default value #46561

📔 Documentation

  • Kotlin samples for configuration metadata are in the wrong package #46857
  • Observability examples in the reference guide are missing the Kotlin version #46798
  • Align method descriptions for SslOptions getCiphers and getEnabledProtocols with '@returns' #46769
  • Tracing samples in the reference guide are missing the Kotlin version #46767
  • Improve Virtual Threads section to mention the changes in Java 24 #46610
  • spring.test.webtestclient.timeout is not documented #46588
  • spring-boot-test-autoconfigure should use the configuration properties annotation processor like other modules #46585
  • Adapt deprecation level for management.health.influxdb.enabled #46580
  • spring.test.mockmvc properties are not documented #46578

🔨 Dependency Upgrades

  • Upgrade to Angus Mail 2.0.4 #46725
  • Upgrade to AssertJ 3.27.4 #46726
  • Upgrade to Byte Buddy 1.17.7 #46883
  • Upgrade to Couchbase Client 3.8.3 #46794
  • Upgrade to Elasticsearch Client 8.18.5 #46830
  • Upgrade to Hibernate 6.6.26.Final #46884
  • Upgrade to Hibernate Validator 8.0.3.Final #46728
  • Upgrade to HikariCP 6.3.2 #46729
  • Upgrade to Jersey 3.1.11 #46730
  • Upgrade to Jetty 12.0.25 #46831
  • Upgrade to Jetty Reactive HTTPClient 4.0.11 #46885
  • Upgrade to jOOQ 3.19.25 #46808
  • Upgrade to MariaDB 3.5.5 #46779
  • Upgrade to Maven Javadoc Plugin 3.11.3 #46886
  • Upgrade to Micrometer 1.15.3 #46701
  • Upgrade to Micrometer Tracing 1.5.3 #46702
  • Upgrade to MySQL 9.4.0 #46732
  • Upgrade to Netty 4.1.124.Final #46832
  • Upgrade to Pulsar 4.0.6 #46733
  • Upgrade to Reactor Bom 2024.0.9 #46703
  • Upgrade to REST Assured 5.5.6 #46849
  • Upgrade to Spring Authorization Server 1.5.2 #46704
  • Upgrade to Spring Data Bom 2025.0.3 #46705
  • Upgrade to Spring Framework 6.2.10 #46706
  • Upgrade to Spring Kafka 3.3.9 #46871
  • Upgrade to Spring LDAP 3.3.3 #46707
  • Upgrade to Spring Pulsar 1.2.9 #46708
  • Upgrade to Spring RESTDocs 3.0.5 #46920
  • Upgrade to Spring Security 6.5.3 #46709
  • Upgrade to Spring Session 3.5.2 #46710
  • Upgrade to Tomcat 10.1.44 #46734

❤️ Contributors

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

@Kguswo, @deejay1, @ganjisriver, @izeye, @jetflo, @ngocnhan-tran1996, @nicolasgarea, @nosan, @prishedko, @quaff, @schmidti159, @scordio, @shakuzen, @tommyk-gears, @zahra7, and @zakaria-shahen

2025-08-21 14:23:32
spring-boot

v3.4.9

🐞 Bug Fixes

  • Hazelcast health indicator reports the wrong status when Hazelcast has shut down due to an out-of-memory error #46877
  • Performance critical tracing code has high overhead due to the use of the Stream API #46838
  • SpringLiquibaseCustomizer is exposed outside its defined visibility scope #46752
  • Race condition in OutputCapture can result in stale data #46685
  • Default value not detected for a field annoted with @Name #46662
  • Memory not freed on context restart in JpaMetamodel#CACHE with spring.main.lazy-initialization=true #46630
  • Property name is incorrect when reporting a mis-configured OAuth 2 Resource Server JWT public key location #46627
  • Missing metadata when using @Name with a constructor-bound property #46599
  • Failure to discover default value for a primitive should not lead to document its default value #46551

📔 Documentation

  • Observability examples in the reference guide are missing the Kotlin version #46775
  • Kotlin samples for configuration metadata are in the wrong package #46774
  • Align method descriptions for SslOptions getCiphers and getEnabledProtocols with @returns #46756
  • Tracing samples in the reference guide are missing the Kotlin version #46699
  • spring-boot-test-autoconfigure should use the configuration properties annotation processor like other modules #46584
  • spring.test.webtestclient.timeout is not documented #46577
  • spring.test.mockmvc properties are not documented #46576
  • Adapt deprecation level for management.health.influxdb.enabled #46574
  • Improve Virtual Threads section to mention the changes in Java 24 #46547

🔨 Dependency Upgrades

  • Upgrade to Angus Mail 2.0.4 #46711
  • Upgrade to Hibernate 6.6.26.Final #46881
  • Upgrade to Hibernate Validator 8.0.3.Final #46713
  • Upgrade to Infinispan 15.0.19.Final #46847
  • Upgrade to Jersey 3.1.11 #46723
  • Upgrade to Jetty 12.0.25 #46833
  • Upgrade to Jetty Reactive HTTPClient 4.0.11 #46882
  • Upgrade to jOOQ 3.19.25 #46807
  • Upgrade to Micrometer 1.14.10 #46689
  • Upgrade to Micrometer Tracing 1.4.9 #46690
  • Upgrade to MySQL 9.4.0 #46715
  • Upgrade to Netty 4.1.124.Final #46834
  • Upgrade to Pulsar 3.3.8 #46716
  • Upgrade to Reactor Bom 2024.0.9 #46691
  • Upgrade to REST Assured 5.5.6 #46848
  • Upgrade to Spring Authorization Server 1.4.5 #46692
  • Upgrade to Spring Data Bom 2024.1.9 #46693
  • Upgrade to Spring Framework 6.2.10 #46694
  • Upgrade to Spring Kafka 3.3.9 #46870
  • Upgrade to Spring LDAP 3.2.14 #46695
  • Upgrade to Spring Pulsar 1.2.9 #46696
  • Upgrade to Spring RESTDocs 3.0.5 #46919
  • Upgrade to Spring Security 6.4.9 #46697
  • Upgrade to Spring Session 3.4.5 #46698
  • Upgrade to Tomcat 10.1.44 #46724

❤️ Contributors

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

@Kguswo, @Pankraz76, @deejay1, @ganjisriver, @izeye, @nicolasgarea, @nosan, @prishedko, @quaff, @schmidti159, @scordio, @shakuzen, @tommyk-gears, @zahra7, and @zakaria-shahen

2025-07-24 22:31:36
spring-boot

v4.0.0-M1

⭐ New Features

  • Move org.springframework.boot.autoconfigure.thread package to org.springframework.boot.thread #46406
  • Add support for JmsClient #46293
  • Rationalize starters following modularization #46245
  • Provide better exception message when configuration properties binding fails due to class not found error #46232
  • Migrate to Spring Batch 6 #46216
  • Align reactive auto-configuration names #46156
  • Create spring-boot-health module #46155
  • Create spring-boot-hibernate module #46154
  • Create spring-boot-tracing module #46153
  • Create spring-boot-cloudfoundry module #46152
  • Create spring-boot-servlet module #46151
  • Create spring-boot-observation module #46150
  • Create spring-boot-opentelemetry module #46149
  • Create sping-boot-zipkin module #46148
  • Create spring-boot-metrics module #46147
  • Create spring-boot-graphql-test module #46146
  • Create spring-boot-web-server module #46145
  • Create spring-boot-websocket module #46144
  • Create spring-boot-netty module #46143
  • Create spring-boot-reactor module #46142
  • Create spring-boot-graphql module #46141
  • Create spring-boot-sql module #46140
  • Create spring-boot-session modules #46139
  • Create spring-boot-webflux module #46138
  • Create spring-boot-security-saml2 module #46137
  • Create spring-boot-security-oauth2-authorization-server #46136
  • Create spring-boot-security-oauth2-resource-server module #46135
  • Create spring-boot-security-oauth2-client module #46134
  • Create spring-boot-security module #46133
  • Create spring-boot-cache module #46132
  • Create spring-boot-data-commons module #46131
  • Create spring-boot-data-rest module #46130
  • Create spring-boot-data-r2dbc module #46129
  • Create spring-boot-data-jdbc module #46128
  • Create spring-boot-data-couchbase module #46127
  • Create spring-boot-data-redis module #46126
  • Create spring-boot-webservices module #46125
  • Create spring-boot-data-neo4j module #46124
  • Create spring-boot-data-elasticsearch module #46123
  • Create spring-boot-data-cassandra module #46122
  • Create spring-boot-webmvc module #46121
  • Create spring-boot-http-converter module #46120
  • Create spring-boot-http-codec module #46119
  • Create spring-boot-http-client module #46118
  • Create spring-boot-hateoas module #46117
  • Create spring-boot-jersey module #46116
  • Create spring-boot-data-mongodb module #46115
  • Create spring-boot-mongodb module #46114
  • Create spring-boot-h2console module #46113
  • Create spring-boot-gson module #46112
  • Create spring-boot-sendgrid module #46111
  • Create spring-boot-thymeleaf module #46110
  • Create spring-boot-data-ldap module #46109
  • Create spring-boot-ldap module #46108
  • Create spring-boot-quartz module #46107
  • Create spring-boot-neo4j module #46106
  • Create spring-boot-mustache module #46105
  • Create spring-boot-cassandra module #46104
  • Create spring-boot-couchbase module #46103
  • Create spring-boot-jooq module #46101
  • Create spring-boot-batch module #46100
  • Create spring-boot-hazelcast module #46099
  • Create spring-boot-integration module #46098
  • Create spring-boot-rsocket module #46097
  • Create spring-boot-data-jpa module #46096
  • Create spring-boot-jpa module #46095
  • Create spring-boot-r2dbc module #46094
  • Create spring-boot-pulsar module #46093
  • Create spring-boot-kafka module #46092
  • Create spring-boot-elasticsearch module #46091
  • Create spring-boot-freemarker module #46090
  • Create spring-boot-groovy-templates module #46089
  • Create spring-boot-liquibase module #46088
  • Create spring-boot-validation module #46087
  • Create spring-boot-flyway module #46086
  • Create spring-boot-jdbc module #46085
  • Create spring-boot-tx module #46084
  • Create spring-boot-artemis module #46083
  • Create spring-boot-activemq module #46082
  • Create spring-boot-jms module #46081
  • Create spring-boot-jsonb module #46080
  • Create spring-boot-mail module #46079
  • Create spring-boot-jackson-module #46078
  • Create spring-boot-amqp module #46077
  • Create spring-boot-reactor-netty module #46076
  • Create spring-boot-jetty module #46075
  • Create spring-boot-undertow module #46074
  • Create spring-boot-tomcat module #46073
  • Publish milestones and release candidates to Maven Central #46024
  • Support @MeterTag on @Counted and @Timed methods #46007
  • Support pluggable types for EndpointObjectMapper #45876
  • Introduce ObservationHandlerGroup interface to allow ObservabilityAutoConfiguration to be removed #45746
  • Drop support for Wavefront #45713
  • Remove APIs that were deprecated for removal in 4.0 (or earlier) #45600
  • Declare a public constant for the WebServerStartStopLifecycle's phase #45572
  • Replace ClientHttpRequestFactorySettings.Redirects with HttpRedirects #45505
  • Deprecate ANT_PATH_MATCHER #45493
  • Rework server.servlet.encoding properties to clarify when they apply #45394
  • Introduce OptionalParameter annotation to replace Nullable #45389
  • Add @ServiceConnection support for Testcontainers' MongoDBAtlasLocalContainer #45310
  • Add support for multiple TaskDecorator beans #45302
  • Review SSL info contribution and its use of management.health.ssl.certificate-validity-warning-threshold #44650
  • Introduce TestSliceTestContextBootstrapper for test slices #44354
  • Support declarative HTTP Service clients #31337
  • Generate configuration metadata for types in other modules #18366

🐞 Bug Fixes

  • Additional fields for structured JSON logging incompatible with nested ecs logging in 3.5.x #46481
  • LambdaSafe.withFilter is not public #46475
  • Executable JAR application class encounters performance issues when used with Palo Alto Network Cortex XDR agent #46403
  • Runtime dependencies are missing from aotCompileClasspath and aotTestCompileClasspath when using Kotlin #46399
  • Change in DefaultErrorAttributes alters the shape of API validation error responses #46311
  • jdbc.connections.active and jdbc.connections.idle metrics are not available when using Hikari in a native image #46226
  • developmentOnly and testAndDevelopmentOnly dependencies may prevent implementation dependencies from being included in the uber-jar #46206
  • Hash calculation for uber archive entries that require unpacking is inefficient #46204
  • Environment variables using legacy dash format can no longer be bound #46197
  • Permissions are applied inconsistently when building uber archives with Gradle #46195
  • EmbeddedWebServerFactoryCustomizerAutoConfiguration fails when undertow-core is on the classpath and undertow-servlet is not #46181
  • Setting spring.reactor.context-propagation has no effect when lazy initialization is enabled #46175
  • Setting spring.netty.leak-detection has no effect when lazy initialization is enabled #46171
  • org/springframework/boot/logging/log4j2/log4j2.xml should not expose a FILE_LOG_PATTERN property as it only configures the console appender #45509

📔 Documentation

  • Fix description of spring.batch.job.enabled #46248
  • Add Logback Access Reactor Netty to community starters #46173
  • Fix broken Kotlin examples in reference documentation #46169

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.7 #46323
  • Upgrade to Artemis 2.42.0 #46495
  • Upgrade to Brave 6.3.0 #46325
  • Upgrade to Caffeine 3.2.2 #46436
  • Upgrade to Commons Codec 1.19.0 #46513
  • Upgrade to Commons Lang3 3.18.0 #46437
  • Upgrade to Couchbase Client 3.8.2 #46463
  • Upgrade to Elasticsearch Client 9.0.3 #46207
  • Upgrade to Flyway 11.10.3 #46496
  • Upgrade to Groovy 4.0.28 #46514
  • Upgrade to Hibernate 7.0.7.Final #46515
  • Upgrade to Hibernate Validator 9.0.1.Final #46057
  • Upgrade to HikariCP 6.3.1 #46497
  • Upgrade to HtmlUnit 4.13.0 #46328
  • Upgrade to Infinispan 15.2.5.Final #46464
  • Upgrade to Jackson Bom 2.19.2 #46498
  • Upgrade to Jakarta Annotation 3.0.0 #45484
  • Upgrade to Jakarta Persistence 3.2.0 #45477
  • Upgrade to Jakarta Servlet 6.1.0 #45479
  • Upgrade to Jakarta Validation 3.1.0 #45480
  • Upgrade to Jakarta WebSocket 2.2.0 #45482
  • Upgrade to Jakarta WS RS 4.0.0 #45478
  • Upgrade to Jersey 4.0.0-M2 #45483
  • Upgrade to Jetty 12.0.23 #46329
  • Upgrade to JUnit Jupiter 5.13.4 #46499
  • Upgrade to Kafka 4.0.0 #45485
  • Upgrade to Kotlin 2.2.0 #46238
  • Upgrade to Kotlin Coroutines 1.10.2 #46331
  • Upgrade to Kotlin Serialization 1.9.0 #46332
  • Upgrade to Lettuce 6.7.1.RELEASE #46424
  • Upgrade to Liquibase 4.33.0 #46500
  • Upgrade to MariaDB 3.5.4 #46335
  • Upgrade to Maven Clean Plugin 3.5.0 #46059
  • Upgrade to Maven Enforcer Plugin 3.6.1 #46439
  • Upgrade to Maven Invoker Plugin 3.9.1 #46337
  • Upgrade to Micrometer 1.16.0-M1 #46321
  • Upgrade to Micrometer Tracing 1.6.0-M1 #46322
  • Upgrade to Mockito 5.18.0 #46338
  • Upgrade to MSSQL JDBC 12.10.1.jre11 #46339
  • Upgrade to MySQL 9.3.0 #46340
  • Upgrade to Neo4j Java Driver 5.28.9 #46440
  • Upgrade to Netty 4.2.3.Final #46441
  • Upgrade to OpenTelemetry 1.52.0 #46442
  • Upgrade to Oracle Database 23.8.0.25.04 #46342
  • Upgrade to Prometheus Client 1.3.10 #46343
  • Upgrade to Pulsar Reactive 0.7.0 #46344
  • Upgrade to Rabbit AMQP Client 5.26.0 #46502
  • Upgrade to Reactor Bom 2025.0.0-M5 #46443
  • Upgrade to RxJava3 3.1.11 #46345
  • Upgrade to Selenium 4.34.0 #46346
  • Upgrade to Selenium HtmlUnit 4.33.0 #46347
  • Upgrade to Spring AMQP 4.0.0-M3 #46047
  • Upgrade to Spring Authorization Server 2.0.0-M1 #46320
  • Upgrade to Spring Batch 6.0.0-M1 #46304
  • Upgrade to Spring Data Bom 2025.1.0-M4 #46465
  • Upgrade to Spring Framework 7.0.0-M7 #45487
  • Upgrade to Spring GraphQL 2.0.0-M1 #46053
  • Upgrade to Spring HATEOAS 3.0.0-M3 #46488
  • Upgrade to Spring Integration 7.0.0-M1 #46054
  • Upgrade to Spring Kafka 4.0.0-M3 #45490
  • Upgrade to Spring LDAP 4.0.0-M1 #46308
  • Upgrade to Spring Pulsar 2.0.0-M1 #46271
  • Upgrade to Spring RESTDocs 4.0.0-M1 #45491
  • Upgrade to Spring Security 7.0.0-M1 #45492
  • Upgrade to Spring Session 4.0.0-M1 #46312
  • Upgrade to Spring WS 5.0.0-M1 #45873
  • Upgrade to SQLite JDBC 3.50.3.0 #46503
  • Upgrade to Testcontainers 1.21.3 #46348
  • Upgrade to Tomcat 11.0.9 #46349
  • Upgrade to XmlUnit2 2.10.3 #46350

❤️ Contributors

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

@Dockerel, @PiyalAhmed, @Torres-09, @aahlenst, @benelog, @blancqua, @dmitrysulman, @doumdoum, @fmbenhassine, @izeye, @ngocnhan-tran1996, @nosan, @quaff, @sdeleuze, and @shchae04