Skip to content

Releases: spring-projects/spring-boot

v3.2.2

19 Jan 19:27
Compare
Choose a tag to compare

⚠️ 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 to false. Set it to true 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

19 Jan 05:44
Compare
Choose a tag to compare

🐞 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

21 Dec 12:55
Compare
Choose a tag to compare

⚠️ 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...
Read more

v3.1.7

21 Dec 11:19
Compare
Choose a tag to compare

🐞 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

23 Nov 14:32
Compare
Choose a tag to compare

⭐ 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

23 Nov 12:02
Compare
Choose a tag to compare

⭐ 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 to false #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

Read more

v3.0.13

23 Nov 09:52
Compare
Choose a tag to compare

⚠️ Noteworthy Changes

  • Following the Paketo team's announcement that the Bionic CNB builders will be removed, the default builder using by bootBuildImage (Gradle) and spring-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 to false #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

23 Nov 08:08
Compare
Choose a tag to compare

⚠️ Noteworthy Changes

  • Following the Paketo team's announcement that the Bionic CNB builders will be removed, the default builder using by bootBuildImage (Gradle) and spring-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 to false #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

03 Nov 02:55
Compare
Choose a tag to compare
v3.2.0-RC2 Pre-release
Pre-release

⭐ 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 to false #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

20 Oct 13:44
Compare
Choose a tag to compare
v3.2.0-RC1 Pre-release
Pre-release

⭐ 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

📔 Documentation

  • Document that 'spring.docker.compose.file' can be used to share Docker Compose configuration between applications #37960
  • Mention new RestClient class when suggesting @RegisterReflectionForBinding #37726
  • Remove link to LiveReload website due to timeout #37692
  • Use t...
Read more