v4.2.0-M1
Pre-release
Pre-release
⭐ New Features
- Refine Forwarded headers configuration for Jetty servers #51148
- Disable Micrometer global registry in tests by default #51142
- Use GracefulHandler rather than StatisticsHandler to coordinate graceful shutdown of Jetty #51128
- Deprecate RestTemplate support #51118
- Update properties for forwarded headers to adapt to Reactor Netty changes #51031
- Update properties for forwarded headers to adapt to Spring Framework changes #51030
- Remove APIs that were deprecated for removal in 4.2 #50955
- Add support for image-based build caches #50899
- Provide plugin management for hibernate-maven-plugin #50892
- Support timeout option in RetryPolicySettings #50891
- Add self-reference to ApplicationContextAssertProvider #50500
- Add configuration property for leaveGroupOnClose in Kafka Streams #50432
- Expose Path getters on ApplicationHome and ApplicationTemp #50194
- Introduce RabbitMQ AMQP 1.0 client support #49857
- Introduce Generic AMQP 1.0 client support #49678
- Rename spring-boot-amqp to spring-boot-rabbitmq #49677
- Add support for AMQP 1.0 #49619
- Deprecate TestRestTemplate in favor of RestTestClient #46632
- spring-boot.run.useTestClasspath does not take target/test-classes in account #36115
🐞 Bug Fixes
- Structured logging: a failed JSON encode corrupts the next log event written on the same thread #51371
- Kafka consumer-specific security protocol is not taken into account #51370
- Exposing gRPC test server port should backoff if gRPC is not present #51291
- Micrometer registries pin the application context #51136
- Temporary file is not deleted when ExportedImageTar construction fails #51133
- spring.grpc.server.health.include-overall-health is not taken into account #51106
- Metadata annotation processor ignores getter-level
@NestedConfigurationPropertyfor records #51099 - spring-boot-h2-console pulls servlet-api as transitive dependency #51096
- PropertiesLauncher does not log nested archive paths #51090
- Methods that return the result of Map#remove are not declared with a
@Nullablereturn type #51088 - NativeImageResourceProvider flattens Flyway migration paths in subdirectories #50965
- Fix ordering of Kotlinx Serialization CodecCustomizer #50962
- JarFile is not closed when finding main class from archive #50960
📔 Documentation
- Description of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide #51364
- spring.profiles.group should have a 'spring-profile-name' hint provider #51285
- Remove reference to removed InfluxDB auto-configuration #51177
- Use JacksonJsonSerde in Kafka Streams documentation #51162
- Document alternatives to HttpMessageConverters #51130
- Fix stale type reference for OTLP logging transport metadata #51126
- Metadata for spring.test.mockmvc.htmlunit.url declares the wrong type #51116
- Caching documentation refers to AutoConfigureCache by its pre-4.0 package #51114
- Fix examples in Metadata Format documentation chapter #51103
- Improve discoverability of the AOT Cache How-to guides #51001
🔨 Dependency Upgrades
- Prevent upgrade to Jackson 2.22 #51049
- Upgrade to ActiveMQ 6.3.1 #51334
- Upgrade to Artemis 2.55.0 #51034
- Upgrade to Byte Buddy 1.18.11 #51035
- Upgrade to Commons Codec 1.22.1 #51198
- Upgrade to Commons Logging 1.4.0 #51037
- Upgrade to Couchbase Client 3.12.2 #51295
- Upgrade to CycloneDX Maven Plugin 2.9.3 #51199
- Upgrade to DB2 JDBC 12.1.5.0 #51039
- Upgrade to Elasticsearch Client 9.5.0 #51335
- Upgrade to Flyway 12.11.0 #51040
- Upgrade to Groovy 5.0.8 #51200
- Upgrade to Grpc Java 1.81.1 #51229
- Upgrade to Grpc Java 1.83.1 #51362
- Upgrade to Gson 2.14.0 #51042
- Upgrade to Hazelcast 5.7.0 #51309
- Upgrade to Hibernate 7.4.5.Final #51043
- Upgrade to Hibernate Validator 9.1.3.Final #51201
- Upgrade to HikariCP 7.1.0 #51045
- Upgrade to HtmlUnit 5.4.0 #51313
- Upgrade to HttpClient5 5.6.4 #51336
- Upgrade to HttpCore5 5.4.3 #51047
- Upgrade to Infinispan 16.2.2 #51203
- Upgrade to Jackson 2 Bom 2.21.5 #51078
- Upgrade to Jackson Bom 3.1.5 #51050
- Upgrade to Jedis 8.0.0 #51337
- Upgrade to Jetty 12.1.12 #51297
- Upgrade to jOOQ 3.21.7 #51314
- Upgrade to Json Path 3.0.0 #50786
- Upgrade to JSpecify 1.0.1 #51204
- Upgrade to JUnit Jupiter 6.1.3 #51315
- Upgrade to Kafka 4.3.1 #51054
- Upgrade to Kotlin 2.4.10 #51205
- Upgrade to Kotlin Coroutines 1.11.0 #51206
- Upgrade to Lettuce 7.6.0.RELEASE #51338
- Upgrade to Log4j2 2.26.1 #51055
- Upgrade to Logback 1.6.1 #51207
- Upgrade to MariaDB 3.5.10 #51208
- Upgrade to Maven Dependency Plugin 3.11.0 #51058
- Upgrade to Maven Help Plugin 3.5.2 #51059
- Upgrade to Maven Invoker Plugin 3.10.1 #51060
- Upgrade to Maven Jar Plugin 3.5.1 #51209
- Upgrade to MongoDB 5.9.2 #51380
- Upgrade to Native Build Tools Plugin 1.1.8 #51316
- Upgrade to Neo4j Java Driver 6.2.1 #51340
- Upgrade to Netty 4.2.17.Final #51296
- Upgrade to OpenTelemetry 1.64.0 #51231
- Upgrade to Oracle Database 23.26.3.0.0 #51211
- Upgrade to Pooled JMS 3.2.3 #51212
- Upgrade to Postgresql 42.7.13 #51064
- Upgrade to Prometheus Client 1.8.0 #51232
- Upgrade to Protobuf Java 4.35.1 #51233
- Upgrade to Protobuf Maven Plugin 5.1.8 #51341
- Upgrade to Pulsar 4.2.4 #51213
- Upgrade to Qpid ProtonJ2 1.2.0 #51317
- Upgrade to R2DBC MariaDB 1.4.1 #51066
- Upgrade to R2DBC MSSQL 1.0.5.RELEASE #51067
- Upgrade to R2DBC MySQL 1.4.3 #51214
- Upgrade to R2DBC Postgresql 1.1.2.RELEASE #51068
- Upgrade to RabbitMQ AMQP Client 1.4.0 #51318
- Upgrade to RabbitMQ Client 5.34.0 #51069
- Upgrade to RabbitMQ Stream Client 1.9.0 #51319
- Upgrade to Selenium 4.46.0 #51071
- Upgrade to Selenium HtmlUnit 4.46.0 #51072
- Upgrade to SQLite JDBC 3.53.2.1 #51216
- Upgrade to Tomcat 11.0.24 #51073
- Upgrade to UnboundID LDAPSDK 7.0.5 #51074
- Upgrade to WebJars Locator Lite 1.1.4 #51075
- Upgrade to XmlUnit2 2.13.0 #51217
- Upgrade to Yasson 3.0.5 #51320
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Chrisg2000, @DragonFSKY, @LordKay-sudo, @MacAlsandair, @SebTardif, @TYsewyn, @dmitrysulman, @eddumelendez, @filiphr, @ghost, @msridhar, @ngocnhan-tran1996, @scordio, @skdas20, @sourabh-bhattacharjee, @taasjord, @vvzvvv, @wantaekchoi, @xfocus3, and @zxuhan