Skip to content

Releases: spring-projects/spring-boot

v3.3.3

22 Aug 18:29
Compare
Choose a tag to compare

⭐ New Features

  • Add TWENTY_THREE to JavaVersion enum #41716

🐞 Bug Fixes

  • Extending DefaultErrorAttributes and overriding getErrorAttributes() gets called twice #41995
  • When using WebFlux, server.error.include-binding-errors=ALWAYS no longer has an effect when the BindingResult exception is the cause of a ResponseStatusException #41987
  • PropertiesLauncher does not respect classpath.idx when adding jars in BOOT-INF/lib to the classpath #41970
  • Web extension for SBOM endpoint isn't available under /cloudfoundryapplication #41890
  • Launcher's ClassLoader is no longer parallel capable #41873
  • spring-boot-testcontainers causes unwanted container initialization during AOT processing #41859
  • ReactiveElasticsearchRepositoriesAutoConfiguration should back off when Reactor is not on the classpath #41678
  • mvn spring-boot:build-image fails when 'classifier' is set to non-default value #41661
  • Spring Boot Maven plugin AOT cannot handle Maven modules with module-info.java #41647
  • Docker publishRegistry in Maven plugin configuration is validated when publish option is false #41641
  • Using Gradle's new file permission API is implemented in a way that prevents removal of the old API #41607
  • Some @ControllerEndpoint and @RestControllerEndpoint infrastructure remains undeprecated #41596
  • Constructor binding of EnumMap fails due to missing key type #41563

📔 Documentation

  • Improve documented logging property descriptions and default values #41989
  • Explain that enabling virtual threads disables traditional thread pools #41976
  • Harmonize code sample for MyUserHandler in reference documentation #41949
  • Document when environment variable property mapping applies #41945
  • Javadoc of slice test annotations should describe more accurately which components are considered #41935
  • Fix duplicate words #41920
  • Document the need to explicitly reset mock servers when using mock server customizers directly #41849
  • Correct grammar in 'Running your Application with Maven' #41840
  • Document more clearly that username and password are not used when spring.data.redis.url is set #41748
  • Pulsar configuration does not have default value for several entries in the metadata #41683
  • management.otlp.metrics.export.aggregation-temporality does not have a default value in the metadata #41676
  • management.newrelic.metrics.export.client-provider-type does not have a default value in the metadata #41670
  • server.error.include-path does not have a default value in the metadata #41667
  • The effect upon Actuator of defining your own SecurityFilterChain is documented inconsistently #41638
  • "Use Spring Data repositories" How-to incorrectly refers to Repository annotations #41628
  • "Use Spring Data repositories" How-to incorrectly refers to Repository annotations #41627
  • Update link to documentation for log4j-spring-boot #41622
  • Fix link to Flyway reference documentation #41593
  • Document configuration property binding's support for using @Name to customize a property name #41585
  • Add hint for new dependencies required for Flyway #41574
  • Document that spring-boot:repackage should not be run from the command-line #22317

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.3 #41782
  • Upgrade to Awaitility 4.2.2 #41707
  • Upgrade to Byte Buddy 1.14.19 #41886
  • Upgrade to Couchbase Client 3.6.3 #41967
  • Upgrade to CycloneDX Maven Plugin 2.8.1 #41783
  • Upgrade to Infinispan 15.0.7.Final #41784
  • Upgrade to Jakarta Servlet JSP JSTL 3.0.1 #41845
  • Upgrade to Jersey 3.1.8 #41785
  • Upgrade to Jetty 12.0.12 #41828
  • Upgrade to Jetty Reactive HTTPClient 4.0.6 #41786
  • Upgrade to jOOQ 3.19.11 #41846
  • Upgrade to Kotlin 1.9.25 #41787
  • Upgrade to Logback 1.5.7 #41887
  • Upgrade to Maven Deploy Plugin 3.1.3 #41942
  • Upgrade to Maven Install Plugin 3.1.3 #41943
  • Upgrade to Micrometer 1.13.3 #41733
  • Upgrade to Micrometer Tracing 1.3.3 #41734
  • Upgrade to Neo4j Java Driver 5.23.0 #41743
  • Upgrade to Netty 4.1.112.Final #41788
  • Upgrade to Pulsar 3.2.4 #41789
  • Upgrade to Pulsar Reactive 0.5.7 #41888
  • Upgrade to Reactor Bom 2023.0.9 #41735
  • Upgrade to RxJava3 3.1.9 #41847
  • Upgrade to SLF4J 2.0.16 #41790
  • Upgrade to Spring AMQP 3.1.7 #41953
  • Upgrade to Spring Authorization Server 1.3.2 #41736
  • Upgrade to Spring Data Bom 2024.0.3 #41737
  • Upgrade to Spring Framework 6.1.12 #41738
  • Upgrade to Spring HATEOAS 2.3.2 #41889
  • Upgrade to Spring Integration 6.3.3 #41974
  • Upgrade to Spring Kafka 3.2.3 #41954
  • Upgrade to Spring LDAP 3.2.6 #41739
  • Upgrade to Spring Pulsar 1.1.3 #41740
  • Upgrade to Spring Retry 2.0.8 #41944
  • Upgrade to Spring Security 6.3.3 #41985
  • Upgrade to Spring Session 3.3.2 #41742
  • Upgrade to Tomcat 10.1.28 #41791
  • Upgrade to Yasson 3.0.4 #41792

❤️ Contributors

Thank you to all the contributors who worked on this release:

@PiyalAhmed, @Rajin9601, @cms04, @dreis2211, @eddumelendez, @hyunmin0317, @ivamly, @jmewes, @jxblum, @lamtrinhdev, @ngocnhan-tran1996, @quaff, and @ritzykey

v3.2.9

22 Aug 15:48
Compare
Choose a tag to compare

⭐ New Features

  • Add TWENTY_THREE to JavaVersion enum #41710

🐞 Bug Fixes

  • When using WebFlux, server.error.include-binding-errors=ALWAYS no longer has an effect when the BindingResult exception is the cause of a ResponseStatusException #41984
  • spring-boot-testcontainers causes unwanted container initialization during AOT processing #41838
  • Extending DefaultErrorAttributes and overriding getErrorAttributes() gets called twice #41732
  • PropertiesLauncher does not respect classpath.idx when adding jars in BOOT-INF/lib to the classpath #41719
  • ReactiveElasticsearchRepositoriesAutoConfiguration should back off when Reactor is not on the classpath #41672
  • Launcher's ClassLoader is no longer parallel capable #41665
  • Using Gradle's new file permission API is implemented in a way that prevents removal of the old API #41599
  • Constructor binding of EnumMap fails due to missing key type #41550
  • Spring Boot Maven plugin AOT cannot handle Maven modules with module-info.java #33383
  • Docker publishRegistry in Maven plugin configuration is validated when publish option is false #29756
  • mvn spring-boot:build-image fails when 'classifier' is set to non-default value #26721

📔 Documentation

  • Release type conditionals are not working in documentation #41993
  • Harmonize code sample for MyUserHandler in reference documentation #41948
  • Explain that enabling virtual threads disables traditional thread pools #41937
  • Improve documented logging property descriptions and default values #41933
  • Fix duplicate words #41916
  • Javadoc of slice test annotations should describe more accurately which components are considered #41914
  • Document when environment variable property mapping applies #41877
  • Correct grammar in 'Running your Application with Maven' #41868
  • Document the need to explicitly reset mock servers when using mock server customizers directly #41848
  • Pulsar configuration does not have default value for several entries in the metadata #41682
  • management.otlp.metrics.export.aggregation-temporality does not have a default value in the metadata #41674
  • management.newrelic.metrics.export.client-provider-type does not have a default value in the metadata #41666
  • "Use Spring Data repositories" How-to incorrectly refers to Repository annotations #41625
  • Update link to documentation for log4j-spring-boot #41612
  • Fix link to Flyway reference documentation #41591
  • Document configuration property binding's support for using @Name to customize a property name #41577
  • The effect upon Actuator of defining your own SecurityFilterChain is documented inconsistently #41569
  • Document more clearly that username and password are not used when spring.data.redis.url is set #41231

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 5.18.5 #41764
  • Upgrade to Awaitility 4.2.2 #41706
  • Upgrade to Byte Buddy 1.14.19 #41881
  • Upgrade to Dropwizard Metrics 4.2.27 #41938
  • Upgrade to Hazelcast 5.3.8 #41765
  • Upgrade to Hibernate 6.4.10.Final #41766
  • Upgrade to Infinispan 14.0.30.Final #41767
  • Upgrade to Jakarta Servlet JSP JSTL 3.0.1 #41842
  • Upgrade to Jersey 3.1.8 #41768
  • Upgrade to Jetty 12.0.12 #41770
  • Upgrade to Jetty Reactive HTTPClient 4.0.6 #41769
  • Upgrade to jOOQ 3.18.18 #41843
  • Upgrade to Kotlin 1.9.25 #41771
  • Upgrade to Maven Deploy Plugin 3.1.3 #41939
  • Upgrade to Maven Install Plugin 3.1.3 #41940
  • Upgrade to Micrometer 1.12.9 #41720
  • Upgrade to Micrometer Tracing 1.2.9 #41721
  • Upgrade to MongoDB 4.11.3 #41772
  • Upgrade to Neo4j Java Driver 5.23.0 #41730
  • Upgrade to Netty 4.1.112.Final #41773
  • Upgrade to Pulsar Reactive 0.5.7 #41882
  • Upgrade to Reactor Bom 2023.0.9 #41722
  • Upgrade to RxJava3 3.1.9 #41844
  • Upgrade to SLF4J 2.0.16 #41774
  • Upgrade to Spring AMQP 3.1.7 #41951
  • Upgrade to Spring Authorization Server 1.2.6 #41723
  • Upgrade to Spring Data Bom 2023.1.9 #41724
  • Upgrade to Spring Framework 6.1.12 #41725
  • Upgrade to Spring HATEOAS 2.2.4 #41883
  • Upgrade to Spring Integration 6.2.8 #41973
  • Upgrade to Spring Kafka 3.1.8 #41952
  • Upgrade to Spring LDAP 3.2.6 #41726
  • Upgrade to Spring Pulsar 1.0.9 #41727
  • Upgrade to Spring Retry 2.0.8 #41941
  • Upgrade to Spring Security 6.2.6 #41728
  • Upgrade to Spring Session 3.2.5 #41729
  • Upgrade to Tomcat 10.1.28 #41775
  • Upgrade to Yasson 3.0.4 #41776

❤️ Contributors

Thank you to all the contributors who worked on this release:

@PiyalAhmed, @Rajin9601, @dreis2211, @hyunmin0317, @ivamly, @lamtrinhdev, @ngocnhan-tran1996, @quaff, and @ritzykey

v3.4.0-M1

18 Jul 20:30
Compare
Choose a tag to compare
v3.4.0-M1 Pre-release
Pre-release

⭐ New Features

  • Allow ContainerConnectionDetailsFactory to match on one of multiple different connection names #41543
  • Add support for Postgres trust host auth method with Docker Compose #41511
  • Add utility class to help write JSON #41489
  • Deprecate LOGGED_APPLICATION_NAME log property in favor of APPLICATION_NAME with the verbatim value #41444
  • Remove APIs that were deprecated for removal in 3.4 #41435
  • Register Base64ProtocolResolver as protocol resolver by default #41433
  • Deprecate spring.gson.lenient in favor of a new spring.gson.strictness property #41430
  • Support untrusted CNB builders when building images #41352
  • Group Kafka back-off properties #41335
  • Support service connections for redis/redis-stack and redis/redis-stack-server #41327
  • Publish an AuditEvent on logout #41278
  • Add memory info to ProcessInfo #41262
  • Add test auto-configuration for MockMvcTester #41198
  • Raise the minimum supported version of Gradle to 7.6.4+ or 8.3+ #41180
  • Auto-configure SpringLiquibase with Liquibase Customizer #40986
  • Provide auto-configurations for OpenTelemetry Logs #40961
  • Make it easier to provide a custom RequestToViewNameTranslator #40874
  • Use Paketo tiny builder by default for JVM and native apps #40859
  • Add support for org.testcontainers.kafka.KafkaContainer #40695
  • Add a customizer for ProxyConnectionFactory.Builder from r2dbc-proxy #40555
  • Add a customizer for Lettuce's ClientOptions #40484
  • Align cascade behavior of @Validated @ConfigurationProperties with the bean validation spec #40345
  • Add support for webjars-locator-lite #40146
  • Add SslBundle support to MailSender #40037
  • Add standardized property to distinguish a group of applications #39957
  • Deprecate @MockBean and @SpyBean #39864
  • Use native connection factory with JMS message listener containers #39816
  • Provide a callback that enables customization of the properties used to create the JCache CacheManager #39350
  • Allow NestedConfigurationProperty on getters #38844
  • Add property to specify Docker Compose startup and shutdown flags #38763
  • Disable trace exporting via properties #34620
  • Support structured logging as alternative to pattern layout logging #5479

🐞 Bug Fixes

  • Spring Authorization Server now defaults multipleIssuersAllowed to false and it cannot be easily re-enabled #41544
  • ServiceConnection does not work with @DataLdapTest #41525
  • No configuration property for defaultTimeout setting that was introduced in Spring Integration 6.2 #41522
  • NPE during auto-configuration in OnClassCondition.resolveOutcomesThreaded because firstHalf is null #41505
  • @NestedConfigurationProperty doesn't work on records #41317
  • PropertiesMigrationListener wrongly reports property as deprecated #41253
  • TestcontainersLifecycleBeanPostProcessor does not work correctly with scoped beans #41239
  • Error message can be misleading if spring.config.import fails to resolve #41237
  • build-image failures after docker desktop update with 'Illegal char <:> at index 5: npipe:////' #41235
  • When using Jetty, filters, listeners, and servlets are not initialized with the same thread context classloader #41226
  • DirtiesContext used with Webflux, a random port and multiple contexts causes multiple contexts to misbehave #41222
  • NoSuchMethodException on org.apache.activemq.ActiveMQConnectionFactory.<init> when using spring-boot-starter-activemq in a native image #41215
  • Failure during test AOT processing when multiple merged context configurations result in the Logback model being written multiple times #36997

📔 Documentation

  • Fix documentation links in the README #41546
  • Document the types to which each spring.mvc.format and spring.webflux.format property applies #41519
  • Document that logging.file.name and logging.file.path cannot be used together #41517
  • Refine CDS how-to guide #41467
  • Fix typos in javadoc of BootstrapContext #41449
  • CDS link in "Efficient Deployments" documentation is broken #41322
  • Update Kotlin DSL examples that configure the environment of bootBuildImage to be additive #41271
  • Document tracing support for RestClient #41193
  • Documentation wrongly states that zipkin-sender-urlconnection is needed #41190

🔨 Dependency Upgrades

  • Upgrade to Artemis 2.35.0 #41400
  • Upgrade to AspectJ 1.9.22.1 #41475
  • Upgrade to AssertJ 3.26.3 #41437
  • Upgrade to Build Helper Maven Plugin 3.6.0 #41402
  • Upgrade to Byte Buddy 1.14.18 #41385
  • Upgrade to Commons Codec 1.17.1 #41528
  • Upgrade to Crac 1.5.0 #41404
  • Upgrade to Dependency Management Plugin 1.1.6 #41386
  • Upgrade to Flyway 10.15.2 #41387
  • Upgrade to Git Commit ID Maven Plugin 9.0.1 #41406
  • Upgrade to GraphQL Java 22.1 #41341
  • Upgrade to Groovy 4.0.22 #41388
  • Upgrade to Gson 2.11.0 #41407
  • Upgrade to H2 2.3.230 #41538
  • Upgrade to HtmlUnit 4.3.0 #41408
  • Upgrade to HttpCore5 5.2.5 #41389
  • Upgrade to Jackson Bom 2.17.2 #41390
  • Upgrade to JBoss Logging 3.6.0.Final #41409
  • Upgrade to Jetty 12.0.11 #41391
  • Upgrade to JsonAssert 1.5.3 #41392
  • Upgrade to JUnit Jupiter 5.10.3 #41393
  • Upgrade to Kafka 3.7.1 #41394
  • Upgrade to Liquibase 4.28.0 #41194
  • Upgrad...
Read more

v3.3.2

18 Jul 17:57
Compare
Choose a tag to compare

🐞 Bug Fixes

  • No configuration property for defaultTimeout setting that was introduced in Spring Integration 6.2 #41521
  • NPE during auto-configuration in OnClassCondition.resolveOutcomesThreaded because firstHalf is null #41504
  • Spring Authorization Server now defaults multipleIssuersAllowed to false and it cannot be easily re-enabled #41355
  • ServiceConnection does not work with @DataLdapTest #41325
  • PropertiesMigrationListener wrongly reports property as deprecated #41252
  • @NestedConfigurationProperty doesn't work on records #41251
  • TestcontainersLifecycleBeanPostProcessor does not work correctly with scoped beans #41238
  • Error message can be misleading if spring.config.import fails to resolve #41236
  • build-image failures after docker desktop update with 'Illegal char <:> at index 5: npipe:////' #41234
  • When using Jetty, filters, listeners, and servlets are not initialized with the same thread context classloader #41225
  • DirtiesContext used with Webflux, a random port and multiple contexts causes multiple contexts to misbehave #41221
  • NoSuchMethodException on org.apache.activemq.ActiveMQConnectionFactory.<init> when using spring-boot-starter-activemq in a native image #41214

📔 Documentation

  • Fix documentation links in the README #41531
  • Document the types to which each spring.mvc.format and spring.webflux.format property applies #41518
  • Document that logging.file.name and logging.file.path cannot be used together #41516
  • Refine CDS how-to guide #41464
  • Fix typos in javadoc of BootstrapContext #41448
  • CDS link in "Efficient Deployments" documentation is broken #41321
  • Update Kotlin DSL examples that configure the environment of bootBuildImage to be additive #41270
  • Document tracing support for RestClient #41192
  • Documentation wrongly states that zipkin-sender-urlconnection is needed #41181

🔨 Dependency Upgrades

  • Upgrade to AspectJ 1.9.22.1 #41474
  • Upgrade to Byte Buddy 1.14.18 #41371
  • Upgrade to Dependency Management Plugin 1.1.6 #41372
  • Upgrade to GraphQL Java 22.1 #41219
  • Upgrade to Groovy 4.0.22 #41373
  • Upgrade to HttpCore5 5.2.5 #41374
  • Upgrade to Jackson Bom 2.17.2 #41375
  • Upgrade to Jetty 12.0.11 #41376
  • Upgrade to JsonAssert 1.5.3 #41377
  • Upgrade to JUnit Jupiter 5.10.3 #41378
  • Upgrade to Kafka 3.7.1 #41379
  • Upgrade to Lombok 1.18.34 #41380
  • Upgrade to Micrometer 1.13.2 #41298
  • Upgrade to Micrometer Tracing 1.3.2 #41299
  • Upgrade to MSSQL JDBC 12.6.3.jre11 #41381
  • Upgrade to Neo4j Java Driver 5.22.0 #41382
  • Upgrade to R2DBC MariaDB 1.2.1 #41383
  • Upgrade to Reactor Bom 2023.0.8 #41384
  • Upgrade to Spring Data Bom 2024.0.2 #41300
  • Upgrade to Spring Framework 6.1.11 #41301
  • Upgrade to Spring GraphQL 1.3.2 #41527
  • Upgrade to Spring HATEOAS 2.3.1 #41497
  • Upgrade to Spring Integration 6.3.2 #41302
  • Upgrade to Spring Kafka 3.2.2 #41303
  • Upgrade to Spring Pulsar 1.1.2 #41536
  • Upgrade to Spring Retry 2.0.7 #41485
  • Upgrade to Tomcat 10.1.26 #41498

❤️ Contributors

Thank you to all the contributors who worked on this release:

@acouvreur, @anbusampath, @eddumelendez, @izeye, @jxblum, @mateusscheper, @opcooc, and @sdeleuze

v3.2.8

18 Jul 15:21
Compare
Choose a tag to compare

🐞 Bug Fixes

  • NPE during auto-configuration in OnClassCondition.resolveOutcomesThreaded because firstHalf is null #41492
  • No configuration property for defaultTimeout setting that was introduced in Spring Integration 6.2 #41477
  • NoSuchMethodException on org.apache.activemq.ActiveMQConnectionFactory.<init> when using spring-boot-starter-activemq in a native image #41212
  • build-image failures after docker desktop update with 'Illegal char <:> at index 5: npipe:////' #41199
  • DirtiesContext used with Webflux, a random port and multiple contexts causes multiple contexts to misbehave #38199
  • When using Jetty, filters, listeners, and servlets are not initialized with the same thread context classloader #37649
  • Error message can be misleading if spring.config.import fails to resolve #36243
  • TestcontainersLifecycleBeanPostProcessor does not work correctly with scoped beans #35786
  • PropertiesMigrationListener wrongly reports property as deprecated #35774

📔 Documentation

  • Fix documentation links in the README #41547
  • Document the types to which each spring.mvc.format and spring.webflux.format property applies #41482
  • Fix typos in javadoc of BootstrapContext #41443
  • Document that logging.file.name and logging.file.path cannot be used together #41351
  • Document tracing support for RestClient #41182
  • Update Kotlin DSL examples that configure the environment of bootBuildImage to be additive #41173

🔨 Dependency Upgrades

  • Upgrade to AspectJ 1.9.22.1 #41470
  • Upgrade to Byte Buddy 1.14.18 #41361
  • Upgrade to Dependency Management Plugin 1.1.6 #41362
  • Upgrade to GraphQL Java 21.5 #41340
  • Upgrade to Groovy 4.0.22 #41363
  • Upgrade to HttpCore5 5.2.5 #41364
  • Upgrade to Jetty 12.0.11 #41365
  • Upgrade to JsonAssert 1.5.3 #41366
  • Upgrade to JUnit Jupiter 5.10.3 #41367
  • Upgrade to Lombok 1.18.34 #41368
  • Upgrade to Micrometer 1.12.8 #41292
  • Upgrade to Micrometer Tracing 1.2.8 #41293
  • Upgrade to Neo4j Java Driver 5.22.0 #41370
  • Upgrade to Reactor Bom 2023.0.8 #41436
  • Upgrade to Spring Data Bom 2023.1.8 #41294
  • Upgrade to Spring Framework 6.1.11 #41295
  • Upgrade to Spring GraphQL 1.2.8 #41523
  • Upgrade to Spring HATEOAS 2.2.3 #41493
  • Upgrade to Spring Integration 6.2.7 #41296
  • Upgrade to Spring Kafka 3.1.7 #41297
  • Upgrade to Spring Pulsar 1.0.8 #41532
  • Upgrade to Spring Retry 2.0.7 #41484
  • Upgrade to SQLite JDBC 3.43.2.2 #41495
  • Upgrade to Tomcat 10.1.26 #41496

❤️ Contributors

Thank you to all the contributors who worked on this release:

@jxblum, @mateusscheper, and @sdeleuze

v3.3.1

20 Jun 11:16
Compare
Choose a tag to compare

🐞 Bug Fixes

  • SQL Server JDBC URL is malformed after adding org.springframework.boot.jdbc.parameters label #41169
  • Git instant properties cannot be coerced following git-commit-id Maven plugin upgrade #41152
  • Excluding status code from DefaultErrorAttributes throws NPE #41141
  • Spring Boot remote restart with devtools causes 'factory already defined' Tomcat error when running with 'java -jar' #41107
  • MongoHealthIndicator not compliant with Mongo stable API with strict setting #41104
  • Service connection for bitnami mongodb fails to connect #41097
  • Image building requires builder to specify a stack #41091
  • DataSourceProperties fail to bind if java.sql module isn't included #41084
  • AOT causes Logback configuration error when using include #41081
  • Image building hangs when builder and buildpack are configured #41049
  • IllegalArgumentException when trying to use Tomcat's HttpNio2Protocol with Spring Boot-configured SSL #41010
  • Uber jar fails to start when it contains a dependency with Multi-Release: true in its manifest and unexpected file entries in META-INF/versions #41006
  • JSP-related resources may not be found in an executable war file when using Jetty #40996
  • The value of the tomcat.threads.config.max metric is always -1, irrespective of the configured maximum number of threads #40957
  • The auto-configured reactiveNeo4jTransactionManager may cause a failure due to multiple TransactionManager beans #40953
  • Application fails to start when server.tomcat.threads.max < 10 #40945
  • SBOM actuator endpoint doesn't work in a native image #40939
  • Starter parent applies its configuration of the CycloneDX Maven plugin too broadly #40927
  • buildInfo does not work with Gradle 8.7 or later when the configuration cache is enabled #40924
  • Prometheus Exemplars are missing from _count #40904
  • Extract fails due to a duplicate entry when BOOT-INF/classes contains a directory that's also present in the root of the jar #40903
  • sbom is not available to the actuator endpoint when using bootRun or bootWar #40890
  • A newline character is missing from the start of the default banner #40889

📔 Documentation

  • Fix links to Spring AMQP's javadoc #41144
  • Document more precisely how a Container's Docker image name is used to find the matching service connection #41123
  • Cross-link to the CDS how-to guide #41118
  • Fix typos in javadoc of MockServerRestClientCustomizer and MockServerRestTemplateCustomizer #41065
  • Improve readability when listing three pillars of observability #41064
  • Add CDS training run configuration documentation #41045
  • Document the need to switch to io.micrometer:micrometer-registry-prometheus-simpleclient to use the Prometheus push gateway #40993
  • Improve consistency of documentation guidelines for packaging and running applications #40977
  • Fix typos in method names and javadoc #40976
  • Replace hard-coded links to Micrometer in documentation #40967
  • Add Kotlin example for @Testcontainers #40943
  • Fix various minor inconsistencies of the documentation #40942
  • Warn in the documentation that spring.profiles.group can only be used in non-profile-specific documents #40941
  • Broken Micrometer links in documentation #40916
  • Document Buildpacks CDS and Spring AOT support #40762

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.14.17 #41066
  • Upgrade to FreeMarker 2.3.33 #41067
  • Upgrade to HSQLDB 2.7.3 #41068
  • Upgrade to Infinispan 15.0.5.Final #41159
  • Upgrade to Jaybird 5.0.5.java11 #41132
  • Upgrade to Jersey 3.1.7 #41069
  • Upgrade to Jetty 12.0.10 #41071
  • Upgrade to Jetty Reactive HTTPClient 4.0.5 #41070
  • Upgrade to jOOQ 3.19.10 #41133
  • Upgrade to Maven Help Plugin 3.4.1 #41073
  • Upgrade to Maven Jar Plugin 3.4.2 #41160
  • Upgrade to Micrometer 1.13.1 #41030
  • Upgrade to Micrometer Tracing 1.3.1 #41042
  • Upgrade to MSSQL JDBC 12.6.2.jre11 #41074
  • Upgrade to Neo4j Java Driver 5.21.0 #41043
  • Upgrade to Netty 4.1.111.Final #41075
  • Upgrade to Pulsar Reactive 0.5.6 #41134
  • Upgrade to Reactor Bom 2023.0.7 #41031
  • Upgrade to Spring AMQP 3.1.6 #41145
  • Upgrade to Spring Authorization Server 1.3.1 #41032
  • Upgrade to Spring Data Bom 2024.0.1 #41033
  • Upgrade to Spring Framework 6.1.10 #41150
  • Upgrade to Spring GraphQL 1.3.1 #41035
  • Upgrade to Spring Integration 6.3.1 #41036
  • Upgrade to Spring Kafka 3.2.1 #41037
  • Upgrade to Spring LDAP 3.2.4 #41038
  • Upgrade to Spring Pulsar 1.1.1 #41039
  • Upgrade to Spring Security 6.3.1 #41040
  • Upgrade to Spring Session 3.3.1 #41041
  • Upgrade to Tomcat 10.1.25 #41161

❤️ Contributors

Thank you to all the contributors who worked on this release:

@Eng-Fouad, @PiyalAhmed, @Seungpang, @asashour, @cmabdullah, @dependabot[bot], @donghoony, @erie0210, @izeye, @mateusscheper, @onobc, @quaff, @sdeleuze, and @vsanna

v3.2.7

20 Jun 09:11
Compare
Choose a tag to compare

🐞 Bug Fixes

  • SQL Server JDBC URL is malformed after adding org.springframework.boot.jdbc.parameters label #41146
  • Git instant properties cannot be coerced following git-commit-id Maven plugin upgrade #41109
  • MongoHealthIndicator not compliant with Mongo stable API with strict setting #41101
  • DataSourceProperties fail to bind if java.sql module isn't included #41082
  • Image building requires builder to specify a stack #41046
  • IllegalArgumentException when trying to use Tomcat's HttpNio2Protocol with Spring Boot-configured SSL #41007
  • Uber jar fails to start when it contains a dependency with Multi-Release: true in its manifest and unexpected file entries in META-INF/versions #41001
  • buildInfo does not work with Gradle 8.7 or later when the configuration cache is enabled #40911
  • The auto-configured reactiveNeo4jTransactionManager may cause a failure due to multiple TransactionManager beans #40895
  • Flyway auto-configuration does not work with Flyway 10 when using GraalVM #40821
  • Image building hangs when builder and buildpack are configured #40697
  • Spring Boot remote restart with devtools causes 'factory already defined' Tomcat error when running with 'java -jar' #39733
  • JSP-related resources may not be found in an executable war file when using Jetty #39472
  • Excluding status code from DefaultErrorAttributes throws NPE #30011

