⭐ New Features
- Add spring.validation.method.adapt-constraint-violations property #43886
- Add support for configuring the Redis database using spring.data.redis.url #43813
- Add support for detecting AWS Advanced JDBC Wrapper to DatabaseDriver #43812
- Remove APIs that were deprecated for removal in 3.5 #43788
- Switch relevant Assert calls to throw IllegalStateException rather than IllegalArgumentException #43779
- Add support for ALLOW_EMPTY_PASSWORD when using bitnami/postgresql with Docker Compose #43771
- Add marker information to ECS structured logging #43768
- Deprecate ConditionOutcome.inverse() #43739
- Introduce dedicated annotation to deal with boolean property conditions #43704
- DataSourceTransactionManagerAutoConfiguration should not enable DataSourceProperties as it does not use them #43603
- Add info contributor support for JDK 24's VirtualThreadSchedulerMXBean #43594
- Logback StructuredLogFormatter exceptions are not visible to the user #43575
- Use SQLExceptionTranslator bean if defined #43511
- Allow specifying a different management access log prefix #43434
- Ensure DefaultErrorAttributes adds JSON serialization safe errors #43330
- Add a configuration property to customize the Tomcat connector's max parameter count #43286
- Add TaskDecorator support for scheduled tasks #43190
- Tighten rules around profile naming #43176
- Make ZipkinHttpClientSender the default BytesMessageSender #43085
- Add support for Vibur DBCP connection pool to DataSourceBuilder #42903
- JacksonAutoConfiguration should retain modules registered in Jackson2ObjectMapperBuilderCustomizer with higher precedence rather than overwriting them #42836
- Stop publishing spring-boot-parent #42828
- Add spring.data.redis.lettuce.read-from property #42588
- Configure specific GraphQL schema files #42792
- Auto-configure the Postgres application_name when using Docker Compose #42460
- Expose SslBundle information via actuator metrics #42030
- GraphQL auto-configuration should not back off when existing GraphQlSource bean #33096
🐞 Bug Fixes
- Property metadata for "logging.structured.json.customizer" has incorrect type #43921
- Structured logging properties have no effect in a native image #43913
- GraylogExtendedLogFormatProperties throws NullPointerException when only 'logging.structured.gelf.host' is specified #43880
- NoClassDefFoundError when using JUnit to test a Gradle 7.6.x app that depends on spring-boot-actuator-autoconfigure but not on org.junit.platform:junit-platform-launcher #43870
- Docker Compose support for ClickHouse does not allow an empty password when ALLOW_EMPTY_PASSWORD=yes #43831
- Spring Boot 3.4 is not compatible with Gson 2.10 #43818
- docker compose ps now fails due to unknown --orphans flag with 2.23 or earlier #43718
- CapturedOutput is empty when using Log4J2 StatusLogger #43707
- Several auto-configurations are creating JMX beans unnecessarily #43706
📔 Documentation
- Document that the
@ConfigurationProperties
annotation processor cannot generate description and defaultValue metadata for external types #43930 - Fix description of management.metrics.graphql.autotime.enabled #43906
- Document that support for clean on validation error has been removed in Flyway 11 #43890
- Document 'base64:' prefix support #43836
- Document handling of
@Fallback
beans in ConditionalOnSingleCandidate's javadoc #43834 - Javadoc of DataSourceBuilder does not reference all supported types #43733
- Document that system libraries are a reason to customize the builder and switch away from builder-jammy-java-tiny #43731
- Update OpenTelemetry section in Supported Monitoring Systems to refer to OTLP instead #43730
- Consistently document the minimum supported versions of Gradle #43726
- Make application main class explicit in usage help of SpringApplicationAotProcessor #43614
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 6.1.5 #43795
- Upgrade to Artemis 2.39.0 #43666
- Upgrade to AssertJ 3.27.3 #43667
- Upgrade to Byte Buddy 1.16.1 #43892
- Upgrade to Caffeine 3.2.0 #43893
- Upgrade to Commons Codec 1.17.2 #43796
- Upgrade to Commons DBCP2 2.13.0 #43668
- Upgrade to Couchbase Client 3.7.7 #43853
- Upgrade to Flyway 11.2.0 #43894
- Upgrade to FreeMarker 2.3.34 #43671
- Upgrade to Hibernate 6.6.5.Final #43895
- Upgrade to HikariCP 6.2.1 #43672
- Upgrade to HtmlUnit 4.9.0 #43942
- Upgrade to HttpCore5 5.3.2 #43801
- Upgrade to Infinispan 15.1.4.Final #43914
- Upgrade to Jaybird 6.0.0 #43675
- Upgrade to Jersey 3.1.10 #43803
- Upgrade to jOOQ 3.19.18 #43854
- Upgrade to Kafka 3.9.0 #43676
- Upgrade to Lettuce 6.5.2.RELEASE #43677
- Upgrade to Liquibase 4.31.0 #43896
- Upgrade to Logback 1.5.16 #43679
- Upgrade to MariaDB 3.5.1 #43680
- Upgrade to Maven Invoker Plugin 3.9.0 #43681
- Upgrade to Maven Javadoc Plugin 3.11.2 #43682
- Upgrade to Micrometer 1.15.0-M1 #43757
- Upgrade to Micrometer Tracing 1.5.0-M1 #43758
- Upgrade to Mockito 5.15.2 #43683
- Upgrade to MySQL 9.2.0 #43915
- Upgrade to Netty 4.1.117.Final #43855
- Upgrade to OpenTelemetry 1.46.0 #43805
- Upgrade to Oracle Database 23.6.0.24.10 #43686
- Upgrade to Oracle R2DBC 1.3.0 #43687
- Upgrade to Postgresql 42.7.5 #43856
- Upgrade to Pulsar 3.3.4 #43897
- Upgrade to Quartz 2.5.0 #43688
- Upgrade to R2DBC MariaDB 1.3.0 #43689
- Upgrade to R2DBC MySQL 1.3.1 #43690
- Upgrade to Rabbit AMQP Client 5.24.0 #43691
- Upgrade to Rabbit Stream Client 0.21.0 #43692
- Upgrade to Reactor Bom 2024.0.2 #43759
- Upgrade to Selenium 4.28.1 #43943
- Upgrade to Selenium HtmlUnit 4.27.0 #43694
- Upgrade to Spring AMQP 3.2.2 #43760
- Upgrade to Spring Data Bom 2024.1.2 #43761
- Upgrade to Spring Framework 6.2.2 #43762
- Upgrade to Spring Integration 6.5.0-M1 #43767
- Upgrade to Spring Kafka 3.3.2 #43763
- Upgrade to Spring LDAP 3.3.0-M1 #43765
- Upgrade to Spring Pulsar 1.2.2 #43764
- Upgrade to Spring Security 6.5.0-M1 #43766
- Upgrade to SQLite JDBC 3.48.0.0 #43857
- Upgrade to Versions Maven Plugin 2.18.0 #43696
- Upgrade to Vibur 26.0 #43806
❤️ Contributors
Thank you to all the contributors who worked on this release:
@YangSiJun528, @YongGoose, @arefbehboudi, @hezean, @izeye, @jxblum, @mpalourdio, @nosan, @panic08, @quaff, @vpavic, and @wickdynex