Skip to content

Releases: spring-projects/spring-boot

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

v3.1.11

18 Apr 15:43
Compare
Choose a tag to compare

🐞 Bug Fixes

  • ClientObservationConventionAdapter overwrites WebClient request attributes #40330
  • 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 #40235
  • Log4j2LoggingSystem pollutes Log4j2's environment with a SpringEnvironmentPropertySource that is never removed #40178
  • BindValidationFailureAnalyzer uses wrong target #40035
  • When using Maven, configuring the spring-boot.excludes or spring-boot-includes user properties causes the build to fail with "Cannot find default setter" #39837
  • @ServletComponentScan does not register servlet components in a mock web environment #39736

📔 Documentation

  • Producible's javadoc has the wrong link text for @WriteOperation and @DeleteOperation #40385

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 5.18.4 #40388
  • Upgrade to AspectJ 1.9.22 #40279
  • Upgrade to Byte Buddy 1.14.13 #40280
  • Upgrade to Groovy 4.0.21 #40281
  • Upgrade to Hibernate 6.2.24.Final #40282
  • Upgrade to Jakarta Json Bind 3.0.1 #40283
  • Upgrade to Jersey 3.1.6 #40284
  • Upgrade to jOOQ 3.18.14 #40285
  • Upgrade to Lombok 1.18.32 #40286
  • Upgrade to Micrometer 1.11.11 #40196
  • Upgrade to Micrometer Tracing 1.1.12 #40197
  • Upgrade to Neo4j Java Driver 5.19.0 #40205
  • Upgrade to Netty 4.1.109.Final #40389
  • Upgrade to R2DBC Postgresql 1.0.5.RELEASE #40390
  • Upgrade to Reactor Bom 2022.0.18 #40198
  • Upgrade to SLF4J 2.0.13 #40391
  • Upgrade to Spring AMQP 3.0.13 #40373
  • Upgrade to Spring Authorization Server 1.1.7 #40199
  • Upgrade to Spring Data Bom 2023.0.11 #40200
  • Upgrade to Spring Framework 6.0.19 #40201
  • Upgrade to Spring GraphQL 1.2.6 #40288
  • Upgrade to Spring HATEOAS 2.1.5 #40374
  • Upgrade to Spring Integration 6.1.8 #40202
  • Upgrade to Spring Kafka 3.0.16 #40375
  • Upgrade to Spring LDAP 3.1.5 #40203
  • Upgrade to Spring Security 6.1.9 #40204
  • Upgrade to Tomcat 10.1.20 #40289

❤️ Contributors

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

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

v3.3.0-M3

22 Mar 03:11
Compare
Choose a tag to compare
v3.3.0-M3 Pre-release
Pre-release

⭐ New Features

  • Add public getUndertow method to UndertowWebServer #39916
  • Add TWENTY_TWO to JavaVersion enum #39827
  • Implement SBOM actuator endpoint #39799
  • Use optimized request predicates for GraphQL MVC and WebFlux endpoints #39652
  • Auto-configure SSE transport on GraphQL MVC and WebFlux endpoints #39651
  • Manage jakarta.inject:jakarta.inject-api #39587
  • Improve exploded structure experience for efficient deployments #38276
  • Support loading of base 64 encoded values from the Environment #36033
  • Support mvn spring-boot:run with classpaths that exceeds Windows' length limits #17766

🐞 Bug Fixes

  • Thread name prefix is not always set when using virtual threads #39961
  • spring-boot-maven-plugin doesn't work with Java 22 #39934
  • Jetty embedded web server includes a JNDI initial context when other servers do not #39932
  • Remove virtual thread support for Undertow as it leaks memory #39812
  • When using Logback, log messages appear in a single line when application name contains brackets #39802
  • Resolving a BuildpackReference created from a URL-like String can fail on Windows #39794
  • SpringProfile arbiter fails without a Spring's environment #39787
  • bootStartScripts tasks should be an instance of org.gradle.api.tasks.application.CreateStartScripts rather than its superclass org.gradle.jvm.application.tasks.CreateStartScripts #39765

