-
Notifications
You must be signed in to change notification settings - Fork 40.7k
Spring Boot 3.4.0 M3 Release Notes
The @AutoConfigureTestDatabase
annotation now attempts to detect if a database has been sourced from a container.
This should remove the need to add replace=Replace.NONE
if you want to use the annotation with container databases.
If you need to revert to the old behavior, set replace=Replace.AUTO_CONFIGURED
on the annotation.
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
Now that ActiveMQ Classic supports an embedded broker again, the auto-configuration has been updated to support it.
Note that contrary to Spring Boot 2.7.x, the ActiveMQ starter is client only. To use the embedded broker, org.apache.activemq:activemq-broker
should be added to your application.
A new PulsarContainerFactoryCustomizer
interface has been added to support customization of the auto-configured PulsarContainerFactory
.
The spring.pulsar.consumer.subscription.name
configuration property now applies to the auto-configured Pulsar listener container.
Two new configuration properties for configuring the Pulsar client’s concurrency have been introduced:
- spring.pulsar.client.threads.io
controls the number of threads to be used for handling connections to brokers.
- spring.pulsar.client.threads.listener
controls the number of threads to be used for message listeners.
Lastly, the new spring.pulsar.listener.concurrency
property can be used to control the concurrency of the auto-configured Pulsar message listener container.
It’s now possible to send OTLP spans over the gRPC transport. For this, set the new configuration property management.otlp.tracing.transport
to grpc
. This property defaults to http
. Service connection support for this has been added, too.
Docker Compose and Testcontainers support has been added for OTLP logging.
Structured logging now supports Graylog Extended Log Format (GELF).
To make it easier to evolve auto-configuration, support for deprecating and replacing auto-configuration classes has been introduced.
Replacements can be declared in a new META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.replacements
file.
To learn more, please refer to the reference documentation.
Spring Boot 3.4.0-M3 moves to new versions of several Spring projects:
-
Spring AMQP 3.2.0-M3
-
Spring Authorization Server 1.4.0-M2
-
Spring Batch 5.2.0-M1
-
Spring Data 2024.1.0-M1
-
Spring Framework 6.2.0-RC1
-
Spring HATEOAS 2.4.0-RC1
-
Spring Kafka 3.3.0-M3
-
Spring Integration 6.4.0-M3
-
Spring Pulsar 1.2.0-M2
-
Spring Security 6.4.0-M4
Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:
-
Artemis 2.37
-
Elasticsearch Client 8.15
-
Jedis 5.1
-
Flyway 10.18
-
Lettuce 6.4
-
Log4j 2.24
-
Micrometer 1.14.0-M3
-
Micrometer Tracing 1.4.0-M3
-
Mockito 5.13
-
OpenTelemetry 1.42
-
R2DBC MySQL 1.3
-
Rabbit AMQP Client 5.22
-
Reactor 2024.0.0-M6
-
Selenium 4.24
Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:
-
A new configuration property,
spring.data.web.pageable.serialization-mode
, for configuring Spring Data Web’s serialization mode has been added. -
When using the
SpringApplication.from(…)
syntax, it’s now possible to specify the additional profiles to activate. -
The Spring Boot plugin no longer sets
BP_NATIVE_IMAGE: true
in the buildpack environment. -
Registered
@ConfigurationProperties
beans now respect@DependsOn
,@Description
,@Fallback
,@Lazy
,@Primary
,@Scope
and@Role
annotations. -
Grafana LGTM support has been added to
OtlpLoggingConnectionDetails
for Testcontainer and Docker Compose -
Log4j2’s
MultiFormatStringBuilderFormattable
is now supported in structured logging -
Support for Testcontainer’s
RedisContainer
has been added -
A new configuration property,
spring.jms.listener.max-messages-per-task
, for configuring the maximum number of messages a listener processes in one task has been added. -
The default security configuration now exposes health groups mapped to additional paths. In addition, both
EndpointRequest
classes now offertoAdditionalPaths(…)
methods.
-
Deprecated
org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails#getUrl()
in favor ofgetUrl(Transport)
-
Deprecated
org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration
in favor oforg.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryTracingAutoConfiguration