Puedes ver las últimas actualizaciones de productos de todo Google Cloud en la página Notas de la versión de Google Cloud.
Para recibir las últimas actualizaciones de productos, agrega la URL de esta página a tu lector de feeds, o agrega directamente la URL del feed: https://cloud.google.com/feeds/spanner-release-notes.xml
December 12, 2024
Spanner now supports IDENTITY
columns. IDENTITY
columns lets you automatically generate unique integer values for key and non-key columns, and aligns with the ANSI standard. For more information, see IDENTITY
columns.
December 02, 2024
Spanner Graph is Generally Available (GA). For more information, see Spanner Graph overview.
Spanner Graph supports defining path variables and using path functions. For more information, see Work with paths.
Information about how Spanner Graph supports the ISO international standard query language for graph databases is available. For more information, see Spanner Graph and ISO standards.
Spanner Graph supports vector similarity search to find K-nearest neighbors (KNN) and approximate nearest neighbors (ANN). For more information, see Perform vector similarity search in Spanner Graph.
Full-text search is available in Spanner Graph. For more information, see Use full-text search with Spanner Graph.
A predefined Identity and Access Management (IAM) role is available to enable Spanner permission to query a Spanner database using Data Boost. For more information, see details about the Spanner Database Reader with DataBoost IAM role and Run federated queries with Data Boost.
November 29, 2024
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.71.0 (2024-11-01)
Features
- spanner/admin/instance: Add support for Cloud Spanner Default Backup Schedules (706ecb2)
- spanner: Client built in metrics (#10998) (d81a1a7)
Bug Fixes
- spanner/test/opentelemetry/test: Update google.golang.org/api to v0.203.0 (8bb87d5)
- spanner/test/opentelemetry/test: WARNING: On approximately Dec 1, 2024, an update to Protobuf will change service registration function signatures to use an interface instead of a concrete type in generated .pb.go files. This change is expected to affect very few if any users of this client library. For more information, see https://togithub.com/googleapis/google-cloud-go/issues/11020. (2b8ca4b)
- spanner: Attempt latency for streaming call should capture the total latency till decoding of protos (#11039) (255c6bf)
- spanner: Decode PROTO to custom type variant of base type (#11007) (5e363a3)
- spanner: Update google.golang.org/api to v0.203.0 (8bb87d5)
- spanner: WARNING: On approximately Dec 1, 2024, an update to Protobuf will change service registration function signatures to use an interface instead of a concrete type in generated .pb.go files. This change is expected to affect very few if any users of this client library. For more information, see https://togithub.com/googleapis/google-cloud-go/issues/11020. (2b8ca4b)
1.72.0 (2024-11-07)
Features
- spanner/spansql: Add support for protobuf column types & Proto bundles (#10945) (91c6f0f), refs #10944
Bug Fixes
1.73.0 (2024-11-14)
Features
Bug Fixes
Java
Changes for google-cloud-spanner
6.80.1 (2024-10-28)
Dependencies
- Update googleapis/sdk-platform-java action to v2.49.0 (#3430) (beb788c)
- Update sdk platform java dependencies (#3431) (eef03e9)
6.81.0 (2024-11-01)
Features
Dependencies
6.81.1 (2024-11-11)
Bug Fixes
- Client built in metrics. Skip export if instance id is null (#3447) (8b2e5ef)
- spanner: Avoid blocking thread in AsyncResultSet (#3446) (7c82f1c)
Dependencies
- Update dependency com.google.api.grpc:proto-google-cloud-monitoring-v3 to v3.54.0 (#3437) (7e28326)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.54.0 (#3438) (fa18894)
- Update dependency com.google.cloud:google-cloud-trace to v2.53.0 (#3440) (314eeb8)
- Update dependency io.opentelemetry:opentelemetry-bom to v1.44.1 (#3452) (6518eea)
- Update opentelemetry.version to v1.44.1 (#3451) (d9b0271)
Documentation
6.81.2 (2024-11-20)
Bug Fixes
Dependencies
- Update dependency com.google.api.grpc:proto-google-cloud-monitoring-v3 to v3.55.0 (#3482) (bf350b0)
- Update dependency com.google.api.grpc:proto-google-cloud-trace-v1 to v2.53.0 (#3454) (8729b30)
- Update dependency com.google.cloud:google-cloud-trace to v2.53.0 (#3464) (a507e4c)
- Update dependency com.google.cloud:google-cloud-trace to v2.54.0 (#3488) (1d1fecf)
- Update googleapis/sdk-platform-java action to v2.50.0 (#3475) (e992f18)
- Update sdk platform java dependencies (#3476) (acb6446)
Node.js
Changes for @google-cloud/spanner
7.15.0 (2024-10-30)
Features
- (observability, samples): add tracing end-to-end sample (#2130) (66d99e8)
- (observability) add spans for BatchTransaction and Table (#2115) (d51aae9), closes #2114
- (observability) Add support for OpenTelemetry traces and allow observability options to be passed. (#2131) (5237e11), closes #2079
- (observability) propagate database name for every span generated to aid in quick debugging (#2155) (0342e74)
- (observability) trace Database.batchCreateSessions + SessionPool.createSessions (#2145) (f489c94)
- (observability): trace Database.runPartitionedUpdate (#2176) (701e226), closes #2079
- (observability): trace Database.runTransactionAsync (#2167) (d0fe178), closes #207
- Allow multiple KMS keys to create CMEK database/backup (#2099) (51bc8a7)
- observability: Fix bugs found from product review + negative cases (#2158) (cbc86fa)
- observability: Trace Database methods (#2119) (1f06871), closes #2114
- observability: Trace Database.batchWriteAtLeastOnce (#2157) (2a19ef1), closes #2079
- observability: Trace Transaction (#2122) (a464bdb), closes #2114
Bug Fixes
- Exact staleness timebound (#2143) (f01516e), closes #2129
- GetMetadata for Session (#2124) (2fd63ac), closes #2123
7.16.0 (2024-11-09)
Features
Bug Fixes
Python
Changes for google-cloud-spanner
3.50.0 (2024-11-11)
Features
- spanner: Add support for Cloud Spanner Default Backup Schedules (45d4517)
Bug Fixes
- Add PROTO in streaming chunks (#1213) (43c190b)
- Pass through route-to-leader option in dbapi (#1223) (ec6c204)
- Pin
nox
version inrequirements.in
for devcontainer. (#1215) (41604fe)
Documentation
- Allow multiple KMS keys to create CMEK database/backup (68551c2)
3.50.1 (2024-11-14)
Bug Fixes
November 25, 2024
Default backup schedules are now available and automatically enabled for all new instances. You can enable or disable default backup schedules in an instance when creating the instance or by editing the instance later. You can also enable default backup schedules for new databases in existing instances. You can edit or delete the default backup schedule once it's created.
When enabled, Spanner creates a default backup schedule for every new database created in the instance. The default backup schedule creates a full backup every 24 hours. These backups have a retention period of 7 days.
For more information, see Default backup schedules.
November 19, 2024
Spanner supports the ALL_DIFFERENT
graph predicate in GoogleSQL-dialect databases. You can use this predicate to see if the graph elements in a list are mutually distinct.
November 18, 2024
You can create Spanner regional instance configurations in Querétaro, Mexico (northamerica-south1
). For more information, see Google Cloud locations and Spanner pricing.
November 05, 2024
Spanner now supports client-side metrics for Java and Go applications. These metrics can be used with server-side metrics to enable faster troubleshooting of performance and latency issues.
These metrics are included in the latest Spanner client libraries for the following languages:
- Java in version 6.81.0 and later
- Go in version 1.71.0 and later
For more information, see View and manage client-side metrics.
October 31, 2024
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.69.0 (2024-10-03)
Features
Bug Fixes
Performance Improvements
1.70.0 (2024-10-14)
Features
- spanner/admin/instance: Define ReplicaComputeCapacity and AsymmetricAutoscalingOption (78d8513)
- spanner: Add INTERVAL API (78d8513)
- spanner: Add new QueryMode enum values (WITH_STATS, WITH_PLAN_AND_STATS) (78d8513)
Documentation
- spanner/admin/instance: A comment for field
node_count
in messagespanner.admin.instance.v1.Instance
is changed (78d8513) - spanner/admin/instance: A comment for field
processing_units
in messagespanner.admin.instance.v1.Instance
is changed (78d8513) - spanner: Update comment for PROFILE QueryMode (78d8513)
Java
Changes for google-cloud-spanner
6.77.0 (2024-10-02)
Features
- Add INTERVAL API (c078ac3)
Dependencies
- Update dependency com.google.api.grpc:proto-google-cloud-monitoring-v3 to v3.52.0 (#3291) (9241063)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.52.0 (#3292) (da27a19)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.52.0 (#3293) (c6dbdb2)
- Update dependency com.google.cloud:google-cloud-trace to v2.51.0 (#3294) (a269747)
- Update dependency com.google.cloud:sdk-platform-java-config to v3.36.1 (#3355) (5191e71)
- Update dependency com.google.cloud.opentelemetry:exporter-metrics to v0.32.0 (#3371) (d5b5ca0)
- Update dependency com.google.cloud.opentelemetry:exporter-trace to v0.32.0 (#3372) (aa9a71d)
- Update dependency commons-io:commons-io to v2.17.0 (#3349) (7c21164)
- Update dependency io.opentelemetry:opentelemetry-bom to v1.42.1 (#3323) (95dfc02)
- Update dependency ubuntu to v24 (#3356) (042c294)
- Update googleapis/sdk-platform-java action to v2.46.1 (#3354) (378f5cf)
- Update junixsocket.version to v2.10.1 (#3367) (5f94915)
- Update opentelemetry.version to v1.42.1 (#3330) (7b05e43)
Documentation
- Update comment for PROFILE QueryMode (c078ac3)
6.78.0 (2024-10-11)
Features
- Define ReplicaComputeCapacity and AsymmetricAutoscalingOption (f46a6b3)
Bug Fixes
- deps: Update the Java code generator (gapic-generator-java) to 2.47.0 (139a715)
Dependencies
6.79.0 (2024-10-11)
Features
Dependencies
- Update dependency com.google.api.grpc:proto-google-cloud-monitoring-v3 to v3.53.0 (#3390) (a060e92)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.53.0 (#3391) (7f0927d)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.53.0 (#3392) (fd3e92d)
- Update dependency com.google.cloud:sdk-platform-java-config to v3.37.0 (#3395) (8ecb1a9)
- Update dependency com.google.cloud.opentelemetry:exporter-metrics to v0.33.0 (#3388) (26aa51d)
- Update dependency com.google.cloud.opentelemetry:exporter-trace to v0.33.0 (#3389) (6e34c5a)
- Update googleapis/sdk-platform-java action to v2.47.0 (#3383) (4f0d693)
6.80.0 (2024-10-25)
Features
Dependencies
- Update dependency com.google.cloud:sdk-platform-java-config to v3.38.0 (#3424) (b727453)
- Update dependency io.opentelemetry:opentelemetry-bom to v1.43.0 (#3399) (a755c6c)
- Update dependency io.opentelemetry:opentelemetry-sdk-testing to v1.43.0 (#3398) (693243a)
- Update googleapis/sdk-platform-java action to v2.48.0 (#3422) (d5d1f55)
Documentation
October 28, 2024
Query Optimizer version 8 is available. Version 7 remains the default optimizer version.
October 18, 2024
Spanner Graph now supports the following functions:
DESTINATION_NODE_ID()
: gets a unique identifier for a graph edge's destination node.ELEMENT_ID()
: gets a unique identifier for a graph element.SOURCE_NODE_ID()
: gets a unique identifier for a graph edge's source node.
Spanner now supports customer-managed encryption keys (CMEK) to protect databases in custom, dual-region, and multi-region instance configurations. For more information, see Customer-managed encryption keys (CMEK) overview.
October 17, 2024
Spanner now offers usage statistics for database splits along with the associated System insights dashboard to help you identify hotspots on affected rows in your database.
Directed reads are Generally Available. This feature provides the flexibility to route read-only transactions and single reads to a specific replica type or region in a multi-region instance configuration. For more information, see Directed reads.
October 14, 2024
Query Optimizer version 7 is generally available and is the default optimizer version.
October 10, 2024
Spanner now lets you create incremental backups through a backup schedule. You can specify when and how often backups are created, and how long they're retained.
An incremental backup contains only the data that has changed since the previous backup. Incremental backups typically consume less storage, and can help reduce your storage costs.
Incremental backups are available on the Enterprise and Enterprise Plus editions.
For more information about incremental backups, see Backups overview.
Spanner is now available on Database Center in Preview. You can track your Spanner resources in the fleet inventory section and the resource table in the Database Center. You can also use Database Center to monitor the following health issues for your Spanner resources:
- Short backup retention
- Last backup older than 24h
- Not replicating across regions
For more information about Database Center, see Database Center overview. For more information about health issues supported for Spanner, see Supported health issues.
An open-source Cassandra to Spanner proxy adapter is now available. You can use it to migrate workloads from Cassandra or DataStax Enterprise (DSE) to Spanner without making any changes to your application logic. For more information, see Cassandra to Spanner proxy adapter.
October 09, 2024
Spanner now supports a subset of pg_system_catalog
tables and views. For more information, see pg_system_catalog tables and pg_system_catalog views.
October 07, 2024
Full-text search overview is now generally available.
Spanner now lets you create and manage backup schedules. You can use backup schedules to meet your organization's data protection and compliance needs. You can specify the following when creating a backup schedule:
- When and how often your databases are backed up.
- The retention duration of the backups created.
- The encryption type of the backups created.
For more information about backup schedules, see Backups overview.
October 04, 2024
Spanner now supports the SAFE_TO_JSON
function in GoogleSQL-dialect databases. You can use this function to convert SQL objects to JSON objects. Unlike TO_JSON
, this function converts invalid JSON types to JSON null values, rather than errors.
October 03, 2024
You can now create an external dataset in BigQuery that links to an existing database in Spanner. This feature is in Preview.
October 02, 2024
You can perform vector similarity search using the now Generally Available K-nearest neighbors (KNN) vector distance functions:
COSINE_DISTANCE()
EUCLIDEAN_DISTANCE()
DOT_PRODUCT()
For more information, see Perform vector similarity search in Spanner by finding the K-nearest neighbors.
The FLOAT32
(GoogleSQL) and float4/real
(PostgreSQL) data types are Generally Available.
October 01, 2024
Spanner now supports end-to-end tracing in preview, along with client-side tracing in the Java and Go client libraries. You can opt-in for end-to-end traces to have more visibility into the application to Spanner latencies. For more information, see Trace collection overview.
September 30, 2024
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.68.0 (2024-09-25)
Features
- spanner: Add support for Go 1.23 iterators (84461c0)
Bug Fixes
- spanner/test: Bump dependencies (2ddeb15)
- spanner: Bump dependencies (2ddeb15)
- spanner: Check errors in tests (#10738) (971bfb8)
- spanner: Enable toStruct support for structs with proto message pointer fields (#10704) (42cdde6)
- spanner: Ensure defers run at the right time in tests (#9759) (7ef0ded)
- spanner: Increase spanner ping timeout to give backend more time to process executeSQL requests (#10874) (6997991)
- spanner: Json null handling (#10660) (4c519e3)
- spanner: Support custom encoding and decoding of protos (#10799) (d410907)
- spanner: Unnecessary string formatting fixes (#10736) (1efe5c4)
- spanner: Wait for things to complete (#10095) (7785cad)
Performance Improvements
Documentation
Java
Changes for google-cloud-spanner
6.74.0 (2024-08-27)
Features
- spanner: Add edition field to the instance proto (6b7e6ca)
Documentation
6.74.1 (2024-09-16)
Bug Fixes
Dependencies
6.75.0 (2024-09-19)
Features
6.76.0 (2024-09-27)
Features
- Add opt-in flag and ClientInterceptor to propagate trace context for Spanner end to end tracing (#3162) (0b7fdaf)
- Add samples for backup schedule feature APIs. (#3339) (8cd5163)
Bug Fixes
- deps: Update the Java code generator (gapic-generator-java) to 2.46.1 (1719f44)
Python
Changes for google-cloud-spanner
3.49.0 (2024-08-27)
Features
- Create a few code snippets as examples for using Spanner Graph in Python (#1186) (f886ebd)
- spanner: Add resource reference annotation to backup schedules (#1176) (b503fc9)
- spanner: Add samples for instance partitions (#1168) (55f83dc)
Bug Fixes
3.49.1 (2024-09-06)
Bug Fixes
September 25, 2024
Spanner now supports the spanner.farm_fingerprint()
hash function in PostgreSQL-dialect databases.
September 24, 2024
Spanner now offers editions, a tier-based pricing model that provides greater flexibility, better cost transparency, and opportunities for cost savings. You can choose between the Standard, Enterprise, and Enterprise Plus editions, letting you pick the right set of capabilities to fit your needs and budget. To learn more, read the Spanner editions overview and blog.
Spanner is now enabled for use with Cloud KMS Autokey.
Using keys generated by Autokey can help you consistently align with industry standards and recommended practices for data security, including the HSM protection level, separation of duties, key rotation, location, and key specificity. Keys requested using Autokey function identically to other Cloud HSM keys with the same settings.
For more information, see Customer-managed encryption keys (CMEK) overview. To learn more about Cloud KMS Autokey, see the Autokey overview.
August 30, 2024
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.65.0 (2024-07-29)
Features
Bug Fixes
- spanner/test: Bump google.golang.org/api@v0.187.0 (8fa9e39)
- spanner/test: Bump google.golang.org/grpc@v1.64.1 (8ecc4e9)
- spanner/test: Update dependencies (257c40b)
- spanner: Bump google.golang.org/api@v0.187.0 (8fa9e39)
- spanner: Bump google.golang.org/grpc@v1.64.1 (8ecc4e9)
- spanner: Fix negative values for max_in_use_sessions metrics #10449 (#10508) (4e180f4)
- spanner: HealthCheck should not decrement num_in_use sessions (#10480) (9b2b47f)
- spanner: Update dependencies (257c40b)
1.66.0 (2024-08-07)
Features
- spanner: Add support of multiplexed session support in writeAtleastOnce mutations (#10646) (54009ea)
- spanner: Add support of using multiplexed session with ReadOnlyTransactions (#10269) (7797022)
1.67.0 (2024-08-15)
Features
- spanner/admin/database: Add resource reference annotation to backup schedules (#10677) (6593c0d)
- spanner/admin/instance: Add edition field to the instance proto (6593c0d)
- spanner: Support commit options in mutation operations. (#10668) (62a56f9)
Bug Fixes
- spanner/test/opentelemetry/test: Update google.golang.org/api to v0.191.0 (5b32644)
- spanner: Update google.golang.org/api to v0.191.0 (5b32644)
Documentation
- spanner/admin/database: Add an example to filter backups based on schedule name (6593c0d)
Java
Changes for google-cloud-spanner
6.72.0 (2024-08-07)
Features
- Add
RESOURCE_EXHAUSTED
to the list of retryable error codes (e859b29) - Add field order_by in spanner.proto (e859b29)
- Add QueryCancellationAction message in executor protos (e859b29)
- Add SessionPoolOptions, SpannerOptions protos in executor protos (e859b29)
- Add support for multi region encryption config (e859b29)
- Enable hermetic library generation (#3129) (94b2a86)
- spanner: Add samples for instance partitions (#3221) (bc48bf2)
- spanner: Adding
EXPECTED_FULFILLMENT_PERIOD
to the indicate instance creation times (withFULFILLMENT_PERIOD_NORMAL
orFULFILLMENT_PERIOD_EXTENDED
ENUM) with the extended instance creation time triggered by On-Demand Capacity Feature (e859b29) - spanner: Set manual affinity incase of gRPC-GCP extenstion (#3215) (86b306a)
- Support Read RPC OrderBy (#3180) (735bca5)
Bug Fixes
- Make sure commitAsync always finishes (#3216) (440c88b)
- SessionPoolOptions.Builder#toBuilder() skipped useMultiplexedSessions (#3197) (027f92c)
Dependencies
- Bump sdk-platform-java-config to 3.33.0 (#3243) (35907c6)
- Update dependencies to latest (#3250) (d1d566b)
- Update dependency com.google.auto.value:auto-value-annotations to v1.11.0 (#3191) (065cd48)
- Update dependency com.google.cloud:google-cloud-trace to v2.47.0 (#3067) (e336ab8)
6.73.0 (2024-08-22)
Features
Bug Fixes
- Github workflow vulnerable to script injection (#3232) (599255c)
- Make DecodeMode.DIRECT the deafult (#3280) (f31a95a)
- Synchronize lazy ResultSet decoding (#3267) (4219cf8)
Dependencies
- Update dependency com.google.cloud:sdk-platform-java-config to v3.34.0 (#3277) (c449a91)
- Update dependency commons-cli:commons-cli to v1.9.0 (#3275) (84790f7)
- Update dependency io.opentelemetry:opentelemetry-bom to v1.41.0 (#3269) (a7458e9)
- Update dependency org.hamcrest:hamcrest to v3 (#3271) (fc2e343)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.11.0 (#3272) (1bc0c46)
- Update opentelemetry.version to v1.41.0 (#3270) (88f6b56)
Documentation
Node.js
Changes for @google-cloud/spanner
7.11.0 (2024-07-29)
Features
- Add support for blind writes (#2065) (62fc0a4)
- spanner: Add samples for instance partitions (#2083) (b91e284)
7.12.0 (2024-08-02)
Features
7.13.0 (2024-08-09)
Bug Fixes
7.14.0 (2024-08-14)
Features
Bug Fixes
Python
Changes for google-cloud-spanner
3.48.0 (2024-07-30)
Features
- Add field lock_hint in spanner.proto (9609ad9)
- Add field order_by in spanner.proto (9609ad9)
- spanner: Add support for txn changstream exclusion (#1152) (00ccb7a)
Bug Fixes
August 13, 2024
A new multi-region instance configuration is now available in North America - nam16
(Iowa/Northern Virginia/Columbus).
August 01, 2024
Spanner now offers Spanner Graph in Preview, which unites purpose-built graph database capabilities with Spanner. Spanner Graph includes a graph query interface compatible with the ISO GQL (Graph Query Language) standards, and interoperability between relational and graph models. For more information, see the following:
Spanner full-text search (Preview) lets you search a table to find words, phrases, or integers, instead of just searching for exact matches in structured fields. Spanner full-text search capabilities also include making spelling corrections, automating language detection of search input, and ranking search results. To learn more, see the Full-text search overview.
July 31, 2024
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.64.0 (2024-06-29)
Features
- spanner: Add field lock_hint in spanner.proto (3df3c04)
- spanner: Add field order_by in spanner.proto (3df3c04)
- spanner: Add LockHint feature (#10382) (64bdcb1)
- spanner: Add OrderBy feature (#10289) (07b8bd2)
- spanner: Add support of checking row not found errors from ReadRow and ReadRowUsingIndex (#10405) (5cb0c26)
Bug Fixes
Java
Changes for google-cloud-spanner
6.70.0 (2024-06-27)
Features
Bug Fixes
- Do not end transaction span when rolling back to savepoint (#3167) (8ec0cf2)
- Remove unused DmlBatch span (#3147) (f7891c1)
Dependencies
- Update dependencies (#3181) (0c787e6)
- Update dependency com.google.cloud:sdk-platform-java-config to v3.32.0 (#3184) (9c85a6f)
- Update dependency commons-cli:commons-cli to v1.8.0 (#3073) (36b5340)
6.71.0 (2024-07-03)
Features
Node.js
Changes for @google-cloud/spanner
7.9.0 (2024-06-21)
Features
Bug Fixes
- deps: Update dependency google-gax to v4.3.4 (#2051) (80abf06)
- deps: Update dependency google-gax to v4.3.5 (#2055) (702c9b0)
- deps: Update dependency google-gax to v4.3.6 (#2057) (74ebf1e)
- deps: Update dependency google-gax to v4.3.7 (#2068) (28fec6c)
7.9.1 (2024-06-26)
Bug Fixes
7.10.0 (2024-07-19)
Features
- Add field lock_hint in spanner.proto (47520e9)
- Add field order_by in spanner.proto (47520e9)
- Add QueryCancellationAction message in executor protos (47520e9)
- Add support for change streams transaction exclusion option for Batch Write (#2070) (2a9e443)
- Update Nodejs generator to send API versions in headers for GAPICs (47520e9)
Bug Fixes
July 18, 2024
Spanner now includes the JSON_ARRAY()
and JSON_OBJECT()
functions for building JSON types in GoogleSQL. For more information, see JSON functions in GoogleSQL.
July 16, 2024
Spanner now supports the following PostgreSQL JSONB functions:
jsonb_array_elements()
spanner.bool_array()
spanner.float32_array()
spanner.float64_array()
spanner.int64_array()
spanner.string_array()
For more information, see JSONB functions and Spanner specific JSONB functions.
Spanner now supports the following GoogleSQL JSON functions:
BOOL_ARRAY
: Converts a JSON array of booleans to a SQLARRAY<BOOL>
value.FLOAT32
: Converts a JSON number to a SQLFLOAT32
value.FLOAT32_ARRAY
: Converts a JSON array of numbers to a SQLARRAY<FLOAT32>
value.FLOAT64_ARRAY
: Converts a JSON array of numbers to a SQLARRAY<FLOAT64>
value.INT64_ARRAY
: Converts a JSON array of numbers to a SQLINT64_ARRAY
value.STRING_ARRAY
: Converts a JSON array of strings to a SQLARRAY<STRING>
value.
Spanner now supports the GoogleSQL PDML_MAX_PARALLELISM
statement-level hint. For more information, see Statement hints.
The following are now supported for the INSERT
statement:
INSERT OR UPDATE
andINSERT OR IGNORE
DML statement now supports theTHEN RETURN
clause in GoogleSQL.INSERT…ON CONFLICT
DML statement now supports theRETURNING
clause in PostgreSQL.THEN RETURN
now supports theWITH ACTION
clause in GoogleSQL.
Spanner now supports geo-partitioning (in Preview). You can use geo-partitioning to segment and store rows in your database table across different configurations. For more information, see the Geo-partitioning overview.
July 12, 2024
Spanner now supports dual-region instance configurations in Australia, Germany, India, and Japan. Dual-region configurations let you replicate data in multiple zones across two regions in a single country. This helps you meet your data residency requirements, while taking advantage of 99.999% availability. For more information, see Dual-region configurations.
Spanner now supports the approximate nearest neighbor (ANN) distance functions (APPROX_COSINE_DISTANCE()
, APPROX_EUCLIDEAN_DISTANCE()
, and APPROX_DOT_PRODUCT()
) in the GoogleSQL dialect (in Preview). If you have tables with a large amount of unstructured data that can be represented as vector data, you can create a vector index using DDL statements and accelerate similarity searches and nearest neighbor queries using standard SQL using these functions without having to copy the data into a separate system. For more information, see Find approximate nearest neighbors to index and query vector embeddings in Spanner.
July 11, 2024
You can now use EXPORT DATA
statements to reverse ETL BigQuery data to Spanner. This feature is in Preview.
July 03, 2024
Spanner now allows privileged users to cancel long-running queries. For more information, see GoogleSQL Query cancellation or PostgreSQL Query cancellation.
Multiplexed sessions are now generally available. Multiplexed session is a new session management model which simplifies the pool management in clients. For more information, see Multiplexed sessions.
June 28, 2024
A monthly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.68.0 (2024-05-27)
Features
- Allow passing libraries_bom_version from env (#1967) (#3112) (7d5a52c)
- Allow DML batches in transactions to execute analyzeUpdate (#3114) (dee7cda)
- spanner: Add support for Proto Columns in Connection API (#3123) (7e7c814)
Bug Fixes
Dependencies
6.69.0 (2024-06-12)
Features
Dependencies
Python
Changes for google-cloud-spanner
3.47.0 (2024-05-22)
Features
June 20, 2024
Named schemas is now generally available. With named schemas, you can group database objects in a namespace to avoid naming conflicts and collectively manage their FGAC permissions, see Named schemas.
June 17, 2024
Generated columns no longer require the STORED
attribute. Without this, the generated column is evaluated at query or index time and doesn't require additional storage or write overhead. For more information, see Create and manage generated columns.
June 03, 2024
Query Optimizer version 7 is generally available. Version 6 remains the default optimizer version.
May 31, 2024
Spanner now supports the protocol buffer data type in GoogleSQL. For more information, see Work with protocol buffers in GoogleSQL.
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.61.0 (2024-04-30)
Features
- spanner/admin/instance: Adding
EXPECTED_FULFILLMENT_PERIOD
to the indicate instance creation times (withFULFILLMENT_PERIOD_NORMAL
orFULFILLMENT_PERIOD_EXTENDED
ENUM) with the extended instance creation time triggered by On-Demand Capacity... (#9693) (aa93790) - spanner/executor: Add SessionPoolOptions, SpannerOptions protos in executor protos (2cdc40a)
- spanner: Add support for change streams transaction exclusion option (#9779) (979ce94)
- spanner: Support MultiEndpoint (#9565) (0ac0d26)
Bug Fixes
- spanner/test/opentelemetry/test: Bump x/net to v0.24.0 (ba31ed5)
- spanner: Bump x/net to v0.24.0 (ba31ed5)
- spanner: Fix uint8 conversion (9221c7f)
1.62.0 (2024-05-15)
Features
- spanner/admin/database: Add support for multi region encryption config (3e25053)
- spanner/executor: Add QueryCancellationAction message in executor protos (292e812)
- spanner: Add
RESOURCE_EXHAUSTED
to the list of retryable error codes (1d757c6) - spanner: Add support for Proto Columns (#9315) (3ffbbbe)
Bug Fixes
- spanner: Add ARRAY keywords to keywords (#10079) (8e675cd)
- spanner: Handle unused errors (#10067) (a0c097c)
- spanner: Remove json-iterator dependency (#10099) (3917cca), refs #9380
- spanner: Update staleness bound (#10118) (c07f1e4)
1.63.0 (2024-05-24)
Features
Java
Changes for google-cloud-spanner
6.65.1 (2024-04-30)
Dependencies
Documentation
6.66.0 (2024-05-03)
Features
- Allow DDL with autocommit=false (#3057) (22833ac)
- Include stack trace of checked out sessions in exception (#3092) (ba6a0f6)
Bug Fixes
Dependencies
6.67.0 (2024-05-22)
Features
Performance Improvements
Dependencies
Node.js
Changes for @google-cloud/spanner
7.8.0 (2024-05-24)
Features
- Add
RESOURCE_EXHAUSTED
to the list of retryable error codes (#2032) (a4623c5) - Add support for multi region encryption config (81fa610)
- Add support for Proto columns (#1991) (ae59c7f)
- spanner: Add support for change streams transaction exclusion option (#2049) (d95cab5)
Bug Fixes
Python
Changes for google-cloud-spanner
3.46.0 (2024-05-02)
Features
- spanner: Adding EXPECTED_FULFILLMENT_PERIOD to the indicate instance creation times (with FULFILLMENT_PERIOD_NORMAL or FULFILLMENT_PERIOD_EXTENDED ENUM) with the extended instance creation time triggered by On-Demand Capacity Feature (293ecda)
Documentation
May 29, 2024
Spanner now supports the following new columns in the SPANNER_SYS
query statistics table:
AVG_MEMORY_PEAK_USAGE_BYTES
AVG_MEMORY_USAGE_PERCENTAGE
AVG_QUERY_PLAN_CREATION_TIME_SECS
AVG_FILESYSTEM_DELAY_SECS
AVG_REMOTE_SERVER_CALLS
AVG_ROWS_SPOOLED
May 13, 2024
Spanner now supports a new metric in the monitoring console called read_request_latencies_by_change_stream
. Use this metric to view all read latencies and filter latencies by change stream or non-change stream reads. For more information, see Available charts and metrics.
Vector length annotation is now generally available. For more information, see the PostgreSQL vector length parameter or the GoogleSQL vector_length parameter.
April 30, 2024
Spanner now supports the following for PostgreSQL arrays:
Through self-service and with zero downtime, you can now add and remove read-only replicas in base instance configurations and move your Spanner instance to a different instance configuration. For more information, see Move an instance.
A monthly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.62.1 (2024-03-28)
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.39.0 (#2966) (a5cb1dd)
- Update dependency com.google.cloud:google-cloud-trace to v2.38.0 (#2967) (b2dc788)
6.63.0 (2024-03-30)
Features
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.40.0 (#2987) (0a1ffcb)
- Update dependency com.google.cloud:google-cloud-trace to v2.39.0 (#2988) (cf11641)
- Update dependency commons-io:commons-io to v2.16.0 (#2986) (4697261)
6.64.0 (2024-04-12)
Features
- Add endpoint connection URL property (#2969) (c9be29c)
- Add PG OID support (#2736) (ba2a4af)
- Add SessionPoolOptions, SpannerOptions protos in executor protos (#2932) (1673fd7)
- Support max_commit_delay in Connection API (#2954) (a8f1852)
Bug Fixes
- Executor framework changes skipped in clirr checks, and added exception for partition methods in admin class (#3000) (c2d8e95)
Dependencies
- Update actions/checkout action to v4 (#3006) (368a9f3)
- Update actions/github-script action to v7 (#3007) (b0cfea6)
- Update actions/setup-java action to v4 (#3008) (d337080)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.42.0 (#2997) (0615beb)
- Update dependency com.google.cloud:google-cloud-trace to v2.41.0 (#2998) (f50cd04)
- Update dependency commons-io:commons-io to v2.16.1 (#3020) (aafd5b9)
- Update opentelemetry.version to v1.37.0 (#3021) (8f1ed2a)
- Update stcarolas/setup-maven action to v5 (#3009) (541acd2)
6.65.0 (2024-04-20)
Features
- Remove grpclb (#2760) (1df09d9)
- Support client-side hints for tags and priority (#3005) (48828df), closes #2978
Bug Fixes
- deps: Update the Java code generator (gapic-generator-java) to 2.39.0 (#3001) (6cec1bf)
- NullPointerException on AbstractReadContext.span (#3036) (55732fd)
Dependencies
Node.js
Changes for @google-cloud/spanner
7.6.0 (2024-03-26)
Features
- Add instance partition support to spanner instance proto (#2001) (4381047)
- Managed Autoscaler (#2015) (547ca1b)
- spanner: Add a sample for max commit delays (#1993) (91c7204)
- spanner: Add support for float32 (#2020) (99e2c1d)
7.7.0 (2024-04-17)
Features
- OptimisticLock option for getTransaction method (#2028) (dacf869)
- spanner: Adding
EXPECTED_FULFILLMENT_PERIOD
to the indicate instance creation times (withFULFILLMENT_PERIOD_NORMAL
orFULFILLMENT_PERIOD_EXTENDED
ENUM) with the extended instance creation time triggered by On-Demand Capacity Feature (#2024) (5292e03)
Bug Fixes
Python
Changes for google-cloud-spanner
3.45.0 (2024-04-17)
Features
Bug Fixes
April 09, 2024
The following Gemini in Databases features are now available in Public Preview:
- Spanner Studio (GA): lets users interact with the SQL database and run SQL queries from the Google Cloud console to access and manipulate data.
- Spanner now supports the use of Gemini models with GoogleSQL and PostgreSQL machine learning prediction functions.
To learn how to enable and activate Gemini in Databases, see Set up Gemini in Databases.
Spanner now supports the ML_PREDICT_ROW()
function for PostgreSQL. You can use this function to generate predictions using SQL. To learn more about this function and how to use it, see Using Spanner Vertex AI integration functions.
You can now generate ML predictions using the Spanner emulator with GoogleSQL and PostgreSQL.
Spanner GoogleSQL now supports SAFE.ML.PREDICT()
, which allows you to return a null
instead of an error in your predictions.
You can generate and backfill vector embeddings for textual data (STRING
or JSON
) stored in Spanner using GoogleSQL partitioned DML and the Vertex AI textembedding-gecko
model. For more information, see Generate vector embeddings for textual data in bulk using partitioned DML.
Spanner now supports several new PostgreSQL JSONB
functions:
spanner.jsonb_query_array()
jsonb_build_array()
jsonb_build_object()
The PostgreSQL CONCAT()
function also supports more than 4 arguments.
For more information, see Supported PostgreSQL functions.
Spanner has extended the array data type with the VECTOR LENGTH
parameter (in Preview). This optional parameter sets an array to a fixed size for use in a vector search. For more information, see the PostgreSQL array
data type or the GoogleSQL array
data type.
Spanner now supports the dot_product()
function (in Preview). For more information, see Choose among vector distance functions to measure vector embeddings similarity.`
Spanner now supports the float32
(GoogleSQL) and float4/real
(PostgreSQL) data type (in Preview).
Spanner now supports the use of Gemini models with GoogleSQL and PostgreSQL machine learning prediction functions (in Preview).
Spanner now supports using LangChain with the vector store, document loader, and chat message history objects. For more information, see Build LLM-powered applications using LangChain.
April 08, 2024
You can now add a time to live (TTL)-based deletes filter to your Spanner change streams using the exclude_ttl_deletes
option.
You can now add a table modification type filter to your Spanner change streams to exclude INSERT
, UPDATE
, or DELETE
table modifications.
Spanner change streams now support a new value capture type called NEW_ROW_AND_OLD_VALUES
. This new type captures all new values for both modified and unmodified columns, and old values for modified columns.
March 29, 2024
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.58.0 (2024-03-06)
Features
- spanner/admin/instance: Add instance partition support to spanner instance proto (ae1f547)
- spanner: Add field for multiplexed session in spanner.proto (a86aa8e)
- spanner: SelectAll struct spanner tag annotation match should be case-insensitive (#9460) (6cd6a73)
- spanner: Update TransactionOptions to include new option exclude_txn_from_change_streams (0195fe9)
1.59.0 (2024-03-13)
Features
- spanner/spansql: Support Table rename & Table synonym (#9275) (9b97ce7)
- spanner: Add support of float32 type (#9525) (87d7ea9)
Bug Fixes
1.60.0 (2024-03-19)
Features
- spanner: Allow attempt direct path xds via env var (e4b663c)
Java
Changes for google-cloud-spanner
6.61.0 (2024-03-04)
Features
Bug Fixes
Dependencies
- Update dependency com.google.cloud:sdk-platform-java-config to v3.27.0 (#2935) (f8f835a)
- Update dependency org.json:json to v20240303 (#2936) (1d7044e)
Documentation
- Samples and tests for backup Admin APIs and overall spanner Admin APIs. (#2882) (de13636)
- Update all public documents to use auto-generated admin clients. (#2928) (ccb110a)
6.62.0 (2024-03-19)
Features
- Allow attempt direct path xds via env var (#2950) (247a15f)
- Next release from main branch is 6.56.0 (#2929) (66374b1)
Bug Fixes
Performance Improvements
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.38.0 (#2942) (ba665bd)
- Update dependency com.google.cloud:google-cloud-trace to v2.37.0 (#2944) (b5e608e)
- Update dependency com.google.cloud:sdk-platform-java-config to v3.28.1 (#2952) (1e45237)
- Update opentelemetry.version to v1.36.0 (#2945) (e70b035)
Documentation
Node.js
Changes for @google-cloud/spanner
7.5.0 (2024-03-04)
Features
Bug Fixes
Python
Changes for google-cloud-spanner
3.43.0 (2024-03-06)
Features
- Add retry and timeout for batch dml (#1107) (4f6340b)
- Add support for max commit delay (#1050) (d5acc26)
- Exposing Spanner client in dbapi connection (#1100) (9299212)
- Include RENAME in DDL regex (#1075) (3669303)
- Support partitioned dml in dbapi (#1103) (3aab0ed)
- Untyped param (#1001) (1750328)
Documentation
- Samples and tests for admin backup APIs (#1105) (5410c32)
- Samples and tests for admin database APIs (#1099) (c25376c)
- Update all public documents to use auto-generated admin clients. (#1109) (d683a14)
- Use autogenerated methods to get names from admin samples (#1110) (3ab74b2)
3.44.0 (2024-03-13)
Features
Bug Fixes
Documentation
March 26, 2024
Duet AI in Google Cloud is now Gemini for Google Cloud. See our blog post for more information.
You can now optimize your writes by setting the maximum delay time of your Spanner write requests between 0 and 500 milliseconds. For more information, see Throughput optimized writes.
March 20, 2024
Leader-aware routing now dynamically routes read-write transactions to the leader region in Spanner multi-region instances, reducing latency and improving performance. For more information, see Leader-aware routing.
March 19, 2024
Statistics for active partitioned data manipulation language (DML) queries are now generally available. You can get insights on active partitioned DMLs queries and their progress from statistics tables in your Spanner database. For more information, see Active partitioned DMLs statistics.
March 11, 2024
Table renaming is now generally available. This feature lets you rename tables in place or safely swap names using synonyms. For more information, see Manage table names.
March 04, 2024
Spanner now supports a new client library interface. The new interface leverages auto-generated admin clients instead of hand-written admin clients for improved efficiency and maintainability. While the older client library interface remains supported, all new Spanner admin features released after March 1, 2024 will be available exclusively through the new client library interface. All code samples in the Spanner documentation are updated to use the new client library interface. The older client interface code samples are archived in GitHub for Java, Node.js, Python, and PHP.
February 29, 2024
Spanner regional endpoint is now available in me-central2
. You can use regional endpoints if your data location must be restricted and controlled to comply with regulatory requirements. For more information, see Global and regional service endpoints.
February 2024 Client libraries release note
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.56.0 (2024-01-30)
Features
- spanner/admin/database: Add proto descriptors for proto and enum types in create/update/get database ddl requests (97d62c7)
- spanner/spansql: Add support for CREATE VIEW with SQL SECURITY DEFINER (#8754) (5f156e8)
- spanner: Add FLOAT32 enum to TypeCode (97d62c7)
- spanner: Add max_commit_delay API (af2f8b4)
- spanner: Add proto and enum types (00b9900)
- spanner: Add SelectAll method to decode from Spanner iterator.Rows to golang struct (#9206) (802088f)
1.57.0 (2024-02-13)
Features
- spanner: Add OpenTelemetry implementation (#9254) (fc51cc2)
- spanner: Support max_commit_delay in Spanner transactions (#9299) (a8078f0)
Bug Fixes
- spanner: Enable universe domain resolution options (fd1d569)
- spanner: Internal test package should import local version (#9416) (f377281)
- spanner: SelectAll struct fields match should be case-insensitive (#9417) (7ff5356)
- spanner: Support time.Time and other custom types using SelectAll (#9382) (dc21234)
Documentation
- spanner: Update the comment regarding eligible SQL shapes for PartitionQuery (e60a6ba)
Java
Changes for google-cloud-spanner
6.57.0 (2024-01-29)
Features
- Add FLOAT32 enum to TypeCode (#2800) (383fea5)
- Add support for Proto Columns (#2779) (30d37dd)
- spanner: Add proto descriptors for proto and enum types in create/update/get database ddl requests (#2774) (4a906bf)
Bug Fixes
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.22.0 (#2785) (f689f74)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.23.0 (#2801) (95f064f)
Documentation
6.58.0 (2024-02-08)
Features
- Open telemetry implementation (#2770) (244d6a8)
- spanner: Support max_commit_delay in Spanner transactions (#2854) (e2b7ae6)
- Support Directed Read in Connection API (#2855) (ee477c2)
Bug Fixes
- Cast for Proto type (#2862) (0a95dba)
- Ignore UnsupportedOperationException for virtual threads (#2866) (aa9ad7f)
- Use default query options with statement cache (#2860) (741e4cf)
Dependencies
6.59.0 (2024-02-15)
Features
Dependencies
Documentation
- README for OpenTelemetry metrics and traces (#2880) (c8632f5)
- Samples and tests for database Admin APIs. (#2775) (14ae01c)
6.60.0 (2024-02-21)
Features
- Add an API method for reordering firewall policies (62319f0)
- spanner: Add field for multiplexed session in spanner.proto (62319f0)
- Update TransactionOptions to include new option exclude_txn_from_change_streams (#2853) (62319f0)
Bug Fixes
- Add ensureDecoded to proto type (#2897) (e99b78c)
- spanner: Fix write replace used by dataflow template and import export (#2901) (64b9042)
Dependencies
Documentation
- Update comments (62319f0)
- Update the comment regarding eligible SQL shapes for PartitionQuery (62319f0)
6.60.1 (2024-02-23)
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.37.0 (#2920) (a3441bb)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.10.0 (#2861) (a652c3b)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.10.1 (#2919) (8800a28)
- Update dependency org.json:json to v20240205 (#2913) (277ed81)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.10.2 (#2868) (71a65ec)
- Update opentelemetry.version to v1.35.0 (#2902) (3286eae)
Node.js
Changes for @google-cloud/spanner
7.3.0 (2024-02-08)
Features
Bug Fixes
- deps: Update dependency google-gax to v4.1.0 (#1981) (2a36150)
- deps: Update dependency google-gax to v4.2.0 (#1988) (005589a)
- deps: Update dependency google-gax to v4.2.1 (#1989) (d2ae995)
- deps: Update dependency google-gax to v4.3.0 (#1990) (e625753)
7.4.0 (2024-02-23)
Features
- spanner: Add PG.OID support (#1948) (cf9df7a)
- Untyped param types (#1869) (6ef44c3)
- Update TransactionOptions to include new option exclude_txn_from_change_streams (#1998) (937a7a1)
Bug Fixes
Python
Changes for google-cloud-spanner
3.42.0 (2024-01-30)
Features
- Add FLOAT32 enum to TypeCode (5b94dac)
- Add max_commit_delay API (#1078) (ec87c08)
- Add proto descriptors for proto and enum types in create/update/get database ddl requests (5b94dac)
- Fixing and refactoring transaction retry logic in dbapi. Also adding interceptors support for testing (#1056) (6640888)
- Implementation of run partition query (#1080) (f3b23b2)
Bug Fixes
- Few fixes in DBAPI (#1085) (1ed5a47)
- Small fix in description when metadata is not present in cursor's _result_set (#1088) (57643e6)
- spanner: Add SpannerAsyncClient import to spanner_v1 package (#1086) (2d98b54)
Documentation
February 26, 2024
The following GoogleSQL JSON functions are now generally available (GA):
LAX_BOOL
: Attempts to convert a JSON value to a SQLBOOL
value.LAX_FLOAT64
: Attempts to convert a JSON value to a SQLFLOAT64
value.LAX_INT64
: Attempts to convert a JSON value to a SQLINT64
value.LAX_STRING
: Attempts to convert a JSON value to a SQLSTRING
value.BOOL
: Converts a JSON boolean to a SQLBOOL
value.FLOAT64
: Converts a JSON number to a SQLFLOAT64
value.INT64
: Converts a JSON number to a SQLINT64
value.STRING
: Converts a JSON string to a SQLSTRING
value.JSON_TYPE
: Gets the JSON type of the outermost JSON value and converts the name of this type to a SQLSTRING
value.
February 21, 2024
The OpenCensus libraries are archived. Spanner now supports OpenTelemetry, and we recommend all OpenCensus users to migrate to OpenTelemetry for your observability needs. For more information, see Examine latency in a Spanner component with OpenTelemetry.
February 07, 2024
Made changes to the information schema to improve the accuracy of data type reporting.
The information_schema.columns.spanner_type
and information_schema.index_columns.spanner_type
columns now include a limit value for the character varying(limit_value)
and character varying(limit_value)[]
types.
January 31, 2024
You can create Spanner regional instances in Johannesburg, South Africa (africa-south1
).
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.55.0 (2024-01-08)
Features
Java
Changes for google-cloud-spanner
6.56.0 (2024-01-05)
Features
- Add autoscaling config in the instance to support autoscaling in systests (#2756) (99ae565)
- Add support for Directed Read options (#2766) (26c6c63)
- Update OwlBot.yaml file to pull autogenerated executor code (#2754) (20562d4)
Dependencies
Documentation
Node.js
Changes for @google-cloud/spanner
7.2.0 (2024-01-11)
Features
Bug Fixes
Python
Changes for google-cloud-spanner
3.41.0 (2024-01-10)
Features
- Add BatchWrite API (#1011) (d0e4ffc)
- Add PG.OID type cod annotation (#1023) (2d59dd0)
- Add support for Directed Reads (#1000) (c4210b2)
- Add support for Python 3.12 (#1040) (b28dc9b)
- Batch Write API implementation and samples (#1027) (aa36b07)
- Implementation for batch dml in dbapi (#1055) (7a92315)
- Implementation for Begin and Rollback clientside statements (#1041) (15623cd)
- Implementation for partitioned query in dbapi (#1067) (63daa8a)
- Implementation of client side statements that return (#1046) (bb5fa1f)
- Implementing client side statements in dbapi (starting with commit) (#1037) (eb41b0d)
- Introduce compatibility with native namespace packages (#1036) (5d80ab0)
- Return list of dictionaries for execute streaming sql (#1003) (b534a8a)
- spanner: Add autoscaling config to the instance proto (#1022) (4d490cf)
- spanner: Add directed_read_option in spanner.proto (#1030) (84d662b)
Bug Fixes
- Executing existing DDL statements on executemany statement execution (#1032) (07fbc45)
- Fix for flaky test_read_timestamp_client_side_autocommit test (#1071) (0406ded)
- Require google-cloud-core >= 1.4.4 (#1015) (a2f87b9)
- Require proto-plus 1.22.2 for python 3.11 (#880) (7debe71)
- Use
retry_async
instead ofretry
in async client (#1044) (1253ae4)
Documentation
- Minor formatting (498dba2)
January 30, 2024
Cloud Spanner directed reads is now available in Preview. Directed reads provides the flexibility to route read-only transactions and single reads to a specific replica type or region in a multi-region instance configuration. For more information, see Directed reads.
January 23, 2024
Cloud Spanner now supports the GoogleSQL INSERT OR IGNORE and INSERT OR UPDATE clauses.
Cloud Spanner now supports the PostgreSQL ON CONFLICT DO NOTHING and ON CONFLICT DO UPDATE SET clauses.
January 22, 2024
Cloud Spanner now supports COSINE_DISTANCE()
and EUCLIDEAN_DISTANCE()
functions (in Preview). You can use these vector distance functions to perform similarity vector search. For more information, see Perform similarity vector search in Spanner by finding the K-nearest neighbors.
December 27, 2023
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.53.1 (2023-12-01)
Bug Fixes
- spanner: Handle nil error when cleaning up long running session (#9052) (a93bc26)
- spanner: MarshalJSON function caused errors for certain values (#9063) (afe7c98)
1.54.0 (2023-12-14)
Features
- spanner/executor: Add autoscaling config in the instance to support autoscaling in systests (29effe6)
- spanner: New clients (#9127) (2c97389)
Bug Fixes
Java
Changes for google-cloud-spanner
6.55.0 (2023-12-01)
Features
Bug Fixes
Dependencies
December 19, 2023
Cloud Spanner now supports partition queries whose query plans don't contain any distributed unions. To learn more about how to read data in parallel using partition queries, see Read data in parallel.
December 18, 2023
The number of mutations per commit that Cloud Spanner supports has increased from 40,000 to 80,000. For more information, see Quotas and limits.
December 14, 2023
Data Catalog support in Cloud Spanner is now generally available. For more information, see Manage resources using Data Catalog.
December 05, 2023
Cloud Spanner now supports the following PostgreSQL functions:
- unnest
- array_length
- array(subquery)
- date_trunc
- extract
- spanner.date_bin
- spanner.timestamptz_add
- spanner.timestamptz_subtract
For more information, see working with arrays in PostgreSQL-dialect databases.
November 30, 2023
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.52.0 (2023-11-14)
Features
- spanner: Add DML, DQL, Mutation, Txn Actions and Utility methods for executor framework (#8976) (ca76671)
- spanner: Add lastUseTime property to session (#8942) (b560cfc)
- spanner: Add method (#8945) (411a51e)
- spanner: Add methods to return Row fields (#8953) (e22e70f)
- spanner: Add PG.OID type cod annotation (#8749) (ffb0dda)
- spanner: Admin, Batch, Partition actions for executor framework (#8932) (b2db89e)
- spanner: Auto-generated executor framework proto changes (#8713) (2ca939c)
- spanner: BatchWrite (#8652) (507d232)
- spanner: Executor framework server and worker proxy (#8714) (6b931ee)
- spanner: Fix falkiness (#8977) (ca8d3cb)
- spanner: Long running transaction clean up - disabled (#8177) (461d11e)
- spanner: Update code for session leaks cleanup (#8978) (cc83515)
Bug Fixes
- spanner: Bump google.golang.org/api to v0.149.0 (8d2ab9f)
- spanner: Expose Mutations field in MutationGroup (#8923) (42180cf)
- spanner: Update grpc-go to v1.56.3 (343cea8)
- spanner: Update grpc-go to v1.59.0 (81a97b0)
Documentation
- spanner: Updated comment formatting (24e410e)
1.53.0 (2023-11-15)
Features
Java
Changes for google-cloud-spanner
6.53.0 (2023-11-06)
Features
- Move session lastUseTime parameter from PooledSession to SessionImpl class. Fix updation of the parameter for chained RPCs within one transaction. (#2704) (e75a281)
- Rely on graal-sdk version declaration from property in java-shared-config (#2696) (cfab83a)
Bug Fixes
- Prevent illegal negative timeout values into thread sleep() method in ITTransactionManagerTest. (#2715) (1c26cf6)
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.19.0 (#2719) (e320753)
- Update dependency com.google.cloud:google-cloud-trace to v2.28.0 (#2670) (078b7ca)
- Update dependency com.google.cloud:google-cloud-trace to v2.29.0 (#2714) (b400eca)
- Update dependency commons-cli:commons-cli to v1.6.0 (#2710) (e3e8f6a)
- Update dependency commons-io:commons-io to v2.15.0 (#2712) (a5f59aa)
- Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.28 (#2692) (d8a2b02)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.28 (#2705) (2b17f09)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.10.1 (#2723) (9cf6d0e)
6.54.0 (2023-11-15)
Features
Bug Fixes
- Copy backup issue when backup is done across different instance IDs (#2732) (7f6b158)
- Respect SPANNER_EMULATOR_HOST env var when autoConfigEmulator=true (#2730) (9c19934)
Dependencies
Node.js
Changes for @google-cloud/spanner
7.1.0 (2023-11-16)
Features
- Add PG.OID type cod annotation (69192b5)
- spanner: Add autoscaling config to the instance proto (#1935) (fe285c6)
- spanner: Add directed_read_option in spanner.proto (69192b5)
Bug Fixes
November 21, 2023
Cloud Spanner emulator support for the PostgreSQL dialect is now generally available. To learn more about the emulator, see Emulate Cloud Spanner locally.
November 16, 2023
Cloud Spanner now supports automatic cleanup of long running transactions (in Preview). To enable this feature, use the Java or Go client library to automatically remove long running transactions that might cause session leaks and receive warning logs about problematic transactions. For more information, see Automatic cleanup of session leaks.
Cloud Spanner now supports Hibernate ORM 6.3 in GoogleSQL Hibernate dialect. For more information, see Integrate Spanner with Hibernate ORM (GoogleSQL dialect).
November 15, 2023
Cloud Spanner now provides an integration workflow with Vertex AI Vector Search to enable vector similarity search on data stored in Spanner. For more information, see Export embeddings from Spanner to Vector Search.
November 13, 2023
Managed autoscaler for compute capacity on Cloud Spanner instances is now in preview. With managed autoscaler, Spanner automatically increases or decreases compute capacity on the instance in response to changing workload or storage needs and user defined goals. For more information, see Managed autoscaler.
November 10, 2023
Cloud Spanner now supports batch-oriented scans. For certain queries, Spanner chooses a batch-oriented processing mode to help improve scan throughput and performance. For more information, see Optimize scans.
November 07, 2023
Cloud Spanner now supports the Go programming language ORM, GORM, with GoogleSQL-dialect databases. For more information, see Integrate Spanner with GORM (GoogleSQL dialect).
November 02, 2023
Table and index operations statistics are now generally available. This feature helps you get insights and monitor usages of your tables and indexes in your database. For more information, see Table operations statistics.
October 31, 2023
The Cloud Spanner ExecuteBatchDml
API now applies optimizations to groups of statements within a batch to enable faster and more efficient data updates. For more information, see Improve latency with batch DML.
October 30, 2023
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.50.0 (2023-10-03)
Features
- spanner/spansql: Add support for aggregate functions (#8498) (d440d75)
- spanner/spansql: Add support for bit functions, sequence functions and GENERATE_UUID (#8482) (3789882)
- spanner/spansql: Add support for SEQUENCE statements (#8481) (ccd0205)
- spanner: Add BatchWrite API (02a899c)
- spanner: Allow non-default service accounts (#8488) (c90dd00)
1.51.0 (2023-10-17)
Features
Bug Fixes
- spanner: Update golang.org/x/net to v0.17.0 (174da47)
Java
Changes for google-cloud-spanner
6.48.0 (2023-09-26)
Features
Bug Fixes
Dependencies
- Update actions/checkout action to v4 (#2608) (59f3e70)
- Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.27 (#2574) (e804a4c)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.27 (#2575) (6fe132a)
6.49.0 (2023-09-28)
Features
Dependencies
Documentation
- Improve timeout and retry sample (#2630) (f03ce56)
- Remove reference to returning clauses for Batch DML (#2644) (038d8ca)
6.50.0 (2023-10-09)
Features
Dependencies
6.50.1 (2023-10-11)
Bug Fixes
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.17.0 (#2660) (96b9dd6)
- Update dependency commons-io:commons-io to v2.14.0 (#2649) (fa1b73c)
6.51.0 (2023-10-14)
Features
Bug Fixes
6.52.0 (2023-10-19)
Features
6.52.1 (2023-10-20)
Dependencies
October 26, 2023
Cloud Spanner now supports FULL JOIN
with USING
in PostgreSQL-dialect databases. For information about PostgreSQL queries in Spanner, see PostgreSQL queries.
October 23, 2023
Cloud Spanner PostgreSQL now supports the SELECT DISTINCT
statement. For more information, see SELECT.
October 17, 2023
Query Optimizer version 6 is generally available, and is the default optimizer version.
October 11, 2023
Cloud Spanner has made improvements that provide higher throughput for instances located in select Spanner regional and multi-region instance configurations. These improvements are available without additional cost or any configuration changes. For more information, see Performance improvements.
October 09, 2023
Cloud Spanner batch write is now available in Preview. You can use Spanner batch write to commit multiple mutations non-atomically in a single request with low latency. For more information, see Modify data using batch write.
Cloud Spanner Vertex AI integration now supports Vertex AI Generative AI text embeddings and the text-bison
model. For more information, see Get Vertex AI text embeddings.
October 05, 2023
Cloud Spanner sampled query plans are now available in GA. You can view samples of historic query plans and compare the performance of a query over time. For more information, see Sampled query plans.
September 25, 2023
A monthly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.46.0 (2023-09-06)
Features
- Add support for databoost (#2505) (dd3e9a0)
- Support PostgreSQL for autoConfigEmulator (#2601) (fbf1df9)
Bug Fixes
Documentation
6.47.0 (2023-09-12)
Features
- Add devcontainers for enabling github codespaces usage. (#2605) (a7d60f1)
- Disable dynamic code loading properties by default (#2606) (d855ebb)
Bug Fixes
- Add reflection configurations for com.google.rpc classes (#2617) (c42460a)
- Avoid unbalanced session pool creation (#2442) (db751ce)
Dependencies
Node.js
Changes for @google-cloud/spanner
7.0.0 (2023-08-30)
⚠ BREAKING CHANGES
- upgrade to Node 14 (#1890)
Bug Fixes
Miscellaneous Chores
September 19, 2023
You can create Cloud Spanner regional instances in Dammam, Saudi Arabia (me-central2
).
September 13, 2023
You can now create definer's rights views in Cloud Spanner. A definer's rights view adds additional security functionality by providing different privileges on the view and the underlying schema objects. Users with access to a definer's rights view can see and query its contents even if they don't have access to the view's underlying schema objects. For more information, see About views.
September 11, 2023
Query Optimizer version 6 is generally available. Version 5 remains the default optimizer version in production.
September 06, 2023
A Cloud Spanner multi-region instance configuration is now available in Asia - asia2
(Mumbai/Delhi/Singapore).
August 31, 2023
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.48.0 (2023-08-18)
Features
- spanner/spansql: Add complete set of math functions (#8246) (d7a238e)
- spanner/spansql: Add support for foreign key actions (#8296) (d78b851)
- spanner/spansql: Add support for IF NOT EXISTS and IF EXISTS clause (#8245) (96840ab)
- spanner: Add integration tests for Bit Reversed Sequences (#7924) (9b6e7c6)
Bug Fixes
- spanner: Reset buffer after abort on first SQL statement (#8440) (d980b42)
- spanner: REST query UpdateMask bug (df52820)
1.49.0 (2023-08-24)
Features
Bug Fixes
Java
Changes for google-cloud-spanner
6.45.0 (2023-08-04)
Features
- Enable leader aware routing by default in Connection API. This enables its use in the JDBC driver and PGAdapter. The update contains performance optimisations that will reduce the latency of read/write transactions that originate from a region other than the default leader region. (2a85446)
- Enable leader aware routing by default. This update contains performance optimisations that will reduce the latency of read/write transactions that originate from a region other than the default leader region. (441c1b0)
- Long running transaction clean up background task. Adding configuration options for closing inactive transactions. (#2419) (423e1a4)
- Support partitioned queries + data boost in Connection API (#2540) (4e31d04)
Bug Fixes
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.14.0 (#2562) (dbd5c75)
- Update dependency org.openjdk.jmh:jmh-core to v1.37 (#2565) (d5c36bf)
- Update dependency org.openjdk.jmh:jmh-generator-annprocess to v1.37 (#2566) (73e92d4)
6.45.1 (2023-08-11)
Bug Fixes
6.45.2 (2023-08-14)
Bug Fixes
6.45.3 (2023-08-17)
Bug Fixes
Node.js
Changes for @google-cloud/spanner
6.15.0 (2023-08-04)
Features
- Enable leader aware routing by default. This update contains performance optimisations that will reduce the latency of read/write transactions that originate from a region other than the default leader region. (6852d99)
6.16.0 (2023-08-07)
Features
Bug Fixes
Python
Changes for google-cloud-spanner
3.39.0 (2023-08-02)
Features
Documentation
3.40.0 (2023-08-04)
Features
- Enable leader aware routing by default. This update contains performance optimisations that will reduce the latency of read/write transactions that originate from a region other than the default leader region. (e8dbfe7)
3.40.1 (2023-08-17)
Bug Fixes
August 29, 2023
Spanner Studio includes Duet AI (in Preview), an AI-powered collaborator in Google Cloud that accelerates SQL development by helping you write SQL statements. For more information, see Write SQL with Duet AI assistance.
August 24, 2023
Cloud Spanner has added 13 new PostgreSQL functions and operators:
ARRAY_UPPER(anyarray, dimension)
functionQUOTE_IDENT(string)
functionSUBSTRING(string, pattern)
functionDATE - DATE
operatorDATE - INTEGER
operatorDATE + INTEGER
operatorREGEXP_MATCH(string, pattern [, flags])
functionREGEXP_SPLIT_TO_ARRAY(string, pattern [, flags])
functionSTRING !~ PATTERN
operatorTO_CHAR(timestamptz, format)
,TO_CHAR(double, format)
,TO_CHAR(bigint, format)
,TO_CHAR(numeric, format)
functionTO_NUMBER(string, format)
functionTO_DATE(string, format)
functionTO_TIMESTAMP(string, format)
function
For more information, see Supported PostgreSQL functions.
August 23, 2023
Cloud Spanner now supports integer sequences and bit reversal.
The SEQUENCE DDL statement generates unique, uniformly distributed integers as part of a primary key DEFAULT expression. For more information, see SEQUENCE (GoogleSQL, PostgreSQL).
The bit reverse function lets you map existing integer keys using the same logic as a bit-reversed sequence to avoid hotspotting. For more information, see BIT_REVERSE (GoogleSQL, PostgreSQL).
For overview information and scenarios for when to use these features, see Primary key default values management.
Cloud Spanner now supports generating a UUID (v4) as part of a table's primary key DEFAULT expression using the GENERATE_UUID function in GoogleSQL or generate_uuid() in PostgreSQL-dialect databases.
For overview information and scenarios for when to use this feature, see Primary key default values management.
August 22, 2023
You can create Cloud Spanner regional instances in Berlin, Germany (europe-west10
).
August 21, 2023
Spanner Studio enhances the Spanner query editor in the Google Cloud console, with full support for SQL, DML, and DDL operations. The Spanner Studio also features the Explorer (in Preview) which lets you interactively browse, query, and modify your database. For more information, see Manage your data using the Google Cloud console.
August 17, 2023
Cloud Spanner Data Boost is now available in all regions. For information about Data Boost, see Data Boost overview.
August 15, 2023
Cloud Spanner now lets you check the progress on long-running operations, such as backups, restores, and schema updates. This feature is generally available (GA). For more information, see Check the progress of a long-running schema update operation and Check the progress of a long-running backup or restore operation.
August 08, 2023
Cloud Spanner database deletion protection is now generally available. You can enable database deletion protection to prevent the accidental deletion of databases. For more information, see Prevent accidental database deletion.
July 31, 2023
A monthly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.43.1 (2023-06-26)
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.20.0 (#2492) (faa6807)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.21.0 (#2510) (f10400b)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.12.0.with temp exclusions. (#2512) (ce04645)
- Update dependency com.google.cloud:google-cloud-trace to v2.19.0 (#2493) (1dc7cea)
- Update dependency com.google.cloud:google-cloud-trace to v2.20.0 (#2511) (2ea52ec)
- Update dependency commons-io:commons-io to v2.13.0 (#2490) (b087b0e)
- Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.23 (#2500) (0b794a6)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.23 (#2501) (9db5c78)
- Update dependency org.json:json to v20230618 (#2504) (8a87fee)
6.43.2 (2023-07-09)
Bug Fixes
Documentation
Dependencies
6.44.0 (2023-07-27)
Features
Bug Fixes
Documentation
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.22.0 (#2525) (be0db6f)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.23.0 (#2542) (67351dd)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.13.1 (#2537) (9396d8d)
- Update dependency com.google.cloud:google-cloud-trace to v2.21.0 (#2526) (2d95234)
- Update dependency com.google.cloud:google-cloud-trace to v2.22.0 (#2543) (47c6a43)
- Update dependency org.graalvm.sdk:graal-sdk to v22.3.3 (#2533) (0806b11)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.10.0 (#2539) (8801b2b)
Node.js
Changes for @google-cloud/spanner
6.14.0 (2023-07-21)
Features
6.13.0 (2023-07-21)
Features
- Enable leader aware routing by default. This update contains performance optimisations that will reduce the latency of read/write transactions that originate from a region other than the default leader region. (87cd5e6)
Bug Fixes
Python
Changes for google-cloud-spanner
3.38.0 (2023-07-21)
Features
3.37.0 (2023-07-21)
Features
- Enable leader aware routing by default. This update contains performance optimisations that will reduce the latency of read/write transactions that originate from a region other than the default leader region. (402b101)
Bug Fixes
Documentation
July 18, 2023
Spanner supports cascading deletes for foreign keys. For more information, see Foreign key actions.
June 26, 2023
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.47.0 (2023-06-20)
Features
- spanner/admin/database: Add DdlStatementActionInfo and add actions to UpdateDatabaseDdlMetadata (01eff11)
- spanner: Add databoost property for batch transactions (#8152) (fc49c78)
- spanner: Add tests for database roles in PG dialect (#7898) (dc84649)
- spanner: Enable client to server compression (#7899) (3a047d2)
- spanner: Update all direct dependencies (b340d03)
Bug Fixes
Java
Changes for google-cloud-spanner
6.43.0 (2023-06-07)
Features
- Delay transaction start option (#2462) (f1cbd16)
- Make administrative request retries optional (#2476) (ee6548c)
Dependencies
Node.js
Changes for @google-cloud/spanner
6.11.0 (2023-06-06)
Features
- spanner: Add DdlStatementActionInfo and add actions to UpdateDatabaseDdlMetadata (#1860) (3e86f36)
- Testing for fgac in pg (#1811) (c48945f)
6.12.0 (2023-06-19)
Features
Python
Changes for google-cloud-spanner
3.36.0 (2023-06-06)
Features
June 23, 2023
Cloud Spanner Data Boost lets you execute analytics queries and data exports with near-zero impact to existing workloads on your provisioned Spanner instance. This feature is now generally available (GA) in the following regions:
- asia-northeast1 (Tokyo)
- asia-south1 (Mumbai)
- us-central1 (Iowa)
- nam3 (North America)
- southamerica-east1 (São Paulo)
- europe-west-1 (Belgium)
- europe-west2 (London)
- europe-west3 (Frankfurt)
For more information, see Data Boost overview.
June 22, 2023
Spanner Vertex AI integration is now generally available. You can use Vertex AI with GoogleSQL to enhance your Spanner applications with machine learning capabilities. For more information, see About Spanner Vertex AI integration.
June 09, 2023
In both the GoogleSQL and PostgreSQL dialects, adds support for the IF NOT EXISTS clause in CREATE TABLE, CREATE INDEX, and ALTER TABLE ADD COLUMN, along with IF EXISTS for DROP TABLE and DROP INDEX.
June 07, 2023
Fine-grained access control is now available for PostgreSQL-dialect databases. For more information, see About fine-grained access control.
June 05, 2023
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.46.0 (2023-05-12)
Features
- spanner/admin/database: Add support for UpdateDatabase in Cloud Spanner (#7917) (83870f5)
- spanner: Make leader aware routing default enabled for supported RPC requests. (#7912) (d0d3755)
Bug Fixes
- spanner: Update grpc to v1.55.0 (1147ce0)
Java
Changes for google-cloud-spanner
6.41.0 (2023-04-28)
Features
- Add TransactionExecutionOptions support to executor. (#2396) (8327f21)
- Leader Aware Routing (#2214) (9695ace)
- Make leak detection configurable for connections (#2405) (85213c8)
Dependencies
- Update dependency com.google.api.grpc:proto-google-cloud-spanner-executor-v1 to v1.4.0 (#2395) (02dc53c)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.17.0 (#2406) (d46097f)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.8.0 (#2400) (b815cb8)
- Update dependency com.google.cloud:google-cloud-trace to v2.16.0 (#2407) (7993be2)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.9.3 (#2401) (8aa7a1d)
6.42.0 (2023-05-15)
Features
- Add support for UpdateDatabase in Cloud Spanner (#2265) (2ea06e7)
- Add support for UpdateDatabase in Cloud Spanner (#2429) (09f20bd)
Bug Fixes
- Add error details for INTERNAL error (#2413) (ed62aa6)
- Use javax.annotation.Nonnull in executor framework (#2414) (afcc598)
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.18.0 (#2426) (05a45f8)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.9.0 (#2427) (42dbfe3)
- Update dependency com.google.cloud:google-cloud-trace to v2.17.0 (#2428) (6f7fee8)
- Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.22 (#2423) (679bb36)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.22 (#2424) (a72f4ff)
- Update dependency org.graalvm.sdk:graal-sdk to v22.3.2 (#2391) (c082a1f)
6.42.1 (2023-05-22)
Dependencies
6.42.2 (2023-05-30)
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.19.0 (#2466) (6de2cf6)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.10.1 (#2465) (0a89f49)
- Update dependency com.google.cloud:google-cloud-trace to v2.18.0 (#2467) (45609ed)
6.42.3 (2023-05-31)
Performance Improvements
Node.js
Changes for @google-cloud/spanner
6.9.0 (2023-04-26)
Features
6.10.0 (2023-05-17)
Features
- Add support for UpdateDatabase (#1802) (f4fbe71)
- Add support for UpdateDatabase in Cloud Spanner (#1848) (dd9d505)
Bug Fixes
6.10.1 (2023-05-30)
Bug Fixes
- Set database admin and instance as having handwritten layers (republish docs) (3e3e624)
Python
Changes for google-cloud-spanner
3.32.0 (2023-04-25)
Features
3.33.0 (2023-04-27)
Features
3.34.0 (2023-05-16)
Features
Bug Fixes
3.35.0 (2023-05-16)
Features
3.35.1 (2023-05-25)
Bug Fixes
May 24, 2023
Cloud Spanner lets you use a generated column in the primary key.
Cloud Spanner database deletion protection is now available in Preview. You can enable database deletion protection to prevent the accidental deletion of databases. For more information, see Prevent accidental database deletion.
May 22, 2023
Cloud Spanner automatically increases the degree of parallelism on a query when the instance size allows. For more information on parallel execution of queries, see Life of a Spanner Query.
May 09, 2023
Support for logging the processing duration of your Cloud Spanner read and write requests is now available in Cloud Audit Logs. For more information, see Processing duration.
May 02, 2023
Cloud Spanner now supports new query capabilities for PostgreSQL dialect databases:
- Set operations (such as UNION and INTERSECT) with ORDER BY, LIMIT, or OFFSET, or in subqueries
- Parameterized LIMIT and OFFSET operations
- Statement hints for configuring the query optimizer (such as
optimizer_version
andoptimizer_statistics_package
)
Cloud Spanner sampled query plans are now available in Preview. You can view samples of historic query plans and compare the performance of a query over time. For more information, see Sampled query plans.
April 28, 2023
Two new multi-region instance configurations are now available in North America: nam14
(Northern Virginia/Montréal/South Carolina) and nam15
(Dallas/Northern Virginia/Iowa).
The number of indexes per table that Cloud Spanner supports increased from 32 to 128. For more information, see Quotas & limits.
April 24, 2023
A monthly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.45.0 (2023-04-10)
Features
- spanner/spansql: Add support for missing DDL syntax for ALTER CHANGE STREAM (#7429) (d34fe02)
- spanner/spansql: Support fine-grained access control DDL syntax (#6691) (a7edf6b)
- spanner/spansql: Support grant/revoke view, change stream, table function (#7533) (9c61215)
- spanner: Add x-goog-spanner-route-to-leader header to Spanner RPC contexts for RW/PDML transactions. (#7500) (fcab05f)
- spanner: Add new fields for Serverless analytics (69067f8)
- spanner: Enable custom decoding for list value (#7463) (3aeadcd)
- spanner: Update iam and longrunning deps (91a1f78)
Bug Fixes
- spanner/spansql: Fix SQL for CREATE CHANGE STREAM TableName; case (#7514) (fc5fd86)
- spanner: Correcting the proto field Id for field data_boost_enabled (00fff3a)
1.45.1 (2023-04-21)
Bug Fixes
Java
Changes for google-cloud-spanner
6.38.1 (2023-03-29)
Dependencies
6.38.2 (2023-04-01)
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.15.0 (#2356) (e4c001a)
- Update dependency com.google.cloud:google-cloud-trace to v2.14.0 (#2357) (dbb8e66)
6.39.0 (2023-04-11)
Features
6.40.0 (2023-04-14)
Features
Performance Improvements
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.7.0 (#2377) (40402af)
- Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.21 (#2379) (ae7262d)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.21 (#2380) (0cb159e)
6.40.1 (2023-04-17)
Dependencies
Node.js
Changes for @google-cloud/spanner
6.8.0 (2023-04-06)
Features
Bug Fixes
Python
Changes for google-cloud-spanner
3.30.0 (2023-03-28)
Features
3.31.0 (2023-04-12)
Features
Bug Fixes
April 10, 2023
Cloud Spanner integration with Data Catalog is now available in Preview in the europe-central2
region.
For more information, see Manage resources using Data Catalog.
March 31, 2023
Cloud Spanner integration with Data Catalog is now available in Preview. Data Catalog is a fully managed, scalable metadata management service within Dataplex. It automatically catalogs metadata about Cloud Spanner instances, databases, tables, columns, and views. For Preview, integration with Data Catalog is not available in the europe-central2
region.
For more information, see Manage resources using Data Catalog.
March 30, 2023
You can create Cloud Spanner regional instances in Doha, Qatar (me-central1
).
March 27, 2023
A monthly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.37.0 (2023-03-03)
Features
Bug Fixes
Dependencies
- Update dependency com.google.api.grpc:proto-google-cloud-spanner-executor-v1 to v1.3.0 (#2306) (8372250)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.13.0 (#2311) (6ba613b)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.4.0 (#2312) (266c49c)
- Update dependency com.google.cloud:google-cloud-trace to v2.12.0 (#2313) (e5f76c6)
- Update dependency org.json:json to v20230227 (#2310) (badcc14)
6.38.0 (2023-03-20)
Features
- Add option to wait on session pool creation (#2329) (ff17244)
- Add PartitionedUpdate support to executor (#2228) (2c8ecf6)
Bug Fixes
- Correct the proto field Id for field data_boost_enabled (#2328) (6159d7e)
- Update executeCloudBatchDmlUpdates. (#2326) (27ef53c)
Dependencies
Python
Changes for google-cloud-spanner
3.28.0 (2023-02-28)
Features
3.29.0 (2023-03-23)
Features
Bug Fixes
Documentation
March 23, 2023
You can create Cloud Spanner regional instances in Turin, Italy (europe-west12
).
March 21, 2023
The following functions and expressions have been added to the GoogleSQL dialect:
March 20, 2023
You can now use Google Cloud tags to group and organize your Cloud Spanner instances, and to condition Identity and Access Management (IAM) policies based on whether an instance has a specific tag. For more information, see Control access and organize instances with tags.
March 17, 2023
Support for the GoogleSQL-dialect THEN RETURN
clause and the PostgreSQL-dialect RETURNING
clause is now generally available. For more information, see THEN RETURN and RETURNING.
The following functions have been added to the GoogleSQL dialect:
March 09, 2023
Cloud Spanner fine-grained access control is now generally available. Fine-grained access control combines the benefits of Identity and Access Management (IAM) with traditional SQL role-based access control. For more information, see About fine-grained access control.
March 03, 2023
Added support for the JSONB array data type in the PostgreSQL dialect. For more information, see Work with JSONB data.
March 01, 2023
Change streams are now supported for PostgreSQL-dialect databases.
February 27, 2023
A monthly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.36.0 (2023-02-08)
Features
Bug Fixes
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.11.0 (#2262) (d566613)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.2.0 (#2264) (b5fdbc0)
- Update dependency com.google.cloud:google-cloud-trace to v2.10.0 (#2263) (96f0c81)
6.36.1 (2023-02-21)
Bug Fixes
- Prevent illegal negative timeout values into thread sleep() method while retrying exceptions in unit tests. (#2268) (ce66098)
Dependencies
- Update dependency com.google.api.grpc:proto-google-cloud-spanner-executor-v1 to v1.2.0 (#2256) (f0ca86a)
- Update dependency com.google.cloud:google-cloud-monitoring to v3.12.0 (#2284) (0be701a)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.3.0 (#2285) (bb5d5c6)
- Update dependency com.google.cloud:google-cloud-trace to v2.11.0 (#2286) (3c80932)
- Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.20 (#2280) (685d1ea)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.20 (#2281) (f2aabc2)
Node.js
Changes for @google-cloud/spanner
6.7.1 (2023-01-23)
Bug Fixes
- Change of tag for fgac (#1780) (d75b6dd)
- codec: Use index to determine array struct member value (#1775) (fc2b695), closes #1774
6.7.2 (2023-02-17)
Bug Fixes
- Tests emit empty metadata before emitting unspecified error (14ef031)
Go
Changes for spanner/admin/database/apiv1
1.44.0 (2023-02-01)
Features
Python
Changes for google-cloud-spanner
3.27.1 (2023-01-30)
Bug Fixes
- Add context manager return types (830f325)
- Change fgac database role tags (#888) (ae92f0d)
- Fix for database name in batch create request (#883) (5e50beb)
Documentation
- Add documentation for enums (830f325)
The new System insights dashboard displays metrics and scorecards for the resources that your instance or database uses and helps you get a high-level view of your system's performance. For more information, see Monitor instances with system insights.
February 16, 2023
The Cloud Spanner regional endpoints feature has been moved to a future release. It is not currently available.
February 13, 2023
As of today, the list compute price for the following 9-replica Spanner multi-region configurations has been reduced: nam-eur-asia1
and nam-eur-asia3
. For more details, see Cloud Spanner pricing.
February 09, 2023
The Google Cloud console for Spanner now displays the status and progress of copy backup long-running operations that you have initiated in the console. The operation is visible for 7 days.
February 07, 2023
Cloud Spanner now autocompletes and validates the syntax of your DDL statements when you use the Google Cloud console to write DDL statements for your PostgreSQL-dialect databases.
February 06, 2023
Cloud Spanner now supports regional endpoints. You can use regional endpoints if your data location must be restricted and controlled to comply with regulatory requirements.
January 31, 2023
Table sizes statistics are now generally available. They help you get insights into the size of individual tables in your database. For more information, see Table sizes statistics.
January 30, 2023
A monthly digest of client library updates from across the Cloud SDK.
Node.js
Changes for @google-cloud/spanner
6.7.0 (2023-01-17)
Features
Go
Changes for spanner/admin/database/apiv1
1.43.0 (2023-01-19)
Features
- spanner/spansql: Add support for change stream value_capture_type option (#7201) (27b3398)
- spanner/spansql: Support
default_leader
database option (#7187) (88adaa2) - spanner: Add REST client (06a54a1)
- spanner: Inline begin transaction for ReadWriteTransactions (#7149) (2ce3606)
Bug Fixes
Java
Changes for google-cloud-spanner
6.35.0 (2023-01-12)
Features
- Add support for new cloud client test framework in google-cloud-spanner-executor (#2217) (d75ebc1)
- spanner: Add samples for fine grained access control (#2172) (77969e3)
Bug Fixes
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.8.0 (#2192) (fe7e755)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.1.1 (#2222) (7d3bcca)
- Update dependency com.google.cloud:google-cloud-trace to v2.7.0 (#2193) (da2b924)
- Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.19 (#2180) (43b54e9)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.19 (#2181) (b42eb38)
6.35.1 (2023-01-18)
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.9.0 (#2230) (717f70f)
- Update dependency com.google.cloud:google-cloud-trace to v2.8.0 (#2231) (557ea16)
- Update dependency org.graalvm.sdk:graal-sdk to v22.3.1 (#2238) (d5f5237)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.9.2 (#2223) (3278f91)
6.35.2 (2023-01-24)
Dependencies
Python
Changes for google-cloud-spanner
3.27.0 (2023-01-10)
Features
- Add support for python 3.11 (#879) (4b8c2cf)
- Add typing to proto.Message based class attributes (4683d10)
Bug Fixes
- Add dict typing for client_options (4683d10)
- deps: Require google-api-core >=1.34.0, >=2.11.0 (4683d10)
- Drop packaging dependency (4683d10)
- Drop usage of pkg_resources (4683d10)
- Fix timeout default values (4683d10)
Documentation
December 22, 2022
The new Cloud Spanner Kafka connector publishes change streams records to Kafka for application integration and event triggering. For more information, see Build change streams connections to Kafka.
December 19, 2022
You can now use the ALTER INDEX
statement to add columns into an index or drop non-key columns. For more information, see Alter an index.
December 14, 2022
Cloud Spanner now offers the Cloud Spanner change streams to Pub/Sub Dataflow template, which streams Cloud Spanner data change records and writes them into Pub/Sub topics.
You can now create a custom instance configuration and add optional read-only replicas to your custom instance configurations to scale reads and support low latency stale reads. For more information, see Regional and multi-region configurations.
December 12, 2022
Support for moving a Cloud Spanner instance is now generally available. You can request to move your Spanner instance from any instance configuration to any other instance configuration, including between regional and multi-region configurations. For more information, see Move an instance.
An update to Spanner change streams provides two new data capture types for change records:
NEW_VALUES
mode captures only new values in non-key columns, and no old values. Keys are always captured.NEW_ROW
mode captures the full new row, including columns that are not included in updates. No old values are captured.
Note that existing change streams remain set to OLD_AND_NEW_VALUES
.
December 06, 2022
We identified an issue in how we calculate the Total Database Storage metric in multi-regional Spanner instances. This metric is used to calculate the charges for Spanner database storage.
Database storage is currently incorrectly reported lower than it actually is in multi-regional configurations, resulting in undercharging for database storage. We communicated a Service Announcement in October and started rolling out this change to pricing on December 1, 2022. Depending on your configuration, your Total Database Storage could increase by up to 25%.
For the majority of impacted customers, the impact on your total bill will be less than 0.5%. For those affected, you will notice an increase in database storage charges that reflect this corrected metric.
We waived the under-billed amount for all past billing cycles. Please note that this issue only affects multi-region configurations of Spanner. It does not affect regional configurations of Spanner. Additionally, the Total Backup Storage metric is not affected by this issue, and has always been reported correctly.
For more information, see Database storage prices.
December 05, 2022
New SQL syntax, RETURNING in the PostgreSQL dialect and THEN RETURN in Google Standard SQL, selects and returns data from rows that were just updated as part of a DML statement. This is especially useful for getting values from default or generated columns and can reduce latency over equivalent multi-statement transactions. The preview supports the Java, JDBC, Python, and Go Spanner clients as well as PostgreSQL drivers that connect through PGAdapter.
December 02, 2022
The number of concurrent database restore operations per instance that Cloud Spanner supports has increased from five to ten. For more information, see Backup and restore limits.
November 15, 2022
Time to live (TTL) is now supported in PostgreSQL-dialect databases. With TTL, you can reduce storage costs, improve query performance, and simplify data retention by automatically removing unneeded data based on user-defined policies.
Added support for the JSONB
data type in the Cloud Spanner PostgreSQL dialect. For more information, see Work with JSONB data.
November 08, 2022
Cloud Spanner now supports cross-region and cross-project backup use cases. You can copy a backup of your database from one instance to another instance in a different region or project to provide additional data protection and compliance capabilities.
November 07, 2022
A weekly digest of client library updates from across the Cloud SDK.
Go
Changes for spanner/admin/database/apiv1
1.40.0 (2022-11-03)
Features
Java
Changes for google-cloud-spanner
6.4.4-sp.7 (2022-11-02)
Dependencies
November 03, 2022
Support for the NHibernate ORM is now generally available, enabling you to use Cloud Spanner as a backend database for the NHibernate framework. For more information, see NHibernate Dialect for Cloud Spanner.
October 31, 2022
A weekly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.32.0 (2022-10-27)
Features
- Enable client to server compression (#2117) (50f8425)
- Increase default number of channels when gRPC channel pool is enabled (#1997) (44f27fc)
- Update
result_set.proto
to return undeclared parameters in ExecuteSql API (#2101) (826eb93)
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.6.0 (#2125) (7d86fe4)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.5 (#2122) (308a65c)
- Update dependency com.google.cloud:google-cloud-trace to v2.5.0 (#2126) (5167928)
- Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.16 (#2119) (b2d27e8)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.16 (#2120) (151cf77)
- Update dependency org.graalvm.sdk:graal-sdk to v22.3.0 (#2116) (9d6930b)
Node.js
Changes for @google-cloud/spanner
6.4.0 (2022-10-27)
Features
October 24, 2022
A weekly digest of client library updates from across the Cloud SDK.
October 19, 2022
The number of concurrent database restore operations per instance that Cloud Spanner supports has increased from one to five. For more information, see Backup and restore limits.
October 18, 2022
The following new generally available features help you identify and troubleshoot high latencies in specific databases:
The Lock insights dashboard helps you identify latency spikes that are due to lock contentions.
The Transaction insights dashboard helps you identify the transactions that cause lock contentions and, possibly, high latencies.
October 17, 2022
A weekly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.23.4 (2022-10-12)
Dependencies
Python
Changes for google-cloud-spanner
3.22.2 (2022-10-10)
Bug Fixes
October 11, 2022
Spanner Vertex AI integration is now available in public preview. You can now enhance your Spanner applications with machine learning capabilities by using Google Standard SQL. For more information, see About Spanner Vertex AI integration.
October 10, 2022
A weekly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.31.2 (2022-10-05)
Bug Fixes
- Update protobuf to v3.21.7 (ac71008)
6.31.1 (2022-10-03)
Dependencies
Python
Changes for google-cloud-spanner
3.22.1 (2022-10-04)
Bug Fixes
Documentation
- samples: Add samples for CMMR phase 2 (4282340)
October 03, 2022
A weekly digest of client library updates from across the Cloud SDK.
Java
Changes for google-cloud-spanner
6.31.0 (2022-09-29)
Dependencies
- Update dependency com.google.cloud:google-cloud-trace to v2.3.4 (#2027) (14890ed)
- Update dependency com.google.cloud:google-cloud-trace to v2.3.5 (#2083) (cef4e0a)
- Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.14 (#2030) (04b59ff)
- Update dependency org.json:json to v20220924 (#2035) (a26a14a)
Python
Changes for google-cloud-spanner
3.22.0 (2022-09-26)
Features
September 28, 2022
The following SPANNER_SYS
statistical tables have been enhanced with new columns:
- Transaction statistics:
TOTAL_LATENCY_DISTRIBUTION
,OPERATIONS_BY_TABLE
, andATTEMPT_COUNT
. - Query statistics:
LATENCY_DISTRIBUTION
andRUN_IN_RW_TRANSACTION_EXECUTION_COUNT
. - Read statistics:
RUN_IN_RW_TRANSACTION_EXECUTION_COUNT
.
September 27, 2022
The number of mutations per commit that Cloud Spanner supports has increased from 20,000 to 40,000. For more information, see Quotas and limits.
The ARRAY_SLICE
function is now available to use in Google Standard SQL. This function returns an ARRAY
containing zero or more consecutive elements from an input array.
September 26, 2022
A weekly digest of client library updates from across the Cloud SDK.
Node.js
Changes for @google-cloud/spanner
6.2.0 (2022-09-16)
Bug Fixes
Go
Changes for spanner/admin/database/apiv1
1.39.0 (2022-09-21)
Features
- spanner/spannersql: Add backticks when name contains a hypen (#6621) (e88ca66)
- spanner/spansql: Add support for create, alter, and drop change streams (#6669) (cc4620a)
- spanner: Retry spanner transactions and mutations when RST_STREAM error is returned (#6699) (1b56cd0)
Bug Fixes
Java
Changes for google-cloud-spanner
6.30.2 (2022-09-21)
Dependencies
- Update dependency com.google.cloud:google-cloud-monitoring to v3.4.5 (#2022) (0536962)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.9.1 (#2023) (3fb4235)
6.30.1 (2022-09-20)
Dependencies
September 15, 2022
Fine grained access control for Spanner is now available in public preview. Fine-grained access control lets you secure your Spanner databases at the table and column level by using new RDBMS-style roles and GRANT/REVOKE SQL statements. With fine-grained access control, you can protect your transactional data and ensure that the right controls are in place when granting access to data. For more information, see About fine-grained access control.
The Spanner Golang database/sql driver is now generally available. Add the driver to your application to enable the use of the database/sql package with Spanner. For more information, see the Spanner blog and the package documentation.
September 13, 2022
You can create Cloud Spanner regional instances in Tel Aviv, Israel (me-west1
).
September 09, 2022
Query Optimizer version 5 is generally available, and is the default optimizer version.
September 08, 2022
Cloud Spanner free trial instances are now generally available. With a free trial instance, you can learn and explore Spanner for 90 days at no cost. You can create Google Standard SQL or PostgreSQL-dialect databases and store up to 10 GB of data, with the option to upgrade at any time. For more information, see About Cloud Spanner free trial instances.
August 17, 2022
The DISABLE_INLINE
hint is now available to use in a Google Standard SQL function call. This allows a function to be computed once instead of each time another part of a query references it.
July 25, 2022
Query Optimizer version 5 is generally available. Version 4 remains the default optimizer version in production.
July 14, 2022
You can now view aggregated Cloud Spanner statistics related to transactions, reads, queries, and lock contentions in GA in Cloud Monitoring.
June 30, 2022
The ANALYZE
DDL command allows administrators to manually update the query statistics package that the optimizer uses to build query execution plans. This complements the existing automatic updates to provide faster feedback cycles when data, queries, or indexes change frequently.
June 29, 2022
Query insights is now generally available. Query Insights helps you visually detect and identify query performance issues for Cloud Spanner databases. You can also dig deeper and analyse the query details to know the root cause of these issues.
To learn more, see Detect query performance issues with Query Insights.
June 23, 2022
The PostgreSQL interface is now generally available, making the capabilities of Cloud Spanner accessible from the PostgreSQL ecosystem. It includes a core subset of the PostgreSQL SQL dialect, support for the psql command-line tool, native language clients, and integration into existing Google tools. For more information, see PostgreSQL interface.
June 10, 2022
Commit timestamps enable a Cloud Spanner optimization that can reduce query I/O when retrieving data written after a particular time.
June 07, 2022
You can create Cloud Spanner regional instances in Dallas (us-south1
).
May 31, 2022
Granular instance sizing is now generally available. You can now create production instances of fewer than 1000 processing units. To learn more, see Compute capacity, nodes and processing units.
May 27, 2022
Cloud Spanner change streams capture and stream out inserts, updates, and deletes in near real-time—useful for analytics, archiving, and triggering downstream application workflows.
May 24, 2022
You can create Cloud Spanner regional instances in Columbus (us-east5
).
May 10, 2022
You can create Cloud Spanner regional instances in Madrid (europe-southwest1
).
May 03, 2022
You can create Cloud Spanner regional instances in Paris (europe-west9
).
Query Optimizer version 4 is generally available, and is the default optimizer version.
April 20, 2022
Cloud Spanner regional instances can now be created in Milan (europe-west8
).
April 14, 2022
You can now define a default value for a non-key table column when creating or altering a table. Using the DEFAULT keyword, a schema author can provide a fallback for a column when an insert statement or mutation doesn't explicitly specify a value.
A new three-continent, nine-replica multi-region instance configuration is available for Cloud Spanner: nam-eur-asia3
(Iowa/South Carolina/Belgium/Netherlands/Taiwan/Oklahoma).
April 05, 2022
Cloud Spanner now allows you to export a subset of your database tables to Google Cloud Storage as Avro files.
March 25, 2022
All instances with a compute capacity of at least one node (1,000 processing units) now have a data storage allotment of 4 TB per node, an increase from 2 TB per node. Relatedly, instances smaller than one node now have a data storage allotment of 409.6 GB for every 100 processing units.
March 22, 2022
The data type of the COLUMN_DEFAULT
column in the information schema COLUMNS
table has changed from BYTES
to STRING
. This aligns better with industry standards and enables future improvements to Cloud Spanner.
March 10, 2022
Cloud Spanner now offers committed use discounts. You can get significantly discounted prices in exchange for your commitment to use Cloud Spanner compute resources continuously for a year or longer.
March 08, 2022
You can now see and manage the views of your Cloud Spanner databases from the Google Cloud Console. To do so, visit a database's Overview page, and then click the Views tab.
March 03, 2022
You can now view aggregated Cloud Spanner statistics related to transactions, reads, queries, and lock contentions in Preview in Cloud Monitoring. Additionally, the retention period for these metrics at one-minute intervals has been increased from six hours to six weeks.
March 01, 2022
A new multi-region instance configuration is now available in North America - nam13
(Iowa/Oklahoma/Salt Lake City).
Released Query Optimizer version 4. Version 3 remains the default optimizer version in production.
February 11, 2022
Cloud Spanner now optimizes the way it processes groups of similar statements in DML batches, significantly improving the speed at which it performs batched data writes under certain conditions.
February 08, 2022
Query statistics now cover DML statements, including inserts, updates, and deletes.
February 07, 2022
Cloud Spanner's CPU Utilization metrics now provide grouping by all task priorities: low, medium, and high.
Relatedly, Cloud Spanner's monitoring console now lets you view the CPU utilization of your instance by operation type, filtered by task priority.
January 25, 2022
Starting no sooner than February 23, 2022, the data type of the COLUMN_DEFAULT
column in the information schema's COLUMNS
table will change from BYTES
to STRING
. This aligns better with industry standards, and enables future improvements to Cloud Spanner.
November 16, 2021
Cloud Spanner regional instances can now be created in Santiago (southamerica-west1
).
November 04, 2021
Time to live (TTL) is generally available. TTL reduces storage costs, improves query performance, and simplifies data retention by automatically removing unneeded data based on user-defined policies.
October 29, 2021
The django-spanner plugin is now available, enabling you to use Cloud Spanner as a backend database for the Django Web framework. For more information, see Django ORM with Cloud Spanner.
October 27, 2021
When performing a CSV export, you may now use the spannerSnapshotTime
option to export a specific past version of your data.
October 13, 2021
You can now assign request tags and transaction tags in your application code to easily troubleshoot query performance, transaction latency, and lock contentions by correlating introspection statistics to application code.
October 12, 2021
The PostgreSQL interface is available in Preview, making the capabilities of Spanner accessible from the PostgreSQL ecosystem. The release supports a subset of the PostgreSQL SQL dialect, including core data types, functions, and operators. Applications can connect using updated Spanner drivers for JDBC, Java, Go, and Python. Starting initially with psql, community tools can connect using PGAdapter, a sidecar proxy that implements the PostgreSQL wire protocol. Sign up for the preview today.
October 06, 2021
You can now specify the statistics package for the query optimizer to use, to ensure predictability in your query plans.
September 24, 2021
Query Optimizer version 3 is now the default optimizer version in production.
August 31, 2021
The R2DBC driver for Cloud Spanner is available in Preview. This driver lets you connect to Cloud Spanner from fully reactive applications.
August 30, 2021
In the Cloud Console, a database's Query page now supports multiple query tabs so you no longer have to clear one query to create and run another. Additionally, you can enter multiple query and DML statements in a single query tab. When you do so, the Results and Explanation subtabs let you choose which statement's results or query plan you want to view. See A tour of the query editor for details.
Added support for changing the leader region location of a Cloud Spanner database.
Added support for the JSON data type. For more information, see Working with JSON data.
August 20, 2021
Cloud Spanner now creates dedicated backup jobs to take backups instead of using an instance's server resources. As a result, backup time is reduced and backup operations do not affect instance performance.
Views are now supported in Cloud Spanner databases. Use views to provide logical data-modeling to applications, to centralize query definitions and simplify maintenance, and to ensure stability of query definitions across schema changes. Learn more.
August 17, 2021
Released Query Optimizer version 3. Query Optimizer v3 is currently set to off by default in production.
August 04, 2021
Cloud Spanner now has an end-to-end latency guide. This guide describes the high-level components involved in a Cloud Spanner API request, and explains how to extract, capture, and visualize latencies associated with these components to know the source of the latencies.
August 03, 2021
Cloud Spanner regional instances can now be created in Toronto (northamerica-northeast2
).
Added support for changing instance configuration (Preview).
July 21, 2021
Time to live (TTL) is now available in public preview. This feature lets database administrators periodically delete unneeded data from Cloud Spanner tables, and so decrease storage and backup costs and potentially increase query performance. To use this feature, a database owner defines a row deletion policy on a table schema.
July 20, 2021
Granular instance sizing is now available in public preview. Historically, the most granular unit for provisioning compute capacity on Spanner has been the node. To provide more granular control, we are introducing Processing Units (PUs); one Spanner node is equal to 1,000 PUs. You can now provision in batches of 100 PUs, and get a proportionate amount of compute and storage resources. Learn more.
July 19, 2021
Key Visualizer for Cloud Spanner is now available. Key Visualizer is an interactive monitoring tool to analyze usage patterns in Spanner databases. It reveals trends and outliers in important performance and resource metrics.
July 08, 2021
The NUMERIC data type is now supported as a valid key column type, so you can now use NUMERIC type columns when specifying primary keys, foreign keys, and secondary indexes.
June 30, 2021
Cloud Spanner now supports Cloud External Key Manager (Cloud EKM) when using customer-managed encryption keys. Cloud EKM also provides Key Access Justification to give you more visibility into key access requests.
June 29, 2021
Cloud Spanner regional instances can now be created in Delhi (asia-south2
).
June 21, 2021
Cloud Spanner regional instances can now be created in Melbourne (australia-southeast2
).
June 15, 2021
The SQL mathematical functions EXP, LN, LOG, LOG10 and SQRT now directly support NUMERIC data as input. You no longer need to cast NUMERIC data to FLOAT64 data before passing it as input to these functions.
June 11, 2021
You can now find common queries for monitoring and troubleshooting on the Query page in the Cloud Console. This page now has query templates to help you to access these introspection system tables: Query Stats, Read Stats, Transaction Stats, Lock Stats, and Oldest active queries.
June 04, 2021
We are replacing the Insert a row and Edit a row data forms in the Cloud Console with pre-populated DML query templates on the Query page. These templates provide you more flexibility when adding and editing data. Learn More
May 27, 2021
We've enhanced the experience for creating, updating, and deleting schemas in the Cloud Console. On a database's Overview page you'll now find a Write DDL link to the DDL editor where you can perform all these activities.
April 13, 2021
Transaction statistics now includes information about commit retries to help users debug performance issues caused by transaction aborts.
April 06, 2021
You can now track the progress of long-running index backfill operations through the gcloud command line tool, REST API, and RPC API. For more information, see Checking the progress of a secondary index backfill.
March 31, 2021
You can now use Customer-Managed Encryption Keys (CMEK) to protect databases in Cloud Spanner. CMEK in Cloud Spanner is now generally available. For more information, see CMEK.
You can now optionally specify the priority of data requests. For more information, see CPU utilization and task priority.
The maximum number of JOIN statements allowed in a query has increased from 15 to 20. Query limits.
March 24, 2021
Cloud Spanner regional instances can now be created in Warsaw (europe-central2
).
March 17, 2021
The Cloud Console query page has been updated with a revamped query editor, which now offers improved autocomplete, prevalidation of your query, formatting options, and the ability to run a selection from your query. This update also includes a new query plan visualizer. For a tour of these features and to learn more, see Tuning a query using the query plan visualizer.
March 11, 2021
Cloud Spanner provides a new metric, CPU Utilization by operation types, which breaks down CPU usage by user-initiated operations. For more information, see CPU utilization metrics.
March 03, 2021
Cloud Spanner now supports point-in-time recovery (PITR), which lets you recover data from a specific point in time in the past.
March 01, 2021
You can now optionally receive the mutation count for a transaction in the commit response to optimize the transactions while staying within the mutation count limit. For more information, see Retrieving commit statistics for a transaction.
February 08, 2021
The Cloud Spanner Console now displays database storage utilization and warns you if you are approaching the recommended limit. For more information, see storage utilization metrics.
January 15, 2021
You can now run SQL queries to retrieve lock statistics to investigate lock conflicts in your database.
January 14, 2021
Query statistics now includes information about queries that failed, queries that timed out, and queries that were canceled by the user.
December 17, 2020
A new multi-region instance configuration is now available in Europe - eur6
(Netherlands/Frankfurt/Zurich).
A new multi-region instance configuration is now available in North America - nam12
(Iowa/Northern Virginia/Oregon/Oklahoma).
December 07, 2020
Cloud Spanner supports a new statement hint, LOCK_SCANNED_RANGES, allowing you to request an exclusive lock on a set of ranges scanned by a transaction.
November 09, 2020
A new multi-region instance configuration is now available in North America - nam8
(Los Angeles/Oregon/Salt Lake City).
October 29, 2020
The following updates for Cloud Spanner SQL are now available:
Ability to convert between
BYTES
and base32-encoded strings using FROM_BASE32 and TO_BASE32 functions.Support for ARRAY_IS_DISTINCT.
October 23, 2020
A new multi-region instance configuration is now available in North America - nam7
(Iowa/North Virginia/Oklahoma).
October 15, 2020
A new multi-region instance configuration is now available in North America - nam9
(North Virginia/Iowa/South Carolina/Oregon).
October 13, 2020
CHECK constraints is now generally available, allowing you to define a boolean expression on the columns of a table and require that all rows in the table satisfy the expression. For more information, see Creating and managing check constraints.
Generated columns support is now generally available, allowing you to define columns that are computed from other columns in a row. For more information, see Creating and managing generated columns.
October 08, 2020
The following updates to Cloud Spanner standard SQL are now available :
- Support for SELECT * REPLACE and SELECT * EXCEPT syntax.
- Documentation for Net functions.
September 28, 2020
The NUMERIC
data type is now generally available.
September 09, 2020
Cloud Spanner introduces a new introspection tool that provides insights into queries that are currently running in your database. Use Oldest Active Queries to analyze what queries are running and how they are impacting database performance characteristics.
August 20, 2020
A new multi-region instance configuration is now available in North America - nam11
(Iowa/South Carolina).
August 06, 2020
A new multi-region instance configuration is now available in North America - nam10
(Iowa/Salt Lake).
July 30, 2020
The Cloud Spanner emulator is now generally available, enabling you to develop and test applications locally. For more information, see Using the Cloud Spanner Emulator.
July 15, 2020
You can now run SQL queries to retrieve read statistics for your database over recent one-minute, 10-minute, and one-hour time periods.
June 08, 2020
A second multi-region instance configuration is now available in Europe - eur5
(London/Belgium).
A multi-region instance configuration is now available in Asia - asia1
(Tokyo/Osaka).
Cloud Spanner regional instances can now be created in Jakarta (asia-southeast2).
June 03, 2020
Cloud Spanner SQL now supports the following statistical aggregate functions - STDDEV, VARIANCE. For more information, see Statistical Aggregate Functions.
May 18, 2020
You can now run SQL queries to retrieve transaction statistics for your database over recent one-minute, 10-minute, and one-hour time periods.
April 20, 2020
Cloud Spanner regional instances can now be created in Las Vegas (us-west4).
April 17, 2020
Cloud Spanner Backup and Restore is now generally available, enabling you to create backups of Cloud Spanner databases on demand, and restore them. For more information, see Backup and Restore.
Query Optimizer Versioning is now generally available, enabling you to select which version of the optimizer to use for your database, application or query. For more information, see Query optimizer.
April 01, 2020
A beta version of the Cloud Spanner emulator is now available, enabling you to develop and test Cloud Spanner applications locally. For more information, see Using the Cloud Spanner Emulator.
March 19, 2020
The open-source C++ client library for Cloud Spanner is now available. To get started using C++ with Cloud Spanner, see this tutorial.
March 05, 2020
Foreign keys is now generally available. For more information, see Foreign keys overview.
February 24, 2020
Cloud Spanner regional instances can now be created in Salt Lake City (us-west3).
January 24, 2020
Cloud Spanner regional instances can now be created in Seoul (asia-northeast3).
December 18, 2019
Cloud Spanner regional instances can now be created in Frankfurt (europe-west3
).
November 25, 2019
SQL queries now support the WITH
clause. This clause lets you bind the results of subqueries to temporary tables which makes it easier to structure complex queries and optimize them for a faster execution time.
October 16, 2019
If you would like to use Hibernate ORM with Cloud Spanner, we now provide a guide to help you connect Hibernate ORM to Cloud Spanner.
September 25, 2019
All Cloud Spanner instances, including 1-node and 2-node instances, are now covered under the Service Level Agreement (SLA). Cloud Spanner now supports 99.99% monthly uptime percentage for all regional instances and 99.999% monthly uptime percentage for all multi-region instances under the Cloud Spanner SLA, regardless of instance size.
August 09, 2019
The Google Cloud Platform Console no longer provides a chart that shows the stacked throughput, by region, for instances with multi-region configurations. Instead, you can use the chart that shows total throughput for all regions. Learn more about monitoring with the GCP Console.
August 07, 2019
An open-source JDBC driver for Cloud Spanner is now available. This open-source driver enables Java applications to access Cloud Spanner through the Java Database Connectivity (JDBC) API.
July 31, 2019
Cloud Spanner regional instances can now be created in São Paulo (southamerica-east1
).
June 26, 2019
You can now import and export Cloud Spanner data in CSV format. You can use this feature to copy CSV data between Cloud Spanner and traditional relational database management systems, in combination with tools such as the mysqldump
tool for MySQL, the COPY
statement for PostgreSQL, or the bcp
tool for Microsoft SQL Server.
If you write your applications in Java with the Spring Framework, we now provide a guide to help you add Spring Data Cloud Spanner to your application. Spring Data Cloud Spanner can make it easier and more efficient to work with Cloud Spanner.
June 21, 2019
For SQL queries, Cloud Spanner now automatically uses any secondary indexes that are likely to make the query more efficient.
If you notice a performance regression in an existing query, follow these troubleshooting steps, and get support if you cannot resolve the issue.
May 15, 2019
The Google Cloud Platform Console and the Stackdriver Monitoring console now provide latency charts for Cloud Spanner. Use these charts to help you troubleshoot performance issues.
April 30, 2019
The Google Cloud Platform Console and the Stackdriver Monitoring console now provide CPU utilization charts for additional CPU utilization metrics. You can also set up alerts in Stackdriver Monitoring to track these metrics.
April 18, 2019
Cloud Spanner regional instances can now be created in Osaka (asia-northeast2
).
March 14, 2019
Cloud Spanner now allows you to send multiple DML statements in one transaction using batch DML.
March 11, 2019
Cloud Spanner regional instances can now be created in Zürich (europe-west6
).
February 01, 2019
Published new documentation for migrating data to Cloud Spanner:
January 17, 2019
Cloud Spanner regional instances can now be created in London (europe-west2
).
Cloud Spanner regional instances can now be created in Sydney (australia-southeast1
).
January 11, 2019
Cloud Spanner now supports importing data from other databases using the Avro to Cloud Spanner template.
December 06, 2018
Announced general availability of the Java client library for Cloud Spanner.
November 26, 2018
Cloud Spanner regional instances can now be created in Hong Kong (asia-east2
).
November 13, 2018
The GCP Console now displays query statistics, as measured by CPU usage, for Cloud Spanner queries over recent one-minute, 10-minute, one-hour, and one-day time periods. You can also run SQL queries over the SPANNER_SYS tables to retrieve recent query statistics.
October 29, 2018
Cloud Spanner multi-region instance configurations can now be created in Europe (eur3
).
October 26, 2018
The gcloud command-line tool includes beta support for inserting, updating, and deleting table rows using Partitioned DML.
October 22, 2018
Cloud Spanner multi-region instance configurations can now be created in a second multi-region instance configuration in North America (nam6
).
October 10, 2018
Cloud Spanner now supports Data Manipulation Language (DML) statements, including Partitioned DML.
August 17, 2018
You can now use the REST API or the gcloud
command-line tool to export and import Cloud Spanner databases.
July 12, 2018
July 10, 2018
Cloud Spanner regional instances can now be created in Los Angeles (us-west2
).
June 11, 2018
Cloud Spanner regional instances can now be created in Finland (europe-north1
).
June 06, 2018
Published new and updated documentation for designing and updating schemas:
May 10, 2018
Cloud Spanner regional instances can now be created in Singapore (asia-southeast1
).
April 26, 2018
Cloud Spanner regional instances can now be created in Oregon (us-west1
).
Cloud Spanner regional instances can now be created in South Carolina (us-east1
).
April 24, 2018
The gcloud command-line tool includes beta support for inserting, updating, and deleting rows in a table.
March 28, 2018
Cloud Spanner now supports the commit timestamp column option that you can use to automatically write the commit timestamp of a transaction into a column.
March 15, 2018
Cloud Spanner regional instances can now be created in the Netherlands (europe-west4
).
March 02, 2018
Cloud Spanner now supports reading and querying data in parallel with multiple workers using the client libraries for Node.js and Ruby.
February 27, 2018
Cloud Spanner now supports reading and querying data in parallel with multiple workers using the client libraries for C#, Go, Java, and PHP.
Cloud Spanner regional instances can now be created in Montréal (northamerica-northeast1
).
February 20, 2018
Cloud Spanner now supports both Admin Activity and Data Access audit logs as a part of Stackdriver Logging.
January 31, 2018
Announced general availability of IAM custom roles for Cloud Spanner.
January 18, 2018
Cloud Spanner regional instances can now be created in Northern Virginia (us-east4
) and Mumbai (asia-south1
).
November 14, 2017
Cloud Spanner multi-region instance configurations are now available. Multi-region instances can now be created in one continent (nam3) or three continents (nam-eur-asia1).
June 15, 2017
Cloud Spanner regional instances can now be created in Tokyo (asia-northeast1
).
May 16, 2017
Announced general availability of the Cloud Spanner API.
Newly published documentation: SQL best practices, Working with arrays in SQL, Using Cloud Spanner with Cloud Functions, Monitoring using Stackdriver, Applying IAM Roles for databases, instances, and projects, Integrating with other Google Cloud Platform services.
February 14, 2017
Initial Beta release of Cloud Spanner API.
The version of the gcloud command-line tool that supports Cloud Spanner is being rolled out. It is expected to be completely available by February 16, 2017.
The Cloud Spanner UI in the Google Cloud Platform Console is being rolled out and will be available shortly.