github spring-projects/spring-boot v4.1.0-M1

pre-release5 hours ago

⚠️ Noteworthy Changes

  • The dependency on org.eclipse.jetty.ee11:jetty-ee11-servlets has been removed from spring-boot-jetty as it was unnecessary and unused. If your application code depends on a class from jetty-ee11-servlets, declare a dependency on it in your build configuration #48689

⭐ New Features

  • Automatically configure Spring AMQP's observation convention beans #48922
  • Automatically configure Spring Kafka's observation convention beans #48914
  • Add spring.data.rest.return-body-on-delete configuration property #48872
  • Provide configuration properties for Jackson read and write features that are common to multiple formats #48870
  • Allow beans created in MockRestServiceServerAutoConfiguration to be replaced by user-provided alternatives #48825
  • Introduce @AutoConfigureWebServer test annotation to support @SpringBootTest with specific classes and a random port #48815
  • Support configuring bootBuildImage's environment through the command line #48792
  • Upgrade to jOOQ 3.20 and require Java 21 to use it #48619
  • WebServiceTemplateBuilder should prevent the default MessageFactory to be created #48615
  • Remove support for the deprecated layertools jar mode #48568
  • Deprecate Derby support since Apache Derby is retired #48567
  • Reinstate support for Spock now that it supports Groovy 5 #48513
  • Remove support for deprecated Logback properties #48489
  • Use Charset instead of String for Mustache template encoding #48347
  • Support SSL (LDAPS) with embedded LDAP server #48315
  • Add property to automatically register a ContextPropagatingTaskDecorator bean #48033
  • Autoconfigure JVM and system metrics with available conventions #47935
  • Allow EntityManagerFactoryBuilder to also add PersistenceUnitPostProcessor instances #47802
  • Perform failure analysis when Testcontainers cannot find a valid Docker environment #47797
  • Add support for configuring SimpleMessageListenerContainer #47716
  • Decorate all Assert implementations with @CheckReturnValue #46766
  • Delete web servers' temporary directories when the context is closed #9983

🐞 Bug Fixes

  • No TransactionAutoConfiguration with spring-boot-starter-kafka for Spring Boot 4 #48898
  • SessionAutoConfiguration creates a DefaultCookieSerializer with a default SameSite of null instead of Lax #48861
  • Message interpolation by MVC and WebFlux's Validators does not work correctly in a native image #48844
  • RestTestClientAutoConfiguration and TestRestTemplateAutoConfiguration should be package-private #48843
  • Setting graphql schema location to "classpath*:graphql/**/" causes failure due to incorrectly packaged test resource #48842
  • Evaluation of bean conditions unnecessarily queries the bean factory for types that are not present #48841
  • When a bean condition references a type that is not present, it appears as ? in the condition evaluation report #48839
  • CloudFoundry integration fails in Servlet-based web app without a dependency on spring-boot-starter-restclient #48827
  • SSL metrics are no longer auto-configured #48824
  • Actuator /info endpoint fails in Java 25 Native Image (VirtualThreadSchedulerMXBean support) #48813
  • DataSourceBuilder cannot create oracle.ucp.jdbc.PoolDataSourceImpl in a native image #48704
  • HttpServiceClientProperties incorrectly uses the @ConfigurationProperties annotation on a LinkedHashMap class #48696
  • The spring-boot-cloudfoundry module should only have an optional dependency on spring-boot-security #48687
  • Application JAR created by extract command is not reproductible #48679
  • @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) is no longer applied to the management server #48654
  • Fix zero-length byte buffer in InspectedContent #48651
  • Micrometer test modules should have an api dependency on micrometer-observation-test #48626
  • spring-boot-micrometer-tracing-opentelemetry fails if spring-boot-opentelemetry isn't there #48586
  • App fails to start with starter-webmvc and starter-zipkin #48584
  • AOT processing of tests should not be disabled when 'skipTests' is set #46929
  • Hard-coded uses of src/main/webapp preclude any other project layouts from working #23829

