Releases: spring-projects/spring-boot
v3.0.11
⭐ New Features
- Add TWENTY_ONE to JavaVersion enum #37363
🐞 Bug Fixes
- Saml2RelyingPartyAutoConfiguration ignores
sign-request
whenmetadata-url
is used #37481 - When SLF4J and Logback are initialized on multiple threads in parallel, startup may fail due to SubstituteLoggerFactory being considered to be a competing LoggerFactory implementation #37477
- Leaking file descriptor / socket within DomainSocket tooling #37459
- Invalid Accept header produces HTTP 500 in WelcomePageHandlerMapping #37456
- PrivateKeyParser doesn't support ed448, XDH and RSA-PSS keys #37413
- "languageVersion is final and cannot be changed" when using Gradle 8.3 and configuring the Java toolchain's language version #37343
- Spring Boot dependency management not working for ehcache when using Gradle and the dependency management plugin #37243
- Parsing OCI image names that are invalid due to the use of upper case letters is very slow #37182
- Using https with elliptic curves other than secp384r1 fails #37168
- Producing and consuming different tracing propagation formats doesn't work #37161
- AOT processing fails when a
@ConfigurationProperties-annotated
record has multiple constructors #37283 - In 3.0.x and later, Spring Security cannot be used to secure a WebSocket upgrade request when using Jetty #37115
- Local baggage is propagated when using Brave and W3C #37109
📔 Documentation
- Document that PKCS8 PEM files should be used whenever possible #37442
- Correct the description of spring.artemis.broker-url #37308
- Add default value metadata for management.metrics.export.signalfx.published-histogram-type #37252
- Polish javadoc #37142
- Add reference to Oracle Spring Boot Starters #37069
🔨 Dependency Upgrades
- Upgrade to Couchbase Client 3.4.10 #37289
- Upgrade to Groovy 4.0.15 #37384
- Upgrade to Infinispan 14.0.17.Final #37290
- Upgrade to Jakarta XML Bind 4.0.1 #37385
- Upgrade to Jetty 11.0.16 #37291
- Upgrade to Lombok 1.18.30 #37487
- Upgrade to Micrometer 1.10.11 #37255
- Upgrade to Micrometer Tracing 1.0.10 #37345
- Upgrade to Native Build Tools Plugin 0.9.27 #37416
- Upgrade to Neo4j Java Driver 5.12.0 #37352
- Upgrade to Reactor Bom 2022.0.11 #37256
- Upgrade to SLF4J 2.0.9 #37293
- Upgrade to Spring AMQP 3.0.9 #37257
- Upgrade to Spring Data Bom 2022.0.10 #37349
- Upgrade to Spring Framework 6.0.12 #37258
- Upgrade to Spring GraphQL 1.1.7 #37464
- Upgrade to Spring Kafka 3.0.11 #37294
- Upgrade to Spring Retry 2.0.3 #37279
- Upgrade to Spring Security 6.0.7 #37417
- Upgrade to Spring WS 4.0.6 #37418
- Upgrade to Tomcat 10.1.13 #37295
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Eng-Fouad, @dependabot[bot], @izeye, @markxnelson, @mdeinum, and @quaff
v2.7.16
⭐ New Features
- Add TWENTY_ONE to JavaVersion enum #37362
🐞 Bug Fixes
- Invalid Accept header produces HTTP 500 in WelcomePageHandlerMapping #37455
- PrivateKeyParser doesn't support ed448, XDH and RSA-PSS keys #37237
- Parsing OCI image names that are invalid due to the use of upper case letters is very slow #35657
- Using https with elliptic curves other than secp384r1 fails #34232
- Saml2RelyingPartyAutoConfiguration ignores
sign-request
whenmetadata-url
is used #33747 - Leaking file descriptor / socket within DomainSocket tooling #32423
📔 Documentation
- Correct the description of spring.artemis.broker-url #37260
- Add default value metadata for management.metrics.export.signalfx.published-histogram-type #37210
- Document that PKCS8 PEM files should be used whenever possible #37170
- Polish javadoc #37112
🔨 Dependency Upgrades
- Upgrade to Elasticsearch 7.17.13 #37286
- Upgrade to Jetty 9.4.52.v20230823 #37287
- Upgrade to Lombok 1.18.30 #37486
- Upgrade to Micrometer 1.9.15 #37245
- Upgrade to Reactor Bom 2020.0.36 #37246
- Upgrade to Spring AMQP 2.4.16 #37247
- Upgrade to Spring Data Bom 2021.2.16 #37248
- Upgrade to Spring Framework 5.3.30 #37249
- Upgrade to Spring GraphQL 1.0.6 #37250
- Upgrade to Spring Integration 5.5.19 #37251
- Upgrade to Spring Security 5.7.11 #37414
- Upgrade to Spring WS 3.1.7 #37415
- Upgrade to Tomcat 9.0.80 #37288
❤️ Contributors
Thank you to all the contributors who worked on this release:
@dependabot[bot], @hakan-krgn, @izeye, @mdeinum, and @quaff
v3.2.0-M2
⭐ New Features
- Use JOOQ functionality to determine dialect #36991
- Add support for CNB platform API 0.12 #36712
- Upgrade default CNB builders to Paketo Jammy #36689
- Add resource hints for default MessageSource properties file locations #36682
- Add ThreadPoolTaskSchedulerBuilder as a replacement for TaskSchedulerBuilder #36651
- Add support for using an AuthTokenManager bean to authenticate with Neo4j #36650
- Add ThreadPoolTaskExecutorBuilder as a replacement for TaskExecutorBuilder #36637
- Deprecate support for OkHttp3 #36632
- Provide a condition for threading (platform or virtual) #36624
- Auto-configure SimpleAsyncTaskScheduler when virtual threads are enabled #36609
- Add auto-configuration for JdbcClient #36579
- Register user-provided SdkLoggerProvider and SdkMeterProvider on the OpenTelemetry bean #36545
- Provide OpenTelemetry Resource as a bean #36544
- Add RabbitMQ container forceStop property #36539
- Provide a condition for checkpoint-restore #36536
- Add since support to
@DeprecatedConfigurationProperty
and the resulting metadata #36482 - Allow auto-configured HikariDataSource to participate in checkpoint-restore #36422
- When virtual threads are enabled, auto-configure Kafka listener container factories to use a virtual thread based executor #36396
- When virtual threads are enabled, auto-configure Rabbit listener container factories to use a virtual thread based executor #36387
- Auto-configure AbstractKafkaListenerContainerFactory with any Function<MessageListenerContainer, String> bean as its threadNameSupplier #36344
- Provide a configuration property for Spring Kafka's changeConsumerThreadName MessageListenerContainer setting #36343
- Configure Virtual Threads support in Reactor #36302
- Order ProblemDetailsExceptionHandler beans #36288
- Provide SimpleAsyncTaskExecutorBuilder to build SimpleAsyncTaskExecutors #35711
- Rename run goal's directories property to additionalClasspathElements #35179
- Add R2DBC observation auto-configuration #33768
- Expose configuration properties to configure the WebsocketServerSpec to use #29567
- Support caching build layers to a bind mount #28387
🐞 Bug Fixes
- Changed environment variable name APP_PASSWORD to APP_USER_PASSWORD i? #37064
- Logging config URLs with query parameters are not detected as XML #37063
- BindableRuntimeHintsRegistrar does not generate hints for all nested types of a ConfigurationProperties type #37023
- server.max-http-request-header-size doesn't affect Netty server with http2 enabled #37016
- AbstractAotMojo should not add source or target if they are null #36973
- Exception message in ProcessTestAotMojo has a typo #36967
- Docker Compose start fails with "unknown flag: --no-color" #36910
- Script-based database initialization fails with an unhelpful error message when configured with a resource that points to a directory #36787
- Artemis ConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #36773
- DatabaseDriver swallows real exception #36760
- Defining a custom ElasticsearchTransport causes the auto-configured JsonpMapper to back off #36701
- Auto-configuration's session repository customization may override that of SessionRepositoryCustomizer beans #36697
@ServiceConnection
on a@Bean
method does not work in sliced tests #36661- RabbitMQ smoke test is missing a test #36613
- Tomcat warns about a missing +/- prefix when enabling multiple protocols through server.ssl.enabled-protocols #36585
- management.metrics.export.stackdriver properties are incomplete #36560
- management.wavefront.metrics.export properties are incomplete #36557
- management.metrics.export.signalfx properties are incomplete #36554
- JobLauncherApplicationRunner returns a success exit code even when no jobs have been run #36533
- Remove use of jakarta.annotation.PostConstruct #36530
- management.metrics.export.atlas properties are incomplete #36527
- Descriptions of started and ready time metrics contain time units but the unit may change when the metrics are exported #36517
- Unlike other Spring Boot goals, process-aot and process-test-aot run on Maven reactor projects #36495
📔 Documentation
- Fix broken links in the documentation #37072
- Maven plugin docs contain invalid parameter for image building #37052
- Align javadoc of AbstractFilterRegistrationBean#setDispatcherTypes #36970
- Improve documentation of spring.cache.type=none #36963
- Clarify that spring.security.filter properties only apply to servlet-based web apps #36866
- Improve documentation to describe how
@EntityScan
and@Enable?Repositories
can be used to tune scanning #36863 - Describe quirks of JUL and Log4j2 in the javadoc of OutputCaptureExtension #36860
- LogbackLoggingSystem does not report suppressed exception details #36857
- Clarify table that shows how logging properties are transferred to system properties #36854
- Review Google AppEngine documentation #36851
- Rework Working with NoSQL Technologies to clarify which stores are supported by Spring Data #36814
- Clarify how nested directories are treated for configtree with wildcards #36811
- Clarify the effect of using
@EnableWebMvc
#36798 - Document defaults for spring.mvc.format.* and spring.webflux.format.* properties #36794
- Documentation describes how to opt in to using the path pattern parser but it's now the default #36790
- Document that scripts for database initialization are optional by default and how they can be made mandatory #36784
- Document
@DataR2dbcTest
support #36757 @since
is missing from javadoc of values added to JavaVersion since its introduction [#36736](https://github...
v3.1.3
🐞 Bug Fixes
- Logging config URLs with query parameters are not detected as XML #37062
- Changed environment variable name APP_PASSWORD to APP_USER_PASSWORD i? #37044
- BindableRuntimeHintsRegistrar does not generate hints for all nested types of a ConfigurationProperties type #37022
- server.max-http-request-header-size doesn't affect Netty server with http2 enabled #37015
- AbstractAotMojo should not add source or target if they are null #36972
- Exception message in ProcessTestAotMojo has a typo #36966
- Docker Compose start fails with "unknown flag: --no-color" #36908
- Script-based database initialization fails with an unhelpful error message when configured with a resource that points to a directory #36786
- Artemis ConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #36772
- DatabaseDriver swallows real exception #36759
- Defining a custom ElasticsearchTransport causes the auto-configured JsonpMapper to back off #36700
- Auto-configuration's session repository customization may override that of SessionRepositoryCustomizer beans #36696
- RabbitMQ smoke test is missing a test #36612
- Tomcat warns about a missing +/- prefix when enabling multiple protocols through server.ssl.enabled-protocols #36584
- management.metrics.export.stackdriver properties are incomplete #36559
- management.wavefront.metrics.export properties are incomplete #36556
- management.metrics.export.signalfx properties are incomplete #36553
- JobLauncherApplicationRunner returns a success exit code even when no jobs have been run #36532
- Remove use of jakarta.annotation.PostConstruct #36529
- management.metrics.export.atlas properties are incomplete #36526
- Descriptions of started and ready time metrics contain time units but the unit may change when the metrics are exported #36516
- Unlike other Spring Boot goals, process-aot and process-test-aot run on Maven reactor projects #36494
@ServiceConnection
on a@Bean
method does not work in sliced tests #36037
📔 Documentation
- Fix broken links in the documentation #37071
- Maven plugin docs contain invalid parameter for image building #37051
- Align javadoc of AbstractFilterRegistrationBean#setDispatcherTypes #36969
- Improve documentation of spring.cache.type=none #36962
- Clarify that spring.security.filter properties only apply to servlet-based web apps #36865
- Improve documentation to describe how
@EntityScan
and@Enable?Repositories
can be used to tune scanning #36862 - Describe quirks of JUL and Log4j2 in the javadoc of OutputCaptureExtension #36859
- LogbackLoggingSystem does not report suppressed exception details #36856
- Clarify table that shows how logging properties are transferred to system properties #36853
- Review Google AppEngine documentation #36850
- Rework Working with NoSQL Technologies to clarify which stores are supported by Spring Data #36813
- Clarify how nested directories are treated for configtree with wildcards #36810
- Clarify the effect of using
@EnableWebMvc
#36797 - Document defaults for spring.mvc.format.* and spring.webflux.format.* properties #36793
- Documentation describes how to opt in to using the path pattern parser but it's now the default #36789
- Document that scripts for database initialization are optional by default and how they can be made mandatory #36783
- Document
@DataR2dbcTest
support #36756 @since
is missing from javadoc of values added to JavaVersion since its introduction #36735- Update Paketo builder references in documentation #36690
- Document how to use Docker Compose integration when running tests #36636
- Update RestTemplateBuilder#defaultHeader javadoc to reference correct client-side HTTP request class #36630
- Document that server.forward-headers-strategy property defaults to native when running on Kubernetes #36581
- Documentation of spring.data.redis.url incorrectly states that it does not override spring.data.redis.user #36492
🔨 Dependency Upgrades
- Upgrade to AspectJ 1.9.20 #37003
- Upgrade to Byte Buddy 1.14.6 #36994
- Upgrade to Caffeine 3.1.8 #36926
- Upgrade to Couchbase Client 3.4.8 #36979
- Upgrade to Dependency Management Plugin 1.1.3 #36927
- Upgrade to Groovy 4.0.14 #37057
- Upgrade to Hibernate 6.2.7.Final #36928
- Upgrade to Infinispan 14.0.14.Final #36995
- Upgrade to Jersey 3.1.3 #36930
- Upgrade to jOOQ 3.18.6 #36931
- Upgrade to Lettuce 6.2.6.RELEASE #37004
- Upgrade to Logback 1.4.11 #36932
- Upgrade to Micrometer 1.11.3 #36839
- Upgrade to Micrometer Tracing 1.1.4 #36840
- Upgrade to Native Build Tools Plugin 0.9.24 #36933
- Upgrade to Neo4j Java Driver 5.11.0 #36980
- Upgrade to Netty 4.1.97.Final #37088
- Upgrade to Pooled JMS 3.1.1 #36935
- Upgrade to R2DBC Pool 1.0.1.RELEASE #36936
- Upgrade to R2DBC Proxy 1.1.2.RELEASE #36672
- Upgrade to Reactor Bom 2022.0.10 #36841
- Upgrade to RxJava3 3.1.7 #37089
- Upgrade to Spring AMQP 3.0.8 #36842
- Upgrade to Spring Authorization Server 1.1.2 #36843
- Upgrade to Spring Batch 5.0.3 #36844
- Upgrade to Spring Data Bom 2023.0.3 #36845
- Upgrade to Spring Kafka 3.0.10 #36846
- Upgrade to Spring LDAP 3.1.1 #36847
- Upgrade to Spring Security 6.1.3 [#36848](https://git...
v3.0.10
⚠️ Noteworthy Changes
- This release upgrades to MariaDB 3.1.4 from 3.0.x as 3.1.x is the supported version of the 3.x branch. If the upgrade is problematic and you are comfortable with the risk of 3.0.x no longer being supported, downgrade by using the
mariadb.version
property.
🐞 Bug Fixes
- Logging config URLs with query parameters are not detected as XML #37039
- server.max-http-request-header-size doesn't affect Netty server with http2 enabled #37014
- AbstractAotMojo should not add source or target if they are null #36971
- Exception message in ProcessTestAotMojo has a typo #36964
- BindableRuntimeHintsRegistrar does not generate hints for all nested types of a ConfigurationProperties type #36909
- Script-based database initialization fails with an unhelpful error message when configured with a resource that points to a directory #36785
- Artemis ConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #36771
- DatabaseDriver swallows real exception #36758
- Defining a custom ElasticsearchTransport causes the auto-configured JsonpMapper to back off #36698
- Auto-configuration's session repository customization may override that of SessionRepositoryCustomizer beans #36674
- RabbitMQ smoke test is missing a test #36611
- Tomcat warns about a missing +/- prefix when enabling multiple protocols through server.ssl.enabled-protocols #36583
- management.wavefront.metrics.export properties are incomplete #36555
- management.metrics.export.signalfx properties are incomplete #36552
- JobLauncherApplicationRunner returns a success exit code even when no jobs have been run #36531
- Remove use of jakarta.annotation.PostConstruct #36528
- management.metrics.export.atlas properties are incomplete #36525
- Descriptions of started and ready time metrics contain time units but the unit may change when the metrics are exported #36515
- management.metrics.export.stackdriver properties are incomplete #36499
- Unlike other Spring Boot goals, process-aot and process-test-aot run on Maven reactor projects #35377
📔 Documentation
- Fix broken links in the documentation #37070
- Maven plugin docs contain invalid parameter for image building #37050
- Align javadoc of AbstractFilterRegistrationBean#setDispatcherTypes #36968
- Improve documentation of spring.cache.type=none #36961
- Clarify that spring.security.filter properties only apply to servlet-based web apps #36864
- Improve documentation to describe how
@EntityScan
and@Enable?Repositories
can be used to tune scanning #36861 - Describe quirks of JUL and Log4j2 in the javadoc of OutputCaptureExtension #36858
- LogbackLoggingSystem does not report suppressed exception details #36855
- Clarify table that shows how logging properties are transferred to system properties #36852
- Rework Working with NoSQL Technologies to clarify which stores are supported by Spring Data #36812
- Clarify how nested directories are treated for configtree with wildcards #36809
- Clarify the effect of using
@EnableWebMvc
#36796 - Document defaults for spring.mvc.format.* and spring.webflux.format.* properties #36792
- Documentation describes how to opt in to using the path pattern parser but it's now the default #36788
- Document that scripts for database initialization are optional by default and how they can be made mandatory #36782
- Update expected size of the jar file in the first application getting started documentation #36761
- Document
@DataR2dbcTest
support #36755 @since
is missing from javadoc of values added to JavaVersion since its introduction #36734- Update Paketo builder references in documentation #36688
- Update RestTemplateBuilder#defaultHeader javadoc to reference correct client-side HTTP request class #36629
- Document that server.forward-headers-strategy property defaults to native when running on Kubernetes #36580
- Documentation of spring.data.redis.url incorrectly states that it does not override spring.data.redis.user #36491
- Review Google AppEngine documentation #33730
🔨 Dependency Upgrades
- Upgrade to AspectJ 1.9.20 #37001
- Upgrade to Caffeine 3.1.8 #36912
- Upgrade to Couchbase Client 3.4.8 #36975
- Upgrade to Dependency Management Plugin 1.1.3 #36914
- Upgrade to Groovy 4.0.14 #37056
- Upgrade to Infinispan 14.0.14.Final #36993
- Upgrade to Jersey 3.1.3 #36916
- Upgrade to jOOQ 3.17.15 #36917
- Upgrade to Lettuce 6.2.6.RELEASE #37002
- Upgrade to Logback 1.4.11 #36925
- Upgrade to MariaDB 3.1.4 #36740
- Upgrade to Micrometer 1.10.10 #36829
- Upgrade to Micrometer Tracing 1.0.9 #36830
- Upgrade to Native Build Tools Plugin 0.9.24 #36918
- Upgrade to Neo4j Java Driver 5.11.0 #36977
- Upgrade to Netty 4.1.97.Final #37086
- Upgrade to R2DBC Pool 1.0.1.RELEASE #36920
- Upgrade to Reactor Bom 2022.0.10 #36831
- Upgrade to RxJava3 3.1.7 #37087
- Upgrade to Spring AMQP 3.0.8 #36832
- Upgrade to Spring Batch 5.0.3 #36833
- Upgrade to Spring Data Bom 2022.0.9 #36834
- Upgrade to Spring Integration 6.0.7 #37061
- Upgrade to Spring Kafka 3.0.10 #36835
- Upgrade to Spring LDAP 3.0.5 #36836
- Upgrade to Spring Security 6.0.6 #36837
- Upgrade to Spring Session 3.0.3 #36838
- Upgrade to Thymeleaf 3.1.2.RELEASE #36921
- Upgrade to Thymeleaf Extras SpringSecurity 3.1.2.RELEASE [#36922](#36...
v2.7.15
⚠️ Noteworthy Changes
- This release upgrades to MariaDB 3.1.4 from 3.0.x to restore compatibility with Java 8. If the upgrade is problematic and Java 8 compatibility is not a requirement, downgrade to 3.0.x by using the
mariadb.version
property
🐞 Bug Fixes
- Artemis ConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #36767
- server.max-http-request-header-size doesn't affect Netty server with http2 enabled #36766
- LogbackLoggingSystem does not report suppressed exception details #36645
- Tomcat warns about a missing +/- prefix when enabling multiple protocols through server.ssl.enabled-protocols #36572
- Descriptions of started and ready time metrics contain time units but the unit may change when the metrics are exported #36507
- management.metrics.export.wavefront properties are incomplete #36498
- management.metrics.export.signalfx properties are incomplete #36497
- management.metrics.export.atlas properties are incomplete #36496
- Script-based database initialization fails with an unhelpful error message when configured with a resource that points to a directory #36386
- JobLauncherApplicationRunner returns a success exit code even when no jobs have been run #36060
- DatabaseDriver swallows real exception #34728
- Application Context initialized twice during test when exception thrown during initialization #24888
📔 Documentation
- Maven plugin docs contain invalid parameter for image building #37048
- Align javadoc of AbstractFilterRegistrationBean#setDispatcherTypes #36965
- Update RestTemplateBuilder#defaultHeader javadoc to reference correct client-side HTTP request class #36614
@since
is missing from javadoc of values added to JavaVersion since its introduction #36608- Document that server.forward-headers-strategy property defaults to native when running on Kubernetes #36564
- Clarify the effect of using
@EnableWebMvc
#36506 - Documentation of spring.redis.url incorrectly states that it does not override spring.redis.user #36477
- Improve documentation to describe how
@EntityScan
and@Enable?Repositories
can be used to tune scanning #36282 - Document that scripts for database initialization are optional by default and how they can be made mandatory #36176
- Document
@DataR2dbcTest
support #35014 - Update expected size of the jar file in the first application getting started documentation #34514
- Improve documentation of spring.cache.type=none #33694
- Clarify that spring.security.filter properties only apply to servlet-based web apps #33551
- Describe quirks of JUL and Log4j2 in the javadoc of OutputCaptureExtension #32562
- Documentation describes how to opt in to using the path pattern parser but it's now the default #32557
- Clarify table that shows how logging properties are transferred to system properties #32160
- Rework Working with NoSQL Technologies to clarify which stores are supported by Spring Data #29694
- Clarify how nested directories are treated for configtree with wildcards #28203
- Document defaults for spring.mvc.format.* and spring.webflux.format.* properties #30041
🔨 Dependency Upgrades
- Upgrade to Elasticsearch 7.17.12 #36870
- Upgrade to Groovy 3.0.19 #37055
- Upgrade to MariaDB 3.1.4 #36394
- Upgrade to Micrometer 1.9.14 #36824
- Upgrade to Netty 4.1.97.Final #37085
- Upgrade to Reactor Bom 2020.0.35 #36825
- Upgrade to Spring AMQP 2.4.15 #36826
- Upgrade to Spring Batch 4.3.9 #36827
- Upgrade to Spring Data Bom 2021.2.15 #36828
- Upgrade to Tomcat 9.0.79 #36992
- Upgrade to Undertow 2.2.26.Final #37029
❤️ Contributors
Thank you to all the contributors who worked on this release:
@MahatmaFatalError, @NersesAM, @chicobento, @dependabot[bot], @dreis2211, @eddumelendez, @elevne, @fzyzcjy, @itsAkshayDubey, @izeye, @msobeck, @rob-valor, @spa-abaudat, and @vpavic
v3.2.0-M1
⭐ 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](https://github.com/spring-pr...
v3.1.2
🐞 Bug Fixes
- Native reflection hints missing for nested properties declared in a superclass #36448
- Connecting to Mongo fails with an UnknownHostException when spring.data.mongodb.additional-hosts is configured #36441
- Auto-configured ExemplarSampler bean only backs off when a DefaultExemplarSampler is defined #36429
- OTel Span is missing required attributes #36423
- Auto-configured JacksonJsonpMapper is conditional on an ObjectMapper bean but does not use such a bean #36409
- Application fails to start when
@Import
ing a@ConfigurationProperties
class that is eligible for constructor binding #36359 - Only one health group can be exposed using management.endpoint.health.group.xxx.additional-path=server:/newpath when using Jersey #36276
- Mongo auto-configuration fails when username or password properties contains a colon (
:
) or at-sign (@
) #36261 - MockitoPostProcessor doesn't check FactoryBean.OBJECT_TYPE_ATTRIBUTE correctly #36230
- ImportsContextCustomizer does not support AliasFor #36209
- Saml2RelyingPartyRegistrationConfiguration can choose the wrong RelyingPartyRegistration.Builder when using a metadata file with multiple providers #36163
- ConfigurationPropertiesReportEndpoint does not display primitive wrapper types #36160
- ConfigurationPropertyName#equals is not symmetric when element has trailing dashes #36145
- ScheduledTasksEndpoint throws NPE if PeriodicTrigger is used with custom SchedulingConfigurer #36129
- Java system properties can not be applied to RestTemplate HttpClient connection in some cases #36123
- Excluding auto-configuration class that relates to a TemplateAvailabilityProvider causes property binding to fail for native images #36121
- When using Flyway 9.20.0, auto-configuration fails with a NoSuchMethodError due to the removal of Oracle-related methods from FluentConfiguration #36099
- Dependency management for Selenium 4.8.x is incorrect #36077
- Slice test annotations do not include SslAutoConfiguration #36038
- Methods in KafkaConnectionDetails are named inconsistently #35733
📔 Documentation
- Documented Servlet container system requirements are out of date #36355
- Update the javadoc of ClientHttpRequestFactories to describe the ClientHttpRequestFactory implementations that it supports #36268
- Polish formatting in "Running Spring Batch Jobs on Startup" #36233
- Improve Kubernetes liveness and readiness probes customization documentation #36219
- Document auto-configuration of underlying HTTP client when using WebClient or RestTemplate #36215
- Polish Kafka Properties Docs #36142
- Fix typo in the Using R2DBC section of the reference documentation #36139
- Document observability auto-configuration for HTTP clients #36131
- Improve documentation for baggage propagation into MDC #36112
- Javadoc of RestTemplateBuilder.requestFactory(Function) links to deprecated ClientHttpRequestFactorySupplier #36097
- Javadoc of ConstructorBound and ConfigurationProperties links to deprecated ConstructorBinding annotation #36095
- Add Javadoc since to ImageReference.inTaglessForm() #36054
- Fix typo in docker compose service connections note #36016
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.18.2 #36332
- Upgrade to Dependency Management Plugin 1.1.2 #36435
- Upgrade to Groovy 4.0.13 #36333
- Upgrade to Hibernate 6.2.6.Final #36334
- Upgrade to Hibernate Validator 8.0.1.Final #36335
- Upgrade to Infinispan 14.0.12.Final #36336
- Upgrade to Jakarta WebSocket 2.1.1 #36337
- Upgrade to Janino 3.1.10 #36338
- Upgrade to JBoss Logging 3.5.3.Final #36339
- Upgrade to jOOQ 3.18.5 #36340
- Upgrade to Lettuce 6.2.5.RELEASE #36436
- Upgrade to Micrometer 1.11.2 #36183
- Upgrade to Micrometer Tracing 1.1.3 #36296
- Upgrade to R2DBC MSSQL 1.0.2.RELEASE #36467
- Upgrade to R2DBC Postgresql 1.0.2.RELEASE #36469
- Upgrade to Rabbit AMQP Client 5.17.1 #36341
- Upgrade to Reactor Bom 2022.0.9 #36297
- Upgrade to Spring AMQP 3.0.6 #36403
- Upgrade to Spring Data Bom 2023.0.2 #36184
- Upgrade to Spring Framework 6.0.11 #36185
- Upgrade to Spring GraphQL 1.2.2 #36186
- Upgrade to Spring HATEOAS 2.1.2 #36454
- Upgrade to Spring Integration 6.1.2 #36404
- Upgrade to Spring Kafka 3.0.9 #36187
- Upgrade to Spring Security 6.1.2 #36298
- Upgrade to Tomcat 10.1.11 #36342
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Pengfei-Lu, @ThomazPassarelli, @bbulgarelli, @bedla, @dependabot[bot], @dkswnkk, @dreis2211, @eddumelendez, @eydunn, @garyrussell, @izeye, @johnnywiller, @jonatan-ivanov, @jstansel, @lasselindqvist, @lmartelli, and @quaff
v3.0.9
🐞 Bug Fixes
- Native reflection hints missing for nested properties declared in a superclass #36406
- Only one health group can be exposed using management.endpoint.health.group.xxx.additional-path=server:/newpath when using Jersey #36275
- MockitoPostProcessor doesn't check FactoryBean.OBJECT_TYPE_ATTRIBUTE correctly #36229
- ImportsContextCustomizer does not support AliasFor #36208
- Application fails to start when
@Import
a@ConfigurationProperties
class that is eligible for constructor binding #36175 - Saml2RelyingPartyRegistrationConfiguration can choose the wrong RelyingPartyRegistration.Builder when using a metadata file with multiple providers #36162
- ConfigurationPropertiesReportEndpoint does not display primitive wrapper types #36159
- OTel Span is missing required attributes #36155
- ConfigurationPropertyName#equals is not symmetric when element has trailing dashes #36144
- Auto-configured JacksonJsonpMapper is conditional on an ObjectMapper bean but does not use such a bean #36109
- When using Flyway 9.20.0, auto-configuration fails with a NoSuchMethodError due to the removal of Oracle-related methods from FluentConfiguration #36098
- ScheduledTasksEndpoint throws NPE if PeriodicTrigger is used with custom SchedulingConfigurer #36081
- Java system properties can not be applied to RestTemplate HttpClient connection in some cases #35815
- Excluding auto-configuration class that relates to a TemplateAvailabilityProvider causes property binding to fail for native images #35682
- Auto-configured ExemplarSampler bean only backs off when a DefaultExemplarSampler is defined #35619
📔 Documentation
- Documented Servlet container system requirements are out of date #36354
- Update the javadoc of ClientHttpRequestFactories to describe the ClientHttpRequestFactory implementations that it supports #36267
- Polish formatting in "Running Spring Batch Jobs on Startup" #36225
- Improve Kubernetes liveness and readiness probes customization documentation #36218
- Document auto-configuration of underlying HTTP client when using WebClient or RestTemplate #36214
- Polish Kafka Properties Docs #36141
- Fix typo in the Using R2DBC section of the reference documentation #36138
- Add Javadoc since to ImageReference.inTaglessForm() #36053
- Javadoc of RestTemplateBuilder.requestFactory(Function) links to deprecated ClientHttpRequestFactorySupplier #36046
- Javadoc of ConstructorBound and ConfigurationProperties links to deprecated ConstructorBinding annotation #36045
- Improve documentation for baggage propagation into MDC #34977
- Document observability auto-configuration for HTTP clients #34053
🔨 Dependency Upgrades
- Upgrade to Dependency Management Plugin 1.1.2 #36433
- Upgrade to Groovy 4.0.13 #36322
- Upgrade to Hibernate Validator 8.0.1.Final #36323
- Upgrade to Infinispan 14.0.12.Final #36324
- Upgrade to Jakarta WebSocket 2.1.1 #36325
- Upgrade to Janino 3.1.10 #36326
- Upgrade to JBoss Logging 3.5.3.Final #36327
- Upgrade to jOOQ 3.17.14 #36328
- Upgrade to Lettuce 6.2.5.RELEASE #36434
- Upgrade to Micrometer 1.10.9 #36178
- Upgrade to Micrometer Tracing 1.0.8 #36291
- Upgrade to R2DBC Postgresql 1.0.2.RELEASE #36465
- Upgrade to Rabbit AMQP Client 5.16.1 #36329
- Upgrade to Reactor Bom 2022.0.9 #36292
- Upgrade to Spring AMQP 3.0.6 #36401
- Upgrade to Spring Data Bom 2022.0.8 #36179
- Upgrade to Spring Framework 6.0.11 #36180
- Upgrade to Spring HATEOAS 2.0.6 #36453
- Upgrade to Spring Kafka 3.0.9 #36182
- Upgrade to Spring Security 6.0.5 #36293
- Upgrade to Tomcat 10.1.11 #36330
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Pengfei-Lu, @ThomazPassarelli, @bbulgarelli, @bedla, @dependabot[bot], @dkswnkk, @eddumelendez, @eydunn, @garyrussell, @izeye, @johnnywiller, @jonatan-ivanov, @lasselindqvist, @lmartelli, and @quaff
v2.7.14
🐞 Bug Fixes
- Only one health group can be exposed using management.endpoint.health.group.xxx.additional-path=server:/newpath when using Jersey #36250
- MockitoPostProcessor doesn't check FactoryBean.OBJECT_TYPE_ATTRIBUTE correctly #36224
- ConfigurationPropertiesReportEndpoint does not display primitive wrapper types #36076
- When using Flyway 9.20.0, auto-configuration fails with a NoSuchMethodError due to the removal of Oracle-related methods from FluentConfiguration #36029
- Saml2RelyingPartyRegistrationConfiguration can choose the wrong RelyingPartyRegistration.Builder when using a metadata file with multiple providers #35902
- ImportsContextCustomizer does not support AliasFor #34917
- ConfigurationPropertyName#equals is not symmetric when element has trailing dashes #34804
📔 Documentation
- Add Javadoc since to ImageReference.inTaglessForm() #36048
- Polish Kafka Properties Docs #36032
- Fix typo in the Using R2DBC section of the reference documentation #36019
- Improve Kubernetes liveness and readiness probes customization documentation #34978
- Document auto-configuration of underlying HTTP client when using WebClient or RestTemplate #34136
🔨 Dependency Upgrades
- Upgrade to Elasticsearch 7.17.11 #36311
- Upgrade to Groovy 3.0.18 #36312
- Upgrade to Janino 3.1.10 #36313
- Upgrade to Johnzon 1.2.21 #36314
- Upgrade to Micrometer 1.9.13 #36171
- Upgrade to Neo4j Java Driver 4.4.12 #36315
- Upgrade to Rabbit AMQP Client 5.14.3 #36316
- Upgrade to Reactor Bom 2020.0.34 #36172
- Upgrade to Spring AMQP 2.4.14 #36399
- Upgrade to Spring Data Bom 2021.2.14 #36173
- Upgrade to Spring Framework 5.3.29 #36174
- Upgrade to Spring HATEOAS 1.5.5 #36413
- Upgrade to Spring Security 5.7.10 #36295
- Upgrade to Tomcat 9.0.78 #36317
❤️ Contributors
Thank you to all the contributors who worked on this release:
@ThomazPassarelli, @bbulgarelli, @bedla, @dependabot[bot], @dkswnkk, @eydunn, @garyrussell, @izeye, @lasselindqvist, @lmartelli, and @quaff