⭐ New Features
- Support security options for CNB builder container #37479
- Support bind mounts for image building workspace #37478
- Auto-configure ObservationRegistry on JmsTemplate #37388
- Add Docker Compose service connection support for Neo4j #37379
- Remove usage of deprecated ServerHttpObservationFilter for WebFlux instrumentation #37344
- Use spring.application.name as fallback for service.name in OtlpConfig #37285
- Introduce configuration property "spring.servlet.multipart.strict-servlet-compliance" #37242
- Add ConnectionDetails and ServiceConnection support to Pulsar #37197
- Add virtual host support for Rabbit Stream #37189
- Include JdbcClientAutoConfiguration in
@JdbcTest
and@DataJpaTest
test slices #37122 - Unwrap a validator instance of specified type contained in SpringValidatorAdapter #37119
- Reduce logging in WelcomePageHandlerMapping on invalid Accept headers #37118
- Add dependency management for Kotlin Serialization #37093
- Provide a
RestClientBuilderConfigurer
for apply Boot's defaults to a customRestClient.Builder
#36265 - Add configuration property for GraphQL Schema Mapping Inspection #36252
- Upgrade to Jetty 12 #36073
- Configure virtual threads on Spring Data Redis' ClusterCommandExecutor #35942
- Add service connection from Testcontainers OpenTelemetry Collector #35082
- Add support for Spring for Apache Pulsar #34763
🐞 Bug Fixes
- When SLF4J and Logback are initialized on multiple threads in parallel, startup may fail due to SubstituteLoggerFactory being considered to be a competing LoggerFactory implementation #37485
- Saml2RelyingPartyAutoConfiguration ignores
sign-request
whenmetadata-url
is used #37483 - Leaking file descriptor / socket within DomainSocket tooling #37461
- Property 'logging.threshold.console' not working #37446
- PrivateKeyParser doesn't support ed448, XDH and RSA-PSS keys #37423
- java.lang.OutOfMemoryError: Metaspace when repeatedly deploying and undeploying a Spring Boot web application multiple times in Tomcat #37402
- RestClientSsl is not provided as a bean #37400
- "languageVersion is final and cannot be changed" when using Gradle 8.3 and configuring the Java toolchain's language version #37381
- AOT processing fails when a
@ConfigurationProperties-annotated
record has multiple constructors #37337 - SslStoreBundle implementations aren't immutable #37335
- OpenTelemetryProperties fail if opentelemetry-sdk-common is not available #37284
- Spring Boot dependency management not working for ehcache when using Gradle and the dependency management plugin #37271
- ServiceConnectionContextCustomizer can trigger docker usage during AOT processing #37194
- Parsing OCI image names that are invalid due to the use of upper case letters is very slow #37184
- Producing and consuming different tracing propagation formats doesn't work #37179
- Using https with elliptic curves other than secp384r1 fails #37171
- In 3.0.x and later, Spring Security cannot be used to secure a WebSocket upgrade request when using Jetty #37159
- Local baggage is propagated when using Brave and W3C #37157
- Default value metadata for management.otlp.metrics.export.base-time-unit is missing #37094
📔 Documentation
- Document that PKCS8 PEM files should be used whenever possible #37444
- Update Antora reference documentation links to Spring projects #37428
- Add reference to Oracle Spring Boot Starters #37412
- Add SSL section to Pulsar docs #37375
- Correct the description of spring.artemis.broker-url #37310
- Add default value metadata for management.metrics.export.signalfx.published-histogram-type #37254
- Polish javadoc #37144
- Add Javadoc since for AbstractRabbitListenerContainerFactoryConfigurer.setTaskExecutor() #37117
- Include Spring Modulith in Spring Boot Documentation #37106
- Document Welcome Page support ordering #34846
🔨 Dependency Upgrades
- Upgrade to Artemis 2.31.0 #37475
- Upgrade to Byte Buddy 1.14.8 #37429
- Upgrade to Commons DBCP2 2.10.0 #37312
- Upgrade to Couchbase Client 3.4.10 #37313
- Upgrade to Elasticsearch Client 8.10.1 #37467
- Upgrade to Flyway 9.22.1 #37389
- Upgrade to GraphQL Java 21.1 #37458
- Upgrade to Groovy 4.0.15 #37390
- Upgrade to H2 2.2.224 #37468
- Upgrade to Hibernate 6.3.1.Final #37476
- Upgrade to Infinispan 14.0.17.Final #37318
- Upgrade to Jakarta XML Bind 4.0.1 #37391
- Upgrade to Jedis 4.4.4 #37319
- Upgrade to Jetty Reactive HTTPClient 4.0.0 #37339
- Upgrade to Lombok 1.18.30 #37489
- Upgrade to MariaDB 3.2.0 #37320
- Upgrade to Maven Enforcer Plugin 3.4.1 #37321
- Upgrade to Maven Javadoc Plugin 3.6.0 #37469
- Upgrade to Micrometer 1.12.0-M3 #37226
- Upgrade to Micrometer Tracing 1.2.0-M3 #37346
- Upgrade to MSSQL JDBC 12.4.1.jre11 #37322
- Upgrade to Native Build Tools Plugin 0.9.27 #37430
- Upgrade to Neo4j Java Driver 5.12.0 #37324
- Upgrade to OpenTelemetry 1.30.1 #37347
- Upgrade to Pooled JMS 3.1.3 #37431
- Upgrade to R2DBC MySQL 1.0.3 #37470
- Upgrade to Reactor Bom 2023.0.0-M3 #37227
- Upgrade to REST Assured 5.3.2 #37327
- Upgrade to Selenium 4.12.1 #37328
- Upgrade to Selenium HtmlUnit 4.12.0 #37329
- Upgrade to SLF4J 2.0.9 #37330
- Upgrade to SnakeYAML 2.2 #37331
- Upgrade to Spring AMQP 3.1.0 #37228
- Upgrade to Spring Authorization Server 1.2.0-M1 #37229
- Upgrade to Spring Batch 5.1.0-M3 #37230
- Upgrade to Spring Data Bom 2023.1.0-M3 #37351
- Upgrade to Spring Framework 6.1.0-RC1 #37231
- Upgrade to Spring GraphQL 1.2.3 #37232
- Upgrade to Spring Integration 6.2.0-M3 #37233
- Upgrade to Spring Kafka 3.1.0-M1 #37234
- Upgrade to Spring LDAP 3.2.0 #37235
- Upgrade to Spring Pulsar 1.0.0-M2 #37454
- Upgrade to Spring Retry 2.0.3 #37281
- Upgrade to Spring Security 6.2.0 #37236
- Upgrade to Spring WS 4.0.6 #37427
- Upgrade to SQLite JDBC 3.43.0.0 #37332
- Upgrade to Thymeleaf Layout Dialect 3.3.0 #37471
- Upgrade to Tomcat 10.1.13 #37333
- Upgrade to Versions Maven Plugin 2.16.1 #37490
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Eng-Fouad, @anessi, @dependabot[bot], @dkswnkk, @eddumelendez, @fmbenhassine, @izeye, @markxnelson, @mdeinum, @onobc, @quaff, and @zpavloudis