Releases: spring-projects/spring-boot
v3.1.10
🐞 Bug Fixes
- When graceful shutdown of Tomcat is aborted it may report that it completed successfully #39942
- Resolving a BuildpackReference created from a URL-like String can fail on Windows #39792
- bootStartScripts tasks should be an instance of org.gradle.api.tasks.application.CreateStartScripts rather than its superclass org.gradle.jvm.application.tasks.CreateStartScripts #39584
- SpringProfile arbiter fails without a Spring's environment #39403
📔 Documentation
- Fix typo in Custom HTTP Exchange Recording section #39777
🔨 Dependency Upgrades
- Upgrade to Awaitility 4.2.1 #39962
- Upgrade to Glassfish JAXB 4.0.5 #39963
- Upgrade to GraphQL Java 20.8 #40020
- Upgrade to Groovy 4.0.20 #39964
- Upgrade to Hazelcast 5.2.5 #39965
- Upgrade to Infinispan 14.0.27.Final #40025
- Upgrade to Jakarta Activation 2.1.3 #39967
- Upgrade to Jakarta Mail 2.1.3 #39968
- Upgrade to Jakarta XML Bind 4.0.2 #39969
- Upgrade to Jaybird 5.0.4.java11 #39970
- Upgrade to jOOQ 3.18.13 #39971
- Upgrade to Micrometer 1.11.10 #39870
- Upgrade to Micrometer Tracing 1.1.11 #39871
- Upgrade to Neo4j Java Driver 5.18.0 #39935
- Upgrade to Postgresql 42.6.2 #39972
- Upgrade to Reactor Bom 2022.0.17 #39906
- Upgrade to Spring AMQP 3.0.12 #39872
- Upgrade to Spring Authorization Server 1.1.6 #39914
- Upgrade to Spring Data Bom 2023.0.10 #39873
- Upgrade to Spring Framework 6.0.18 #39874
- Upgrade to Spring HATEOAS 2.1.4 #39949
- Upgrade to Spring Integration 6.1.7 #39875
- Upgrade to Spring Kafka 3.0.15 #39876
- Upgrade to Spring Security 6.1.8 #39877
- Upgrade to Spring Session 3.1.5 #39878
❤️ Contributors
Thank you to all the contributors who worked on this release:
v3.3.0-M2
⚠️ Noteworthy
- This release upgrades to Hibernate 6.4.4.Final. While it contains a number of valuable bug fixes, it does not work correctly in a native image. If you are using GraalVM, Hibernate should be temporarily downgraded to 6.4.2.Final using the
hibernate.version
property.
⭐ New Features
- Use ObservationRequestEventListener in order to support traces when using Jersey #39633
- Configure suitable TaskExecutor for WebSocket when virtual threads are enabled #39611
- Implement HttpClient based Zipkin sender #39545
- Switch to Jersey's jersey-micrometer module for Jersey metrics #39502
- Introduce
@BatchTransactionManager
to make it easier to configure Spring Batch to use a custom transaction manager #39473 - Add customizer callback for WebHttpHandlerBuilder #39467
- Makes it easier to customize a Servlet-based web server's mime mappings #39430
- Add nameIdFormat to Properties #39395
- Add service connection for Docker Compose and Testcontainers ActiveMQ #39363
- Add Artemis Service Connection for Docker Compose and Testcontainers #39311
- Unify 'observation-enabled' property defaults #39276
- Add ConnectionDetails and Service Connection and Docker-Compose support for LDAP #39258
- Include the environment's default profiles in the env endpoint's response #39257
- Use meta-annotations on
@AutoConfigureWebMvc
to compose it with@AutoConfigureJson
#39253 - Add liquibase ui-service property #39227
- Add conditional bean for jOOQ exception translator #38762
- Add support for Bitnami container images with Docker Compose #35759
- Provide a reactive actuator endpoint for (username indexed) session repositories #32046
🐞 Bug Fixes
- Nested jar URLs can not be resolved if the path contains spaces #39690
- Image building runs for a long time when a long image name is used and the tag contains an illegal character #39639
- Banner printing doesn't respect set charset #39622
- "micrometer.observations.*" configuration properties should be "management.observations.*" #39603
- Metadata reading during configuration class parsing uses the default resource loader rather than the application's resource loader #39599
- WebFlux auto-configuration should only configure the blocking executor when virtual threads are enabled #39542
- Creating a RestClient from a RestTemplateBuilder-created RestTemplate requires double configuration of the baseUrl/rootUri #39536
- Several gson properties, including spring.gson.disable-html-escaping, do not behave correctly when set to false #39525
- Property placeholders aren't resolved when configuration property binding creates a Map from a property value using a converter #39516
- Gradle plugin allows the use of Gradle 7.4 but the documented and tested minimum is 7.5 #39514
- TestcontainersPropertySource assertion has typo #39450
- Webflux actuator endpoints respond with 500 when a parameter is missing #39445
- NoSuchMethod error when using the non-shaded Pulsar client and configuring authentications parameters #39424
- Jetty GracefulShutdown writes to System.out #39365
- Auto-configured ConcurrentPulsarListenerContainerFactory and PulsarConsumerFactory cannot be injected into injection points with specific generic type information #39356
- Building images fails with Docker 25.0 when custom buildpacks are configured #39348
- Startup failure when you have multiple
@DynamicPropertySources
in Spring Boot 3.2.2 #39346 - Mockito's MockedStatic isn't closed in all cases #39273
- TracingProperties exposes package-private PropagationType from public methods #39269
📔 Documentation
- Add note regarding mixing of bundle-based and direct SSL configuration #39642
- Document that task executor pool size properties are ignored when using virtual threads #39632
- Add link to Pulsar workaround when using environment variables for authentication #39631
- Document default value for show-value configuration properties #39597
- Clarify that configuration properties only apply to the auto-configured OpenTelemetry Resource bean #39517
- Add Javadoc for ServerProperties.mimeMappings #39503
- Update the Debugging Documentation of the Spring Boot Maven Plugin #39423
- Awaitility link in Test Scoped Dependencies is incorrect #39417
- Fixed NestedJarFile constructor javadoc #39338
- Endpoint documentation contains the typo 'Unuthorized' #39281
- Update Revved up by Develocity badge #39264
🔨 Dependency Upgrades
- Upgrade Pulsar to 3.2.0 and use Pulsar BOM #39408
- Upgrade to Artemis 2.32.0 #39695
- Upgrade to AssertJ 3.25.3 #39696
- Upgrade to Brave 6 and Zipkin Reporter 3 #39049
- Upgrade to Byte Buddy 1.14.12 #39697
- Upgrade to Commons Codec 1.16.1 #39698
- Upgrade to Couchbase Client 3.5.3 #39699
- Upgrade to Elasticsearch Client 8.11.4 #39700
- Upgrade to Groovy 4.0.18 #39701
- Upgrade to Hibernate 6.4.4.Final #39702
- Upgrade to HttpClient5 5.3.1 #39703
- Upgrade to Infinispan 14.0.24.Final #39704
- Upgrade to Janino 3.1.12 #39705
- Upgrade to Jetty 12.0.6 #39707
- Upgrade to Jetty Reactive HTTPClient 4.0.3 #39706
- Upgrade to jOOQ 3.19.4 #39708
- Upgrade to JsonPath 2.9.0 #39394
- Upgrade to JUnit Jupiter 5.10.2 #39709
- Upgrade to Kotlin Coroutines 1.8.0 #39710
- Upgrade to Kotlin Serialization 1.6.3 #39711
- Upgrade to Liquibase 4.26.0 #39712
- Upgrade to Log4j2 2.23.0 #39713
- Upgrade to MariaDB 3.3.3 #39714
- Upgrade to Maven Shade Plugin 3.5.2 [#39715](https://github.com/spring...
v3.2.3
⚠️ Noteworthy
- This release upgrades to Hibernate 6.4.4.Final. While it contains a number of valuable bug fixes, it does not work correctly in a native image. If you are using GraalVM, Hibernate should be temporarily downgraded to 6.4.2.Final using the
hibernate.version
property.
🐞 Bug Fixes
- Nested jar URLs can not be resolved if the path contains spaces #39675
- Image building runs for a long time when a long image name is used and the tag contains an illegal character #39638
- Banner printing doesn't respect set charset #39621
- "micrometer.observations.*" configuration properties should be "management.observations.*" #39600
- Metadata reading during configuration class parsing uses the default resource loader rather than the application's resource loader #39598
- Several gson properties, including spring.gson.disable-html-escaping, do not behave correctly when set to false #39524
- Property placeholders aren't resolved when configuration property binding creates a Map from a property value using a converter #39515
- Gradle plugin allows the use of Gradle 7.4 but the documented and tested minimum is 7.5 #39513
- WebFlux auto-configuration should only configure the blocking executor when virtual threads are enabled #39469
- TestcontainersPropertySource assertion has typo #39449
- Webflux actuator endpoints respond with 500 when a parameter is missing #39444
- NoSuchMethod error when using the non-shaded Pulsar client and configuring authentications parameters #39389
- Jetty GracefulShutdown writes to System.out #39360
- Building images fails with Docker 25.0 when custom buildpacks are configured #39347
- Creating a RestClient from a RestTemplateBuilder-created RestTemplate requires double configuration of the baseUrl/rootUri #39317
- Auto-configured ConcurrentPulsarListenerContainerFactory and PulsarConsumerFactory cannot be injected into injection points with specific generic type information #39308
- Startup failure when you have multiple
@DynamicPropertySources
in Spring Boot 3.2.2 #39297 - Mockito's MockedStatic isn't closed in all cases #39272
- TracingProperties exposes package-private PropagationType from public methods #39268
📔 Documentation
- Add note regarding mixing of bundle-based and direct SSL configuration #39641
- Add link to Pulsar workaround when using environment variables for authentication #39630
- Document that task executor pool size properties are ignored when using virtual threads #39629
- Document default value for show-value configuration properties #39596
- Clarify that configuration properties only apply to the auto-configured OpenTelemetry Resource bean #39509
- Update the Debugging Documentation of the Spring Boot Maven Plugin #39422
- Awaitility link in Test Scoped Dependencies is incorrect #39415
- Fixed NestedJarFile constructor javadoc #39285
- Endpoint documentation contains the typo 'Unuthorized' #39280
- Update Revved up by Develocity badge #39263
🔨 Dependency Upgrades
- Upgrade to Byte Buddy 1.14.12 #39665
- Upgrade to Commons Codec 1.16.1 #39566
- Upgrade to Dropwizard Metrics 4.2.25 #39567
- Upgrade to Groovy 4.0.18 #39568
- Upgrade to Hibernate 6.4.4.Final #39569
- Upgrade to Infinispan 14.0.24.Final #39570
- Upgrade to Jackson Bom 2.15.4 #39666
- Upgrade to Janino 3.1.12 #39571
- Upgrade to Jetty 12.0.6 #39573
- Upgrade to Jetty Reactive HTTPClient 4.0.3 #39572
- Upgrade to jOOQ 3.18.11 #39667
- Upgrade to JsonPath 2.9.0 #39393
- Upgrade to JUnit Jupiter 5.10.2 #39575
- Upgrade to Kotlin Serialization 1.6.3 #39668
- Upgrade to MariaDB 3.3.3 #39669
- Upgrade to Maven Shade Plugin 3.5.2 #39670
- Upgrade to Micrometer 1.12.3 #39474
- Upgrade to Micrometer Tracing 1.2.3 #39475
- Upgrade to Neo4j Java Driver 5.17.0 #39534
- Upgrade to Netty 4.1.107.Final #39576
- Upgrade to Postgresql 42.6.1 #39671
- Upgrade to Pulsar Reactive 0.5.3 #39672
- Upgrade to Reactor Bom 2023.0.3 #39476
- Upgrade to SLF4J 2.0.12 #39577
- Upgrade to Spring AMQP 3.1.2 #39477
- Upgrade to Spring Authorization Server 1.2.2 #39478
- Upgrade to Spring Batch 5.1.1 #39479
- Upgrade to Spring Data Bom 2023.1.3 #39480
- Upgrade to Spring Framework 6.1.4 #39481
- Upgrade to Spring GraphQL 1.2.5 #39482
- Upgrade to Spring Integration 6.2.2 #39483
- Upgrade to Spring Kafka 3.1.2 #39484
- Upgrade to Spring LDAP 3.2.2 #39485
- Upgrade to Spring Pulsar 1.0.3 #39486
- Upgrade to Spring Security 6.2.2 #39487
- Upgrade to Testcontainers 1.19.5 #39578
- Upgrade to Tomcat 10.1.19 #39673
- Upgrade to Undertow 2.3.12.Final #39674
❤️ Contributors
Thank you to all the contributors who worked on this release:
@PiyalAhmed, @Tish17, @amritagg, @dependabot[bot], @eddumelendez, @erichaagdev, @gdmrw, @jonas-grgt, @kilink, @lukasdo, @okohub, @onobc, @ramilS, @slovi, @smurf667, @snicoll, @totti-dev, @vj-atlassian, @vjh0107, @wanger26, and @xpmxf4
v3.1.9
⚠️ Noteworthy
- This release upgrades to Hibernate 6.2.22.Final. While it contains a number of valuable bug fixes, it does not work correctly in a native image. If you are using GraalVM, Hibernate should be temporarily downgraded to 6.2.20.Final using the
hibernate.version
property.
🐞 Bug Fixes
- Image building runs for a long time when a long image name is used and the tag contains an illegal character #39617
- Banner printing doesn't respect set charset #39601
- Gradle plugin allows the use of Gradle 7.4 but the documented and tested minimum is 7.5 #39508
- Property placeholders aren't resolved when configuration property binding creates a Map from a property value using a converter #39507
- Several gson properties, including spring.gson.disable-html-escaping, do not behave correctly when set to false #39504
- TestcontainersPropertySource assertion has typo #39440
- Building images fails with Docker 25.0 when custom buildpacks are configured #39323
- Metadata reading during configuration class parsing uses the default resource loader rather than the application's resource loader #39321
- Mockito's MockedStatic isn't closed in all cases #39271
- TracingProperties exposes package-private PropagationType from public methods #39265
- Webflux actuator endpoints respond with 500 when a parameter is missing #39236
📔 Documentation
- Add note regarding mixing of bundle-based and direct SSL configuration #39616
- Document default value for show-value configuration properties #39589
- Update the Debugging Documentation of the Spring Boot Maven Plugin #39392
- Endpoint documentation contains the typo 'Unuthorized' #39279
- Update Revved up by Develocity badge #39242
🔨 Dependency Upgrades
- Upgrade to Byte Buddy 1.14.12 #39659
- Upgrade to Dropwizard Metrics 4.2.25 #39553
- Upgrade to Groovy 4.0.18 #39554
- Upgrade to Hibernate 6.2.22.Final #39555
- Upgrade to Infinispan 14.0.24.Final #39556
- Upgrade to Jackson Bom 2.15.4 #39660
- Upgrade to Janino 3.1.12 #39557
- Upgrade to Jetty 11.0.20 #39559
- Upgrade to Jetty Reactive HTTPClient 3.0.12 #39558
- Upgrade to jOOQ 3.18.11 #39661
- Upgrade to JsonPath 2.9.0 #39328
- Upgrade to Micrometer 1.11.9 #39454
- Upgrade to Micrometer Tracing 1.1.10 #39455
- Upgrade to Neo4j Java Driver 5.17.0 #39551
- Upgrade to Netty 4.1.107.Final #39561
- Upgrade to Postgresql 42.6.1 #39662
- Upgrade to Reactor Bom 2022.0.16 #39456
- Upgrade to SLF4J 2.0.12 #39562
- Upgrade to Spring AMQP 3.0.11 #39457
- Upgrade to Spring Authorization Server 1.1.5 #39458
- Upgrade to Spring Batch 5.0.5 #39459
- Upgrade to Spring Data Bom 2023.0.9 #39460
- Upgrade to Spring Framework 6.0.17 #39461
- Upgrade to Spring GraphQL 1.2.5 #39462
- Upgrade to Spring Integration 6.1.6 #39463
- Upgrade to Spring Kafka 3.0.14 #39464
- Upgrade to Spring LDAP 3.1.4 #39465
- Upgrade to Spring Security 6.1.7 #39466
- Upgrade to Tomcat 10.1.19 #39663
- Upgrade to Undertow 2.3.12.Final #39664
❤️ Contributors
Thank you to all the contributors who worked on this release:
@amritagg, @dependabot[bot], @erichaagdev, @gdmrw, @lukasdo, @smurf667, @snicoll, @totti-dev, @vj-atlassian, @vjh0107, and @wanger26
v3.3.0-M1
⭐ New Features
- Auto-configure TypeDefinitionConfigurer beans for GraphQL apps #39118
- Create multiple registrations for beans that implement multiple Servlet API contracts #39056
- Remove APIs that were deprecated for removal in 3.3 #39039
- Remove dependency management for Dropwizard Metrics #39034
- Add configuration property "spring.task.execution.pool.shutdown.accept-tasks-after-context-close" #38968
- Autoconfigure Undertow/XNIO for virtual thread support #38819
- Add client-id and subscription-durable properties for JMS connections #38817
- Add property for maximum number of reactive sessions #38703
- Add support for the
@SpanTag
annotation #38662 - Add configuration option for path inclusion in DefaultErrorAttributes #38619
- Add configuration properties for cluster-level failover with Apache Pulsar #38559
- Change Health.down(Exception) factory method to Health.down(Throwable), aligning with Health.Builder.down(Throwable) #38550
- Make spring.config.activate.on-cloud-platform=none match when the current cloud platform is null #38510
- Add ProcessInfoContributor #38371
- Add possibility to configure a custom ExecutionContextSerializer in BatchAutoConfiguration #38328
- Remove deprecated support for FailureAnalyzer setter injection #38322
- Use unknown_service as default application name for OpenTelemetry #38219
- Auto-configure a JwtAuthenticationConverter #38105
- Fail configuration property metadata processing when additional metadata has unexpected content #37597
- Add local and tag correlation fields #37435
- Use request.requestPath().value() to populate path error attribute with WebFlux #37269
- Improve log messages to use the singular or plural forms instead of "noun(s)" #37017
- Add 'observation-enabled' properties for RabbitMQ #36451
- Make WebServers' started log messages more consistent #36149
- Add property to configure the queue size for Tomcat #36087
🐞 Bug Fixes
- 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 #39239
- JarEntry.getComment() returns incorrect result from NestedJarFile instances #39226
- Oracle OJDBC BOM version is flagged not for production use #39225
- MockRestServiceServerAutoConfiguration with RestTemplate and RestClient together throws incorrect exception #39198
- SslBundle implementations do not provide useful toString() results #39168
- Mixing PEM and JKS certificate material in server.ssl properties does not work #39159
- Containers are not started when using
@ImportTestcontainers
#39151 - Having AspectJ and Micrometer on the classpath is not a strong enough signal to enable support for Micrometer observation annotations #39132
- Actuator endpoints with no operations that use selectors are not accessible when mapped to / #39123
- spring-boot-maven-plugin repackage uber jar execution fails when jar is put on WSL network drive #39121
- Spring Boot 3.2 app that uses WebFlux, Security, and Actuator may fail to start due to a missing authentication manager #39117
@ConfigurationPropertiesBinding
converters that rely on initial CharSequence to String conversion no longer work #39115- management.observations.http.server.requests.name no longer has any effect #39106
- Configuring server.jetty.max-connections has no effect #39080
- spring.rabbitmq.listener.stream.auto-startup property has no effect #39079
- Connection leak when using jOOQ and spring.jooq.sql-dialect has not been set #39077
- Error mark in the log message for PatternParseException is in the wrong place #39076
- Manifest attributes cannot be resolved with the new loader implementation #39071
📔 Documentation
- Improve "Sanitize Sensitive Values" section in reference documentation #39200
- Update CRaC support status link #39173
- Fix link to Log4j2's JDK logging adapter documentation #39172
- Document virtual threads limitations #39169
- Polish reference documentation #39157
- Use the term "tags" in documentation consistently #39152
- Update links to Micrometer docs in metrics section of reference docs #39150
- Remove entry for OCI starter as it is no longer maintained #39145
- Correct the documentation on injecting dependencies into FailureAnalyzer implementations #39101
- Fix typos #38983
🔨 Dependency Upgrades
- Upgrade to AssertJ 3.25.1 #38997
- Upgrade to Brave 5.17.1 #39201
- Upgrade to Build Helper Maven Plugin 3.5.0 #38999
- Upgrade to Byte Buddy 1.14.11 #39000
- Upgrade to Classmate 1.7.0 #39001
- Upgrade to Commons DBCP2 2.11.0 #39002
- Upgrade to Commons Lang3 3.14.0 #39003
- Upgrade to Groovy 4.0.17 #39005
- Upgrade to HikariCP 5.1.0 #39006
- Upgrade to InfluxDB Java 2.24 #39008
- Upgrade to Jackson Bom 2.16.1 #39009
- Upgrade to JMustache 1.16 #39011
- Upgrade to jOOQ 3.19.2 #39202
- Upgrade to Kotlin 1.9.22 #39013
- Upgrade to Lettuce 6.3.1.RELEASE #39203
- Upgrade to Liquibase 4.25.1 #39014
- Upgrade to Log4j2 2.22.1 #39015
- Upgrade to MariaDB 3.3.2 #39146
- Upgrade to MariaDB 3.3.2 #39016
- Upgrade to Maven Compiler Plugin 3.12.1 #39017
- Upgrade to Maven Failsafe Plugin 3.2.5 #39204
- Upgrade to Maven Surefire Plugin 3.2.5 #39205
- Upgrade to Micrometer 1.12.2 [#39097](https...
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