⭐ New Features
- Auto-configure TypeDefinitionConfigurer beans for GraphQL apps #39118
- Create multiple registrations for beans that implement multiple Servlet API contracts #39056
- Remove APIs that were deprecated for removal in 3.3 #39039
- Remove dependency management for Dropwizard Metrics #39034
- Add configuration property "spring.task.execution.pool.shutdown.accept-tasks-after-context-close" #38968
- Autoconfigure Undertow/XNIO for virtual thread support #38819
- Add client-id and subscription-durable properties for JMS connections #38817
- Add property for maximum number of reactive sessions #38703
- Add support for the
@SpanTag
annotation #38662 - Add configuration option for path inclusion in DefaultErrorAttributes #38619
- Add configuration properties for cluster-level failover with Apache Pulsar #38559
- Change Health.down(Exception) factory method to Health.down(Throwable), aligning with Health.Builder.down(Throwable) #38550
- Make spring.config.activate.on-cloud-platform=none match when the current cloud platform is null #38510
- Add ProcessInfoContributor #38371
- Add possibility to configure a custom ExecutionContextSerializer in BatchAutoConfiguration #38328
- Remove deprecated support for FailureAnalyzer setter injection #38322
- Use unknown_service as default application name for OpenTelemetry #38219
- Auto-configure a JwtAuthenticationConverter #38105
- Fail configuration property metadata processing when additional metadata has unexpected content #37597
- Add local and tag correlation fields #37435
- Use request.requestPath().value() to populate path error attribute with WebFlux #37269
- Improve log messages to use the singular or plural forms instead of "noun(s)" #37017
- Add 'observation-enabled' properties for RabbitMQ #36451
- Make WebServers' started log messages more consistent #36149
- Add property to configure the queue size for Tomcat #36087
🐞 Bug Fixes
- Even when spring.security.user.name or spring.security.user.password has been configured, user details auto-configuration still backs off when resource server is on the classpath #39239
- JarEntry.getComment() returns incorrect result from NestedJarFile instances #39226
- Oracle OJDBC BOM version is flagged not for production use #39225
- MockRestServiceServerAutoConfiguration with RestTemplate and RestClient together throws incorrect exception #39198
- SslBundle implementations do not provide useful toString() results #39168
- Mixing PEM and JKS certificate material in server.ssl properties does not work #39159
- Containers are not started when using
@ImportTestcontainers
#39151 - Having AspectJ and Micrometer on the classpath is not a strong enough signal to enable support for Micrometer observation annotations #39132
- Actuator endpoints with no operations that use selectors are not accessible when mapped to / #39123
- spring-boot-maven-plugin repackage uber jar execution fails when jar is put on WSL network drive #39121
- Spring Boot 3.2 app that uses WebFlux, Security, and Actuator may fail to start due to a missing authentication manager #39117
@ConfigurationPropertiesBinding
converters that rely on initial CharSequence to String conversion no longer work #39115- management.observations.http.server.requests.name no longer has any effect #39106
- Configuring server.jetty.max-connections has no effect #39080
- spring.rabbitmq.listener.stream.auto-startup property has no effect #39079
- Connection leak when using jOOQ and spring.jooq.sql-dialect has not been set #39077
- Error mark in the log message for PatternParseException is in the wrong place #39076
- Manifest attributes cannot be resolved with the new loader implementation #39071
📔 Documentation
- Improve "Sanitize Sensitive Values" section in reference documentation #39200
- Update CRaC support status link #39173
- Fix link to Log4j2's JDK logging adapter documentation #39172
- Document virtual threads limitations #39169
- Polish reference documentation #39157
- Use the term "tags" in documentation consistently #39152
- Update links to Micrometer docs in metrics section of reference docs #39150
- Remove entry for OCI starter as it is no longer maintained #39145
- Correct the documentation on injecting dependencies into FailureAnalyzer implementations #39101
- Fix typos #38983
🔨 Dependency Upgrades
- Upgrade to AssertJ 3.25.1 #38997
- Upgrade to Brave 5.17.1 #39201
- Upgrade to Build Helper Maven Plugin 3.5.0 #38999
- Upgrade to Byte Buddy 1.14.11 #39000
- Upgrade to Classmate 1.7.0 #39001
- Upgrade to Commons DBCP2 2.11.0 #39002
- Upgrade to Commons Lang3 3.14.0 #39003
- Upgrade to Groovy 4.0.17 #39005
- Upgrade to HikariCP 5.1.0 #39006
- Upgrade to InfluxDB Java 2.24 #39008
- Upgrade to Jackson Bom 2.16.1 #39009
- Upgrade to JMustache 1.16 #39011
- Upgrade to jOOQ 3.19.2 #39202
- Upgrade to Kotlin 1.9.22 #39013
- Upgrade to Lettuce 6.3.1.RELEASE #39203
- Upgrade to Liquibase 4.25.1 #39014
- Upgrade to Log4j2 2.22.1 #39015
- Upgrade to MariaDB 3.3.2 #39146
- Upgrade to MariaDB 3.3.2 #39016
- Upgrade to Maven Compiler Plugin 3.12.1 #39017
- Upgrade to Maven Failsafe Plugin 3.2.5 #39204
- Upgrade to Maven Surefire Plugin 3.2.5 #39205
- Upgrade to Micrometer 1.12.2 #39097
- Upgrade to Micrometer Tracing 1.2.2 #39098
- Upgrade to Mockito 5.9.0 #39206
- Upgrade to MySQL 8.3.0 #39147
- Upgrade to Neo4j Java Driver 5.15.0 #39022
- Upgrade to Netty 4.1.105.Final #39207
- Upgrade to OpenTelemetry 1.33.0 #39023
- Upgrade to Oracle R2DBC 1.2.0 #39024
- Upgrade to Postgresql 42.7.1 #39025
- Upgrade to Pulsar 3.1.2 #39026
- Upgrade to Pulsar Reactive 0.5.2 #39208
- Upgrade to R2DBC MySQL 1.0.6 #39209
- Upgrade to R2DBC Postgresql 1.0.4.RELEASE #39210
- Upgrade to R2DBC Proxy 1.1.4.RELEASE #39211
- Upgrade to Rabbit AMQP Client 5.20.0 #39027
- Upgrade to Rabbit Stream Client 0.15.0 #39028
- Upgrade to Reactor Bom 2023.0.2 #38986
- Upgrade to REST Assured 5.4.0 #39029
- Upgrade to Selenium 4.16.1 #39030
- Upgrade to SendGrid 4.10.1 #39031
- Upgrade to SLF4J 2.0.11 #39212
- Upgrade to Spring Authorization Server 1.3.0-M1 #38987
- Upgrade to Spring Data Bom 2023.1.2 #38988
- Upgrade to Spring Framework 6.1.3 #38989
- Upgrade to Spring Pulsar 1.0.2 #38995
- Upgrade to Spring Security 6.3.0-M1 #38990
- Upgrade to Spring Session 3.3.0-M1 #38991
- Upgrade to Spring WS 4.0.10 #39131
- Upgrade to SQLite JDBC 3.44.1.0 #39033
- Upgrade to Tomcat 10.1.18 #39213
❤️ Contributors
Thank you to all the contributors who worked on this release:
@724thomas, @BenchmarkingBuffalo, @FBibonne, @JohnNiang, @OlgaMaciaszek, @Wzy19930507, @adispezo, @amparab, @anavrotski, @asashour, @cachescrubber, @dreis2211, @jonatan-ivanov, @kzander91, @lenin-jaganathan, @okohub, @onobc, @quaff, @sdeleuze, @skcskitano, @swamymavuri, @tobias-lippert, and @ykardziyaka