⭐ New Features
- Use Docker CLI context to determine daemon host address for image building #36445
- Move configuration extension properties to dedicated Flyway sub-namespaces #36444
- Configure SQL Server Flyway extension only if flyway-sqlserver is available #36440
- Add property for base time unit in OTLP registry #36393
- Auto-configure Spring GraphQL's AnnotatedControllerConfigurer to use the application task executor #36388
- Configure WebFlux's support for blocking execution to use the auto-configured AsyncTaskExecutor #36331
- Deprecate DelegatingApplicationContextInitializer and DelegatingApplicationListener in favour of registering each delegate programatically or in spring.factories #36251
- Add support for RestClient #36213
- Auto-configure ObservationRegistry in ScheduledTaskRegistrar for scheduled tasks observations #36119
- Support JDK HttpClient in ClientHttpRequestFactories #36118
- Support Jetty in ClientHttpRequestFactories #36116
- Change server log message to have "port" or "ports" rather than "ports(s)" #36103
- Change B3 extraction format to single #36061
- Remove code that was deprecated in 3.0 for removal in 3.2 #36034
- Replace LoggingSystemProperties constants with an Enum #36015
- Allow key password to be set for a PemSslStoreBundle #35983
- Remove support for configuring request body buffering when using RestTemplate #35980
- Add property to limit Jetty's maximum connections #35899
- Provide a configuration property and condition to control the use of virtual threads #35892
- Support custom token validators for OAuth2 Resource Server auto-configuration #35874
- When virtual threads are enabled, auto-configure an AsyncTaskExecutor that uses them #35710
- When virtual threads are enabled, configure Tomcat to use them #35704
- When virtual threads are enabled, configure Jetty to use them #35703
- Enable providing custom OtlpHttpSpanExporter #35596
- Include the application name on each log line when it is available #35593
- Provide more control over the OTel SpanProcessors #35560
- Add auto-configuration for ObservedAspect #35191
- Deprecate auto-configuration for InfluxDB #35190
- Add service connection support for ActiveMQ #35080
- Allow WebServers to be stopped and restarted #34955
- Add a property to disable Observations starting with a prefix #34802
- Custom ObservationHandler beans need to be registered after infrastructure handlers #34399
- Automatically log correlation IDs when Micrometer tracing is being used #33280
- Create configuration property for common low cardinality KeyValues in Observations #33241
- Provide a configuration property for configuring Flyway's use of transactional locks with PostgreSQL #32629
🐞 Bug Fixes
- Native reflection hints missing for nested properties declared in a superclass #36449
- Connecting to Mongo fails with an UnknownHostException when spring.data.mongodb.additional-hosts is configured #36446
- Auto-configured ExemplarSampler bean only backs off when a DefaultExemplarSampler is defined #36430
- OTel Span is missing required attributes #36425
- Auto-configured JacksonJsonpMapper is conditional on an ObjectMapper bean but does not use such a bean #36410
- Application fails to start when
@Import
ing a@ConfigurationProperties
class that is eligible for constructor binding #36360 - Mongo auto-configuration fails when username or password properties contain a colon (
:
) or at-sign (@
) #36294 - Only one health group can be exposed using management.endpoint.health.group.xxx.additional-path=server:/newpath when using Jersey #36277
- MockitoPostProcessor doesn't check FactoryBean.OBJECT_TYPE_ATTRIBUTE correctly #36232
- ImportsContextCustomizer does not support AliasFor #36210
- Saml2RelyingPartyRegistrationConfiguration can choose the wrong RelyingPartyRegistration.Builder when using a metadata file with multiple providers #36164
- ConfigurationPropertiesReportEndpoint does not display primitive wrapper types #36161
- ConfigurationPropertyName#equals is not symmetric when element has trailing dashes #36146
- Methods in KafkaConnectionDetails are named inconsistently #36133
- ScheduledTasksEndpoint throws NPE if PeriodicTrigger is used with custom SchedulingConfigurer #36130
- Java system properties can not be applied to RestTemplate HttpClient connection in some cases #36124
- Excluding auto-configuration class that relates to a TemplateAvailabilityProvider causes property binding to fail for native images #36122
- When using Flyway 9.20.0, auto-configuration fails with a NoSuchMethodError due to the removal of Oracle-related methods from FluentConfiguration #36100
- Dependency management for Selenium 4.8.x is incorrect #36093
- Slice test annotations do not include SslAutoConfiguration #36056
@AutoConfigureObservability
has unintentional consequences on integration tests #35354@ConfigurationPropertiesBinding
converters are not invoked for target types that can be converted by ObjectToObjectConverter #34631
📔 Documentation
- Documented Servlet container system requirements are out of date #36356
- Update the javadoc of ClientHttpRequestFactories to describe the ClientHttpRequestFactory implementations that it supports #36269
- Polish formatting in "Running Spring Batch Jobs on Startup" #36234
- Improve Kubernetes liveness and readiness probes customization documentation #36220
- Document auto-configuration of underlying HTTP client when using WebClient or RestTemplate #36216
- Polish Kafka Properties Docs #36143
- Fix typo in the Using R2DBC section of the reference documentation #36140
- Document observability auto-configuration for HTTP clients #36132
- Improve documentation for baggage propagation into MDC #36113
- Add Javadoc since to ImageReference.inTaglessForm() #36055
- Fix typo in docker compose service connections note #36052
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.18.2 #36348
- Upgrade to Angus Mail 2.0.2 #35943
- Upgrade to Artemis 2.29.0 #36349
- Upgrade to Brave 5.16.0 #35944
- Upgrade to Build Helper Maven Plugin 3.4.0 #35945
- Upgrade to Cassandra Driver 4.16.0 #35946
- Upgrade to Commons Codec 1.16.0 #36350
- Upgrade to Dependency Management Plugin 1.1.2 #36437
- Upgrade to Elasticsearch Client 8.8.2 #36351
- Upgrade to Flyway 9.20.1 #36364
- Upgrade to Git Commit ID Maven Plugin 6.0.0 #35949
- Upgrade to GraphQL Java 20.4 #36365
- Upgrade to Groovy 4.0.13 #36366
- Upgrade to H2 2.2.220 #36367
- Upgrade to Hazelcast 5.3.1 #35950
- Upgrade to Hibernate 6.2.6.Final #36368
- Upgrade to Hibernate Validator 8.0.1.Final #36369
- Upgrade to Infinispan 14.0.12.Final #36370
- Upgrade to Jakarta WebSocket 2.1.1 #36371
- Upgrade to Janino 3.1.10 #36372
- Upgrade to JBoss Logging 3.5.3.Final #36373
- Upgrade to Jedis 4.4.3 #35953
- Upgrade to jOOQ 3.18.5 #36374
- Upgrade to Json-smart 2.5.0 #36375
- Upgrade to Kafka 3.5.0 #35954
- Upgrade to Kotlin 1.9.0 #36362
- Upgrade to Kotlin Coroutines 1.7.2 #36376
- Upgrade to Lettuce 6.2.5.RELEASE #36438
- Upgrade to Liquibase 4.23.0 #36377
- Upgrade to Maven Assembly Plugin 3.6.0 #35957
- Upgrade to Maven Clean Plugin 3.3.1 #36378
- Upgrade to Maven Dependency Plugin 3.6.0 #35958
- Upgrade to Maven Failsafe Plugin 3.1.2 #35959
- Upgrade to Maven Invoker Plugin 3.6.0 #35960
- Upgrade to Maven Shade Plugin 3.5.0 #35961
- Upgrade to Maven Source Plugin 3.3.0 #35962
- Upgrade to Maven Surefire Plugin 3.1.2 #35963
- Upgrade to Maven War Plugin 3.4.0 #35964
- Upgrade to Micrometer 1.12.0-M1 #36188
- Upgrade to Micrometer Tracing 1.2.0-M1 #36199
- Upgrade to Mockito 5.4.0 #35965
- Upgrade to MongoDB 4.10.2 #36379
- Upgrade to MySQL 8.1.0 #36470
- Upgrade to Native Build Tools Plugin 0.9.23 #35966
- Upgrade to Neo4j Java Driver 5.10.0 #36380
- Upgrade to OkHttp 4.11.0 #35968
- Upgrade to OpenTelemetry 1.28.0 #36381
- Upgrade to R2DBC MSSQL 1.0.2.RELEASE #36471
- Upgrade to R2DBC Postgresql 1.0.2.RELEASE #36473
- Upgrade to Rabbit AMQP Client 5.18.0 #35981
- Upgrade to Rabbit Stream Client 0.11.0 #36382
- Upgrade to Reactor Bom 2023.0.0-M1 #36300
- Upgrade to REST Assured 5.3.1 #35972
- Upgrade to Selenium 4.10.0 #35974
- Upgrade to Selenium HtmlUnit 4.10.0 #35975
- Upgrade to SnakeYAML 2.0 #35982
- Upgrade to Spring AMQP 3.0.6 #36439
- Upgrade to Spring Batch 5.1.0-M1 #36189
- Upgrade to Spring Data Bom 2023.1.0-M1 #36190
- Upgrade to Spring Framework 6.1.0-M3 #36443
- Upgrade to Spring GraphQL 1.2.2 #36191
- Upgrade to Spring HATEOAS 2.2.0-M2 #36456
- Upgrade to Spring Integration 6.2.0-M1 #36193
- Upgrade to Spring Kafka 3.0.9 #36194
- Upgrade to Spring LDAP 3.2.0-M1 #36299
- Upgrade to Spring Security 6.2.0-M1 #36195
- Upgrade to Spring Session 3.2.0-M1 #36196
- Upgrade to SQLite JDBC 3.42.0.0 #35978
- Upgrade to Tomcat 10.1.11 #36383
- Upgrade to Versions Maven Plugin 2.16.0 #35979
- Upgrade to WebJars Locator Core 0.53 #36384
- Upgrade to XML Maven Plugin 1.1.0 #36385
❤️ Contributors
Thank you to all the contributors who worked on this release:
@KitBolourchi, @Pengfei-Lu, @asashour, @bbulgarelli, @bedla, @dependabot[bot], @dkswnkk, @dreis2211, @eddumelendez, @eydunn, @garyrussell, @izeye, @johnnywiller, @jonatan-ivanov, @jstansel, @lasselindqvist, @lmartelli, @poutsma, @quaff, @romangr, @spencergibb, and @vpavic