📔 Documentation

  • Document more precisely how a Container's Docker image name is used to find the matching service connection #41111
  • Fix typos in javadoc of MockServerRestClientCustomizer and MockServerRestTemplateCustomizer #41052
  • Improve readability when listing three pillars of observability #41051
  • Fix typos in method names and javadoc #40971
  • Warn in the documentation that spring.profiles.group can only be used in non-profile-specific documents #40918
  • Add Kotlin example for @Testcontainers #40905
  • Fix various minor inconsistencies of the documentation #40900

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.14.17 #41054
  • Upgrade to Dropwizard Metrics 4.2.26 #41055
  • Upgrade to FreeMarker 2.3.33 #41056
  • Upgrade to Hibernate 6.4.9.Final #41095
  • Upgrade to HSQLDB 2.7.3 #41057
  • Upgrade to Infinispan 14.0.29.Final #41096
  • Upgrade to Jaybird 5.0.5.java11 #41127
  • Upgrade to Jersey 3.1.7 #41058
  • Upgrade to Jetty 12.0.10 #41060
  • Upgrade to Jetty Reactive HTTPClient 4.0.5 #41059
  • Upgrade to jOOQ 3.18.17 #41128
  • Upgrade to Maven Help Plugin 3.4.1 #41062
  • Upgrade to Micrometer 1.12.7 #41015
  • Upgrade to Micrometer Tracing 1.2.7 #41027
  • Upgrade to Neo4j Java Driver 5.21.0 #41028
  • Upgrade to Netty 4.1.111.Final #41063
  • Upgrade to Pulsar Reactive 0.5.6 #41129
  • Upgrade to Reactor Bom 2023.0.7 #41016
  • Upgrade to Spring AMQP 3.1.6 #41143
  • Upgrade to Spring Authorization Server 1.2.5 #41017
  • Upgrade to Spring Data Bom 2023.1.7 #41018
  • Upgrade to Spring Framework 6.1.10 #41149
  • Upgrade to Spring GraphQL 1.2.7 #41020
  • Upgrade to Spring Integration 6.2.6 #41021
  • Upgrade to Spring Kafka 3.1.6 #41022
  • Upgrade to Spring LDAP 3.2.4 #41023
  • Upgrade to Spring Pulsar 1.0.7 #41024
  • Upgrade to Spring Security 6.2.5 #41025
  • Upgrade to Spring Session 3.2.4 #41026
  • Upgrade to Tomcat 10.1.25 #41158

❤️ Contributors

Thank you to all the contributors who worked on this release:

@MazizEsa, @PiyalAhmed, @asashour, @cmabdullah, @donghoony, @erie0210, @mateusscheper, @quaff, and @vsanna

v3.3.0

23 May 13:47
Compare
Choose a tag to compare

⭐ New Features

  • Add support for descriptions of record components in configuration metadata generation #29403

🐞 Bug Fixes

  • gradlew bootBuildImage fails with Podman on macOS Sonoma #40871
  • Pulsar auth parameters don't properly encode JSON values #40869
  • When using JPA and ImportTestcontainers, test context may fail to refresh due to "Mapped port can only be obtained after the container is started" #40863
  • Default MIME mappings are not loaded unless additional mappings are configured #40860
  • Starting from 3.2.x, @SpyBean is not able to initialise MongoRepository bean of the generic type #40855
  • Auto-configuration ordering change breaks DocumentReference (in non-reactive MongoTemplate) when depending on mongodb-driver-reactivestreams #40851
  • Neo4jReactiveDataAutoConfiguration creates incorrectly named bean #40836
  • Image building fails during cleanup when bind mount has read-only content #40799
  • Failure Analysis for InvalidConfigurationPropertyValueException is skipped when the property is not set #40691
  • IllegalArgumentException can be thrown when running an uber jar on a shared drive #40643
  • setReadTimeout can't be set via Reflective factory on JettyClientHttpRequestFactory #40638
  • URISyntaxException is raised if the spring boot application is started in a location that contains invalid URI characters #40616
  • resolveMainClassName fails when building with Gradle using Java 22 #40613
  • AnsiOutput.detectIfAnsiCapable broken on JDK22 #40609
  • Help information for spring init's build option has the wrong default #40606
  • JarUrlConnection.getPermission() can throw NullPointerException if jarFileConnection is null #40599
  • Whitespace is not correctly trimmed when generating configuration properties metadata from records #40593
  • In some situations, the failure when the AOT-generated initializer cannot be loaded is less helpful than before #40584
  • Properties binding eagerly creates superfluous maps #40561
  • Configuring SSL bundle reload for non-file resource types causes errors that are difficult to diagnose #40560
  • spring-boot-dependencies cannot be used with repositories that ban com.oracle.database.jdbc:ojdbc-bom #40535
  • Buildpacks do not support Docker with containerd image store #40526
  • SpringBootMockMvcBuilderCustomizer can crash cryptically while collecting data that it would have discarded anyway #40517
  • Containers not shut down between tests when using .withReuse(true) but env. does not support reuse (e.g. CI builds) #40509
  • CookieSameSiteSupplier influences session cookie #40501
  • <springProperty> and <springProfile> do not work in <include> after Logback upgrade #40491
  • Runtime hint registration for property binding should not fail when parameter information is unavailable #40486
  • ServiceLevelObjectiveBoundary properties cannot be bound in a native image application #40483
  • server.error.include-binding-errors does not recognize MethodValidationResult exceptions #40474
  • spring.data.redis.cluster.nodes and spring.data.redis.sentinel.nodes do not handle IPv6 addresses correctly #40467
  • Using relative paths to describe the classpath in the error message from ResolveMainClassName hinders problem diagnosis #40465
  • Jartools extract command doesn't extract all files from META-INF #40456
  • Native image doesn't start and doesn't log anything if an environment post processor throws an exception #40451
  • Unlike DataSourceAutoConfiguration, DevToolsDataSourceAutoConfiguration assumes that javax.sql.DataSource will always be available #40441

