Skip to content

Releases: spring-projects/spring-boot

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

v3.3.0-RC1

19 Apr 00:28
Compare
Choose a tag to compare
v3.3.0-RC1 Pre-release
Pre-release

⭐ New Features

  • Add configuration key spring.rabbitmq.template.allowed-list-patterns #40421
  • Add spring.graphql.websocket.keep-alive property #40320
  • Add Spring Pulsar transaction support #40189
  • Make it harder to misconfigure logging.threshold.console in yaml #40124
  • Make configuration properties for Pulsar failover more concise #40077
  • Add support for Prometheus Client 1.x and simpleclient #40023
  • Delay interaction with Lazy CqlSession bean until first required usage #39948
  • Add property spring.data.jdbc.dialect #39941
  • Make spring-test available to compile classpath of consumers of spring-boot-test #39901
  • Exclude infrastructure beans from lazy initialization when lazy-initialization=true #39831
  • Configure JpaBaseConfiguration with custom ManagedClassNameFilter #39813
  • Add property to ignore running Docker Compose services #39749
  • Add configuration property to disable long timers in Micrometer Observations #39618
  • Upgrade Cassandra driver to 4.18.0 and change coordinates from com.datastax.oss to org.apache.cassandra #39090
  • Add more gap between the orders of CloudFoundryVcapEnvironmentPostProcessor and ConfigDataEnvironmentPostProcessor #38684
  • Deprecate @ServletEndpoint, @ControllerEndpoint and @RestControllerEndpoint #31768
  • Add SNI support to embedded web server SSL auto-configuration #26022

🐞 Bug Fixes

  • Executable JAR application startup is slower after 3.2.0 when Hibernate scanner is not disabled #40381
  • NoClassDefFoundError can be thrown from LaunchedClassLoader when threads are interrupted #40379
  • BindValidationFailureAnalyzer uses wrong target #40365
  • Log4j2LoggingSystem pollutes Log4j2's environment with a SpringEnvironmentPropertySource that is never removed #40327
  • When using Maven, configuring the spring-boot.excludes or spring-boot-includes user properties causes the build to fail with "Cannot find default setter" #40324
  • @ServletComponentScan does not register servlet components in a mock web environment #40322
  • Loading of custom deny-all filter can cause a StackOverflowError when deploying to Tomcat with Log4j2 configured to use a single JVM-wide logger context #40313
  • Jetty support doesn't set virtual thread name #40169
  • Maven uses 'start-class' when the parent POM is being used and ignores 'spring-boot.run.main-class' #40145
  • PropertiesLdapConnectionDetails should not be public #40081
  • spring.datasource.dbcp2.username and spring.datasource.dbcp2.password are incorrectly marked as deprecated #40076
  • spring-boot-dependencies should not manage org.flywaydb:flyway-community-db-support as it is not released as part of Flyway #40073
  • Spring Config does not use environment conversion service on resolved properties #39944

πŸ“” Documentation

  • Producible's javadoc has the wrong link text for @WriteOperation and @DeleteOperation #40387
  • Add reference to OpenTelemetry Spring Boot starter #40339
  • Refine Efficient Deployments section in the reference guide #40175
  • Clarify requirements for -parameters and constructor binding #40164
  • Ensure Reference Guides breadcrumb in page headers is hyperlinked #40135
  • Document new tools mode #40094
  • Add reference to Nostr Spring Boot Starter #40080
  • Replace links to code with links to javadoc #40065
  • Document CDS support #40061
  • Document SBOM Support #40059
  • Fix forward-headers-strategy documentation regarding cloud defaults #40054
  • Pull the whole "Testing" documentation section up to the top level #38361

πŸ”¨ Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.2 #40399
  • Upgrade to Artemis 2.33.0 #40082
  • Upgrade to AspectJ 1.9.22 #40239
  • Upgrade to Awaitility 4.2.1 #40331
  • Upgrade to Brave 6.0.3 #40332
  • Upgrade to Byte Buddy 1.14.13 #40240
  • Upgrade to Couchbase Client 3.6.1 #40241
  • Upgrade to CycloneDX Maven Plugin 2.8.0 #40242
  • Upgrade to Elasticsearch Client 8.13.2 #40333
  • Upgrade to GraphQL Java 21.5 #40244
  • Upgrade to Groovy 4.0.21 #40245
  • Upgrade to Hazelcast 5.4.0 #40400
  • Upgrade to Hibernate 6.5.0.CR2 #40378
  • Upgrade to Infinispan 15.0.1.Final #40334
  • Upgrade to Jakarta Json Bind 3.0.1 #40248
  • Upgrade to Jersey 3.1.6 #40249
  • Upgrade to Jetty 12.0.8 #40250
  • Upgrade to jOOQ 3.19.7 #40251
  • Upgrade to Json-smart 2.5.1 #40252
  • Upgrade to Liquibase 4.27.0 #40253
  • Upgrade to Logback 1.5.6 #40401
  • Upgrade to Lombok 1.18.32 #40254
  • Upgrade to Maven Invoker Plugin 3.6.1 #40255
  • Upgrade to Maven Jar Plugin 3.4.0 #40402
  • Upgrade to Maven Source Plugin 3.3.1 #40256
  • Upgrade to Micrometer 1.13.0-RC1 #40257
  • Upgrade to Micrometer Tracing 1.3.0-RC1 #40258
  • Upgrade to MongoDB 5.0.1 #40259
  • Upgrade to Neo4j Java Driver 5.19.0 #40232
  • Upgrade to Netty 4.1.109.Final #40403
  • Upgrade to OpenTelemetry 1.37.0 #40261
  • Upgrade to Pulsar 3.2.2 #40262
  • Upgrade to Pulsar Reactive 0.5.4 #40404
  • Upgrade to R2DBC MySQL 1.1.3 #40263
  • Upgrade to R2DBC Postgresql 1.0.5.RELEASE #40335
  • Upgrade to Rabbit AMQP Client 5.21.0 #40264
  • Upgrade to Reactor Bom 2023.0.5...
