Releases: spring-projects/spring-boot
v3.1.5
⚠️ Noteworthy Changes
- The behavior of
spring.jms.listener.concurrency
has been corrected to match the documentation (#37180). If you were settingspring.jms.listener.concurrency
without also settingspring.jms.listener.max-concurrency
, please review your configuration when upgrading.
🐞 Bug Fixes
- Constructor binding with a custom collection type does not work #37941
@Order
does not work on (CommandLine|Application)Runner@Bean
methods #37938@ComponentScan
on a test class is processed when creating a test context but is not included in the context's cache key #37924- Restarter creates memory leak in tests #37920
- AOT processing fails when a
@WebServlet
found by scanning is annotated with@MultipartConfig
#37883 - Gradle plugin uses to-be-deprecated API for getting and setting file permissions #37881
- Task executor metrics are not registered when using lazy initialization #37838
- Gradle AOT processing tasks do not use project's Java toolchain #37826
@ServiceConnection
is not found when used in an interface implemented by a test class #37671- Image building can fail when using GraalVM compilation and a remote Docker daemon #37665
- NPE from Jetty's WebSocketUpgradeFilter when testing with
@SpringBootTest
,@AutoConfigureMockMvc
, and MockMvc #37663 @WebListener
does not work in a native image without additional reflection hints #37635- AspectJ transaction management with compile-time weaving does not work with spring.main.lazy-initialization=true #37632
- IPv6 IP addresses cannot be used with RabbitMQ #37619
- Unwanted Logback status messages are sometimes logged during startup #37600
- Managed types for Neo4j are not used in Neo4j Data auto configuration #37594
- fileMode and dirMode are not applied to all entries in an archive produced by BootJar #37588
- Application fails to start when an optional config import cannot be resolved #37570
- Contrary to the documentation, setting spring.jms.listener.concurrency alone configures the maximum concurrency #37553
- Dependency management for kafka-server-common with a test classifier is missing #37542
- RepackageMojo doesn't support 1 digit numerical values for project.build.outputTimestamp #37535
📔 Documentation
- Document that 'spring.docker.compose.file' can be used to share Docker Compose configuration between applications #37886
- Remove link to LiveReload website due to timeout #37691
- Refer to ActiveMQ as ActiveMQ "Classic" #37615
- Removal of spring.webflux.multipart.streaming is not documented #37609
- Default value of spring.jmx.registration-policy is not documented #37596
- Update documentation to align with Mockito 5 using the inline mock maker by default #37561
- Add Javadoc since for AbstractAotMojo.getSession() #37547
- Document support for Java 21 #37532
- Use more idiomatic Kotlin in example for "Map Health Indicators to Micrometer Metrics" #37510
🔨 Dependency Upgrades
- Upgrade to Byte Buddy 1.14.9 #37853
- Upgrade to Couchbase Client 3.4.11 #37759
- Upgrade to Dropwizard Metrics 4.2.21 #37897
- Upgrade to Hibernate 6.2.13.Final #37854
- Upgrade to HttpCore5 5.2.3 #37762
- Upgrade to Infinispan 14.0.19.Final #37855
- Upgrade to Jackson Bom 2.15.3 #37898
- Upgrade to Jetty 11.0.17 #37856
- Upgrade to Jetty Reactive HTTPClient 3.0.9 #37932
- Upgrade to jOOQ 3.18.7 #37857
- Upgrade to Micrometer 1.11.5 #37693
- Upgrade to Micrometer Tracing 1.1.6 #37694
- Upgrade to Neo4j Java Driver 5.13.0 #37793
- Upgrade to Netty 4.1.100.Final #37858
- Upgrade to Pooled JMS 3.1.4 #37764
- Upgrade to R2DBC MySQL 1.0.5 #37859
- Upgrade to Reactor Bom 2022.0.12 #37695
- Upgrade to RxJava3 3.1.8 #37766
- Upgrade to Spring AMQP 3.0.10 #37696
- Upgrade to Spring Authorization Server 1.1.3 #37697
- Upgrade to Spring Data Bom 2023.0.5 #37698
- Upgrade to Spring Framework 6.0.13 #37816
- Upgrade to Spring Integration 6.1.4 #37914
- Upgrade to Spring Kafka 3.0.12 #37797
- Upgrade to Spring LDAP 3.1.2 #37699
- Upgrade to Spring Retry 2.0.4 #37700
- Upgrade to Spring Security 6.1.5 #37701
- Upgrade to Spring Session 3.1.3 #37702
- Upgrade to Tomcat 10.1.15 #37902
- Upgrade to UnboundID LDAPSDK 6.0.10 #37767
- Upgrade to Undertow 2.3.10.Final #37933
❤️ Contributors
Thank you to all the contributors who worked on this release:
@JinseongHwang, @bottlerocketjonny, @dependabot[bot], @erichaagdev, @esperar, @izeye, @jbertram, @jonasfugedi, @michael-simons, @nielsbasjes, @onobc, @sushant1987, @ttddyy, and @vpavic
v3.0.12
⚠️ Noteworthy Changes
- The behavior of
spring.jms.listener.concurrency
has been corrected to match the documentation (#37180). If you were settingspring.jms.listener.concurrency
without also settingspring.jms.listener.max-concurrency
, please review your configuration when upgrading.
🐞 Bug Fixes
- Constructor binding with a custom collection type does not work #37940
@Order
does not work on (CommandLine|Application)Runner@Bean
methods #37937@ComponentScan
on a test class is processed when creating a test context but is not included in the context's cache key #37923- Restarter creates memory leak in tests #37919
- Gradle plugin uses to-be-deprecated API for getting and setting file permissions #37880
- Task executor metrics are not registered when using lazy initialization #37837
- Gradle AOT processing tasks do not use project's Java toolchain #37717
- NPE from Jetty's WebSocketUpgradeFilter when testing with
@SpringBootTest
,@AutoConfigureMockMvc
, and MockMvc #37660 - AOT processing fails when a
@WebServlet
found by scanning is annotated with@MultipartConfig
#37637 - AspectJ transaction management with compile-time weaving does not work with spring.main.lazy-initialization=true #37631
- fileMode and dirMode are not applied to all entries in an archive produced by BootJar #37587
- Managed types for Neo4j are not used in Neo4j Data auto configuration #37574
- Application fails to start when an optional config import cannot be resolved #37569
- Contrary to the documentation, setting spring.jms.listener.concurrency alone configures the maximum concurrency #37552
- Dependency management for kafka-server-common with a test classifier is missing #37541
- RepackageMojo doesn't support 1 digit numerical values for project.build.outputTimestamp #37534
@WebListener
does not work in a native image without additional reflection hints #36008- Unwanted Logback status messages are sometimes logged during startup #34505
📔 Documentation
- Remove link to LiveReload website due to timeout #37690
- Refer to ActiveMQ as ActiveMQ "Classic" #37614
- Removal of spring.webflux.multipart.streaming is not documented #37608
- Document support for Java 21 #37531
- Use more idiomatic Kotlin in example for "Map Health Indicators to Micrometer Metrics" #37509
- Add Javadoc since for AbstractAotMojo.getSession() #37462
🔨 Dependency Upgrades
- Upgrade to Couchbase Client 3.4.11 #37754
- Upgrade to Dropwizard Metrics 4.2.21 #37896
- Upgrade to Infinispan 14.0.19.Final #37846
- Upgrade to Jetty 11.0.17 #37847
- Upgrade to Jetty Reactive HTTPClient 3.0.9 #37930
- Upgrade to jOOQ 3.17.16 #37848
- Upgrade to Micrometer 1.10.12 #37678
- Upgrade to Micrometer Tracing 1.0.11 #37679
- Upgrade to Neo4j Java Driver 5.13.0 #37792
- Upgrade to Netty 4.1.100.Final #37849
- Upgrade to Reactor Bom 2022.0.12 #37680
- Upgrade to RxJava3 3.1.8 #37757
- Upgrade to Spring AMQP 3.0.10 #37681
- Upgrade to Spring Data Bom 2022.0.11 #37682
- Upgrade to Spring Framework 6.0.13 #37814
- Upgrade to Spring Integration 6.0.8 #37795
- Upgrade to Spring Kafka 3.0.12 #37796
- Upgrade to Spring LDAP 3.0.6 #37683
- Upgrade to Spring Retry 2.0.4 #37684
- Upgrade to Spring Security 6.0.8 #37685
- Upgrade to Spring Session 3.0.4 #37686
- Upgrade to Tomcat 10.1.15 #37901
- Upgrade to UnboundID LDAPSDK 6.0.10 #37758
- Upgrade to Undertow 2.3.10.Final #37931
❤️ Contributors
Thank you to all the contributors who worked on this release:
@bottlerocketjonny, @dependabot[bot], @erichaagdev, @esperar, @izeye, @jbertram, @michael-simons, @nielsbasjes, @onobc, @ttddyy, and @vpavic
v2.7.17
⚠️ Noteworthy Changes
- The behavior of
spring.jms.listener.concurrency
has been corrected to match the documentation (#37180). If you were settingspring.jms.listener.concurrency
without also settingspring.jms.listener.max-concurrency
, please review your configuration when upgrading.
🐞 Bug Fixes
@Order
does not work on (CommandLine|Application)Runner@Bean
methods #37905- Gradle plugin uses to-be-deprecated API for getting and setting file permissions #37878
- Task executor metrics are not registered when using lazy initialization #37832
- Constructor binding with a custom collection type does not work #37734
- Dependency management for kafka-server-common with a test classifier is missing #37499
- fileMode and dirMode are not applied to all entries in an archive produced by BootJar #37496
- Gradle plugin's build info support produces a deprecation warning when using Gradle 8.4-rc-1 #37493
- RepackageMojo doesn't support 1 digit numerical values for project.build.outputTimestamp #37438
- Restarter creates memory leak in tests #37373
- Contrary to the documentation, setting spring.jms.listener.concurrency alone configures the maximum concurrency #37180
- Application fails to start when an optional config import cannot be resolved #35683
@ComponentScan
on a test class is processed when creating a test context but is not included in the context's cache key #31577- AspectJ transaction management with compile-time weaving does not work with spring.main.lazy-initialization=true #37506
📔 Documentation
- Remove link to LiveReload website due to timeout #37643
- Refer to ActiveMQ as ActiveMQ "Classic" #37606
- Use more idiomatic Kotlin in example for "Map Health Indicators to Micrometer Metrics" #37491
- Document support for Java 21 #37371
🔨 Dependency Upgrades
- Upgrade to Dropwizard Metrics 4.2.21 #37893
- Upgrade to Elasticsearch 7.17.14 #37840
- Upgrade to Infinispan 13.0.20.Final #37841
- Upgrade to Jetty 9.4.53.v20231009 #37842
- Upgrade to Jetty Reactive HTTPClient 1.1.15 #37927
- Upgrade to Micrometer 1.9.16 #37674
- Upgrade to Netty 4.1.100.Final #37843
- Upgrade to Pooled JMS 1.2.5 #37894
- Upgrade to Reactor Bom 2020.0.37 #37675
- Upgrade to Spring AMQP 2.4.17 #37676
- Upgrade to Spring Data Bom 2021.2.17 #37677
- Upgrade to Spring Session Bom 2021.2.3 #37928
- Upgrade to Tomcat 9.0.82 #37895
- Upgrade to UnboundID LDAPSDK 6.0.10 #37753
- Upgrade to Undertow 2.2.28.Final #37929
❤️ Contributors
Thank you to all the contributors who worked on this release:
@bottlerocketjonny, @dependabot[bot], @erichaagdev, @esperar, @izeye, @jbertram, @nielsbasjes, @onobc, @ttddyy, and @vpavic
v3.2.0-M3
⭐ New Features
- Support security options for CNB builder container #37479
- Support bind mounts for image building workspace #37478
- Auto-configure ObservationRegistry on JmsTemplate #37388
- Add Docker Compose service connection support for Neo4j #37379
- Remove usage of deprecated ServerHttpObservationFilter for WebFlux instrumentation #37344
- Use spring.application.name as fallback for service.name in OtlpConfig #37285
- Introduce configuration property "spring.servlet.multipart.strict-servlet-compliance" #37242
- Add ConnectionDetails and ServiceConnection support to Pulsar #37197
- Add virtual host support for Rabbit Stream #37189
- Include JdbcClientAutoConfiguration in
@JdbcTest
and@DataJpaTest
test slices #37122 - Unwrap a validator instance of specified type contained in SpringValidatorAdapter #37119
- Reduce logging in WelcomePageHandlerMapping on invalid Accept headers #37118
- Add dependency management for Kotlin Serialization #37093
- Provide a
RestClientBuilderConfigurer
for apply Boot's defaults to a customRestClient.Builder
#36265 - Add configuration property for GraphQL Schema Mapping Inspection #36252
- Upgrade to Jetty 12 #36073
- Configure virtual threads on Spring Data Redis' ClusterCommandExecutor #35942
- Add service connection from Testcontainers OpenTelemetry Collector #35082
- Add support for Spring for Apache Pulsar #34763
🐞 Bug Fixes
- 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 #37485
- Saml2RelyingPartyAutoConfiguration ignores
sign-request
whenmetadata-url
is used #37483 - Leaking file descriptor / socket within DomainSocket tooling #37461
- Property 'logging.threshold.console' not working #37446
- PrivateKeyParser doesn't support ed448, XDH and RSA-PSS keys #37423
- java.lang.OutOfMemoryError: Metaspace when repeatedly deploying and undeploying a Spring Boot web application multiple times in Tomcat #37402
- RestClientSsl is not provided as a bean #37400
- "languageVersion is final and cannot be changed" when using Gradle 8.3 and configuring the Java toolchain's language version #37381
- AOT processing fails when a
@ConfigurationProperties-annotated
record has multiple constructors #37337 - SslStoreBundle implementations aren't immutable #37335
- OpenTelemetryProperties fail if opentelemetry-sdk-common is not available #37284
- Spring Boot dependency management not working for ehcache when using Gradle and the dependency management plugin #37271
- ServiceConnectionContextCustomizer can trigger docker usage during AOT processing #37194
- Parsing OCI image names that are invalid due to the use of upper case letters is very slow #37184
- Producing and consuming different tracing propagation formats doesn't work #37179
- Using https with elliptic curves other than secp384r1 fails #37171
- In 3.0.x and later, Spring Security cannot be used to secure a WebSocket upgrade request when using Jetty #37159
- Local baggage is propagated when using Brave and W3C #37157
- Default value metadata for management.otlp.metrics.export.base-time-unit is missing #37094
📔 Documentation
- Document that PKCS8 PEM files should be used whenever possible #37444
- Update Antora reference documentation links to Spring projects #37428
- Add reference to Oracle Spring Boot Starters #37412
- Add SSL section to Pulsar docs #37375
- Correct the description of spring.artemis.broker-url #37310
- Add default value metadata for management.metrics.export.signalfx.published-histogram-type #37254
- Polish javadoc #37144
- Add Javadoc since for AbstractRabbitListenerContainerFactoryConfigurer.setTaskExecutor() #37117
- Include Spring Modulith in Spring Boot Documentation #37106
- Document Welcome Page support ordering #34846
🔨 Dependency Upgrades
- Upgrade to Artemis 2.31.0 #37475
- Upgrade to Byte Buddy 1.14.8 #37429
- Upgrade to Commons DBCP2 2.10.0 #37312
- Upgrade to Couchbase Client 3.4.10 #37313
- Upgrade to Elasticsearch Client 8.10.1 #37467
- Upgrade to Flyway 9.22.1 #37389
- Upgrade to GraphQL Java 21.1 #37458
- Upgrade to Groovy 4.0.15 #37390
- Upgrade to H2 2.2.224 #37468
- Upgrade to Hibernate 6.3.1.Final #37476
- Upgrade to Infinispan 14.0.17.Final #37318
- Upgrade to Jakarta XML Bind 4.0.1 #37391
- Upgrade to Jedis 4.4.4 #37319
- Upgrade to Jetty Reactive HTTPClient 4.0.0 #37339
- Upgrade to Lombok 1.18.30 #37489
- Upgrade to MariaDB 3.2.0 #37320
- Upgrade to Maven Enforcer Plugin 3.4.1 #37321
- Upgrade to Maven Javadoc Plugin 3.6.0 #37469
- Upgrade to Micrometer 1.12.0-M3 #37226
- Upgrade to Micrometer Tracing 1.2.0-M3 #37346
- Upgrade to MSSQL JDBC 12.4.1.jre11 #37322
- Upgrade to Native Build Tools Plugin 0.9.27 #37430
- Upgrade to Neo4j Java Driver 5.12.0 #37324
- Upgrade to OpenTelemetry 1.30.1 #37347
- Upgrade to Pooled JMS 3.1.3 #37431
- Upgrade to R2DBC MySQL 1.0.3 #37470
- Upgrade to Reactor Bom 2023.0.0-M3 #37227
- Upgrade to REST Assured 5.3.2 #37327
- Upgrade to Selenium 4.12.1 #37328
- Upgrade to Selenium HtmlUnit 4.12.0 [#3...
v3.1.4
⭐ New Features
- Add TWENTY_ONE to JavaVersion enum #37364
🐞 Bug Fixes
- 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 #37484
- Saml2RelyingPartyAutoConfiguration ignores
sign-request
whenmetadata-url
is used #37482 - Leaking file descriptor / socket within DomainSocket tooling #37460
- Invalid Accept header produces HTTP 500 in WelcomePageHandlerMapping #37457
- PrivateKeyParser doesn't support ed448, XDH and RSA-PSS keys #37422
- "languageVersion is final and cannot be changed" when using Gradle 8.3 and configuring the Java toolchain's language version #37380
- AOT processing fails when a
@ConfigurationProperties-annotated
record has multiple constructors #37336 - Spring Boot dependency management not working for ehcache when using Gradle and the dependency management plugin #37270
- SslStoreBundle implementations aren't immutable #37222
- Parsing OCI image names that are invalid due to the use of upper case letters is very slow #37183
- Producing and consuming different tracing propagation formats doesn't work #37178
- Using https with elliptic curves other than secp384r1 fails #37169
- In 3.0.x and later, Spring Security cannot be used to secure a WebSocket upgrade request when using Jetty #37158
- Local baggage is propagated when using Brave and W3C #37156
- ServiceConnectionContextCustomizer can trigger docker usage during AOT processing #37097
- java.lang.OutOfMemoryError: Metaspace when repeatedly deploying and undeploying a Spring Boot web application multiple times in Tomcat #37096
- Property 'logging.threshold.console' not working #36741
📔 Documentation
- Document that PKCS8 PEM files should be used whenever possible #37443
- Add reference to Oracle Spring Boot Starters #37411
- Correct the description of spring.artemis.broker-url #37309
- Add default value metadata for management.metrics.export.signalfx.published-histogram-type #37253
- Polish javadoc #37143
🔨 Dependency Upgrades
- Upgrade to Byte Buddy 1.14.8 #37419
- Upgrade to Couchbase Client 3.4.10 #37297
- Upgrade to Groovy 4.0.15 #37386
- Upgrade to Hibernate 6.2.9.Final #37465
- Upgrade to Infinispan 14.0.17.Final #37299
- Upgrade to Jakarta XML Bind 4.0.1 #37387
- Upgrade to Jetty 11.0.16 #37300
- Upgrade to Lombok 1.18.30 #37488
- Upgrade to Micrometer 1.11.4 #37261
- Upgrade to Micrometer Tracing 1.1.5 #37262
- Upgrade to Native Build Tools Plugin 0.9.27 #37420
- Upgrade to Neo4j Java Driver 5.12.0 #37353
- Upgrade to Pooled JMS 3.1.3 #37421
- Upgrade to R2DBC MySQL 1.0.3 #37466
- Upgrade to Reactor Bom 2022.0.11 #37263
- Upgrade to REST Assured 5.3.2 #37303
- Upgrade to SLF4J 2.0.9 #37304
- Upgrade to Spring AMQP 3.0.9 #37264
- Upgrade to Spring Data Bom 2023.0.4 #37350
- Upgrade to Spring Framework 6.0.12 #37265
- Upgrade to Spring GraphQL 1.2.3 #37266
- Upgrade to Spring Integration 6.1.3 #37267
- Upgrade to Spring Kafka 3.0.11 #37305
- Upgrade to Spring Retry 2.0.3 #37280
- Upgrade to Spring Security 6.1.4 #37424
- Upgrade to Spring WS 4.0.6 #37425
- Upgrade to Tomcat 10.1.13 #37306
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Eng-Fouad, @dependabot[bot], @izeye, @markxnelson, @mdeinum, and @quaff
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...