github spring-projects/spring-boot v4.0.0-RC1

pre-release5 hours ago

⭐ 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

Don't miss a new spring-boot release

NewReleases is sending notifications on new releases.