Read more

v3.2.5

18 Apr 18:26
Compare
Choose a tag to compare

🐞 Bug Fixes

  • BindValidationFailureAnalyzer uses wrong target #40364
  • Log4j2LoggingSystem pollutes Log4j2's environment with a SpringEnvironmentPropertySource that is never removed #40326
  • When using Maven, configuring the spring-boot.excludes or spring-boot-includes user properties causes the build to fail with "Cannot find default setter" #40323
  • @ServletComponentScan does not register servlet components in a mock web environment #40321
  • Loading of custom deny-all filter can cause a StackOverflowError when deploying to Tomcat with Log4j2 configured to use a single JVM-wide logger context #40312
  • Jetty support doesn't set virtual thread name #40152
  • Executable JAR application startup is slower after 3.2.0 when Hibernate scanner is not disabled #40125
  • NoClassDefFoundError can be thrown from LaunchedClassLoader when threads are interrupted #40096

πŸ“” Documentation

  • Producible's javadoc has the wrong link text for @WriteOperation and @DeleteOperation #40386
  • Clarify requirements for -parameters and constructor binding #40157

πŸ”¨ Dependency Upgrades

  • Upgrade to ActiveMQ 5.18.4 #40394
  • Upgrade to AspectJ 1.9.22 #40293
  • Upgrade to Awaitility 4.2.1 #40294
  • Upgrade to Byte Buddy 1.14.13 #40295
  • Upgrade to Groovy 4.0.21 #40296
  • Upgrade to Hazelcast 5.3.7 #40297
  • Upgrade to Jakarta Json Bind 3.0.1 #40298
  • Upgrade to Jersey 3.1.6 #40299
  • Upgrade to Jetty 12.0.8 #40300
  • Upgrade to jOOQ 3.18.14 #40301
  • Upgrade to Json-smart 2.5.1 #40302
  • Upgrade to Kafka 3.6.2 #40303
  • Upgrade to Lombok 1.18.32 #40304
  • Upgrade to Maven Invoker Plugin 3.6.1 #40305
  • Upgrade to Maven Source Plugin 3.3.1 #40306
  • Upgrade to Micrometer 1.12.5 #40207
  • Upgrade to Micrometer Tracing 1.2.5 #40208
  • Upgrade to MongoDB 4.11.2 #40307
  • Upgrade to Neo4j Java Driver 5.19.0 #40218
  • Upgrade to Netty 4.1.109.Final #40395
  • Upgrade to Pulsar Reactive 0.5.4 #40396
  • Upgrade to R2DBC Postgresql 1.0.5.RELEASE #40309
  • Upgrade to Reactor Bom 2023.0.5 #40209
  • Upgrade to SLF4J 2.0.13 #40397
  • Upgrade to Spring AMQP 3.1.4 #40210
  • Upgrade to Spring Authorization Server 1.2.4 #40211
  • Upgrade to Spring Data Bom 2023.1.5 #40212
  • Upgrade to Spring Framework 6.1.6 #40213
  • Upgrade to Spring GraphQL 1.2.6 #40310
  • Upgrade to Spring HATEOAS 2.2.2 #40376
  • Upgrade to Spring Integration 6.2.4 #40214
  • Upgrade to Spring Kafka 3.1.4 #40377
  • Upgrade to Spring LDAP 3.2.3 #40215
  • Upgrade to Spring Pulsar 1.0.5 #40216
  • Upgrade to Spring Security 6.2.4 #40217
  • Upgrade to Tomcat 10.1.20 #40311

❀️ Contributors

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

@FelixDes, @dependabot[bot], @izeye, @mstahv, @ppkarwasz, @snicoll, and @spencergibb