v4.0.8
Fixed 19
- Kafka consumer-specific security protocol is now taken into account
- Temporary file is deleted when ExportedImageTar construction fails
- spring-boot-h2-console no longer pulls servlet-api as a transitive dependency
- Methods that return the result of Map#remove are now declared with a @Nullable return type
- PropertiesLauncher now logs nested archive paths
- JarFile is closed when finding main class from archive
- CloudFoundry reactive auto-configuration no longer requires a WebClient.Builder bean to be defined
- Resources are cleaned up when resolving an image that is not yet present in the builder
- Context refresh no longer fails on reactive Cloud Foundry when using Actuator without spring-boot-health
- GraphQlWebMvcAutoConfiguration now applies customizers in order
- Micrometer registries no longer pin the application context
- Context refresh no longer fails when using Actuator on Jersey without spring-boot-health
- IllegalStateException no longer occurs when binding properties to a @Validated class that contains a map whose value type is a wildcard
- Setting server.servlet.session.cookie.partitioned to false no longer emits the Partitioned cookie attribute
- Application-managed JUL bridge handler is only removed if installed
- Empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri are now handled consistently
- PropertiesWebClientHttpServiceGroupConfigurer precedence no longer prevents other configurers from being ordered ahead of it
- High number of connections due to Mongo health indicator is reduced
- NativeImageResourceProvider no longer flattens Flyway migration paths in subdirectories
From Spring Boot
:lady_beetle: 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
@Nullablereturn 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
@Validatedclass 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
@NestedConfigurationPropertyfor records #50096
:notebook_with_decorative_cover: 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
@Valueplaceholder 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
:hammer: Dependency Upgrades
- Upgrade to CycloneDX Maven Plugin 2.9.3 #51178
- Upgrade to DB2 JDBC 12.1.5.0 #50977
- Upgrade to Elasticsearch Client 9.2.9 #51366
- Upgrade to Groovy 5.0.8 #51179
- Upgrade to Hibernate 7.2.24.Final #51180
- Upgrade to Jackson 2 Bom 2.21.5 #50980
- Upgrade to Jackson Bom 3.1.5 #50981
- Upgrade to Jetty 12.1.12 #51298
- Upgrade to jOOQ 3.19.37 #51299
- Upgrade to JSpecify 1.0.1 #51181
- Upgrade to Log4j2 2.25.5 #50984
- Upgrade to Logback 1.5.38 #50985
- Upgrade to MariaDB 3.5.10 #51182
- Upgrade to Maven Help Plugin 3.5.2 #50987
- Upgrade to Micrometer 1.16.7 #51235
- Upgrade to Micrometer Tracing 1.6.7 #51236
- Upgrade to Netty 4.2.17.Final #51300
- Upgrade to Postgresql 42.7.13 #50989
- Upgrade to R2DBC MariaDB 1.3.1 #50990
- Upgrade to R2DBC MSSQL 1.0.5.RELEASE #50991
- Upgrade to R2DBC MySQL 1.4.3 #51183
- Upgrade to R2DBC Postgresql 1.1.2.RELEASE #50992
- Upgrade to Reactor Bom 2025.0.7 #51237
- Upgrade to Spring AMQP 4.0.5 #51238
- Upgrade to Spring Batch 6.0.5 #51239
- Upgrade to Spring Data Bom 2025.1.7 #51355
- Upgrade to Spring Framework 7.0.9 #51240
- Upgrade to Spring GraphQL 2.0.5 #51241
- Upgrade to Spring HATEOAS 3.0.5 #51356
- Upgrade to Spring Integration 7.0.6 #51242
- Upgrade to Spring Kafka 4.0.7 #51243
- Upgrade to Spring LDAP 4.0.5 #51244
- Upgrade to Spring Pulsar 2.0.7 #51327
- Upgrade to Spring Security 7.0.7 #51245
- Upgrade to Spring Session 4.0.5 #51246
- Upgrade to Tomcat 11.0.24 #50993
- Upgrade to UnboundID LDAPSDK 7.0.5 #50994
- Upgrade to WebJars Locator Lite 1.1.4 #50995
- Upgrade to Yasson 3.0.5 #51301
:heart: Contributors
Thank you to all the contributors who worked on this release:
@DragonFSKY, @LordKay-sudo, @MacAlsandair, @SJvaca30, @SebTardif, @codingkiddo, @dhruv-15-03, @dlwldnjs1009, @dmitrysulman, @doehyunbaek, @filiphr, @msridhar, @ngocnhan-tran1996, @nosan, @quaff, @scordio, @seonwooj0810, @vipi-n, @vvzvvv, @wantaekchoi, @xfocus3, and @yamamoto-ehhMH