Skip to content

v4.0.0-M1

Pre-release
Pre-release
Compare
Choose a tag to compare
@spring-builds spring-builds released this 24 Jul 16:47
· 370 commits to main since this release

⭐ 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