Skip to content

Latest commit

 

History

History
1557 lines (980 loc) · 85.9 KB

CHANGELOG.md

File metadata and controls

1557 lines (980 loc) · 85.9 KB

Spring Cloud GCP Changelog

For 2.x changelog, go to this page.

Spring Cloud GCP is a set of integrations between Spring Framework and Google Cloud. It makes it much easier for Spring framework users to run their applications on Google Cloud.

This document provides a high-level overview of the changes introduced in Spring Cloud GCP by release. For a detailed view of what has changed, refer to the commit history on GitHub.

5.0.0 (2023-12-13)

⚠ BREAKING CHANGES

  • Spring Cloud 2023 and Spring Boot 3.2.0 (#2438)

🎉 Get Ready to Explore!

Spring Boot 3.2.0 Upgrade: Upgrade today and unlock the power of Spring Boot 3.2.0! For detailed information and instructions, refer to the official Spring Boot documentation and release notes.

4.9.0 (2023-12-12)

Features

  • only commit change if it's not a snapshot version (#2370) (a50fb4b)

Bug Fixes

  • add metrics sample to native CI (#2345) (44d48df)
  • backport Spring Boot 3.2 compatibility updates to Spring Cloud GCP 4.x (#2397) (a640b75)
  • disable profile CI when building reference docs (#2367) (d207fd8)
  • GcpFirestoreEmulatorAutoConfiguration constructs invalid document parent (#2348) (7e66d55)

Dependencies

  • bump com.google.cloud:libraries-bom from 26.27.0 to 26.28.0 (#2414) (f58a315)
  • bump commons-io:commons-io from 2.15.0 to 2.15.1 (#2393) (fd56746)
  • bump io.micrometer:micrometer-tracing-bom from 1.1.6 to 1.2.0 (#2349) (bfc58bd)
  • bump org.apache.maven.plugins:maven-javadoc-plugin (#2401) (2b64f9a)
  • bump org.codehaus.mojo:build-helper-maven-plugin (#2381) (9045e48)

Documentation

  • fix readme to reflect Spring Boot 3.0.x & 3.1.x compatibility (#2402) (20d536e)

4.8.4 (2023-11-09)

Bug Fixes

  • deps: update dependency com.google.cloud:libraries-bom to v26.27.0 (#2331) (22a817d)

Dependencies

  • bump com.google.cloud:cloud-spanner-r2dbc from 1.2.2 to 1.3.0 (#2316) (2afa03a)
  • bump org.apache.maven.plugins:maven-javadoc-plugin (#2329) (f212e4a)

4.8.3 (2023-10-27)

Bug Fixes

  • add back original comment. (#2263) (dc1b821)
  • deps: update cloud-sql-socket-factory.version to v1.14.1 (#2241) (e2527ae)
  • deps: update dependency com.google.cloud:libraries-bom to v26.26.0 (#2297) (5b7db44)
  • deps: update dependency io.micrometer:micrometer-tracing-bom to v1.1.6 (#2232) (06ac904)
  • Ensure topic exists in consumer only if autoCreateResources is true (#2296) (c8d25c8)

Dependencies

  • bump cloud-sql-socket-factory.version from 1.14.0 to 1.14.1 (#2243) (79dfcfe)
  • bump com.google.cloud.tools:appengine-maven-plugin (#2226) (db0d63e)
  • bump com.google.errorprone:error_prone_core from 2.22.0 to 2.23.0 (#2268) (45ebb90)
  • bump commons-io:commons-io from 2.14.0 to 2.15.0 (#2292) (3b32c77)
  • bump io.micrometer:micrometer-tracing-bom from 1.1.5 to 1.1.6 (#2234) (8970fb2)
  • bump org.apache.maven.plugins:maven-checkstyle-plugin (#2287) (7f56ce0)
  • bump org.graalvm.buildtools:native-maven-plugin (#2282) (2e32f5f)
  • bump org.jacoco:jacoco-maven-plugin from 0.8.10 to 0.8.11 (#2253) (5e05fc2)

4.8.2 (2023-10-17)

Bug Fixes

  • allow minimal permissions for consumer destination use (#2233) (d5a42c4)
  • deps: update dependency com.google.cloud:libraries-bom to v26.25.0 (#2249) (903c3c7)
  • remove unnecessary topic name comparison on subscription (#2239) (f0f0124)

4.8.1 (2023-10-03)

Bug Fixes

  • deps: update dependency com.google.cloud:libraries-bom to v26.24.0 (#2213) (4408d63)
  • guard against null projectId in Firestore routing header (29229f7)
  • language test moved to v2 (#2216) (ddb2398)

Dependencies

  • bump com.google.errorprone:error_prone_core from 2.21.1 to 2.22.0 (#2202) (9759fd7)
  • bump commons-io:commons-io from 2.13.0 to 2.14.0 (#2211) (efc116c)
  • bump org.springframework.boot:spring-boot-starter-parent (#2203) (a86e485)
  • bump spring-boot-dependencies.version from 3.1.3 to 3.1.4 (#2201) (e763569)

4.8.0 (2023-09-20)

Features

  • add support for Datastore database name configuration (#2150) (dc45fd8)
  • add support for Firestore database id configuration (#2164) (1ea0cfb)

Bug Fixes

  • add runtime hints for spanner (#2123) (170948e)
  • deps: update cloud-sql-socket-factory.version to v1.14.0 (#2160) (21a1561)
  • deps: update dependency io.micrometer:micrometer-tracing-bom to v1.1.5 (#2124) (0cf3d72)
  • Ensure proper merging of Binder default props (#2177) (01b3dad)
  • Firestore updateTime extraction after commit (#2165) (bacdfe9)

Dependencies

  • bump cloud-sql-socket-factory.version from 1.13.1 to 1.14.0 (#2161) (c1a7cac)
  • bump com.google.cloud:libraries-bom from 26.22.0 to 26.23.0 (#2166) (a4050ec)
  • bump com.google.cloud:libraries-bom from 26.22.0 to 26.23.0 (#2183) (70edcc8)
  • bump io.micrometer:micrometer-tracing-bom from 1.1.3 to 1.1.5 (#2159) (fdbad48)
  • bump java-cfenv.version from 2.4.2 to 2.5.0 (#2131) (a7aac12)
  • bump org.apache.maven.plugins:maven-enforcer-plugin (#2155) (dfa4f63)
  • bump org.apache.maven.plugins:maven-javadoc-plugin (#2171) (7ebb496)
  • bump org.graalvm.buildtools:native-maven-plugin (#2170) (a87a7d2)
  • bump org.springframework.boot:spring-boot-starter-parent (#2139) (f18bf41)
  • bump spring-boot-dependencies.version from 3.1.2 to 3.1.3 (#2138) (ef412db)

4.7.2 (2023-08-10)

Bug Fixes

  • add runtime hints for storage (#2001) (793c798)
  • add runtime hints for trace (#1990) (2ba4a75)
  • deps: update dependency com.google.cloud:libraries-bom to v26.22.0 (#2110) (1806818)

Dependencies

  • bump com.google.errorprone:error_prone_core from 2.20.0 to 2.21.1 (#2104) (0c9718a)
  • bump gapic-generator-java-bom.version from 2.23.1 to 2.24.0 (#2097) (67a5756)
  • bump org.graalvm.buildtools:native-maven-plugin (#2107) (f7964c5)

4.7.1 (2023-08-01)

Bug Fixes

  • add missing exception cause in createSecretManagerClient (#1923) (154cbe5)
  • deps: update dependency com.google.cloud:libraries-bom to v26.21.0 (#2088) (e352ad5)

4.7.0 (2023-07-28)

Features

Bug Fixes

  • deps: update dependency com.google.cloud:libraries-bom to v26.20.0 (main) (#2071) (ca9d1fb)
  • deps: update spring cloud (#2076) (64561c7)

Dependencies

4.6.0 (2023-07-24)

Features

  • Add overloaded executePartitionedDmlStatement to support update options (#2025) (df65e54)

Bug Fixes

  • add runtime hints for logging (#1933) (21903af)
  • add runtime hints for vision (#1991) (dcbf202)
  • deps: update cloud-sql-socket-factory.version to v1.13.1 (#2020) (fe69d8a)
  • deps: update dependency com.google.cloud:libraries-bom to v26.19.0 (#2033) (c215536)
  • deps: update dependency io.micrometer:micrometer-tracing-bom to v1.1.3 (#2016) (465a88b)
  • deps: update dependency org.jetbrains.kotlin:kotlin-stdlib-jdk8 to v1.9.0 (#2002) (d715085)
  • deps: update dependency org.postgresql:r2dbc-postgresql to v1.0.2.release (#2026) (a76298a)
  • deps: update dependency org.springframework.cloud:spring-cloud-build to v4.0.4 (#2004) (2ce3e1f)
  • timestampNanos field with nanos precision (#2012) (2a4c14a), closes #1996

Dependencies

  • bump cloud-sql-socket-factory.version from 1.12.0 to 1.13.1 (#2047) (109255b)
  • bump libraries-bom from 26.18.0 to 26.19.0 (#2032) (b36e847)
  • bump org.junit.platform:junit-platform-launcher (#2048) (43e9422)
  • bump org.springframework.boot:spring-boot-starter-parent (#2040) (28307cb)
  • bump r2dbc-postgresql from 1.0.1.RELEASE to 1.0.2.RELEASE (#2029) (912edfe)
  • bump spring-boot-dependencies.version from 3.1.1 to 3.1.2 (#2041) (0ea6195)
  • manual bump gapic-generator-java-bom.version from 2.22.0 to 2.23.1 (#2044) (08946d5)

4.5.1 (2023-06-28)

Bug Fixes

  • deps: update dependency com.google.cloud:libraries-bom to v26.18.0 (main) (#1985) (3445ce7)
  • Wiring bigQueryThreadPoolTaskScheduler with writeJsonStream (#1855) (6467a08), closes #1599

Dependencies

  • bump gapic-generator-java-bom.version from 2.21.0 to 2.22.0 (#1978) (0cb44fe)
  • bump native-maven-plugin from 0.9.22 to 0.9.23 (#1968) (d60fa50)
  • bump spring-boot-dependencies.version from 3.0.6 to 3.1.0 (#1876) (39b6f1e)
  • bump spring-boot-dependencies.version from 3.0.6 to 3.1.1 (#1977) (c2622f4)
  • bump spring-boot-starter-parent from 3.0.6 to 3.1.1 (#1976) (0600e68)
  • bump truth from 1.1.4 to 1.1.5 (#1967) (fb20cd4)

4.5.0 (2023-06-15)

Features

  • add google-cloud-compute-spring-starter to starter modules available for preview (41b5c19)

Bug Fixes

  • deps: update dependency io.micrometer:micrometer-tracing-bom to v1.1.2 (#1943) (2240e62)
  • Remove misleading Spanner DEBUG log for query elapsed time (#1954) (51352ad), closes #1945

Dependencies

  • bump cloud-sql-socket-factory.version from 1.11.1 to 1.12.0 (#1947) (b60efaf)
  • bump commons-io from 2.12.0 to 2.13.0 (#1934) (da5c93a)
  • bump libraries-bom from 26.16.0 to 26.17.0 (#1948) (5beb0e6)
  • bump micrometer-tracing-bom from 1.1.1 to 1.1.2 (#1944) (c0bb763)
  • bump truth from 1.1.3 to 1.1.4 (#1942) (79402f5)

4.4.0 (2023-06-02)

Features

  • allow Spanner and Datastore Transaction Manager in same project (#1412) (f937b36)

Bug Fixes

  • additional sample test for both transactionManager work together. (#1848) (219adb3)
  • deps: update dependency com.google.api:gapic-generator-java-bom to v2.20.0 (#1895) (af9b81f)
  • deps: update dependency com.google.cloud:libraries-bom to v26.16.0 (main) (#1918) (4fe4034)
  • deps: update spring cloud (#1901) (0a3827a)
  • pull-endpoint setting for async subscribers (#1883) (f0c5d4c)

Dependencies

  • bump commons-io from 2.11.0 to 2.12.0 (#1867) (7fd064a)
  • bump gapic-generator-java-bom.version from 2.20.0 to 2.20.1 (#1905) (745cdd5)
  • bump maven-checkstyle-plugin from 3.2.2 to 3.3.0 (#1889) (2ab9844)
  • bump maven-source-plugin from 3.2.1 to 3.3.0 (#1886) (5937b07)
  • bump spring-cloud-dependencies from 2022.0.2 to 2022.0.3 (#1904) (99fcdb5)

4.3.1 (2023-05-17)

Bug Fixes

  • add spring-boot-configuration-processor to maven-compiler-plugin configuration (#1846) (7553d04)
  • deps: update dependency com.google.api:gapic-generator-java-bom to v2.19.0 (#1829) (d3b5e4f)
  • deps: update dependency com.google.cloud:libraries-bom to v26.15.0 (main) (#1865) (40303fc)
  • deps: update dependency io.micrometer:micrometer-tracing-bom to v1.1.1 (#1826) (272d491)
  • deps: update java-cfenv.version to v2.4.2 (#1807) (7af5fe1)
  • Implementing count with aggregation query (#1782) (1ee2244), closes #1781
  • PubSubPublishCallback handling of success and failure callbacks (#1800) (b134c92)
  • use core id provider as backup provider (#1798) (1b04165)

Dependencies

  • bump error_prone_core from 2.18.0 to 2.19.1 (#1837) (5424e50)
  • bump flatten-maven-plugin from 1.4.1 to 1.5.0 (#1831) (bdd07a6)
  • bump gapic-generator-java-bom from 2.18.0 to 2.19.0 (#1833) (413f945)
  • bump java-cfenv.version from 2.4.1 to 2.4.2 (#1813) (c5e13f2)
  • bump maven-gpg-plugin from 3.0.1 to 3.1.0 (#1814) (4e5cf5f)
  • bump micrometer-tracing-bom from 1.0.4 to 1.1.1 (#1847) (12b90db)

4.3.0 (2023-05-04)

Features

  • add support for insert and insertAll in DatastoreOperations (#1729) (a478264)

Bug Fixes

  • deps: update dependency com.google.cloud:libraries-bom to v26.14.0 (main) (#1788) (2aa3992)
  • deps: update dependency org.springframework.cloud:spring-cloud-build to v3.1.7 (#1778) (3ea39c8)
  • profile for jdk17 compiler arguments (#1775) (277f814)

4.2.0 (2023-04-20)

Features

Bug Fixes

  • deps: update dependency com.google.cloud:libraries-bom to v26.13.0 (main) (#1755) (56fee5b)
  • deps: update spring boot to v3.0.6 (main) (#1747) (f230b7b)
  • pass enable-iam-auth=true to spring.r2dbc.properties (#1715) (d0c4589)

Dependencies

  • bump cloud-sql-socket-factory.version from 1.11.0 to 1.11.1 (#1723) (71105d4)
  • bump flatten-maven-plugin from 1.4.0 to 1.4.1 (#1678) (5596ac8)
  • bump maven-enforcer-plugin from 3.2.1 to 3.3.0 (#1696) (1ae1c36)
  • bump micrometer-tracing-bom from 1.0.3 to 1.0.4 (#1717) (4246398)
  • bump spring-cloud-config.version from 4.0.1 to 4.0.2 (#1681) (b1ebb57)
  • bump spring-cloud-dependencies from 2022.0.1 to 2022.0.2 (#1680) (a9480e2)
  • bump testcontainers-bom from 1.17.6 to 1.18.0 (#1694) (ab108bf)

4.1.4 (2023-04-05)

Bug Fixes

Dependencies

  • bump libraries-bom from 26.11.0 to 26.12.0 (#1695) (4f5598c)
  • bump maven-resources-plugin from 3.1.0 to 3.3.1 (#1673) (272c68d)

4.1.3 (2023-03-24)

Dependencies

  • bump flatten-maven-plugin from 1.3.0 to 1.4.0 (#1662) (3b95f12)
  • bump libraries-bom from 26.10.0 to 26.11.0 (#1668) (d3cfb98)
  • bump micrometer-tracing-bom from 1.0.2 to 1.0.3 (#1651) (79f4d4a)
  • bump spring-boot-dependencies from 3.0.4 to 3.0.5 (#1669) (3a0d3fb)
  • bump spring-boot-starter-parent from 3.0.4 to 3.0.5 (#1667) (393fd86)

4.1.2 (2023-03-08)

Bug Fixes

  • provide setters for min/max duration per ack ext (#1644) (cd3a75c)

Dependencies

  • bump cloud-sql-socket-factory.version from 1.10.0 to 1.11.0 (#1634) (cf24325)
  • bump libraries-bom from 26.9.0 to 26.10.0 (#1647) (33d131b)
  • bump spring-boot-dependencies from 3.0.3 to 3.0.4 (#1642) (a9db5bd)
  • bump spring-boot-starter-parent from 3.0.3 to 3.0.4 (#1641) (7f89063)
  • bump spring-cloud-build from 3.1.5 to 3.1.6 (#1625) (f75a8bf)

4.1.1 (2023-02-24)

Bug Fixes

  • update starter modules in spring-cloud-previews (abfd34b)

Documentation

  • fix secret-manager docs (19ffedb)

Dependencies

  • bump cloud-sql-socket-factory.version from 1.9.0 to 1.10.0 (#1585) (f046398)
  • bump libraries-bom from 26.7.0 to 26.9.0 (abfd34b)
  • bump maven-javadoc-plugin from 3.4.1 to 3.5.0 (#1596) (79cf1ba)
  • bump micrometer-tracing-bom from 1.0.1 to 1.0.2 (#1595) (f226afc)
  • bump r2dbc-postgresql from 1.0.0.RELEASE to 1.0.1.RELEASE (#1598) (e6fe51c)
  • bump spring-boot-dependencies from 3.0.2 to 3.0.3 (#1612) (8183160)
  • bump spring-boot-starter-parent from 3.0.2 to 3.0.3 (#1614) (cde91e5)

4.1.0 (2023-02-09)

Features

  • add an encoder bean in Trace auto-configuration (#1568) (deb4239)
  • remove SecretManagerPropertySourceLocator (#1571) (c80d299)

Bug Fixes

  • create Secret Manager beans even without spring.config.import=sm:// property (#1567) (b444fcb)
  • update starter modules in spring-cloud-preview (033e2ee)

Dependencies

  • bump libraries-bom from 26.5.0 to 26.7.0 (033e2ee)
  • bump maven-enforcer-plugin from 3.1.0 to 3.2.1 (#1557) (877d271)

4.0.0 (2023-01-30)

⚠ BREAKING CHANGES

  • This release officially introduces Spring Boot 3.x compatibility. Note that breaking changes occur in this release. For full list of changes, refer to this.

Features

  • Additional starters that provide dependencies and auto-configurations for working with corresponding Google Client Libraries are available for preview. (2a8b103)
  • This release officially introduces Spring Boot 3.x compatibility. Note that breaking changes occur in this release. For full list of changes, refer to this. (0caa9b6)

Dependencies

  • bump cloud-sql-socket-factory.version from 1.8.2 to 1.9.0 (39f9ba3)
  • bump libraries-bom from 26.4.0 to 26.5.0 (#1532) (d2a7973)
  • bump micrometer-tracing-bom from 1.0.0 to 1.0.1 (875768d)
  • bump spring-boot-dependencies from 3.0.0 to 3.0.2 (1b7ca45)
  • bump spring-boot-starter-parent from 3.0.0 to 3.0.2 (c9165f8)
  • bump spring-cloud-config.version from 4.0.0 to 4.0.1 (#1526) (64fd758)
  • bump spring-cloud-dependencies from 2022.0.0 to 2022.0.1 (#1527) (668d0a7)

3.4.2 (2023-01-18)

Documentation

  • Fixes docs related to keeping a background user thread - pub/sub (2802b8e)

3.4.0

General

This release officially introduces Spring Boot 2.7 compatibility. Note that the previous releases of Spring Cloud GCP 3.x are also compatible with Spring Boot 2.7. The one exception is that if you use Cloud SQL with R2DBC, you'd have to manage the driver versions in your own application dependencies (see refdoc for details).

Important version upgrades

  • Upgrade to support Spring Boot 2.7 (#1185)
  • Bump spring-cloud-dependencies to 2021.0.3 (#1149)
  • Bump libraries-bom to 26.1.3 (#1282)
  • Bump cloud-sql-socket-factory.version to 1.7.0 (#1261)

BigQuery

  • BigQuery Storage Write API integration (#1219)
  • Make CreateDisposition configurable on BigQueryTemplate (#1286)

Cloud SQL

  • Add version management for the older MySQL and Postgres R2DBC drivers (#1185).

KMS

  • Support KMS-specific credentials with fallback to global project credentials (#1272)

Pub/Sub

  • Subscriber thread name customization (#1152)
  • Allow Publishers shutdown gracefully (#1260)
  • Support min/max duration per ack extension (#1254)

Secret Manager

  • Support for spring.config.import property source discovery (#1204)
  • Support default values for non-existent secrets (#1246).

Spanner

  • Fix edge case with null value in a simple field (#1208)
  • Support ARRAY<JSON> type (#1157)
  • Fix IsNotNull conditions (#1171)
  • Removed duplicate Gson bean from autoconfiguration (#1241)

3.3.0

General

Pub/Sub

3.2.1

General

  • Spring Cloud GCP BOM (spring-cloud-gcp-dependencies) overrides spring-cloud-function dependencies to version 3.2.3 to address [CVE-2022-22963](https://tanzu.vmware.com/security/cve-2022-22963) (#1059).

  • Updated cloud-sql-socket-factory.version to 1.5.0 (#1053)

3.2.0

General

  • Version updates:

  • Spring Boot to 2.6.6 (transitively, Spring Framework 5.3.18). See Spring [blog post](https://spring.io/blog/2022/03/31/spring-boot-2-5-12-available-now) for details.

  • guava-bom to 31.1-jre (#968).

  • cloud-sql-socket-factory.version to 1.4.4 (#971).

  • gcp-libraries-bom.version to 25.0.0 (#999)

  • Overrode <url> field in maven POM files to point to the same root URL, preventing maven from generating invalid URLs by concatenating root URL with module name (#1007).

Cloud SQL

  • R2DBC autoconfiguration now allows external credentials to be provided to Cloud SQL (#775).

Pub/Sub

  • Removed a forced startup-time validation for Pub/Sub Actuator Health Indicator that could prevent application startup [#1018].

Spanner

  • Fixed a spec bug for SimpleSpannerRepository.findAllById(): on an empty Iterable input, it used to return all rows. New behavior is to return empty output on an empty input. ⚠ behavior change (#934)

  • Allow user override of Gson object used for JSON field conversion (#937).

  • Allowed Pageable parameter appear in any position in query method argument list (#958).

3.1.0

Cloud SQL

  • Added starters for accessing Cloud SQL with Spring Data R2DBC (#772):

  • spring-cloud-gcp-starter-sql-mysql-r2dbc for MySQL

  • spring-cloud-gcp-starter-sql-postgres-r2dbc for PostgreSQL

  • Added property spring.cloud.gcp.sql.jdbc.enabled to turn off JDBC Cloud SQL autoconfiguration (#903)

Pub/Sub

  • Added ability to change Publisher.Builder settings prior to Publisher object being constructed by providing PublisherCustomizer beans (#900).

Spanner

  • Fixed session leak in Spanner actuator healthcheck (#902).

3.0.0

This release introduces Spring Boot 2.6 and Spring Cloud 2021.0 Compatibility.

General

  • Updated gcp-libraries-bom.version to 24.2.0 (#861).

Datastore

  • SimpleDatastoreRepository now supports findBy() with fluent query semantics (#836)

Logging

  • Renamed methods (#865) ⚠️ breaking change

    • Renamed XCloudTraceIdExtractor to CloudTraceIdExtractor

    • Renamed methods in StackdriverJsonLayout. Make sure to update Logback XML configuration with custom layout and rename traceIdMDCField and spanIdMDCField to traceIdMdcField and spanIdMdcField respectively.

    • getTraceIdMDCField() → getTraceIdMdcField()

    • setTraceIdMDCField() → setTraceIdMdcField()

    • getSpanIdMDCField() → getSpanIdMdcField()

    • setSpanIdMDCField() → setSpanIdMdcField().

Pub/Sub

  • Spring Integration and Spring Cloud Stream outgoing adapters will now exclude headers with googclient_ prefix from being propagated to Cloud Pub/Sub (#845).

Spanner

  • Reduced visibility and renamed SpannerQueryMethod.getMethod() (/#815) ⚠️ breaking change

2.0.7

This is a maintenance release upgrading dependency versions.

General

  • Switched to explicitly defining Spring Boot version as 2.5.x train (#804).

  • Upgraded Spring Boot dependencies to 2.5.8, which includes log4j-api upgrade to 2.17.0 (#812).

  • Updated gcp-libraries-bom.version to 24.1.1 (#816).

  • Updated cloud-sql-socket-factory.version to 1.4.1 (#773)

2.0.6

General

  • Updated gcp-libraries-bom.version to 24.0.0.

Datastore

  • Added Blob to byte[] conversion on read (#729).

  • Removed unused array input handling logic in TwoStepsConversions (#733).

Logging

  • Fixed potential NPE for a null message in StackdriverJsonLayout (#694).

Pub/Sub

  • Added support for per-subscription configurations for Subscriber settings. (#418).

    • A global custom bean for a setting takes precedence over any property-based auto-configuration. In order to use per-subscription configuration for a Subscriber setting, the custom bean for that setting needs to be removed. When using auto-configuration, per-subscription configuration takes precedence over global configuration.
  • Added a health indicator validating for each subscription that there was a recent successfully processed message or that the backlog is under threshold. (#613).

Spanner

  • Added Spanner health indicator (#643).

Trace

  • Exposed spring.cloud.gcp.trace.server-response-timeout-ms property (#698).

Thanks to our community contributors: @gkatzioura, @ikeyat, @mirehasfun and @mvpzone!

2.0.5 (2021-10-25)

Pub/Sub

  • Fixed: Allow overriding Pub/Sub retryableCodes in pull settings (#670).

2.0.4 (2021-08-11)

General

  • Updated gcp-libraries-bom.version to 20.9.0.

Datastore

  • Added support for Stream return type in both GQL and method name-based queries (#551).

  • Made DatastorePageable compatible with Spring Data 2.5.x (#569).

Firestore

  • Fixed: Unable to query by document ID. (#506).

  • Fixed: Attempting to infer environment credentials when using emulator. (#555).

  • Added support for OrderBy clause in method name. (#516).

Pub/Sub

  • Fixed: bean factory propagation in consumer binding (#515).

  • Removed workaround in PubSubInboundChannelAdapter ensuring error propagation during application shutdown. This should be a no-op to users, as Spring Integration starting with v5.4.3 and Spring Cloud Stream starting with v3.1.1 use requireSubscribers=true on the default error channels, causing any errors reaching error channels with no subscribers to propagate an exception.

  • Added IDE discovery for management.health.pubsub.enabled property (#543)

Secret Manager

  • Fixed: ByteString value conversion compatibility with Spring Boot 2.5.x (#496).

Thanks to our community contributors, @artemptushkin, @garywg04 and @alos!

2.0.3 (2021-06-08)

General

  • Upgraded to GCP Libraries BOM 20.6.0

  • Added version management for com.google.cloud.sql:jdbc-socket-factory-core (#466)

Cloud Pub/Sub

  • Exposed publisher endpoint for message ordering (#421)

  • Pub/Sub Health Indicator timeout increased to 2 seconds (#420).

  • Gated Cloud Pub/Sub emulator autoconfiguration Pub/Sub module being present and enabled (#446)

  • PubSubMessageHandler now passes the original message to new success/failure callbacks, allowing applications to track message publish status (#482). The old PubSubMessageHandler.setPublishCallback() method is now deprecated.

Cloud Spanner

  • Stopped Cloud Spanner emulator autoconfiguration from triggering default credentials creation (#457).

  • Added ability to customize arbitrary SpannerOptions settings by configuring a SpannerOptionsCustomizer bean (#489).

Cloud SQL

  • Added IAM authentication option for PostgreSQL (#488).

  • Enabled placeholder interpretation in Cloud SQL properties (#495).

Thanks to our community contributors, @herder and @melburne!

2.0.2 (2021-03-25)

General

  • Upgraded to Spring Cloud 2020.0.2 and Spring Boot 2.4.4

  • Upgraded to Google Cloud Libraries BOM 19.2.1

  • Added Java 16 support (#391)

  • Various code quality improvements with the help of SonarCloud.

Cloud SQL

  • Disabled CloudSqlEnvironmentPostProcessor in bootstrap context (#273)

    • This enables the use of Secrets Manager property placeholders together with Cloud SQL configuration.

BigQuery

  • Fixed a bug in the BigQueryFileMessageHandler where it referenced the wrong variable in the setter (#270)

Datastore

  • Added storeOnDisk and dataDir configuration properties for Datastore Emulator (#344)

  • Fixed resolution of references and descendants for subclasses (#377)

Firestore

  • Modified Firestore.withParent() to accept String instead of Object (#315)

Logging

  • Fixed the JSON layout logging levels mapping (#314)

Pub/Sub

  • In Cloud Stream Pub/Sub Binder, added support for specifying a custom subscription as a consumer endpoint (#262)

  • Added PubSubAdmin.createSubscription(Subscription.Builder) to allow access to all subscription properties (#343)

  • Added warnings about the use of returnImmediately=true (#354)

  • Added Cloud Stream Dead Letter Topic support (#358)

  • Added support for custom subscription name for Pub/Sub health check (#330)

  • Added support for message ordering when publishing (#408)

    • Introduced spring.cloud.gcp.pubsub.publisher.enable-message-ordering and GcpPubSubHeaders.ORDERING_KEY header

Storage

  • Fixed: PathResourceResolver can’t resolve a GoogleStorageResource due to no Google Storage UrlStreamHandler (#210)

2.0.1 (2021-02-04)

General

  • Upgraded to Spring Cloud 2020.0.1 and Spring Boot 2.4.2 (#233)

  • Multiple code quality improvements with help from SonarCloud

Firestore

  • Fixed: Firestore emulator not using configured project id (#211)

Logging

  • Fixed: Trace ID not populated when using AsyncAppender (#196)

  • Made StackdriverJsonLayout more customizable with support for logging event enhancers (#208)

    • Added an extension for Logstash markers support

Pub/Sub

  • Fixed: Spring Cloud Stream unable to setup subscription to a topic in a different GCP project (#232)

Spanner

  • Fixed session leak with aborted read/write transactions (#251)

2.0.0 (2021-01-06)

General

  • Compatible with Spring Cloud 2020.0.0 (Ilford release train)

  • Package renamed from org.springframework.cloud.gcp to com.google.cloud.spring

  • Maven coordinates now use com.google.cloud as the group ID

  • All deprecated items removed

For a full list, please see the 2.x migration guide.

Cloud SQL

  • Replaced CloudSqlAutoConfiguration with CloudSqlEnvironmentPostProcessor (#131)

Datastore

  • Fixed auditing when running through DatastoreTemplate.performTransaction() (#157)

  • Fixed findAll(example, pageable) ignores @Reference annotated fields (#177)

Firestore

  • Resolved 10 simultaneous writes limitation (#135)

  • Added update time and optimistic locking support (#171)

KMS

  • Added Cloud Key Management Service (KMS) support (#175)

    • Spring Boot starter, sample, and documentation included

Logging

  • Added support for trace with async logging (#197)

Metrics

  • Multiple fixes for the metrics auto-config and sample (#121)

Pub/Sub

  • Addded support for binder customizers (#186)

Secret Manager

  • Changed secret manager module to use v1 instead of v1beta (#173)

Spanner

  • Added support spring.cloud.gcp.project-id property for Spanner Emulator config (#123)

1.2.7 (TBD)

Pub/Sub

  • Fixed Pub/Sub emulator ManagedChannel shutdown (#2583)

1.2.6.RELEASE (2020-11-09)

General

  • Added proxyBeanMethods = false to configuration classes for better GraalVM support (#2525)

  • Updated gcp-libraries-bom.version to 13.4.0 (#2571)

Pub/Sub

  • Differentiate between Publisher and Subscriber TransportChannelProvider (#2520)

    • If you’ve been overwriting the auto-configured transportChannelProvider bean for Pub/Sub, you will need to rename it to {"subscriberTransportChannelProvider", "publisherTransportChannelProvider"}.
  • Better generics for ack operations in PubSubSubscriberOperations (#2539)

    • This a minor breaking change if you have a custom implementation of PubSubSubscriberOperations.
  • Fixed: With MessageHistory enabled, sending a Pub/Sub message and consuming it in a subscription fails due to IllegalArgumentException (#2562)

Cloud SQL

  • Added support for configuring Cloud SQL ipTypes with the spring.cloud.gcp.sql.ip-types property (#2513)

  • Fixed: starter-sql-mysql doesn’t override spring.datasource.url (#2537)

Spanner

  • Added NUMERIC data type support for Spanner (BigDecimal) (#2515)

Firestore

  • Fixed: StructuredQuery.from cannot have more than one collection selector (#2510)

  • Added query methods that return Slice to DatastoreTemplate to allow pagination (#2541)

  • Added support for is not equal and not in filters in method name based queries (#2563)

1.2.5.RELEASE (2020-08-28)

Secret Manager

  • Fixed: Spring GCP Secrets references not working when using Spring Cloud Server (#2483)

  • Fixed: Spring boot error when using google-cloud-secretmanager library without spring-cloud-gcp-starter-secretmanager (#2506)

Pub/Sub

  • Added support for composite actuator contributor for multiple Pub/Sub templates (#2493)

Datastore

  • Added value nullity check to avoid NPE with primitive types (#2505)

1.2.4.RELEASE (2020-07-31)

General

  • Upgraded GCP libraries BOM and other dependencies (#2477)

Metrics

  • New Spring Cloud GCP starter, spring-cloud-gcp-starter-metrics, configures Micrometer Stackdriver to automatically pick up project ID and credentials (thanks to @eddumelendez).

  • Added Metrics Sample App (#2455)

Firebase Security

  • Allow projectId override in Firebase Authentication (#2405)

Spanner

  • Allow Pageable and Sort in method-style (part-tree) queries (#2394)

  • Fixed: NullPointerException when passing the null value for nullable column (#2448)

Secret Manager

  • Added additional operations for managing secret versions with SecretManagerTemplate (thanks to @kioie)

Storage

  • Added the spring.cloud.gcp.storage.project-id autoconfig property (#2440)

  • Additional GCS Spring Integration file filters GcsAcceptModifiedAfterFileListFilter and GcsDiscardRecentModifiedFileListFilter (thanks to @hosainnet)

Datastore

  • Fixed: Unable to exclude indexes on nested properties of embedded entity (#2439)

  • Fixed slice query execution in PartTreeDatastoreQuery (#2452)

  • Fixed null handling for ID in query-by-example (#2471)

Pub/Sub

  • Added maxMessages to PubSubReactiveFactory.poll (#2441)

  • Control sync/async publish in Spring Cloud Stream binder (#2473)

Firestore

  • Add subcollection support for FirestoreTemplate (#2434)

  • Added support for automatic ID generation (#2466)

  • Added FirestoreTemplate reference documentation (#2480)

1.2.3.RELEASE (2020-05-29)

General

  • Upgrade to latest libraries bom and sql socket factory (#2373)

  • Make transaction managers conditional on enabled flag for Spanner and Datastore (#2376)

Logging

As we upgraded to the latest version of google-cloud-logging-logback, we picked up a breaking change where the log entry payload is now written in JSON rather than plain text. So, if you’re reading log entries back from Cloud Logging using LogEntry.getPayload(), make sure to cast the returned payload object to JsonPayload instead of StringPayload.

Secret Manager

This version introduced several breaking changes to Secret Manager property source. Please see the reference documentation for the new way for accessing secrets as properties.

  • Remove the version property in secret manager (#2270)

  • Secret manager template with project (#2283) (#2284)

  • Create protocol for specifying secrets' project and versions (#2302)

  • Add secret manager autoconfigure property (#2363)

Pub/Sub

  • New async pull methods in Pub/Sub Template, as well as fully asynchronous PubSubReactiveFactory.poll() (#2227)

  • Suppress exception in Pub/Sub adapter in AUTO_ACK and MANUAL modes (#2319)

  • Make 403 an allowable Pub/Sub UP status (#2385)

Trace

  • Support Extra Propagation Fields with Trace (#2290)

Spanner

  • Fix @Where with ORDER BY query generation (#2267)

  • Add SpannerOptions auto-configuration for emulator (#2356)

Datastore

  • Support for nested properties in PartTree methods (#2307)

  • Datastore Projections should restrict query to contain only the necessary fields (#2335)

  • Support custom maps (#2345)

Firestore

  • Firestore nested properties (#2300)

  • Add autoconfiguration for Firestore Emulator (#2244)

  • Add support for Firestore Sort PartTree queries (#2341)

  • Add child collection to the entity class in Firestore sample (#2388)

Vision

  • Allow users to provide the ImageContext in CloudVisionTemplate (#2286)

Firebase Security

  • Make Firebase Security Autoconfiguration conditional (#2258) Thank you to the contributors from our user community: @eddumelendez, @mzeijen, @s13o, @acet, @guillaumeblaquiere

1.2.2.RELEASE (2020-03-04)

General

  • Switched to using GCP Libraries BOM for managing GCP library versions (#2109)

  • Core auto-configuration can now be disabled with spring.cloud.gcp.core.enabled=false (#2147)

  • Reference documentation improvements

  • Two new modules: Firebase Auth and Secret Manager

Datastore

  • Support lazy loading entities using @LazyReference (#2104)

  • Made existsById more efficient by retrieving only the key field (#2127)

  • Projections now work with the Slice return type (#2133) and GQL queries (#2139) in repositories

  • Improved repository method name validation (#2155)

  • Fixed delete for void repository method return type (#2169)

Firebase (NEW)

  • Introduced Firebase Authentication module (#2111)

Firestore

  • Added IN support in name-based queries (#2054)

Pub/Sub

  • ACK_MODE is now configurable using stream binders (#2079)

  • Added HealthIndicator implementation (#2030)

  • Fixed: PubSubReactiveFactory.poll doesn’t handle exceptions thrown by the PubSubSubscriberOperations (#2229)

    • NOTE: previously silently ignored exceptions are now forwarded to the Flux

Secret Manager (NEW)

  • Bootstrap Property Source which loads secrets from Secret Manager to be accessible as environment properties to your application (#2168)

  • SecretManagerTemplate implementation (#2195)

  • New Secret Manager sample app (#2190)

Spanner

  • Fixed java.util.Date conversion and added LocalDate and LocalDateTime support (#2067)

  • Added support for non-Key ID types in Spring Data REST repositories (#2049)

  • Optimized eager loading for interleaved properties (#2110) (#2165)

  • Enable using PENDING_COMMIT_TIMESTAMP in Spring Data Spanner (#2203)

Storage

  • Added ability to provide initial file contents on blob creation (#2097)

  • You can now use a comparator with GcsStreamingMessageSource to process blobs from Cloud Storage in an ordered manner. (#2117)

  • Fixed GCS emulator BlobInfo update time initialization (#2113)

Trace

  • Hid trace scheduler from Spring Sleuth (#2158)

1.2.1.RELEASE (2019-12-20)

Spanner

  • Fixed java.sql.Timestamp to com.google.cloud.Timestamp conversion (#2064)

Pub/Sub

  • Fixed AUTO_ACK acking behavior in PubSubInboundChannelAdapter (#2075)

1.2.0.RELEASE (2019-11-26)

BigQuery

  • New module

  • Autoconfiguration for the BigQuery client objects with credentials needed to interface with BigQuery

  • A Spring Integration message handler for loading data into BigQuery tables in your Spring integration pipelines

Cloud Foundry

  • Created a separate starter for Cloud Foundry: spring-cloud-gcp-starter-cloudfoundry

Datastore

  • Datastore emulator support and auto-configuration

  • Entity Inheritance Hierarchies support

  • Query by example

  • Support Pagination for @Query annotated methods

  • Support key fields in name-based query methods

  • Events and Auditing support

  • Support for multiple namespaces

  • Spring Boot Actuator Support for Datastore Health Indicator (#1423)

Firestore

  • Spring Data Reactive Repositories for Cloud Firestore

  • Cloud Firestore Spring Boot Starter

Logging

  • Additional metadata support for JSON logging (#1310)

  • Add service context for Stackdriver Error Reporting

  • Add option to add custom json to log messages

  • A separate module for Logging outside of autoconfiguration (#1455)

Pub/Sub

  • PubsubTemplate publish to topics in other projects (#1678)

  • PubsubTemplate subscribe in other projects (#1880)

  • Reactive support for Pub/Sub subscription (#1461)

  • Spring Integration - Pollable Message Source (using Pub/Sub Synchronous Pull) (#1321)

  • Pubsub stream binder via synchronous pull (#1419)

  • Add keepalive property to pubsub; set default at 5 minutes (#1807)

  • Change thread pools to create daemon threads that do not prevent JVM shutdown (#2010)

    • This is a change in behavior for non-web applications that subscribe to a Cloud Pub/Sub topic. The subscription threads used to keep the application alive, but will now allow the application to shut down if no other work needs to be done.
  • Added original message to the throwable for Pub/Sub publish failures (#2020)

IAP

  • Added support to allow multiple IAP audience claims (#1856)

Spanner

  • Expose Spanner failIfPoolExhausted property (#1889)

  • Lazy fetch support for interleaved collections (#1460)

  • Bounded staleness option support (#1727)

  • Spring Data Spanner Repositories In clause queries support (#1701)

  • Spanner array param binding

  • Events and Auditing support

  • Multi-Instance support (#1530)

  • Fixed conversion for timestamps older than unix epoch (#2043)

  • Fixed REST Repositories PUT by populating key fields when virtual key property is set (#2053)

Spring Cloud Bus

  • Spring Cloud Config and Bus over Pub/Sub sample/docs (#1550)

Vision

  • Cloud Vision Document OCR support

1.1.0.RELEASE (2019-01-22)

1.0.0.RELEASE (2018-09-18)