-
Notifications
You must be signed in to change notification settings - Fork 41k
Spring Boot 3.5.0 M2 Release Notes
Pushing metrics to a Prometheus Pushgateway now requires io.prometheus:prometheus-metrics-exporter-pushgateway
instead of io.prometheus:simpleclient_pushgateway
.
The new client’s Pushgateway support may also require a configuration change.
If you were using management.prometheus.metrics.export.pushgateway.base-url
, replace it with management.prometheus.metrics.export.pushgateway.address
and adjust the value to be in the form host:port
.
Three new properties have been added in support of the new Pushgateway client:
-
management.prometheus.metrics.export.pushgateway.format
-
management.prometheus.metrics.export.pushgateway.scheme
-
management.prometheus.metrics.export.pushgateway.token
Set the scheme
property to https
to use SSL when pushing metrics.
Set the token
property (instead of the existing username
and password
properties) to use token-based authentication.
Set the format
property to text
to push metrics as text rather than using protobuf.
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
When using the spring-boot-configuration-processor
, the META-INF/additional-spring-configuration-metadata.json
file can now be used to ignore properties:
{
"ignored": {
"properties": [
{
"name": "my.age"
}
]
}
}
This removes my.age
from the generated spring-configuration-metadata.json
file.
Additionally, the information that my.age
has been ignored is also recorded in the generated spring-configuration-metadata.json
file.
While it was already possible to load a single property from an environment variable, it’s now possible to load multiple properties from a single environment variable.
For example, the multi-line environment variable MY_CONFIGURATION
with this content:
my.var1=value1
my.var2=value2
can now be imported using the env:
prefix:
spring.config.import=env:MY_CONFIGURATION
After this, my.var1
and my.var2
are available in the Environment
.
This feature supports properties and yaml format. For more details, please see the documentation.
Spring Boot 3.5.0-M2 moves to new versions of several Spring projects:
TBD
Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:
TBD
Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:
-
If
io.micrometer:micrometer-java21
is on the classpath, aVirtualThreadsMetrics
bean is now auto-configured. -
The
java.home
system property is no longer used when running in native image. -
The new property
spring.jooq.config
can be used to specify an external jOOQ settings.xml file or resource. -
New factory methods have been added to
SslManagerBundle
to create aSslManagerBundle
from aTrustManagerFactory
or from aTrustManager
. -
The
logging.structured.json.customizer
properties now accepts more than one customizer. -
A new
spring.r2dbc.pool.acquire-retry`
property has been added. -
@ConditionalOnBean
now supports generic@Bean
return types -
@ConditionalOnProperty
and@ConditionalOnBooleanProperty
are now@Repeatable
-
Some unbindable properties with the prefixes
spring.datasource.dbcp2
,spring.datasource.hikari
,spring.datasource.oracleucp
andspring.datasource.tomcat
have been removed fromspring-configuration-metadata.json
. -
The new property
spring.mvc.contentnegotiation.default-content-types
can be used to configure default content types with Spring MVC. -
EndpointRequest
for both servlet and reactive stacks now supports matching on HTTP method.
-
Support for SignalFX has been deprecated, following the deprecation in Micrometer.
-
org.springframework.boot.autoconfigure.security.servlet.RequestMatcherProvider
has been deprecated to move it toorg.springframework.boot.autoconfigure.security.servlet.RequestMatcherProvider