Releases: spring-projects/spring-boot
v3.2.2
⚠️ Noteworthy Changes
- Automatically enabling support for Micrometer's observation annotations when AspectJ is on the classpath has proven to be too much. A new property,
micrometer.observations.annotations.enabled
, has been introduced. It defaults tofalse
. Set it totrue
to restore the previous behavior #39128
🐞 Bug Fixes
- SslBundle implementations do not provide useful toString() results #39167
- JarEntry.getComment() returns incorrect result from NestedJarFile instances #39166
- Mixing PEM and JKS certificate material in server.ssl properties does not work #39158
- Having AspectJ and Micrometer on the classpath is not a strong enough signal to enable support for Micrometer observation annotations #39128
- Actuator endpoints with no operations that use selectors are not accessible when mapped to / #39122
- Spring Boot 3.2 app that uses WebFlux, Security, and Actuator may fail to start due to a missing authentication manager #39096
- management.observations.http.server.requests.name no longer has any effect #39083
- spring.rabbitmq.listener.stream.auto-startup property has no effect #39078
- Error mark in the log message for PatternParseException is in the wrong place #39075
- Configuring server.jetty.max-connections has no effect #39052
@ConfigurationPropertiesBinding
converters that rely on initial CharSequence to String conversion no longer work #39051- Manifest attributes cannot be resolved with the new loader implementation #38996
- Throwable from logging system initialization may result in the application silently failing to start #38963
- When using Jetty, idle timeout for IO operations and delayed dispatch cannot be set to less than 30000ms #38960
- spring-boot-maven-plugin repackage uber jar execution fails when jar is put on WSL network drive #38956
- Oracle OJDBC BOM version is flagged not for production use #38943
- Connection leak when using jOOQ and spring.jooq.sql-dialect has not been set #38924
- AutoConfigurationSorter does not always respect
@AutoConfigureOrder
(Ordered.LOWEST_PRECEDENCE) #38916 - Containers are not started when using
@ImportTestcontainers
#38913 - Even when spring.security.user.name or spring.security.user.password has been configured, user details auto-configuration still backs off when resource server is on the classpath #38864
- MockRestServiceServerAutoConfiguration with RestTemplate and RestClient together throws incorrect exception #38820
📔 Documentation
- Improve "Sanitize Sensitive Values" section in reference documentation #39199
- Fix link to Log4j2's JDK logging adapter documentation #39171
- Update CRaC support status link #39170
- Remove entry for OCI starter as it is no longer maintained #39165
- Update links to Micrometer docs in metrics section of reference docs #39149
- Use the term "tags" in documentation consistently #39125
- Correct the documentation on injecting dependencies into FailureAnalyzer implementations #39100
- Polish reference documentation #38942
- Document virtual threads limitations #38883
🔨 Dependency Upgrades
- Upgrade to MySQL 8.3.0 #39081
- Upgrade to Byte Buddy 1.14.11 #39184
- Upgrade to Groovy 4.0.17 #39185
- Upgrade to jOOQ 3.18.9 #39186
- Upgrade to Kotlin 1.9.22 #39187
- Upgrade to Lettuce 6.3.1.RELEASE #39188
- Upgrade to MariaDB 3.3.2 #38901
- Upgrade to Micrometer 1.12.2 #38978
- Upgrade to Micrometer Tracing 1.2.2 #38979
- Upgrade to Neo4j Java Driver 5.15.0 #39136
- Upgrade to Netty 4.1.105.Final #39189
- Upgrade to Pulsar 3.1.2 #39190
- Upgrade to Pulsar Reactive 0.5.2 #39191
- Upgrade to R2DBC MySQL 1.0.6 #39192
- Upgrade to R2DBC Postgresql 1.0.4.RELEASE #39193
- Upgrade to R2DBC Proxy 1.1.4.RELEASE #39194
- Upgrade to Reactor Bom 2023.0.2 #38980
- Upgrade to SLF4J 2.0.11 #39195
- Upgrade to Spring Data Bom 2023.1.2 #38981
- Upgrade to Spring Framework 6.1.3 #38982
- Upgrade to Spring Pulsar 1.0.2 #38994
- Upgrade to Spring WS 4.0.10 #39130
- Upgrade to Tomcat 10.1.18 #39196
❤️ Contributors
Thank you to all the contributors who worked on this release:
@724thomas, @BenchmarkingBuffalo, @FBibonne, @Wzy19930507, @amparab, @dependabot[bot], @dreis2211, @okohub, @onobc, @sdeleuze, @skcskitano, and @tobias-lippert
v3.1.8
🐞 Bug Fixes
- SslBundle implementations do not provide useful toString() results #39137
- Mixing PEM and JKS certificate material in server.ssl properties does not work #39105
- spring.rabbitmq.listener.stream.auto-startup property has no effect #39072
- Error mark in the log message for PatternParseException is in the wrong place #38944
- AutoConfigurationSorter does not always respect
@AutoConfigureOrder
(Ordered.LOWEST_PRECEDENCE) #38904 - Throwable from logging system initialization may result in the application silently failing to start #38885
- Actuator endpoints with no operations that use selectors are not accessible when mapped to / #35426
📔 Documentation
- Remove entry for OCI starter as it is no longer maintained #39164
- Fix link to Log4j2's JDK logging adapter documentation #39163
- Update links to Micrometer docs in metrics section of reference docs #39114
- Correct the documentation on injecting dependencies into FailureAnalyzer implementations #39099
- Improve "Sanitize Sensitive Values" section in reference documentation #39094
🔨 Dependency Upgrades
- Upgrade to Byte Buddy 1.14.11 #39174
- Upgrade to Groovy 4.0.17 #39175
- Upgrade to Hibernate 6.2.20.Final #39176
- Upgrade to jOOQ 3.18.9 #39177
- Upgrade to Micrometer 1.11.8 #38974
- Upgrade to Micrometer Tracing 1.1.9 #38975
- Upgrade to Neo4j Java Driver 5.15.0 #39135
- Upgrade to Netty 4.1.105.Final #39178
- Upgrade to R2DBC MySQL 1.0.6 #39179
- Upgrade to R2DBC Postgresql 1.0.4.RELEASE #39180
- Upgrade to R2DBC Proxy 1.1.4.RELEASE #39181
- Upgrade to Reactor Bom 2022.0.15 #38976
- Upgrade to SLF4J 2.0.11 #39182
- Upgrade to Spring Data Bom 2023.0.8 #38977
- Upgrade to Spring Framework 6.0.16 #39069
- Upgrade to Spring WS 4.0.10 #39129
- Upgrade to Tomcat 10.1.18 #39183
❤️ Contributors
Thank you to all the contributors who worked on this release:
@BenchmarkingBuffalo, @FBibonne, @Wzy19930507, @amparab, @dependabot[bot], @dreis2211, and @tobias-lippert
v3.2.1
⚠️ Noteworthy
- This release upgrades to Hibernate 6.4.1.Final #38870 as official support has been dropped for the 6.3 generation
🐞 Bug Fixes
- HibernateJpaAutoConfiguration should be applied before DataSourceTransactionManagerAutoConfiguration #38880
- META-INF entries are duplicated under BOOT-INF/classes causing "Conflicting persistence unit definitions" error #38862
- logging.include-application-name has no effect when using log4j2 #38847
- Pulsar authentication param properties cause IllegalStateException with Pulsar Client 3.1.0 #38839
- Child context created with SpringApplicationBuilder runs parents runners #38837
- getSigners() info is lost for signed jars when using the new loader implementation with requiresUnpack #38833
- TestContainers parallel initialization doesn't work properly #38831
- Zip file closed exceptions can be thrown due to StaticResourceJars closing jars from cached connections #38770
- Multi-byte filenames in zip files can cause an endless loop in ZipString.hash #38751
- Gradle task "bootJar" fails with "Failed to get permissions" when using Gradle 8.6-milestone-1 #38741
- Custom binding converters are ignored when working with collection types #38734
- WebFlux and resource server auto-configuration may fail due to null authentication manager #38713
- It is unclear that Docker Compose services have not been started as one or more is already running #38661
- Spring Boot jar launcher does not work in folders containing certain chars #38660
- FileNotFoundException is thrown eagerly from unused SSL bundles #38659
- NoUniqueBeanDefinitionFailureAnalyzer does not account for the fact that missing '-parameters' may be the cause #38652
- Traces are propagated if tracing is disabled #38641
- Missing registry auto-configuration for JMS listener observation support #38613
- Class loading fails on an interrupted thread causing com.mongodb.event.ServerClosedEvent to fail to load when Mongo detects a cluster change #38611
- Failures due to code not being compiled with '-parameters' are hard to identify #38603
- System SSL certificates are not used by the Apache HTTP Client in a RestTemplate built with RestTemplateBuilder #38600
- ZipFileSystem throws "java.util.zip.ZipException: read CEN tables failed" with certain nested jars #38595
- Nested jar URLs cannot be split and reassembled resulting in errors with projects that use this technique (such as JobRunr) #38592
- NoSuchMethodError can be thrown from Session.getCookie() due to binary incompatibilty #38589
- management.metrics.tags has been deprecated without a replacement working for all metrics #38583
- NegativeArraySizeException can be thrown from org.springframework.boot.loader.zip.ZipContent$Loader #38572
- Migration form 3.1.5 to 3.2.0 : "Default" Tracer is not provided in test anymore #38568
- TomcatWebServer stop doesn't close sockets for additional connectors #38564
- Port is already in use when using
@SpringBootTest
with a separate management port and a mock web environment #38554 - Keep-alive property causes processAot step to never finish #38531
- Setting 'spring.task.scheduling.shutdown.await-termination-period' does not result in a call to SimpleAsyncTaskScheduler#taskTerminationTimeout #38530
- Setting 'spring.task.execution.shutdown.await-termination-period' does not result in a call to SimpleAsyncTaskExecutor#taskTerminationTimeout #38528
- Nested URLs return null from classLoader.getResource("") causing ClassPathResource failures #38524
- Spring Boot 3.2 is not compatible with older versions of Liquibase #38522
- Controller level exceptions not getting populated in HTTP server requests metrics #33731
📔 Documentation
- Fix typo #38879
- Add the LangChain4J Spring Boot Starter to the list of community starters #38776
- Document prerequisites for Docker Compose support #38764
- Update Dynatrace documentation links #38725
- Correct references to Jetty's HTTP2 server module #38632
- Fix Observation Filter docs #38586
- Reinstate mention of testAndDevelopmentOnly when using Testcontainers at dev time #38571
🔨 Dependency Upgrades
- Upgrade to AspectJ 1.9.21 #38797
- Upgrade to Dropwizard Metrics 4.2.23 #38798
- Upgrade to Groovy 4.0.16 #38799
- Upgrade to Hibernate 6.4.1.Final #38870
- Upgrade to HttpClient5 5.2.3 #38800
- Upgrade to HttpCore5 5.2.4 #38801
- Upgrade to Janino 3.1.11 #38802
- Upgrade to Jaybird 5.0.3.java11 #38803
- Upgrade to Jersey 3.1.5 #38804
- Upgrade to Jetty 12.0.5 #38871
- Upgrade to Kafka 3.6.1 #38806
- Upgrade to Kotlin 1.9.21 #38807
- Upgrade to Kotlin Serialization 1.6.2 #38808
- Upgrade to Logback 1.4.14 #38809
- Upgrade to Maven Javadoc Plugin 3.6.3 #38810
- Upgrade to Micrometer 1.12.1 #38693
- Upgrade to Micrometer Tracing 1.2.1 #38694
- Upgrade to Netty 4.1.104.Final #38872
- Upgrade to Pulsar Reactive 0.5.1 #38873
- Upgrade to R2DBC Postgresql 1.0.3.RELEASE #38812
- Upgrade to R2DBC Proxy 1.1.3.RELEASE #38813
- Upgrade to Reactor Bom 2023.0.1 #38695
- Upgrade to Spring AMQP 3.1.1 #38860
- Upgrade to Spring Authorization Server 1.2.1 #38696
- Upgrade to Spring Data Bom 2023.1.1 #38697
- Upgrade to Spring Framework 6.1.2 #38814
- Upgrade to Spring Integration 6.2.1 #38698
- Upgrade to Spring Kafka 3.1.1 #38874
- Upgrade to Spring LDAP 3.2.1 #38699
- Upgrade to Spring Pulsar 1.0.1 [#38875](https://githu...
v3.1.7
🐞 Bug Fixes
- HibernateJpaAutoConfiguration should be applied before DataSourceTransactionManagerAutoConfiguration #38861
- Zip file closed exceptions can be thrown due to StaticResourceJars closing jars from cached connections #38766
- Gradle task "bootJar" fails with "Failed to get permissions" when using Gradle 8.6-milestone-1 #38718
- Child context created with SpringApplicationBuilder runs parents runners #38647
- System SSL certificates are not used by the Apache HTTP Client in a RestTemplate built with RestTemplateBuilder #38591
- It is unclear that Docker Compose services have not been started as one or more is already running #38398
📔 Documentation
- Fix typo #38823
- Document prerequisites for Docker Compose support #38760
- Update Dynatrace documentation links #38706
- Fix Observation Filter docs #38570
🔨 Dependency Upgrades
- Upgrade to AspectJ 1.9.21 #38779
- Upgrade to Dropwizard Metrics 4.2.23 #38780
- Upgrade to Groovy 4.0.16 #38781
- Upgrade to Hibernate 6.2.17.Final #38887
- Upgrade to HttpClient5 5.2.3 #38783
- Upgrade to HttpCore5 5.2.4 #38784
- Upgrade to Janino 3.1.11 #38785
- Upgrade to Jaybird 5.0.3.java11 #38786
- Upgrade to Jersey 3.1.5 #38787
- Upgrade to Jetty 11.0.19 #38889
- Upgrade to Jetty Reactive HTTPClient 3.0.11 #38888
- Upgrade to jOOQ 3.18.8 #38890
- Upgrade to Logback 1.4.14 #38788
- Upgrade to Micrometer 1.11.7 #38675
- Upgrade to Micrometer Tracing 1.1.8 #38676
- Upgrade to Netty 4.1.104.Final #38891
- Upgrade to R2DBC Postgresql 1.0.3.RELEASE #38790
- Upgrade to R2DBC Proxy 1.1.3.RELEASE #38791
- Upgrade to Reactor Bom 2022.0.14 #38677
- Upgrade to Spring Authorization Server 1.1.4 #38678
- Upgrade to Spring Data Bom 2023.0.7 #38679
- Upgrade to Spring Framework 6.0.15 #38680
- Upgrade to Spring LDAP 3.1.3 #38681
- Upgrade to Spring Retry 2.0.5 #38834
- Upgrade to Spring Security 6.1.6 #38682
- Upgrade to Spring Session 3.1.4 #38683
- Upgrade to Spring WS 4.0.9 #38892
- Upgrade to Tomcat 10.1.17 #38792
- Upgrade to UnboundID LDAPSDK 6.0.11 #38793
❤️ Contributors
Thank you to all the contributors who worked on this release:
@aleksandrserbin, @cachescrubber, @dependabot[bot], @meiyese, @pirgeo, @quaff, @shin-mallang, and @tomfrenken
v3.2.0
⭐ New Features
- Auto-configure observations for RestClients #38500
- Add support for Oracle Free, the replacement for Oracle XE, with Testcontainers and Docker Compose #38476
- Provide dependency management for org.crac:crac #38378
- Add new properties for Liquibase 4.24.0 #38274
- Provide a way to create custom ApplicationContextFactory in SpringBootContextLoader #38205
- Report friendly error when failing to find AOT initializer #38188
🐞 Bug Fixes
- Annotation based ConditionalOnBean checks can cause early initialization of FactoryBeans #38507
- CRaC restoration fails when Actuator's running on a separate port #38502
- App that depends on Tomcat and on Jetty's websocket-server module fails to start with IllegalStateException: WebSocketComponents has not been created #38286
- App fails to start with a NoSuchMethodError when using Flyway 10.0.0 #38268
- MeterRegistry throws BeanCreationNotAllowedException on shutdown #38240
- Resolution of productionRuntimeClasspath configuration may select the wrong variant and contain a dependency's source jar #38233
- Docker JSON parsing fails on certain locales #38220
- FileNotFoundException is thrown serving resources due to JarUrlConnection.getLastModified() returning zero #38204
- Failed to extract parameter names exception thrown when binding with non-enumerable property source #38201
- Spring Boot 3.2.0-RC1 application fails on JDK with CRaC but without a dependency on org.crac:crac #38186
- Missing configuration processing for PartEvent support #37642
📔 Documentation
- Document supported SQL comment prefixes #38496
- Update access log pattern documentation to align with changes in Tomcat 10 #38425
- Update Dynatrace docs with info about the meter metadata toggle #38368
- Improve documentation regarding tracing in tests #38362
- Document the accepted inputs when configuring tags on spring-boot:build-image and bootBuildImage #38354
- Document how to use cloudfoundry specific actuators with a custom base path for webflux applications #38353
- Document Liberica JDK with CRaC #38350
- Add a Restarting a stopped or failed Job section to the batch howto #38341
- Clarify documentation on importing Testcontainer declarations and using
@ServiceConnection
or@DynamicPropertySource
#38337 - Make distinction between Testcontainers for integration tests and development more clear in documentation #38336
- When using Testcontainers at development time with
@ServiceConnection
on a@Bean
method, describe when to use the name attribute and why #38335 - Fix link to Elasticsearch health indicator #38334
- Update Spring Framework documentation links #38289
- Code sample in "Developing Your First Spring Boot Application" does not work #38272
- Improve --help and documentation for "encodepassword -a/--algorithm" in the Spring Boot CLI #38249
- Add how-to documentation for test-only database migrations with Flyway/Liquibase #38231
- Document that PEM content can be used directly in application.yaml #38215
- Document that TomcatConnectorCustomizers are not applied to additional connectors #38198
🔨 Dependency Upgrades
- Upgrade to AspectJ 1.9.20.1 #38358
- Upgrade to Byte Buddy 1.14.10 #38407
- Upgrade to DB2 JDBC 11.5.9.0 #38408
- Upgrade to Dependency Management Plugin 1.1.4 #38346
- Upgrade to Dropwizard Metrics 4.2.22 #38409
- Upgrade to GraphQL Java 21.3 #38478
- Upgrade to Hazelcast 5.3.6 #38410
- Upgrade to Infinispan 14.0.21.Final #38411
- Upgrade to JUnit Jupiter 5.10.1 #38412
- Upgrade to Kotlin Serialization 1.6.1 #38413
- Upgrade to Lettuce 6.3.0.RELEASE #38414
- Upgrade to Maven Javadoc Plugin 3.6.2 #38415
- Upgrade to Micrometer 1.12.0 #38305
- Upgrade to Micrometer Tracing 1.2.0 #38306
- Upgrade to Mockito 5.7.0 #38479
- Upgrade to MongoDB 4.11.1 #38416
- Upgrade to Netty 4.1.101.Final #38417
- Upgrade to Pooled JMS 3.1.5 #38418
- Upgrade to Pulsar Reactive 0.5.0 #38406
- Upgrade to Rabbit Stream Client 0.14.0 #38480
- Upgrade to Reactor Bom 2023.0.0 #38307
- Upgrade to Spring AMQP 3.1.0 #38308
- Upgrade to Spring Authorization Server 1.2.0 #38309
- Upgrade to Spring Batch 5.1.0 #38310
- Upgrade to Spring Data Bom 2023.1.0 #38311
- Upgrade to Spring Framework 6.1.1 #38451
- Upgrade to Spring GraphQL 1.2.4 #38313
- Upgrade to Spring HATEOAS 2.2.0 #38314
- Upgrade to Spring Integration 6.2.0 #38315
- Upgrade to Spring Kafka 3.1.0 #38316
- Upgrade to Spring LDAP 3.2.0 #38317
- Upgrade to Spring Pulsar 1.0.0 #38419
- Upgrade to Spring RESTDocs 3.0.1 #38420
- Upgrade to Spring Security 6.2.0 #38318
- Upgrade to Spring Session 3.2.0 #38319
- Upgrade to Spring WS 4.0.8 #38320
- Upgrade to Testcontainers 1.19.3 #38471
- Upgrade to Tomcat 10.1.16 #38421
- Upgrade to Versions Maven Plugin 2.16.2 #38422
- Upgrade to WebJars Locator Core 0.55 #38481
❤️ Contributors
Thank you to all the contributors who worked on this release:
@EvaristeGalois11, @PENEKhun, @abdullah-jaffer, @audtjddld, @cachescrubber, @dreis2211, @eddumelendez, @izeye, @jonatan-ivanov, @pirgeo, @quaff, and @sdeleuze
v3.1.6
⭐ New Features
- Upgrade default CNB builders to Paketo Jammy #38485
🐞 Bug Fixes
- Annotation based ConditionalOnBean checks can cause early initialization of FactoryBeans #38473
- App fails to start with a NoSuchMethodError when using Flyway 10.0.0 #38267
- Resolution of productionRuntimeClasspath configuration may select the wrong variant and contain a dependency's source jar #38209
- App that depends on Tomcat and on Jetty's websocket-server module fails to start with IllegalStateException: WebSocketComponents has not been created #38181
- spring.webflux.multipart.max-disk-usage-per-part behaves incorrectly for values where the number of bytes overflows an int #38151
- Mail health indicator fails when host is not set in properties #38043
- Docker Compose integration does not work with 2.23.0 due to 'Cannot invoke "org.springframework.boot.docker.compose.core.DockerCliInspectResponse.hostConfig()" because "inspectResponse" is null' #37982
- Docker JSON parsing fails on certain locales #37648
- Testcontainers support for various containers does not work in a native-image #36606
📔 Documentation
- Document supported SQL comment prefixes #38495
- Update access log pattern documentation to align with changes in Tomcat 10 #38424
- Add a Restarting a stopped or failed Job section to the batch howto #38340
- Fix link to Elasticsearch health indicator #38333
- Update Spring Framework documentation links #38288
- Code sample in "Developing Your First Spring Boot Application" does not work #38271
- Improve --help and documentation for "encodepassword -a/--algorithm" in the Spring Boot CLI #38248
- Add how-to documentation for test-only database migrations with Flyway/Liquibase #38230
- Document that PEM content can be used directly in application.yaml #38210
- Document that TomcatConnectorCustomizers are not applied to additional connectors #38197
- Document that application.* banner variables require a packaged jar or the use of Boot's launcher #38148
- Improve systemd configuration documentation #38116
- Clarify that
@AutoConfigureWebTestClient
binds WebTestClient to mock infrastructure #38113 - MyErrorWebExceptionHandler example in documentation isn't working #38110
- Document that properties that change an application's beans are fixed at build time #38107
- Add section on AspectJ support #38096
- Document that SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS is disabled by default #38089
- Document that testing with ApplicationContextRunner in a native image is not supported #38081
- Spring Boot Actuator documentation misses management.endpoint.env.show-values property #38079
- Document how to downgrade dependencies to use embedded Jetty 11 #38076
- Update "Use Another Web Server" how-to to reflect Servlet 5.0 baseline #38074
- Update "Running Behind a Front-end Proxy Server" to include reactive and ForwardedHeaderTransformer #38071
- Document how to customize the basePackages that auto-configurations consider (for example Spring Data Repositories) #38053
- Reference documentation MyContainersConfiguration sample is missing
@ServiceConnection
#38046 - Clarifying documentation on including a top-level
@TestConfiguration
class in a test #38040 - Document ConfigurationPropertyCaching #38037
- Document server.servlet.encoding.* properties and server.servlet.encoding.mapping in particular #38034
- Document configuration for building images with Colima #38031
- Add a section on customizing embedded reactive servers #38027
- Improve documentation of
classpath.idx
file and its generation by the Maven and Gradle plugins #38024 - Document additional user configuration that's required after setting
spring.hateoas.use-hal-as-default-json-media-type
tofalse
#38021 - Clarify that MVC components provided through WebMvcRegistrations are subject to subsequent processing and configuration by MVC #38018
- Add Embedded MongoDB to community starters #38015
- Document that spring-boot-starter-parent sets maven.compiler.release and how to unset it if needed #37993
- Improve health group membership validation error message to provide hint for property to disable validation #36489
- Explain how Docker Compose support works when services are already running #36483
- Outdated spring-boot-maven-plugin build-info documentation causing project builds to fail #36114
- When using Testcontainers at development time with
@ServiceConnection
on a@Bean
method, describe when to use the name attribute and why #36071 - Make distinction between Testcontainers for integration tests and development more clear in documentation #35856
- Clarify documentation on importing Testcontainer declarations and using
@ServiceConnection
or@DynamicPropertySource
#35629 - Improve documentation regarding tracing in tests #33975
- Document the accepted inputs when configuring tags on spring-boot:build-image and bootBuildImage #33088
- Document how to use cloudfoundry specific actuators with a custom base path for webflux applications #24991
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.18.3 #38452
- Upgrade to AspectJ 1.9.20.1 #38357
- Upgrade to Byte Buddy 1.14.10 #38453
- Upgrade to DB2 JDBC 11.5.9.0 #38454
- Upgrade to Dependency Management Plugin 1.1.4 #38345
- Upgrade to Dropwizard Metrics 4.2.22 #38455
- Upgrade to Glassfish JAXB 4.0.4 #38456
- Upgrade to Infinispan 14.0.21.Final #38457
- Upgrade to Jakarta Json 2.1.3 #38458
- Upgrade to Jakarta XML SOAP 3.0.1 #38459
- Upgrade to Jakarta XML WS 4.0.1 #38460
- Upgrade to Jetty 11.0.18 #38462
- Upgrade to Jetty Reactive HTTPClient 3.0.10 #38461
- Upgrade to Lettuce 6.2.7.RELEASE #38463
- Upgrade to Micrometer 1.11.6 [#38297](https://github.com/spring-projects/spring-boot/iss...
v3.0.13
⚠️ Noteworthy Changes
- Following the Paketo team's announcement that the Bionic CNB builders will be removed, the default builder using by
bootBuildImage
(Gradle) andspring-boot:build-image
(Maven) has been changed to Paketo Jammy #38477
🐞 Bug Fixes
- App fails to start with a NoSuchMethodError when using Flyway 10.0.0 #38266
- spring.webflux.multipart.max-disk-usage-per-part behaves incorrectly for values where the number of bytes overflows an int #38150
- Mail health indicator fails when host is not set in properties #38042
📔 Documentation
- Document supported SQL comment prefixes #38494
- Update access log pattern documentation to align with changes in Tomcat 10 #38403
- Fix link to Elasticsearch health indicator #38332
- Add a Restarting a stopped or failed Job section to the batch howto #38326
- Code sample in "Developing Your First Spring Boot Application" does not work #38270
- Improve --help and documentation for "encodepassword -a/--algorithm" in the Spring Boot CLI #38247
- Add how-to documentation for test-only database migrations with Flyway/Liquibase #38229
- Document that TomcatConnectorCustomizers are not applied to additional connectors #38196
- Document that application.* banner variables require a packaged jar or the use of Boot's launcher #38147
- Improve systemd configuration documentation #38115
- Clarify that
@AutoConfigureWebTestClient
binds WebTestClient to mock infrastructure #38112 - MyErrorWebExceptionHandler example in documentation isn't working #38109
- Add section on AspectJ support #38095
- Document that SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS is disabled by default #38088
- Update "Running Behind a Front-end Proxy Server" to include reactive and ForwardedHeaderTransformer #38070
- Document how to customize the basePackages that auto-configurations consider (for example Spring Data Repositories) #38052
- Clarifying documentation on including a top-level
@TestConfiguration
class in a test #38039 - Document ConfigurationPropertyCaching #38036
- Document server.servlet.encoding.* properties and server.servlet.encoding.mapping in particular #38033
- Document configuration for building images with Colima #38030
- Add a section on customizing embedded reactive servers #38026
- Improve documentation of
classpath.idx
file and its generation by the Maven and Gradle plugins #38023 - Document additional user configuration that's required after setting
spring.hateoas.use-hal-as-default-json-media-type
tofalse
#38020 - Clarify that MVC components provided through WebMvcRegistrations are subject to subsequent processing and configuration by MVC #38017
- Add Embedded MongoDB to community starters #38010
- Update "Use Another Web Server" how-to to reflect Servlet 5.0 baseline #37238
- Update Spring Framework documentation links #36241
- Spring Boot Actuator documentation misses management.endpoint.env.show-values property #35917
- Document that properties that change an application's beans are fixed at build time #35032
- Document that testing with ApplicationContextRunner in a native image is not supported #34007
- Document how to downgrade dependencies to use embedded Jetty 11 #33044
🔨 Dependency Upgrades
- Upgrade to AspectJ 1.9.20.1 #38355
- Upgrade to DB2 JDBC 11.5.9.0 #38436
- Upgrade to Dependency Management Plugin 1.1.4 #38344
- Upgrade to Dropwizard Metrics 4.2.22 #38437
- Upgrade to Glassfish JAXB 4.0.4 #38438
- Upgrade to Infinispan 14.0.21.Final #38439
- Upgrade to Jakarta Json 2.1.3 #38440
- Upgrade to Jakarta XML SOAP 3.0.1 #38441
- Upgrade to Jakarta XML WS 4.0.1 #38442
- Upgrade to Jetty 11.0.18 #38444
- Upgrade to Jetty Reactive HTTPClient 3.0.10 #38443
- Upgrade to Lettuce 6.2.7.RELEASE #38445
- Upgrade to Micrometer 1.10.13 #38290
- Upgrade to Micrometer Tracing 1.0.12 #38291
- Upgrade to Native Build Tools Plugin 0.9.28 #38446
- Upgrade to Netty 4.1.101.Final #38447
- Upgrade to Reactor Bom 2022.0.13 #38292
- Upgrade to SAAJ Impl 3.0.3 #38448
- Upgrade to Spring Batch 5.0.4 #38492
- Upgrade to Spring Data Bom 2022.0.12 #38293
- Upgrade to Spring Framework 6.0.14 #38294
- Upgrade to Spring HATEOAS 2.0.7 #38374
- Upgrade to Spring Integration 6.0.9 #38295
- Upgrade to Spring Kafka 3.0.13 #38369
- Upgrade to Spring RESTDocs 3.0.1 #38449
- Upgrade to Spring WS 4.0.8 #38296
- Upgrade to Tomcat 10.1.16 #38450
❤️ Contributors
Thank you to all the contributors who worked on this release:
@GVictorG7, @PENEKhun, @cachescrubber, @dreis2211, @izeye, @jonatan-ivanov, and @quaff
v2.7.18
⚠️ Noteworthy Changes
- Following the Paketo team's announcement that the Bionic CNB builders will be removed, the default builder using by
bootBuildImage
(Gradle) andspring-boot:build-image
(Maven) has been changed to Paketo Jammy #38477
🐞 Bug Fixes
- App fails to start with a NoSuchMethodError when using Flyway 10.0.0 #38164
- spring.webflux.multipart.max-disk-usage-per-part behaves incorrectly for values where the number of bytes overflows an int #38146
- Mail health indicator fails when host is not set in properties #38007
📔 Documentation
- Document supported SQL comment prefixes #38385
- Fix link to Elasticsearch health indicator #38330
- Improve --help and documentation for "encodepassword -a/--algorithm" in the Spring Boot CLI #38203
- Document that TomcatConnectorCustomizers are not applied to additional connectors #38183
- MyErrorWebExceptionHandler example in documentation isn't working #38104
- Document that SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS is disabled by default #38083
- Update "Running Behind a Front-end Proxy Server" to include reactive and ForwardedHeaderTransformer #37282
- Improve documentation of
classpath.idx
file and its generation by the Maven and Gradle plugins #37125 - Document configuration for building images with Colima #34522
- Code sample in "Developing Your First Spring Boot Application" does not work #34513
- Document ConfigurationPropertyCaching #34172
- Document that application.* banner variables require a packaged jar or the use of Boot's launcher #33489
- Add section on AspectJ support #32642
- Document server.servlet.encoding.* properties and server.servlet.encoding.mapping in particular #32472
- Add a section on customizing embedded reactive servers #31917
- Clarify that MVC components provided through WebMvcRegistrations are subject to subsequent processing and configuration by MVC #31232
- Clarifying documentation on including a top-level
@TestConfiguration
class in a test #30513 - Clarify that
@AutoConfigureWebTestClient
binds WebTestClient to mock infrastructure #29890 - Improve systemd configuration documentation #28453
- Document how to customize the basePackages that auto-configurations consider (for example Spring Data Repositories) #27549
- Document additional user configuration that's required after setting
spring.hateoas.use-hal-as-default-json-media-type
tofalse
#26814 - Add how-to documentation for test-only database migrations with Flyway/Liquibase #26796
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.16.7 #38427
- Upgrade to DB2 JDBC 11.5.9.0 #38428
- Upgrade to Dropwizard Metrics 4.2.22 #38429
- Upgrade to Elasticsearch 7.17.15 #38430
- Upgrade to Glassfish JAXB 2.3.9 #38431
- Upgrade to Micrometer 1.9.17 #38279
- Upgrade to Netty 4.1.101.Final #38432
- Upgrade to Pooled JMS 1.2.6 #38433
- Upgrade to Reactor Bom 2020.0.38 #38280
- Upgrade to Spring Batch 4.3.10 #38281
- Upgrade to Spring Data Bom 2021.2.18 #38282
- Upgrade to Spring Framework 5.3.31 #38283
- Upgrade to Spring HATEOAS 1.5.6 #38373
- Upgrade to Spring Integration 5.5.20 #38491
- Upgrade to Spring RESTDocs 2.0.8.RELEASE #38434
- Upgrade to Spring WS 3.1.8 #38284
- Upgrade to Tomcat 9.0.83 #38435
❤️ Contributors
Thank you to all the contributors who worked on this release:
@GVictorG7, @PENEKhun, @dreis2211, and @izeye
v3.2.0-RC2
⭐ New Features
- Introduce PemSslStore as an alternative to PemSslStoreDetails #38175
- Introduce a public PemContent class #38174
- Allow alias and password to be configured on a per PEM store basis #38124
- Add observationEnabled properties for Apache Kafka #38057
🐞 Bug Fixes
- Class loading may fail when JVM is stopped using SIGINT #38154
- spring.webflux.multipart.max-disk-usage-per-part behaves incorrectly for values where the number of bytes overflows an int #38152
- Apply SslBundleProperties.Key property to PEM keystore and not to the truststore #38125
- VirtualZipDataBlock does not create zip data descriptor records which can break streaming reads #38063
- Nested jars are not opened with runtime version set, causing classes in META-INF/versions to be ignored #38050
- InputStreams cannot be created from nested directory entry URLs which results in Tomcat TldScanner issues #38047
- Mail health indicator fails when host is not set in properties #38044
- Testcontainers support for various containers does not work in a native-image #38014
- Filters added to the auto-configured MockMvc instance have no name, breaking OncePerRequestFilter #38001
- Application's main class is not found when using PropertiesLauncher with the new nested jar support #37992
- Docker Compose integration does not work with 2.23.0 due to 'Cannot invoke "org.springframework.boot.docker.compose.core.DockerCliInspectResponse.hostConfig()" because "inspectResponse" is null' #37991
@ServiceConnection
is not working with@RestartScope
in 3.2.0-RC1 #37989
📔 Documentation
- Document that application.* banner variables require a packaged jar or the use of Boot's launcher #38149
- Explain how Docker Compose support works when services are already running #38145
- Improve systemd configuration documentation #38117
- Clarify that
@AutoConfigureWebTestClient
binds WebTestClient to mock infrastructure #38114 - MyErrorWebExceptionHandler example in documentation isn't working #38111
- Document that properties that change an application's beans are fixed at build time #38108
- Add section on AspectJ support #38097
- Document that SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS is disabled by default #38090
- Document that testing with ApplicationContextRunner in a native image is not supported #38082
- Spring Boot Actuator documentation misses management.endpoint.env.show-values property #38080
- Outdated spring-boot-maven-plugin build-info documentation causing project builds to fail #38078
- Document how to downgrade dependencies to use embedded Jetty 11 #38077
- Update "Use Another Web Server" how-to to reflect Servlet 5.0 baseline #38075
- Improve health group membership validation error message to provide hint for property to disable validation #38073
- Update "Running Behind a Front-end Proxy Server" to include reactive and ForwardedHeaderTransformer #38072
- Document that spring-boot-starter-parent sets maven.compiler.release and how to unset it if needed #38069
- Document how to customize the basePackages that auto-configurations consider (for example Spring Data Repositories) #38054
- Reference documentation MyContainersConfiguration sample is missing
@ServiceConnection
#38048 - Clarifying documentation on including a top-level
@TestConfiguration
class in a test #38041 - Document ConfigurationPropertyCaching #38038
- Document server.servlet.encoding.* properties and server.servlet.encoding.mapping in particular #38035
- Document configuration for building images with Colima #38032
- Add a section on customizing embedded reactive servers #38028
- Improve documentation of
classpath.idx
file and its generation by the Maven and Gradle plugins #38025 - Document additional user configuration that's required after setting
spring.hateoas.use-hal-as-default-json-media-type
tofalse
#38022 - Clarify that MVC components provided through WebMvcRegistrations are subject to subsequent processing and configuration by MVC #38019
- Add Embedded MongoDB to community starters #38016
- Links to portfolio projects which use Antora are broken #38000
- Fix links in Spring Kafka section of ref guide #37987
- Fix links in Spring Pulsar section of ref guide #37986
- Add JVM Checkpoint Restore documentation #37975
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.18.3 #38126
- Upgrade to Artemis 2.31.2 #38127
- Upgrade to Glassfish JAXB 4.0.4 #38128
- Upgrade to Hazelcast 5.3.5 #38129
- Upgrade to Jakarta Json 2.1.3 #38130
- Upgrade to Jakarta XML SOAP 3.0.1 #38131
- Upgrade to Jakarta XML WS 4.0.1 #38132
- Upgrade to Jedis 5.0.2 #38133
- Upgrade to Jetty 12.0.3 #38135
- Upgrade to Jetty Reactive HTTPClient 4.0.1 #38134
- Upgrade to Kotlin 1.9.20 #38136
- Upgrade to Liquibase 4.24.0 #38120
- Upgrade to Log4j2 2.21.1 #38137
- Upgrade to Maven Clean Plugin 3.3.2 #38138
- Upgrade to Maven Dependency Plugin 3.6.1 #38139
- Upgrade to MSSQL JDBC 12.4.2.jre11 #38140
- Upgrade to Native Build Tools Plugin 0.9.28 #38141
- Upgrade to Oracle Database 23.3.0.23.09 #38121
- Upgrade to Pulsar 3.1.1 #38142
- Upgrade to SAAJ Impl 3.0.3 #38143
- Upgrade to Spring Framework 6.1.0-RC2 #37995
- Upgrade to Spring WS 4.0.7 #38144
❤️ Contributors
Thank you to all the contributors who worked on this release:
@GVictorG7, @Wzy19930507, @ch4570, @dreis2211, @izeye, @onobc, and @sdeleuze
v3.2.0-RC1
⭐ New Features
- Support setting gradle provider values in BuildInfoProperties.additional map #37889
- Add properties for configuring Jackson's EnumFeature and JsonNodeFeature #37885
- When auto-configuring MockMvc, add filters with their init parameters and dispatcher types #37835
- Add SSL bundle support to RabbitMQ auto-configuration #37833
- Implement SSL bundle reload #37808
- restTemplateBuilderConfigurer doesn't need to be
@ConditionalOnMissingBean
#37746 - Add 'keep-alive' property to SpringApplication and document that it is useful when using virtual threads #37736
- Add property for PEM SSL bundles to verify keys #37727
- Add background preinitializers for Tomcat and JDK ZoneId #37670
- Add classic loader module and the ability to easily switch implementations #37669
- Rewrite nested jar support code and remove Java 8 support #37668
- Relocate launcher classes to 'org.springframework.boot.loader.launch' package #37667
- Add auto-configuration for SpanAspect #37640
- Auto-configure HikariCheckpointRestoreLifecycle for a user-defined HikariDataSource #37630
- Add SSL bundle support to Apache Kafka auto-configuration #37629
- Expand transaction manager customization to support any type of TransactionManager #37628
- Add auto-configuration for CountedAspect and TimedAspect #37626
- Provide a configuration property for RabbitMQ's max inbound message body size #37603
- Move spring.jms.listener.acknowledge-mode to spring.jms.listener.session.acknowlege-mode #37602
- Add support for configuring non-standard JMS acknowledge modes #37576
- Disable validate connection on borrow for Oracle UCP datasource #37501
- Add configuration properties for JmsTemplate's sessionAcknowledgeMode and sessionTransacted #37500
- Add a configuration property for configuring sessionTransacted flag on auto-configured JMS listener container #37473
- Develop a more efficient WebResourceSet implementation for nested jars #37452
- Rename spring.jms.listener.concurrency property to spring.jms.listener.min-concurrency #37451
- Add Awaitility to spring-boot-starter-test #37195
- Support new CSP auth method for Wavefront (AOA) #37165
- Refine Spring Boot startup message when restoring a Spring Boot application with CRaC #37084
- Support parallel initialization of Testcontainers #37073
- Support RestClient.Builder with
@RestClientTest
#37033 - Break cycle between TransactionManagerCustomizers and TransactionManager #36801
- Add any TransactionExecutionListener beans to the auto-configured transaction manager #36770
- When virtual threads are enabled, auto-configure Spring Pulsar to use them #36347
- Add a testAndDevelopmentOnly Gradle configuration #35436
- Disable user details auto-configuration if the application has resource server, saml, or oauth2-client dependencies #35338
- Provide a setting for automatic context propagation with reactor-core #34201
- Honor timeouts in Zipkin WebClient sender #31496
- Support java.nio.file Paths and FileSystems with nested jars #7161
🐞 Bug Fixes
- Constructor binding with a custom collection type does not work #37942
@Order
does not work on (CommandLine|Application)Runner@Bean
methods #37939@ComponentScan
on a test class is processed when creating a test context but is not included in the context's cache key #37925- Restarter creates memory leak in tests #37921
- Wrong HandlerMapping ordering for GraphQL WebSocket configuration #37892
- AOT processing fails when a
@WebServlet
found by scanning is annotated with@MultipartConfig
#37884 - Gradle plugin uses to-be-deprecated API for getting and setting file permissions #37882
- Task executor metrics are not registered when using lazy initialization #37839
- Gradle AOT processing tasks do not use project's Java toolchain #37827
@ServiceConnection
is not found when used in an interface implemented by a test class #37799- Image building can fail when using GraalVM compilation and a remote Docker daemon #37666
- NPE from Jetty's WebSocketUpgradeFilter when testing with
@SpringBootTest
,@AutoConfigureMockMvc
, and MockMvc #37664 @WebListener
does not work in a native image without additional reflection hints #37636- AspectJ transaction management with compile-time weaving does not work with spring.main.lazy-initialization=true #37633
- IPv6 IP addresses cannot be used with RabbitMQ #37622
- Unwanted Logback status messages are sometimes logged during startup #37601
- Managed types for Neo4j are not used in Neo4j Data auto configuration #37595
- fileMode and dirMode are not applied to all entries in an archive produced by BootJar #37589
- When using checkpoint-restore and Hikari, dependency injection fails if the HikariDataSource has been replaced or wrapped #37580
- Application fails to start when an optional config import cannot be resolved #37571
- Contrary to the documentation, setting spring.jms.listener.concurrency alone configures the maximum concurrency #37554
- Dependency management for kafka-server-common with a test classifier is missing #37543
- RepackageMojo doesn't support 1 digit numerical values for project.build.outputTimestamp #37536
- Excluding ReactiveUserDetailsServiceAutoConfiguration can cause a WebFlux app to fail to start due to a null authentication manager #37504
- Signed Jar verification fails from a nested Jar under Oracle Java 17 #28837
- Does not work 'classpath*:' for Resource[] property on configuration properties since 2.x #15835