Skip to content

v4.0.1

Latest

Choose a tag to compare

@spring-builds spring-builds released this 18 Dec 17:50
· 36 commits to main since this release

⚠️ Noteworthy changes

  • Hibernate has been upgraded to 7.2.0.Final in response to Hibernate 7.1 moving to limited support
  • spring-boot-starter-kotlin-serialization has been renamed to to spring-boot-starter-kotlinx-serialization-json and spring-boot-starter-kotlin-serialization-test has been renamed to spring-boot-starter-kotlinx-serialization-json-test. This change aligns the starters' names with those of their respective modules
  • Using TestRestTemplate now requires a dependency on spring-boot-restclient

🐞 Bug Fixes

  • JsonMixinModuleEntriesBeanRegistrationAotProcessor does not handle deprecated code #48564
  • JdbcSessionAutoConfiguration may not match when using the auto-configured DataSource #48552
  • @ServiceConnection for LgtmStackContainer fails when logging endpoint is configured due to multiple OtlpLoggingConnectionDetails beans #48536
  • WebApplicationType does not consider modules when deduced from classpath #48517
  • Spring Session auto-configuration fails in a war deployment as ServerProperties is not available #48493
  • Opentelemetry logging export requires actuator module #48488
  • RabbitHealthIndicator reports an error when version is missing from the connection's server properties #48487
  • Actuator Info class has inconsistent nullability annotations and cannot be built with null value #48480
  • Profiles retained during AOT processing are not configured in a native image #48476
  • Security matchers and WebServerNamespace resolution can fail with NoClassDefFoundError when used in a traditional WAR deployment #48388
  • HealthEndpointGroupMembershipValidator does not consider reactive health indicators causing NoSuchHealthContributorException to be thrown #48387
  • spring.jackson.default-property-inclusion is not applied to content inclusion #48343
  • TestRestTemplate.getRootUri() returns empty string #48330
  • Redis health check reports an error when redis_version is missing from the INFO response #48328
  • Parent's MeterRegistry beans are closed when child context closes #48325
  • HttpMessageConverters picks up converter beans for both client and server #48310
  • Conditions to auto-configure a RestClient are outdated with the modularization #48308
  • A custom JwtTypeValidator that replaces the default can no longer be configured #48301
  • PropertiesRestClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it #48296
  • SpringBootTest.UseMainMethod.WHEN_AVAILABLE and ALWAYS are incompatible with package-private or parameter-less main method #48275
  • Conditions to auto-configure RestClient-based HTTP service clients are outdated with the modularization #48274
  • Starter for Kotlinx Serialization Json is misnamed #48262
  • ApplicationServletEnvironment is no longer configured in war deployments #48254
  • RestClient.Builder bean present in @SpringBootTest due to spring-boot-starter-webmvc-test, but missing at runtime without restclient starter #48253
  • ProblemDetail is rendered to XML incorrectly #48222

📔 Documentation

  • Harmonize Kotlin example for HTTP Service client support #48577
  • Document HttpMessageConverters detection changes in 4.0.1 #48574
  • Improve javadoc for when to use class names rather than class references #48569
  • Documentation has an outdated reference to the Jackson Kotlin Module #48534
  • Caching documentation should clarify how to use a no-op implementation to run a test suite #48532
  • Document that the default rolling policy for Log4j2 requires logging.file.path to be set #48527
  • Review documentation and migration guide about changes in @AutoConfigureCache #48522
  • License header in build samples is displayed in the reference documentation #48478
  • Configuring Two DataSources How-To code sample is inconsistent #48449
  • Fix links to source files on GitHub #48398
  • Documentation contains broken links to GitHub source files #48394
  • Document that org.aspectj.weaver.Advice must be on the classpath to enable support for Micrometer's annotations #48360
  • Correct the annotation in the Kotlin @ConfigurationPropertiesSource example #48357
  • Polish TestRestTemplate examples in the reference guide #48336
  • Documentation missing for LocalTestWebServer #48333
  • Update "Creating Your Own Starter" following modularisation #48317
  • Fix links to javadoc in the reference documentation #48300
  • Update references for RestTemplateCustomizer and RestTemplateBuilder classes in documentation #48295
  • Remove modules section of the README following modularisation #48291
  • Wrong number in Graceful Shutdown chapter #48284
  • Mention new spring-boot-h2console module when describing how to use H2 Console #48278
  • Clarify that @EnableBatchProcessing turns off all batch auto-configuration, including schema initialization #48266
  • Documented replacements for spring.jackson.generator and spring.jackson.parser are inverted #48255
  • Document the need for a JdbcDialect bean when using Spring Data JDBC and AOT #48240
  • Update reference documentation as Spring Batch's resourceless infrastructure means that it no longer always requires a DataSource #48233
  • Kotlin auto-configuration examples are not annotated with @AutoConfiguration #48228
  • Revise "Use Liquibase for test-only migrations" section in reference manual #48219
  • Infinispan Cache Documentation is outdated #48218
  • Removed max-attempts properties metadata don't have replacement #48206
  • Polish documentation on testing web applications and the various testing clients that are available #47948

🔨 Dependency Upgrades

  • Upgrade to AspectJ 1.9.25.1 #48561
  • Upgrade to Elasticsearch Client 9.2.2 #48447
  • Upgrade to Groovy 5.0.3 #48460
  • Upgrade to Hibernate 7.2.0.Final #48518
  • Upgrade to Jackson Bom 3.0.3 #48462
  • Upgrade to Jetty 12.1.5 #48463
  • Upgrade to jOOQ 3.19.29 #48464
  • Upgrade to Json Path 2.10.0 #48553
  • Upgrade to Log4j2 2.25.3 #48551
  • Upgrade to MariaDB 3.5.7 #48562
  • Upgrade to Micrometer 1.16.1 #48433
  • Upgrade to Micrometer Tracing 1.6.1 #48434
  • Upgrade to MongoDB 5.6.2 #48501
  • Upgrade to Netty 4.2.9.Final #48544
  • Upgrade to Pooled JMS 3.1.8 #48563
  • Upgrade to Pulsar 4.1.2 #48465
  • Upgrade to Quartz 2.5.2 #48466
  • Upgrade to Reactor Bom 2025.0.1 #48435
  • Upgrade to Spring AMQP 4.0.1 #48436
  • Upgrade to Spring Batch 6.0.1 #48437
  • Upgrade to Spring Data Bom 2025.1.1 #48438
  • Upgrade to Spring Framework 7.0.2 #48439
  • Upgrade to Spring GraphQL 2.0.1 #48440
  • Upgrade to Spring HATEOAS 3.0.1 #48481
  • Upgrade to Spring Integration 7.0.1 #48482
  • Upgrade to Spring Kafka 4.0.1 #48441
  • Upgrade to Spring LDAP 4.0.1 #48442
  • Upgrade to Spring Pulsar 2.0.1 #48443
  • Upgrade to Spring Security 7.0.2 #48444
  • Upgrade to Spring Session 4.0.1 #48445
  • Upgrade to Testcontainers 2.0.3 #48545
  • Upgrade to Tomcat 11.0.15 #48467
  • Upgrade to UnboundID LDAPSDK 7.0.4 #48468

❤️ Contributors

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

@Nhahan, @arey, @banseok1216, @berry120, @candrews, @dmitrysulman, @geopark021, @hktechn0, @igslznev, @jwalter, @kzander91, @michaldo, @mzeijen, @ngocnhan-tran1996, @noojung, @scottfrederick, @vpavic, and @youngledo