⭐ New Features
- Add value alias to
@ConditionalOnAvailableEndpoint
and migrate simple conditions #41969 - Auto-configure remote fields on BraveBaggageManager #41884
- Add support for Pulsar default tenant/namespace #41851
- Add TWENTY_THREE to JavaVersion enum #41717
- When virtual threads are enabled, configure Spring Integration's task scheduler to use them #41695
- Support multiple Docker Compose files #41691
- GraphQL should reply with HTTP 415 for unsupported content type #41675
- Automatically disable banner when using structured logging #41659
- Make properties for the application's version and PID available in the Environment #41604
- Update
@ConditionalOnSingleCandidate
to deal with fallback beans #41580 - Improve property support for SAML private keys and certificates #41567
- Add support for grafana/otel-lgtm and LgtmStackContainer from Service Connection #41551
- Add support for CNB platform API version 0.14 #41549
- Allow PemContent.of to work with untrimmed content #41540
- Provide auto-configuration for authenticating with Couchbase using a client certificate #41520
- Refine structured logging support #41491
- Shut down Reactor Schedulers for WAR deployments #41548
- Add SslInfoContributor and SslHealthIndicator #41205
- Rework Cloud Foundry actuator support behind a pluggable abstraction #41135
- Add platform option for image building #40944
- Introduce an ApplicationProperties class so that we can stop binding directly to SpringApplication #40592
- Auto-configure HandlerMethodArgumentResolvers on AnnotatedControllerConfigurer #40393
- Automatically activate health probes in Cloud Foundry environments #39804
- Support
@Name
with JavaBean-based configuration properties #39452 - Make DataSourceBuilder be able to derive driverClassName from a URL #39376
- Make it easier to define a bean in addition to an auto-configured bean of the same type #22403
- Add execution metadata to scheduled tasks actuator endpoint #17585
- Make it easier to use the auto-configured EntityManagerFactoryBuilder with Hibernate-specific properties #15318
- Perform failure analysis when a unique CacheManager bean cannot be found #13348
- Provide a callback for customising Freemarker variables #8965
- Add support for enum default values in configuration processor #7562
🐞 Bug Fixes
- When using WebFlux, server.error.include-binding-errors=ALWAYS no longer has an effect when the BindingResult exception is the cause of a ResponseStatusException #41988
- PropertiesLauncher does not respect classpath.idx when adding jars in BOOT-INF/lib to the classpath #41971
- Web extension for SBOM endpoint isn't available under /cloudfoundryapplication #41891
- Launcher's ClassLoader is no longer parallel capable #41874
- spring-boot-testcontainers causes unwanted container initialization during AOT processing #41860
- DynamicPropertyRegistry in
@Bean-method
fails with spring-boot-testcontainers dependency in classpath (3.4.0-M1) #41839 - ReactiveElasticsearchRepositoriesAutoConfiguration should back off when Reactor is not on the classpath #41681
- mvn spring-boot:build-image fails when 'classifier' is set to non-default value #41662
- Spring Boot Maven plugin AOT cannot handle Maven modules with module-info.java #41648
- Docker publishRegistry in Maven plugin configuration is validated when publish option is false #41642
- Some
@ControllerEndpoint
and@RestControllerEndpoint
infrastructure remains undeprecated #41620 - Using Gradle's new file permission API is implemented in a way that prevents removal of the old API #41608
- Constructor binding of EnumMap fails due to missing key type #41564
@ConditionalOnBean
matches beans that are not autowire candidates resulting in UnsatisfiedDependencyException when an attempt is made to inject the bean #41526- Configuration properties enabled in a child context are ignored if an ancestor context has already enabled the properties #41487
📔 Documentation
- Release type conditionals are not working in documentation #41994
- Improve documented logging property descriptions and default values #41990
- Explain that enabling virtual threads disables traditional thread pools #41977
- Harmonize code sample for MyUserHandler in reference documentation #41950
- Document when environment variable property mapping applies #41946
- Javadoc of slice test annotations should describe more accurately which components are considered #41936
- Fix duplicate words #41921
- Correct grammar in 'Running your Application with Maven' #41869
- Document the need to explicitly reset mock servers when using mock server customizers directly #41850
- Document more clearly that username and password are not used when spring.data.redis.url is set #41749
- Fix typo in Grafana Connection Details #41705
- Document that spring-boot:repackage should not be run from the command-line #41696
- Pulsar configuration does not have default value for several entries in the metadata #41684
- management.otlp.metrics.export.aggregation-temporality does not have a default value in the metadata #41677
- server.error.include-path does not have a default value in the metadata #41673
- management.newrelic.metrics.export.client-provider-type does not have a default value in the metadata #41671
- The effect upon Actuator of defining your own SecurityFilterChain is documented inconsistently #41639
- Update link to documentation for log4j-spring-boot #41623
- Add hint for new dependencies required for Flyway #41595
- Fix link to Flyway reference documentation #41594
- Document configuration property binding's support for using
@Name
to customize a property name #41586 - Document unsupported configuration properties in Freemarker WebFlux #11199
🔨 Dependency Upgrades
- Bump fast-xml-parser from 4.4.0 to 4.4.1 in /antora #41658
- Upgrade to ActiveMQ 6.1.3 #41793
- Upgrade to Artemis 2.36.0 #41794
- Upgrade to Awaitility 4.2.2 #41708
- Upgrade to Byte Buddy 1.14.19 #41893
- Upgrade to Commons Lang3 3.16.0 #41795
- Upgrade to Couchbase Client 3.7.2 #41894
- Upgrade to CycloneDX Maven Plugin 2.8.1 #41796
- Upgrade to cyclonedx-gradle-plugin 1.10.0 #41956
- Upgrade to Flyway 10.17.1 #41924
- Upgrade to H2 2.3.232 #41895
- Upgrade to Hazelcast 5.5.0 #41798
- Upgrade to Hibernate 6.6.0.Final #41931
- Upgrade to HtmlUnit 4.4.0 #41799
- Upgrade to Infinispan 15.0.7.Final #41800
- Upgrade to Jakarta Servlet JSP JSTL 3.0.1 #41896
- Upgrade to Jersey 3.1.8 #41801
- Upgrade to Jetty 12.0.12 #41829
- Upgrade to Jetty Reactive HTTPClient 4.0.6 #41802
- Upgrade to jOOQ 3.19.11 #41897
- Upgrade to JUnit Jupiter 5.11.0 #41898
- Upgrade to Kafka 3.8.0 #41803
- Upgrade to Kotlin 1.9.25 #41804
- Upgrade to Liquibase 4.29.1 #41805
- Upgrade to Logback 1.5.7 #41892
- Upgrade to MariaDB 3.4.1 #41806
- Upgrade to Maven Deploy Plugin 3.1.3 #41962
- Upgrade to Maven Failsafe Plugin 3.4.0 #41963
- Upgrade to Maven Install Plugin 3.1.3 #41964
- Upgrade to Maven Javadoc Plugin 3.8.0 #41807
- Upgrade to Maven Surefire Plugin 3.4.0 #41965
- Upgrade to Micrometer 1.4.0-M2 #41750
- Upgrade to Micrometer Tracing 1.4.0-M2 #41751
- Upgrade to MongoDB 5.1.3 #41808
- Upgrade to MSSQL JDBC 12.8.0.jre11 #41809
- Upgrade to Neo4j Java Driver 5.23.0 #41756
- Upgrade to Netty 4.1.112.Final #41810
- Upgrade to OpenTelemetry 1.41.0 #41811
- Upgrade to Oracle Database 23.5.0.24.07 #41812
- Upgrade to Pulsar 3.3.1 #41813
- Upgrade to Pulsar Reactive 0.5.7 #41899
- Upgrade to Rabbit Stream Client 0.17.0 #41900
- Upgrade to Reactor 2024.0.0-M5 #41752
- Upgrade to RxJava3 3.1.9 #41901
- Upgrade to Selenium 4.23.1 #41814
- Upgrade to Selenium HtmlUnit 4.23.0 #41815
- Upgrade to SLF4J 2.0.16 #41816
- Upgrade to Spring AMQP 3.2.0-M2 #41823
- Upgrade to Spring Authorization Server 1.4.0-M1 #41758
- Upgrade to Spring Data Bom 2024.0.3 #41902
- Upgrade to Spring Framework 6.2.0-M7 #41753
- Upgrade to Spring HATEOAS 2.3.2 #41903
- Upgrade to Spring Integration 6.4.0-M2 #41822
- Upgrade to Spring Kafka 3.3.0-M2 #41821
- Upgrade to Spring LDAP 3.2.6 #41754
- Upgrade to Spring Pulsar 1.2.0-M1 #41759
- Upgrade to Spring Retry 2.0.8 #41955
- Upgrade to Spring Security 6.4.0-M3 #41986
- Upgrade to Spring Session 3.4.0-M2 #41760
- Upgrade to SQLite JDBC 3.46.1.0 #41966
- Upgrade to Testcontainers 1.20.1 #41818
- Upgrade to Tomcat 10.1.28 #41819
- Upgrade to Yasson 3.0.4 #41820
❤️ Contributors
Thank you to all the contributors who worked on this release:
@BenchmarkingBuffalo, @PiyalAhmed, @Rajin9601, @cms04, @dreis2211, @eddumelendez, @facewise, @hyunmin0317, @ivamly, @jmewes, @jonatan-ivanov, @jxblum, @lamtrinhdev, @maxhov, @ngocnhan-tran1996, @nkolosnjaji, @onobc, @quaff, @ritzykey, and @ronaldmik