📔 Documentation

  • Document support for Java 22 #40047
  • Fix web session javadoc typo #39954
  • Fix typo in Custom HTTP Exchange Recording section #39785
  • Make description of virtual threads and JVM exit easier to understand by removing "no-non" double-negative #39738
  • Switch to Antora Based Documentation #33766

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.0 #40014
  • Upgrade to Angus Mail 2.0.3 #39991
  • Upgrade to Brave 6.0.2 #39992
  • Upgrade to Commons DBCP2 2.12.0 #39918
  • Upgrade to Couchbase Client 3.6.0 #39951
  • Upgrade to Elasticsearch Client 8.12.2 #39919
  • Upgrade to Flyway 10.10 #40022
  • Upgrade to Git Commit ID Maven Plugin 8.0.2 #40015
  • Upgrade to Glassfish JAXB 4.0.5 #39993
  • Upgrade to GraphQL Java 21.4 #40016
  • Upgrade to Groovy 4.0.20 #39994
  • Upgrade to Infinispan 15.0.0.Final #40017
  • Upgrade to Jackson Bom 2.17.0 #39920
  • Upgrade to Jakarta Activation 2.1.3 #39996
  • Upgrade to Jakarta Mail 2.1.3 #39997
  • Upgrade to Jakarta XML Bind 4.0.2 #39998
  • Upgrade to Jaybird 5.0.4.java11 #39999
  • Upgrade to Jetty 12.0.7 #40000
  • Upgrade to jOOQ 3.19.6 #40001
  • Upgrade to Kafka 3.7.0 #39952
  • Upgrade to Kotlin 1.9.23 #40002
  • Upgrade to Lettuce 6.3.2.RELEASE #40003
  • Upgrade to Log4j2 2.23.1 #40004
  • Upgrade to Maven Assembly Plugin 3.7.1 #40018
  • Upgrade to Maven Compiler Plugin 3.13.0 #40019
  • Upgrade to Micrometer 1.13.0-M2 #39889
  • Upgrade to Micrometer Tracing 1.3.0-M2 #39890
  • Upgrade to Mockito 5.11.0 #39922
  • Upgrade to Neo4j Java Driver 5.18.0 #39933
  • Upgrade to OpenTelemetry 1.36.0 #39923
  • Upgrade to Postgresql 42.7.3 #40005
  • Upgrade to Pulsar 3.2.1 #40006
  • Upgrade to R2DBC MariaDB 1.2.0 #39925
  • Upgrade to R2DBC MySQL 1.1.2 #40007
  • Upgrade to Reactor Bom 2023.0.4 #39908
  • Upgrade to Spring AMQP 3.1.3 #39891
  • Upgrade to Spring Authorization Server 1.3.0-M3 #39892
  • Upgrade to Spring Data Bom 2024.0.0-M2 #39893
  • Upgrade to Spring Framework 6.1.5 #39894
  • Upgrade to Spring HATEOAS 2.3.0-M1 #39953
  • Upgrade to Spring Integration 6.3.0-M2 #39896
  • Upgrade to Spring Kafka 3.2.0-M2 #39897
  • Upgrade to Spring Pulsar 1.1.0-M2 #39898
  • Upgrade to Spring Security 6.3.0-M3 #39899
  • Upgrade to Spring Session 3.3.0-M3 #39900
  • Upgrade to SQLite JDBC 3.45.2.0 #40008
  • Upgrade to Testcontainers 1.19.7 #40009
  • Upgrade to WebJars Locator Core 0.58 #39926

❤️ Contributors

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

@MazizEsa, @PiyalAhmed, @Roiocam, @TheSnoozer, @dreis2211, @eddumelendez, @izeye, @mattrpav, @mhalbritter, @onobc, @snicoll, @timgrohmann, and @wanger26

v3.2.4

21 Mar 11:10
Compare
Choose a tag to compare

⭐ New Features

  • Add TWENTY_TWO to JavaVersion enum #39825

🐞 Bug Fixes

  • Thread name prefix is not always set when using virtual threads #39958
  • spring-boot-maven-plugin doesn't work with Java 22 #39927
  • Resolving a BuildpackReference created from a URL-like String can fail on Windows #39793
  • SpringProfile arbiter fails without a Spring's environment #39786
  • bootStartScripts tasks should be an instance of org.gradle.api.tasks.application.CreateStartScripts rather than its superclass org.gradle.jvm.application.tasks.CreateStartScripts #39764
  • When using Logback, log messages appear in a single line when application name contains brackets #39564

📔 Documentation

  • Document support for Java 22 #40046
  • Fix web session javadoc typo #39821
  • Fix typo in Custom HTTP Exchange Recording section #39784
  • Make description of virtual threads and JVM exit easier to understand by removing "no-non" double-negative #39732

🔨 Dependency Upgrades

  • Upgrade to Angus Mail 2.0.3 #39973
  • Upgrade to Glassfish JAXB 4.0.5 #39975
  • Upgrade to GraphQL Java 21.4 #40021
  • Upgrade to Groovy 4.0.20 #39976
  • Upgrade to Infinispan 14.0.27.Final #40026
  • Upgrade to Jakarta Activation 2.1.3 #39978
  • Upgrade to Jakarta Mail 2.1.3 #39979
  • Upgrade to Jakarta XML Bind 4.0.2 #39980
  • Upgrade to Jaybird 5.0.4.java11 #39981
  • Upgrade to Jetty 12.0.7 #39982
  • Upgrade to jOOQ 3.18.13 #39983
  • Upgrade to Kotlin 1.9.23 #39984
  • Upgrade to Lettuce 6.3.2.RELEASE #39985
  • Upgrade to Micrometer 1.12.4 #39879
  • Upgrade to Micrometer Tracing 1.2.4 #39880
  • Upgrade to Neo4j Java Driver 5.18.0 #39936
  • Upgrade to Postgresql 42.6.2 #39986
  • Upgrade to Pulsar 3.1.3 #39987
  • Upgrade to Reactor Bom 2023.0.4 #39907
  • Upgrade to Spring AMQP 3.1.3 #39881
  • Upgrade to Spring Authorization Server 1.2.3 #39915
  • Upgrade to Spring Data Bom 2023.1.4 #39882
  • Upgrade to Spring Framework 6.1.5 #39883
  • Upgrade to Spring HATEOAS 2.2.1 #39950
  • Upgrade to Spring Integration 6.2.3 #39884
  • Upgrade to Spring Kafka 3.1.3 #39885
  • Upgrade to Spring Pulsar 1.0.4 #39886
  • Upgrade to Spring Security 6.2.3 #39887
  • Upgrade to Spring Session 3.2.2 #39888
  • Upgrade to Testcontainers 1.19.7 #39988

❤️ Contributors

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

@MazizEsa, @PiyalAhmed, @Roiocam, @dreis2211, @onobc, @snicoll, and @timgrohmann