Backend Development 9 min read

Spring Boot 3.2.1 Release Highlights: Bug Fixes, Docs, and Dependency Upgrades

This release note summarizes Spring Boot 3.2.1's extensive bug fixes, documentation updates, and a comprehensive set of dependency upgrades, providing developers with essential information to upgrade their applications safely and efficiently.

Java Architecture Diary
Java Architecture Diary
Java Architecture Diary
Spring Boot 3.2.1 Release Highlights: Bug Fixes, Docs, and Dependency Upgrades

Bug Fixes

HibernateJpaAutoConfiguration

must be applied before

DataSourceTransactionManagerAutoConfiguration

(issue #38880).

Duplicate

META-INF

entries under

BOOT-INF/classes

cause "Conflicting persistence unit definitions" errors (issue #38862).

When using

log4j2

, the property

logging.include-application-name

is ineffective (issue #38847).

Using Pulsar Client 3.1.0 can trigger an

IllegalStateException

due to authentication parameter properties (issue #38839).

Sub‑contexts created with

SpringApplicationBuilder

run the parent’s runner (issue #38837).

When the new loader implements

requiresUnpack

, signed JARs lose

getSigners()

information (issue #38833).

TestContainers parallel initialization may not work correctly (issue #38831).

Closing cached JARs in

StaticResourceJars

can throw a Zip file closed exception (issue #38770).

Multi‑byte filenames in compressed files may cause

ZipString.hash

to enter an infinite loop (issue #38751).

Gradle 8.6‑milestone‑1 "bootJar" task fails with "Failed to get permissions" (issue #38741).

Custom binding converters are ignored when using collection types (issue #38734).

WebFlux and resource‑server auto‑configuration may fail due to an empty authentication manager (issue #38713).

Docker Compose services are not reported as not started when some are already running (issue #38661).

Spring Boot JAR launcher fails in directories containing certain characters (issue #38660).

Unused SSL bundles eagerly throw

FileNotFoundException

(issue #38659).

NoUniqueBeanDefinitionFailureAnalyzer

does not consider missing "-parameters" as a possible cause (issue #38652).

Tracing is propagated even when tracing is disabled (issue #38641).

JMS listener observation support lacks registration auto‑configuration (issue #38613).

Class loading failures on interrupted threads prevent Mongo from detecting cluster changes (issue #38611).

Failures caused by missing "-parameters" compilation are hard to identify (issue #38603).

System SSL certificates are not used by

RestTemplate

built with

RestTemplateBuilder

(issue #38600).

Using specific nested JARs can cause

ZipFileSystem

to throw "java.util.zip.ZipException: read CEN tables failed" (issue #38595).

Inability to split and reassemble nested JAR URLs leads to errors in projects like JobRunr (issue #38592).

Binary incompatibility may cause

Session.getCookie()

to throw

NoSuchMethodError

(issue #38589).

management.metrics.tags

is deprecated without a universal replacement (issue #38583).

org.springframework.boot.loader.zip.ZipContent$Loader

may throw

NegativeArraySizeException

(issue #38572).

From 3.1.5 to 3.2.0, the "Default" Tracer is no longer provided in tests (issue #38568).

TomcatWebServer does not close sockets of additional connectors on shutdown (issue #38564).

When using

@SpringBootTest

with a separate management port and mock web environment, the port may already be in use (issue #38554).

Keep‑alive attribute can cause the processAot step to never complete (issue #38531).

Setting

spring.task.scheduling.shutdown.await-termination-period

does not invoke

SimpleAsyncTaskScheduler#taskTerminationTimeout

(issue #38530).

Setting

spring.task.execution.shutdown.await-termination-period

does not invoke

SimpleAsyncTaskExecutor#taskTerminationTimeout

(issue #38528).

classLoader.getResource("")

returns an empty nested URL, causing

ClassPathResource

failure (issue #38524).

Spring Boot 3.2 is incompatible with older Liquibase versions (issue #38522).

Controller‑level exceptions are not recorded in HTTP server request metrics (issue #33731).

Documentation

Corrected spelling errors (issue #38879).

Added LangChain4J Spring Boot Starter to the community starter list (issue #38776).

Updated prerequisite documentation for Docker Compose support (issue #38764).

Updated Dynatrace documentation links (issue #38725).

Fixed reference to Jetty HTTP/2 server module (issue #38632).

Corrected Observation Filter documentation (issue #38586).

Restored mention of

testAndDevelopmentOnly

when using Testcontainers for development (issue #38571).

Dependency Upgrades

AspectJ to 1.9.21

Dropwizard Metrics to 4.2.23

Groovy to 4.0.16

Hibernate to 6.4.1.Final

HttpClient5 to 5.2.3

HttpCore5 to 5.2.4

Janino to 3.1.11

Jaybird to 5.0.3.java11

Jersey to 3.1.5

Jetty to 12.0.5

Kafka to 3.6.1

Kotlin to 1.9.21

Kotlin Serialization to 1.6.2

Logback to 1.4.14

Maven Javadoc Plugin to 3.6.3

Micrometer to 1.12.1

Micrometer Tracing to 1.2.1

Netty to 4.1.104.Final

Pulsar Reactive to 0.5.1

R2DBC Postgresql to 1.0.3.RELEASE

R2DBC Proxy to 1.1.3.RELEASE

Reactor Bom to 2023.0.1

Spring AMQP to 3.1.1

Spring Authorization Server to 1.2.1

Spring Data Bom to 2023.1.1

Spring Framework to 6.1.2

Spring Integration to 6.2.1

Spring Kafka to 3.1.1

Spring LDAP to 3.2.1

Spring Pulsar to 1.0.1

Spring Retry to 2.0.5

Spring Security to 6.2.1

Spring Session to 3.2.1

Spring WS to 4.0.9

Tomcat to 10.1.17

UnboundID LDAPSDK to 6.0.11

Javabackend developmentSpring BootBug FixesRelease NotesDependency Upgrade
Java Architecture Diary
Written by

Java Architecture Diary

Committed to sharing original, high‑quality technical articles; no fluff or promotional content.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.