What’s New in Spring Boot 3.1.4? Features, Bug Fixes, and Dependency Upgrades
Spring Boot 3.1.4 is now available on Maven Central, adding Java 21 support, a new JavaVersion enum entry, dozens of bug fixes, documentation improvements, and a long list of dependency upgrades for developers building modern backend applications.
Spring Boot 3.1.4 has been released and is now available from Maven Central.
start.spring.io now officially supports Java 21.
Version 3.1.4 includes 50 bug fixes, documentation improvements, and dependency upgrades.
⭐ New Feature
Added TWENTY_ONE to the JavaVersion enum for Java 21 support (#37364).
🐞 Bug Fixes
Startup may fail when SLF4J and Logback are initialized concurrently because SubstituteLoggerFactory is seen as a competing LoggerFactory implementation (#37484).
Saml2RelyingPartyAutoConfiguration ignores sign‑request when metadata‑url is used (#37482).
File descriptor/socket leak in DomainSocket utilities (#37460).
Invalid Accept header triggers HTTP 500 in WelcomePageHandlerMapping (#37457).
PrivateKeyParser does not support ed448, XDH, and RSA‑PSS keys (#37422).
Gradle 8.3 with a configured Java toolchain language version throws “languageVersion is final, cannot be changed” (#37380).
AOT processing fails when a @ConfigurationProperties record has multiple constructors (#37336).
Spring Boot dependency management does not apply to ehcache when using Gradle and the dependency‑management plugin (#37270).
SslStoreBundle implementation is not immutable (#37222).
Parsing OCI image names with uppercase letters is extremely slow (#37183).
Propagation of different tracing formats for producer and consumer does not work (#37178).
HTTPS fails with elliptic curves other than secp384r1 (#37169).
Spring Security cannot protect WebSocket upgrade requests when Jetty is used in 3.0.x and later (#37158).
Local baggage is propagated when using Brave and W3C (#37156).
ServiceConnectionContextCustomizer may trigger Docker usage during AOT processing (#37097).
Repeated deployment and undeployment of a Spring Boot web app on Tomcat can cause java.lang.OutOfMemoryError: Metaspace (#37096).
logging.threshold.console property has no effect (#36741).
📔 Documentation
Records should use PKCS8 PEM files whenever possible (#37443).
Add Oracle Spring Boot Starters reference (#37411).
Correct description of spring.artemis.broker‑url (#37309).
Add default metadata for management.metrics.export.signalfx.published‑histogram‑type (#37253).
Javadoc improvements (#37143).
🔨 Dependency Upgrades
Byte Buddy 1.14.8 (#37419).
Couchbase Client 3.4.10 (#37297).
Groovy 4.0.15 (#37386).
Hibernate 6.2.9.Final (#37465).
Infinispan 14.0.17.Final (#37299).
Jakarta XML Bind 4.0.1 (#37387).
Jetty 11.0.16 (#37300).
Lombok 1.18.30 (#37488).
Micrometer 1.11.4 (#37261).
Micrometer Tracing 1.1.5 (#37262).
Native Build Tools plugin 0.9.27 (#37420).
Neo4j Java Driver 5.12.0 (#37353).
Pooled JMS 3.1.3 (#37421).
R2DBC MySQL 1.0.3 (#37466).
Reactor Bom 2022.0.11 (#37263).
REST Assured 5.3.2 (#37303).
SLF4J 2.0.9 (#37304).
Spring AMQP 3.0.9 (#37264).
Spring Data Bom 2023.0.4 (#37350).
Spring Framework 6.0.12 (#37265).
Spring GraphQL 1.2.3 (#37266).
Spring Integration 6.1.3 (#37267).
Spring Kafka 3.0.11 (#37305).
Spring Retry 2.0.3 (#37280).
Spring Security 6.1.4 (#37424).
Spring WS 4.0.6 (#37425).
Tomcat 10.1.13 (#37306).
PIG, a rapid micro‑service development platform based on Spring Boot 3.1, Spring Cloud 2022, Alibaba, and Spring Authorization Server, has been adapted to Spring Boot 3.1.4 and supports running on Java 21 (use the jdk17‑dev branch). Source code is available for reference. Deployment documentation: https://wiki.pig4cloud.com
Java Architecture Diary
Committed to sharing original, high‑quality technical articles; no fluff or promotional content.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.