📔 Documentation

  • Fix typo in REST client documentation #48919
  • Remove duplicate word #48877
  • Document support for configuring arguments passed to Docker Compose #48807
  • The documentation related to EnvironmentPostProcessor links to deprecated interface #48805
  • Document spring-boot-starter-cloudfoundry on Cloud Foundry Support Page #48797
  • Correct docs to use new location for error handling configuration properties #48771
  • Update documentation for Buildpack's AOT Cache support #48770
  • Clarify javadoc to make it clear that HazelcastConfigCustomizer beans are only applied if Hazelcast is configured via a config file #48660
  • Example using excludeDevtools property should document that optional dependencies should be enabled #48644
  • Fix grammar and typos in the reference guide #48602
  • Update Tracing section for Spring Boot 4's modularity #48582

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.2.0 #48732
  • Upgrade to Artemis 2.44.0 #48733
  • Upgrade to Byte Buddy 1.18.4 #48891
  • Upgrade to Classmate 1.7.3 #48849
  • Upgrade to Commons Codec 1.20.0 #48735
  • Upgrade to Commons DBCP2 2.14.0 #48736
  • Upgrade to Commons Lang3 3.20.0 #48737
  • Upgrade to Commons Pool2 2.13.1 #48738
  • Upgrade to Elasticsearch Client 9.2.3 #48731
  • Upgrade to Flyway 11.20.2 #48850
  • Upgrade to Hibernate 7.2.1.Final #48845
  • Upgrade to Hibernate Validator 9.1.0.Final #48741
  • Upgrade to HtmlUnit 4.21.0 #48742
  • Upgrade to HttpClient5 5.6 #48743
  • Upgrade to HttpCore5 5.4 #48744
  • Upgrade to Jackson 2 Bom 2.21.0 #48892
  • Upgrade to Jackson Bom 3.0.4 #48932
  • Upgrade to JUnit Jupiter 6.0.2 #48851
  • Upgrade to Kotlin 2.3.0 #48745
  • Upgrade to Kotlin Serialization 1.10.0 #48938
  • Upgrade to Lettuce 6.8.2.RELEASE #48860
  • Upgrade to Logback 1.5.25 #48893
  • Upgrade to Maven Assembly Plugin 3.8.0 #48746
  • Upgrade to Maven Jar Plugin 3.5.0 #48747
  • Upgrade to Maven Resources Plugin 3.4.0 #48748
  • Upgrade to Maven Source Plugin 3.4.0 #48749
  • Upgrade to Maven War Plugin 3.5.1 #48750
  • Upgrade to Micrometer 1.17.0-M1 #48722
  • Upgrade to Micrometer Tracing 1.7.0-M2 #48723
  • Upgrade to Mockito 5.21.0 #48751
  • Upgrade to Native Build Tools Plugin 0.11.4 #48912
  • Upgrade to OpenTelemetry 1.57.0 #48752
  • Upgrade to Oracle Database 23.26.0.0.0 #48753
  • Upgrade to Pooled JMS 3.2.2 #48854
  • Upgrade to Postgresql 42.7.9 #48894
  • Upgrade to R2DBC MSSQL 1.0.4.RELEASE #48846
  • Upgrade to Rabbit AMQP Client 5.28.0 #48755
  • Upgrade to Rabbit Stream Client 1.4.0 #48761
  • Upgrade to Reactor Bom 2025.0.2 #48724
  • Upgrade to Selenium 4.40.0 #48895
  • Upgrade to Selenium HtmlUnit 4.40.0 #48913
  • Upgrade to Spring AMQP 4.1.0-M1 #48800
  • Upgrade to Spring Batch 6.0.2 #48725
  • Upgrade to Spring Data Bom 2025.1.2 #48726
  • Upgrade to Spring Framework 7.0.3 #48727
  • Upgrade to Spring GraphQL 2.0.2 #48728
  • Upgrade to Spring HATEOAS 3.0.2 #48837
  • Upgrade to Spring Integration 7.1.0-M1 #48801
  • Upgrade to Spring Kafka 4.0.2 #48729
  • Upgrade to Spring Pulsar 2.0.2 #48730
  • Upgrade to Spring Security 7.1.0-M1 #48802
  • Upgrade to SQLite JDBC 3.51.1.0 #48758
  • Upgrade to Versions Maven Plugin 2.21.0 #48896
  • Upgrade to WebJars Locator Lite 1.1.3 #48855
  • Upgrade to XML Maven Plugin 1.2.1 #48897
  • Upgrade to XmlUnit2 2.11.0 #48760

❤️ Contributors

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

@Asanio06, @CatiaCorreia, @GaoSSR, @HuitaePark, @ShaunHaldane, @Zuohuang-Cai, @ddongjunn, @izeye, @michaldo, @mspiess, @ngocnhan-tran1996, @nosan, @paullee714, @philipbolting, @quaff, @scordio, and @vpavic

Don't miss a new spring-boot release

NewReleases is sending notifications on new releases.