📔 Documentation

  • Improve graceful shutdown documentation to remove ambiguity #40846
  • Document ways to opt out from immutable @ConfigurationProperties binding with single constructor #40844
  • Document that a custom HttpMessageConverters bean can be used to reorder json message converters when needed #40839
  • Address ambiguity now that Testcontainers has two classes named KafkaContainer #40756
  • Publish API documentation for Spring Boot's Kotlin APIs #40692
  • Fix typo in features doc #40631
  • Code inclusion in Jersey documentation is broken #40629
  • Add How-To for ManagedClassNameFilter #40617
  • Clarify devtools restart class loader #40608
  • Document default value of management.zipkin.tracing.encoding #40588
  • Note that spring-boot-docker-compose is excluded by default from packaged jars #40565
  • Clarify docs around spring.jpa.generate-ddl #40523
  • Clarify the directory that's used by default to find Docker Compose compose.yaml #40515
  • Suggest testAndDevelopmentOnly configuration when using Docker Compose support in tests #40481
  • Clarify that all named properties must match for @ConditionalOnProperty to match #40471
  • Links to Spring Batch javadoc for EnableBatchProcessing and DefaultBatchConfiguration are broken #40141
  • Add grpc starter and httpexchange starter to the community starters document #39437

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.14.16 #40879
  • Upgrade to Cassandra Driver 4.18.1 #40842
  • Upgrade to Couchbase Client 3.6.2 #40737
  • Upgrade to Dependency Management Plugin 1.1.5 #40738
  • Upgrade to Elasticsearch Client 8.13.4 #40739
  • Upgrade to GraphQL Java 22.0 #40618
  • Upgrade to Hibernate 6.5.2.Final #40867
  • Upgrade to Infinispan 15.0.4.Final #40865
  • Upgrade to Jackson Bom 2.17.1 #40742
  • Upgrade to Jakarta XML SOAP 3.0.2 #40786
  • Upgrade to Jakarta XML WS 4.0.2 #40787
  • Upgrade to Jetty 12.0.9 #40743
  • Upgrade to Jetty Reactive HTTPClient 4.0.4 #40811
  • Upgrade to jOOQ 3.19.8 #40744
  • Upgrade to Kotlin 1.9.24 #40745
  • Upgrade to Kotlin Coroutines 1.8.1 #40746
  • Upgrade to Maven Deploy Plugin 3.1.2 [#40747](#4...
Read more

v3.2.6

23 May 10:40
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Image building fails during cleanup when bind mount has read-only content #40760
  • Failure Analysis for InvalidConfigurationPropertyValueException is skipped when the property is not set #40690
  • setReadTimeout can't be set via Reflective factory on JettyClientHttpRequestFactory #40635
  • URISyntaxException is raised if the spring boot application is started in a location that contains invalid URI characters #40615
  • Help information for spring init's build option has the wrong default #40605
  • When using JPA and ImportTestcontainers, test context may fail to refresh due to "Mapped port can only be obtained after the container is started" #40585
  • IllegalArgumentException can be thrown when running an uber jar on a shared drive #40549
  • spring-boot-dependencies cannot be used with repositories that ban com.oracle.database.jdbc:ojdbc-bom #40534
  • SpringBootMockMvcBuilderCustomizer can crash cryptically while collecting data that it would have discarded anyway #40516
  • Containers not shut down between tests when using .withReuse(true) but env. does not support reuse (e.g. CI builds) #40508
  • Pulsar auth parameters don't properly encode JSON values #40493
  • Runtime hint registration for property binding should not fail when parameter information is unavailable #40485
  • ServiceLevelObjectiveBoundary properties cannot be bound in a native image application #40482
  • spring.data.redis.cluster.nodes and spring.data.redis.sentinel.nodes do not handle IPv6 addresses correctly #40466
  • Using relative paths to describe the classpath in the error message from ResolveMainClassName hinders problem diagnosis #40464
  • Native image doesn't start and doesn't log anything if an environment post processor throws an exception #40450
  • Unlike DataSourceAutoConfiguration, DevToolsDataSourceAutoConfiguration assumes that javax.sql.DataSource will always be available #40440
  • Starting from 3.2.x, @SpyBean is not able to initialise MongoRepository bean of the generic type #40234
  • AnsiOutput.detectIfAnsiCapable broken on JDK22 #40172
  • Buildpacks do not support Docker with containerd image store #40100
  • resolveMainClassName fails when building with Gradle using Java 22 #40074
  • server.error.include-binding-errors does not recognize MethodValidationResult exceptions #39865
  • JarUrlConnection.getPermission() can throw NullPointerException if jarFileConnection is null #39856
  • gradlew bootBuildImage fails with Podman on macOS Sonoma #39830
  • CookieSameSiteSupplier influences session cookie #39766
  • Auto-configuration ordering change breaks DocumentReference (in non-reactive MongoTemplate) when depending on mongodb-driver-reactivestreams #39405
  • Properties binding eagerly creates superfluous maps #39375
  • Configuring SSL bundle reload for non-file resource types causes errors that are difficult to diagnose #38903
  • In some situations, the failure when the AOT-generated initializer cannot be loaded is less helpful than before #38645

📔 Documentation

  • Improve graceful shutdown documentation to remove ambiguity #40845
  • Document ways to opt out from immutable @ConfigurationProperties binding with single constructor #40843
  • Document that a custom HttpMessageConverters bean can be used to reorder json message converters when needed #40838
  • Address ambiguity now that Testcontainers has two classes named KafkaContainer #40699
  • Clarify devtools restart class loader #40607
  • Note that spring-boot-docker-compose is excluded by default from packaged jars #40564
  • Clarify docs around spring.jpa.generate-ddl #40522
  • Clarify the directory that's used by default to find Docker Compose compose.yaml #40514
  • Clarify that all named properties must match for @ConditionalOnProperty to match #40470
  • Links to Spring Batch javadoc for EnableBatchProcessing and DefaultBatchConfiguration are broken #40468
  • Suggest testAndDevelopmentOnly configuration when using Docker Compose support in tests #40171

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.14.16 #40877
  • Upgrade to Dependency Management Plugin 1.1.5 #40721
  • Upgrade to Hibernate 6.4.8.Final #40722
  • Upgrade to Infinispan 14.0.28.Final #40723
  • Upgrade to Jakarta XML SOAP 3.0.2 #40781
  • Upgrade to Jakarta XML WS 4.0.2 #40782
  • Upgrade to Jetty 12.0.9 #40724
  • Upgrade to Jetty Reactive HTTPClient 4.0.4 #40809
  • Upgrade to jOOQ 3.18.15 #40725
  • Upgrade to Kotlin 1.9.24 #40726
  • Upgrade to Maven Deploy Plugin 3.1.2 #40727
  • Upgrade to Maven Install Plugin 3.1.2 #40728
  • Upgrade to Maven Shade Plugin 3.5.3 #40729
  • Upgrade to Micrometer 1.12.6 #40655
  • Upgrade to Micrometer Tracing 1.2.6 #40730
  • Upgrade to Neo4j Java Driver 5.20.0 #40665
  • Upgrade to Netty 4.1.110.Final #40878
  • Upgrade to Pooled JMS 3.1.6 #40731
  • Upgrade to Pulsar Reactive 0.5.5 #40810
  • Upgrade to R2DBC Proxy 1.1.5.RELEASE #40732
  • Upgrade to Reactor Bom 2023.0.6 #40656
  • Upgrade to SAAJ Impl 3.0.4 #40783
  • Upgrade to Spring AMQP 3.1.5 #40827
  • Upgrade to Spring Batch 5.1.2 #40657
  • Upgrade to Spring Data Bom 2023.1.6 #40658
  • Upgrade to Spring Framework 6.1.8 #40828
  • Upgrade to Spring Integration 6.2.5 #40660
  • Upgrade to Spring Kafka 3.1.5 #40661
  • Upgrade to Spring Pulsar 1.0.6 #40662
  • Upgrade to Spring Retry 2.0.6 #40784
  • Upgrade to Spring Session 3.2.3 #40663
  • Upgrade to Spring WS 4.0.11 #40664
  • Upgrade to Testcontainers 1.19.8 #40733
  • U...
Read more

v3.1.12

23 May 08:31
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Help information for spring init's build option has the wrong default #40603
  • SpringBootMockMvcBuilderCustomizer can crash cryptically while collecting data that it would have discarded anyway #40500
  • ServiceLevelObjectiveBoundary properties cannot be bound in a native image application #40480
  • Using relative paths to describe the classpath in the error message from ResolveMainClassName hinders problem diagnosis #40463
  • Unlike DataSourceAutoConfiguration, DevToolsDataSourceAutoConfiguration assumes that javax.sql.DataSource will always be available #40434
  • Native image doesn't start and doesn't log anything if an environment post processor throws an exception #40429
  • Runtime hint registration for property binding should not fail when parameter information is unavailable #40051
  • spring-boot-dependencies cannot be used with repositories that ban com.oracle.database.jdbc:ojdbc-bom #39945
  • spring.data.redis.cluster.nodes and spring.data.redis.sentinel.nodes do not handle IPv6 addresses correctly #39819
  • Containers not shut down between tests when using .withReuse(true) but env. does not support reuse (e.g. CI builds) #39609
  • Failure Analysis for InvalidConfigurationPropertyValueException is skipped when the property is not set #33261

📔 Documentation

  • Document that a custom HttpMessageConverters bean can be used to reorder json message converters when needed #40767
  • Clarify devtools restart class loader #40604
  • Note that spring-boot-docker-compose is excluded by default from packaged jars #40556
  • Clarify the directory that's used by default to find Docker Compose compose.yaml #40512
  • Clarify docs around spring.jpa.generate-ddl #40503
  • Clarify that all named properties must match for @ConditionalOnProperty to match #40110
  • Improve graceful shutdown documentation to remove ambiguity #40108
  • Document ways to opt out from immutable @ConfigurationProperties binding with single constructor #34820

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.14.16 #40875
  • Upgrade to Dependency Management Plugin 1.1.5 #40709
  • Upgrade to Hibernate 6.2.25.Final #40710
  • Upgrade to Infinispan 14.0.28.Final #40711
  • Upgrade to Jakarta XML SOAP 3.0.2 #40776
  • Upgrade to Jakarta XML WS 4.0.2 #40777
  • Upgrade to Jetty 11.0.21 #40778
  • Upgrade to Jetty Reactive HTTPClient 3.0.13 #40807
  • Upgrade to jOOQ 3.18.15 #40712
  • Upgrade to Maven Deploy Plugin 3.1.2 #40713
  • Upgrade to Maven Install Plugin 3.1.2 #40714
  • Upgrade to Micrometer 1.11.12 #40646
  • Upgrade to Micrometer Tracing 1.1.13 #40715
  • Upgrade to Neo4j Java Driver 5.20.0 #40654
  • Upgrade to Netty 4.1.110.Final #40876
  • Upgrade to Pooled JMS 3.1.6 #40716
  • Upgrade to R2DBC Proxy 1.1.5.RELEASE #40717
  • Upgrade to Reactor Bom 2022.0.19 #40647
  • Upgrade to SAAJ Impl 3.0.4 #40779
  • Upgrade to Spring AMQP 3.0.14 #40824
  • Upgrade to Spring Batch 5.0.6 #40648
  • Upgrade to Spring Data Bom 2023.0.12 #40649
  • Upgrade to Spring Framework 6.0.21 #40825
  • Upgrade to Spring Integration 6.1.9 #40826
  • Upgrade to Spring Kafka 3.0.17 #40651
  • Upgrade to Spring Retry 2.0.6 #40808
  • Upgrade to Spring Session 3.1.6 #40652
  • Upgrade to Spring WS 4.0.11 #40653
  • Upgrade to Tomcat 10.1.24 #40780
  • Upgrade to Undertow 2.3.13.Final #40719

❤️ Contributors

Thank you to all the contributors who worked on this release:

@PiyalAhmed, @chaewss, @coursar, @dependabot[bot], @dsyer, @dukbong, @izeye, @quaff, @snicoll, and @tobi-laa