Spanner release notes

This page documents production updates to Spanner. You can periodically check this page for announcements about new or updated features, bug fixes, known issues, and deprecated functionality.

You can see the latest product updates for all of Google Cloud on the Google Cloud page, browse and filter all release notes in the Google Cloud console, or programmatically access release notes in BigQuery.

To get the latest product updates delivered to you, add the URL of this page to your feed reader, or add the feed URL directly.

August 10, 2026

Feature

Dynamic channel pooling (DCP) for gRPC channels in the Spanner Go and Java client libraries is generally available (GA).

DCP prevents performance issues from under-provisioned or over-provisioned channels and reduces configuration overhead. DCP is disabled by default.

For more information, see Configure the number of sessions and gRPC channels in the pools.

July 28, 2026

Feature

Spanner supports creating tables without defining primary keys. When you create a table without a primary key, Spanner creates a hidden rowid column that serves as the primary key. For more information, see Create a table without defining a primary key.

July 06, 2026

Feature

You can use Gemini in Spanner Studio to fix errors in your SQL queries. When you run a query that contains an error, you can click Fix to view a line-by-line comparison of your query and a recommended correction, along with an explanation of the change. This feature is available in Preview.

June 23, 2026

Feature

Spanner supports direct connectivity. When enabled, your application traffic is routed directly to Spanner servers, bypassing the Google Front End (GFE) servers. This can reduce your overall latency. Direct connectivity is generally available (GA).

June 15, 2026

Feature

May 27, 2026

Feature

Spanner Graph supports a suite of graph algorithms covering use cases such as fraud detection, entity resolution, and recommendations. You can invoke graph algorithms as built-in function calls in Spanner Graph queries. You can save your output to Cloud Storage or Spanner. This feature is available in Preview.

May 18, 2026

Feature

You can optimize Spanner Graph query performance by using factorized execution. If a graph pattern traversal generates duplicate intermediate results, add the @{factorize_mode} hint to the pattern traversal or at the query level to optimize the query.

For more information, see Use factorized execution to optimize queries.

May 15, 2026

Feature

Spanner Studio supports query parameters, which let you bind literal values to a templated SQL statement at query time in the Google Cloud console. For more information, see query parameters.

May 14, 2026

Feature

Spanner supports the FACTORIZED_MODE join hint. You can control which sides of a join to factorize (deduplicate) before executing the join by using the FACTORIZE_LEFT, FACTORIZE_RIGHT, or FACTORIZE_BOTH hint values. For more information, see Factorized mode.

Announcement

The Spanner change streams default retention period has been increased from 1 day to 7 days. This change affects both new and existing change streams that don't have a retention period explicitly set. You can always specify the retention period through create change stream or alter change stream DDL statements to override the default.

Feature

You can populate new PostgreSQL dialect databases in an existing Spanner instance from sample datasets that help you explore Spanner capabilities.

For more information, see Create and manage databases.

May 04, 2026

Feature

Spanner vector index and approximate nearest neighbor (ANN) distance functions are generally available (GA) for PostgreSQL databases.

April 21, 2026

Feature

Spanner full-text search supports custom dictionaries to create custom synonym mappings. You can use custom dictionaries with the SEARCH, SCORE, and SNIPPET functions.

April 20, 2026

Feature

The Spanner remote MCP server is generally available (GA). The Spanner remote MCP server lets you interact with Spanner instances from LLMs, AI applications, and AI-enabled development platforms.

Feature

You can use the Database Insights remote MCP server to analyze Spanner's performance and system metrics. This feature is generally available (GA).

Feature

You can now use Spanner Studio to visually create and manage a Spanner Graph schema. Visual modeling simplifies graph design by enabling you to map nodes and edges through an intuitive interface instead of creating manual DDL statements. This feature is available in Preview.

April 17, 2026

Feature

Repeatable read isolation is generally available. You can use it to reduce latency and transaction failure rates for workloads that have many reads contending with fewer writes. For more information, see Repeatable read isolation.

Feature

Spanner supports Gemini Cloud Assist investigation capabilities. You can create, run, and edit Gemini Cloud Assist investigations only if you have a Premium support contract.

For more information, see monitor and troubleshoot your Spanner instance with AI assistance.

Feature

Columnar engine for Spanner is now generally available (GA). Columnar engine is a storage technique used with analytical queries to make scans up to 200 times faster on live operational data without affecting transaction workloads. This release enables support for Columnar Engine in databases that use the Postgres interface.

For more information, see the Columnar engine for Spanner overview.

April 13, 2026

Feature

Spanner supports importing data from Cloud SQL for MySQL. This feature lets you migrate the schema and perform a one-time bulk data load to evaluate Spanner for your use case. For more information, see Import from Cloud SQL to Spanner.

This feature is generally available.

April 06, 2026

Feature

The QueryData tool lets you to query the data in your database using conversational language and build data agents. For more information, see QueryData tool overview. This feature is available in (Preview).

The preview release increases the accuracy of SQL generation with value search queries which match values and their context within a database. Value search queries trigger automatically.

March 30, 2026

Feature

Spanner offers conversational analytics, which lets users query their operational data using natural language. This feature is powered by the Conversational Analytics API, which can help you translate complex human dialog into precise database queries to provide actionable insights. This feature is in Preview. For more information, see Conversational analytics for Spanner overview.

Feature

You can create BigQuery non-incremental materialized views over Spanner data to improve query performance by periodically caching results. This feature is generally available (GA).

Feature

You can use Cloud resource connections with EXPORT DATA statements to reverse ETL (extract, transform, load) BigQuery data to Spanner. This feature is generally available (GA).

March 25, 2026

Feature

The Spark Spanner connector supports writing a Spark Dataframe to a Spanner table using the Spark data source API. For more information, see Use the Spark Spanner connector.

March 19, 2026

Feature

Spanner now offers AI functions, as a part of machine learning functions, that help you perform semantic operations using Large Language Models (LLMs) in SQL to classify, evaluate, and rank your data:

  • AI.CLASSIFY: Classify a natural language input into user-defined categories.
  • AI.IF: Evaluate a condition described in natural language.
  • AI.SCORE: Rate natural language input and assign it a score.

March 10, 2026

Feature

Spanner supports the optimistic concurrency control mode. Optimistic concurrency control is suitable for transactional workloads with low read-write contention. It assumes that conflicts in transactions are rare. Reads and queries within a read-write transaction proceed without acquiring locks. For more information, see Concurrency control.

March 04, 2026

March 03, 2026

Feature

Spanner supports the ON CONFLICT clause for GoogleSQL INSERT statements to handle unique constraint violations. For more information, see ON CONFLICT DO NOTHING and ON CONFLICT DO UPDATE.

February 27, 2026

Feature

Spanner supports using the pending commit timestamp function as a default value and an ON UPDATE expression for column definitions. For more information, see the GoogleSQL ON UPDATE clause and the PostgreSQL ON UPDATE clause.

February 26, 2026

Feature

Spanner provides JSON string versions of the following statistics columns for PostgreSQL-dialect databases:

You can use these columns to retrieve statistics in JSON format from the SPANNER_SYS tables.

February 25, 2026

Feature

Spanner supports the following:

Feature

Spanner supports the following managed autoscaler features:

For more information, see Managed autoscaler.

February 24, 2026

Feature

Spanner provides UNSPLITTABLE_REASONS in hotspot insights and split statistics views to detect when splits can't be split further. Unsplittable reasons can help you identify schema anti-patterns that require intervention. For more information, see Find hotspots in your database and Split statistics.

This feature is generally available (GA).

February 17, 2026

Deprecated

Control of MCP use with organization policies is deprecated. After March 17, 2026, organization policies that use the gcp.managed.allowedMCPServices constraint won't work, and you can control MCP use with IAM deny policies.

For more information about controlling MCP use, see Control MCP use with IAM.

Change

After March 17, 2026, when you enable Spanner, the Spanner MCP server is automatically enabled.

Announcement

New best practices are available for securing generative AI agents using Model Context Protocol (MCP) with Google Cloud databases. This guide covers key security measures like least privilege, native database controls, and secure agent design to help you build safer AI applications. For more information, see Best practices for securing agent interactions with Model Context Protocol.

This feature is in Preview.

February 10, 2026

Feature

You can use the Spanner remote MCP server to interact with Spanner instances and databases from agentic AI applications such as Gemini CLI, agent mode in Gemini Code Assist, or Claude.ai.

This feature is in Preview.

February 09, 2026

Feature

You can right-click a node in a Spanner Graph query visualization to access options like expanding or collapsing adjacent nodes, highlighting or hiding nodes, and viewing only a node's neighbors.

For more information, see Work with visualizations.

February 02, 2026

Feature

You can create and host remote functions in Cloud Run and call them from Spanner queries using the GoogleSQL dialect. This feature is in Preview.

January 30, 2026

Feature

Spanner supports the UUID data type for both GoogleSQL and PostgreSQL-dialect databases. This data type stores universally unique identifiers (UUIDs) as 128-bit values.

You can use the GoogleSQL NEW_UUID() function or the PostgreSQL gen_random_uuid() to function to create UUID values.

For more information, see Use a universally unique identifier (UUID).

January 28, 2026

Feature

Spanner supports the following compression functions:

These functions use the Zstandard (Zstd) lossless data compression algorithm to compress and decompress STRING or BYTES values. For more information, see Compression functions.

January 26, 2026

Feature

Columnar engine for Spanner is now in Public Preview. Columnar engine is a storage technique used with analytical queries to speed up scans up to 200 times faster on live operational data without affecting transaction workloads. In databases or tables enabled with columnar engine, this release:

  • Supports the ability to execute columnar queries automatically and perform faster columnar scans using vectorized execution.
  • Provides a new major compaction API to accelerate the conversion of non-columnar data into columnar data.

For more information, see the Columnar engine for Spanner overview.

January 20, 2026

Feature

You can create Spanner regional instance configurations in Bangkok, Thailand (asia-southeast3). For more information, see Google Cloud locations and Spanner pricing.

January 13, 2026

Feature

Several updates have been made to full-text search:

January 05, 2026

Feature

You can use SQL views to create a graph. For requirements, considerations, and the benefits of using SQL views to create a graph, see Overview of graphs created from SQL views. To learn how to create a graph from views, see Create a property graph from SQL views.

December 18, 2025

Feature

The GoogleSQL function ELEMENT_DEFINITION_NAME is available. ELEMENT_DEFINITION_NAME returns the name of the graph element table underlying a graph element.

December 17, 2025

Feature

You can build data agents that interact with the data in your database using conversational language. Use these data agents as tools to empower your applications. For more information, see Data agents overview. This feature is available in Preview, and access to it requires a sign-up.

December 12, 2025

Feature

Spanner supports the PostgreSQL generate_series() function. You can use this function to create a sequence of numbers. For more information, see Set returning functions.

December 11, 2025

Feature

Spanner Data Boost includes a the Data Boost concurrent requests in milli-operations per second per region quota, which applies fine-grained control over how multiple concurrent requests for your project share Data Boost resources. Instead of counting 1 request against 1 unit of quota under the existing concurrency quota regime, Data Boost splits a request at a granularity of 1/1000, allowing for a greater number of concurrent requests to make progress. For more information, see Quotas and limits.

Feature

Spanner Graph supports using the ANY CHEAPEST path search prefix in a query to return the path with the lowest total compute cost. For more information, see Path search prefix in the Spanner Graph Language reference.

December 10, 2025

Feature

Spanner supports the following new columns in the SPANNER_SYS oldest active queries table:

  • CLIENT_IP_ADDRESS
  • API_CLIENT_HEADER
  • USER_AGENT_HEADER
  • SERVER_REGION
  • PRIORITY
  • TRANSACTION_TYPE

You can also view these columns in the Spanner query insights page on the Google Cloud console. For more information, see Monitor active queries.

December 03, 2025

Change

String values in Spanner Studio query results are enclosed in double quotes, providing a visual cue to differentiate string values from other data types. This enhancement is for display purposes only and doesn't affect how data is exported or accessed.

November 20, 2025

Feature

Query optimizer version 8 is the default version for Spanner.

November 14, 2025

Feature

The GoogleSQL function IS_FIRST is available for graph queries. IS_FIRST returns true if a row is in the first k rows (1-based) within a window. You can use IS_FIRST in graph queries to limit traversed edges to improve query performance. You can also use IS_FIRST to sample intermediate nodes to optimize multi-hop queries.

November 11, 2025

Feature

Spanner Studio added support for several export options for your query results. You can export to a CSV or JSON file, Google Sheets, or copy the results to a clipboard. For more information, see Create, modify, and query your data.

November 10, 2025

Feature

Spanner automatically provides recommendations to apply schema design best practices to your databases. You can view these schema issue recommendations on the Spanner Studio page for your database. For more information, see View schema design best practice recommendations. This feature is in Preview.

October 31, 2025

Libraries

A monthly digest of client library updates from across the Google Cloud SDK.

Java

Changes for google-cloud-spanner

6.102.1 (2025-10-23)

Bug Fixes
  • deps: Update the Java code generator (gapic-generator-java) to 2.63.0 (c1a8238)
  • Do a quick check if the application runs on Google Cloud (#4163) (b9d7daf)
  • Migrate away from GoogleCredentials.fromStream() usages (#4151) (94d0474)
Dependencies
  • Update actions/checkout action to v5 (#4158) (b32ebcf)
  • Update actions/checkout action to v5 (#4161) (02a17c6)
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.53.0 (#4178) (24fe194)
  • Update dependency net.bytebuddy:byte-buddy to v1.17.8 (#4154) (c911381)
  • Update dependency net.bytebuddy:byte-buddy-agent to v1.17.8 (#4155) (3075df7)
  • Update googleapis/sdk-platform-java action to v2.63.0 (#4179) (5f48191)
Documentation

6.102.0 (2025-10-08)

Features
  • Add connection property for gRPC interceptor provider (#4149) (deb8dff)
  • Support statement_timeout in connection url (#4103) (542c6aa)
Bug Fixes
  • Automatically set default_sequence_kind for CREATE SEQUENCE (#4105) (3beea6a)
  • deps: Update the Java code generator (gapic-generator-java) to 2.62.3 (7047a3a)
Dependencies
  • Update actions/checkout action to v5 (#4069) (4c88eb9)
  • Update actions/checkout action to v5 (#4106) (14ebdb3)
  • Update actions/setup-java action to v5 (#4071) (e23134a)
  • Update all dependencies (#4099) (b262edc)
  • Update dependency com.google.api.grpc:grpc-google-cloud-monitoring-v3 to v3.77.0 (#4117) (2451ca2)
  • Update dependency com.google.api.grpc:proto-google-cloud-monitoring-v3 to v3.77.0 (#4143) (6c9dc26)
  • Update dependency com.google.api.grpc:proto-google-cloud-trace-v1 to v2.76.0 (#4144) (d566a42)
  • Update dependency com.google.cloud:google-cloud-monitoring to v3.77.0 (#4145) (8917c05)
  • Update dependency com.google.cloud:google-cloud-monitoring to v3.77.0 (#4146) (4ebea1a)
  • Update dependency com.google.cloud:google-cloud-trace to v2.76.0 (#4147) (4b1d4af)
  • Update dependency com.google.cloud:google-cloud-trace to v2.76.0 (#4148) (8f91a89)
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.52.3 (#4107) (8a8a042)
  • Update dependency org.json:json to v20250517 (#3881) (5658c83)
  • Update googleapis/sdk-platform-java action to v2.62.3 (#4108) (65913ec)

Node.js

Changes for @google-cloud/spanner

8.2.2 (2025-10-07)

Bug Fixes

Python

Changes for google-cloud-spanner

3.59.0 (2025-10-18)

Features
  • spanner: Add lazy decode to partitioned query (#1411) (a09961b)
Bug Fixes
  • spanner: Resolve TypeError in metrics resource detection (#1446) (7266686)
Documentation
  • Add snippet for Repeatable Read configuration at client and transaction (#1326) (58e2406)

October 29, 2025

Feature

Named schemas are supported in Spanner Graph. For more information, see Spanner Graph schema overview.

October 21, 2025

Feature

Schema object drop protection is generally available. This feature protects schema objects such as tables, indexes, and columns from accidental deletion.

October 20, 2025

Feature

You can use the GoogleSQL ML.PREDICT function to convert your natural language query text into an embedding and perform approximate nearest neighbors (ANN) vector search.

October 02, 2025

Feature

You can use repeatable read isolation (in Preview) to reduce latency and transaction abort rates for workloads that have many reads contending with fewer writes. For more information, see Repeatable read isolation.

October 01, 2025

Feature

The Spanner CLI is generally available. Bundled with Google Cloud CLI, you can use the Spanner command-line interface to open an interactive session or automate SQL executions from the shell or an input file.

September 30, 2025

Libraries

A monthly digest of client library updates from across the Google Cloud SDK.

Go

Changes for spanner/admin/database/apiv1

1.86.0 (2025-09-26)

Features
  • spanner: Support "readOnly" column tag parsing for Go struct operations (#12895) (003abca)
Bug Fixes

1.85.0 (2025-08-28)

Features
  • spanner: Enable multiplex sessions by default for all operations (#12734) (0491ba6)
Performance Improvements
  • spanner: Improve mutationProto allocations and performance (#12740) (2a4add5)

1.85.1 (2025-09-12)

Bug Fixes
  • spanner: Disable afe_connectivity_error_count metric (#12866) (baab714)
Documentation
  • spanner: A comment for enum Kind is changed (51583bd)
  • spanner: A comment for enum Priority is changed (51583bd)
  • spanner: A comment for enum value LOCK_HINT_EXCLUSIVE in enum LockHint is changed (51583bd)
  • spanner: A comment for enum value LOCK_HINT_UNSPECIFIED in enum LockHint is changed (51583bd)
  • spanner: A comment for enum value ORDER_BY_PRIMARY_KEY in enum OrderBy is changed (51583bd)
  • spanner: A comment for enum value ORDER_BY_UNSPECIFIED in enum OrderBy is changed (51583bd)
  • spanner: A comment for enum value PROFILE in enum QueryMode is changed (51583bd)
  • spanner: A comment for enum value SERIALIZABLE in enum IsolationLevel is changed (51583bd)
  • spanner: A comment for field approximate_last_use_time in message .google.spanner.v1.Session is changed (51583bd)
  • spanner: A comment for field auto_failover_disabled in message .google.spanner.v1.DirectedReadOptions is changed (51583bd)
  • spanner: A comment for field columns in message .google.spanner.v1.Mutation is changed (51583bd)
  • spanner: A comment for field data_boost_enabled in message .google.spanner.v1.ExecuteSqlRequest is changed (51583bd)
  • spanner: A comment for field data_boost_enabled in message .google.spanner.v1.ReadRequest is changed (51583bd)
  • spanner: A comment for field exclude_replicas in message .google.spanner.v1.DirectedReadOptions is changed (51583bd)
  • spanner: A comment for field exclude_txn_from_change_streams in message .google.spanner.v1.BatchWriteRequest is changed (51583bd)
  • spanner: A comment for field include_replicas in message .google.spanner.v1.DirectedReadOptions is changed (51583bd)
  • spanner: A comment for field index in message .google.spanner.v1.PlanNode is changed (51583bd)
  • spanner: A comment for field insert_or_update in message .google.spanner.v1.Mutation is changed (51583bd)
  • spanner: A comment for field key_set in message .google.spanner.v1.Mutation is changed (51583bd)
  • spanner: A comment for field key_set in message .google.spanner.v1.PartitionReadRequest is changed (51583bd)
  • spanner: A comment for field key_set in message .google.spanner.v1.ReadRequest is changed (51583bd)
  • spanner: A comment for field kind in message .google.spanner.v1.PlanNode is changed (51583bd)
  • spanner: A comment for field last_statement in message .google.spanner.v1.ExecuteSqlRequest is changed (51583bd)
  • spanner: A comment for field last_statements in message .google.spanner.v1.ExecuteBatchDmlRequest is changed (51583bd)
  • spanner: A comment for field limit in message .google.spanner.v1.ReadRequest is changed (51583bd)
  • spanner: A comment for field location in message .google.spanner.v1.DirectedReadOptions is changed (51583bd)
  • spanner: A comment for field max_commit_delay in message .google.spanner.v1.CommitRequest is changed (51583bd)
  • spanner: A comment for field max_partitions in message .google.spanner.v1.PartitionOptions is changed (51583bd)
  • spanner: A comment for field multiplexed in message .google.spanner.v1.Session is changed (51583bd)
  • spanner: A comment for field mutation_key in message .google.spanner.v1.BeginTransactionRequest is changed (51583bd)
  • spanner: A comment for field optimizer_statistics_package in message .google.spanner.v1.ExecuteSqlRequest is changed (51583bd)
  • spanner: A comment for field optimizer_version in message .google.spanner.v1.ExecuteSqlRequest is changed (51583bd)
  • spanner: A comment for field order_by in message .google.spanner.v1.ReadRequest is changed (51583bd)
  • spanner: A comment for field param_types in message .google.spanner.v1.ExecuteBatchDmlRequest is changed (51583bd)
  • spanner: A comment for field param_types in message .google.spanner.v1.ExecuteSqlRequest is changed (51583bd)
  • spanner: A comment for field param_types in message .google.spanner.v1.PartitionQueryRequest is changed (51583bd)
  • spanner: A comment for field params in message .google.spanner.v1.ExecuteBatchDmlRequest is changed (51583bd)
  • spanner: A comment for field params in message .google.spanner.v1.ExecuteSqlRequest is changed (51583bd)
  • spanner: A comment for field params in message .google.spanner.v1.PartitionQueryRequest is changed (51583bd)
  • spanner: A comment for field partition_size_bytes in message .google.spanner.v1.PartitionOptions is changed (51583bd)
  • spanner: A comment for field partition_token in message .google.spanner.v1.ExecuteSqlRequest is changed (51583bd)
  • spanner: A comment for field partition_token in message .google.spanner.v1.Partition is changed (51583bd)
  • spanner: A comment for field partition_token in message .google.spanner.v1.ReadRequest is changed (51583bd)
  • spanner: A comment for field plan_nodes in message .google.spanner.v1.QueryPlan is changed (51583bd)
  • spanner: A comment for field precommit_token in message .google.spanner.v1.CommitRequest is changed (51583bd)
  • spanner: A comment for field precommit_token in message .google.spanner.v1.ExecuteBatchDmlResponse is changed (51583bd)
  • spanner: A comment for field ranges in message .google.spanner.v1.KeySet is changed (51583bd)
  • spanner: A comment for field replace in message .google.spanner.v1.Mutation is changed (51583bd)
  • spanner: A comment for field request_options in message .google.spanner.v1.BeginTransactionRequest is changed (51583bd)
  • spanner: A comment for field request_tag in message .google.spanner.v1.RequestOptions is changed (51583bd)
  • spanner: A comment for field return_commit_stats in message .google.spanner.v1.CommitRequest is changed (51583bd)
  • spanner: A comment for field seqno in message .google.spanner.v1.ExecuteBatchDmlRequest is changed (51583bd)
  • spanner: A comment for field seqno in message .google.spanner.v1.ExecuteSqlRequest is changed (51583bd)
  • spanner: A comment for field session_count in message .google.spanner.v1.BatchCreateSessionsRequest is changed (51583bd)
  • spanner: A comment for field session_template in message .google.spanner.v1.BatchCreateSessionsRequest is changed (51583bd)
  • spanner: A comment for field short_representation in message .google.spanner.v1.PlanNode is changed (51583bd)
  • spanner: A comment for field single_use_transaction in message .google.spanner.v1.CommitRequest is changed (51583bd)
  • spanner: A comment for field sql in message .google.spanner.v1.PartitionQueryRequest is changed (51583bd)
  • spanner: A comment for field transaction in message .google.spanner.v1.ExecuteSqlRequest is changed (51583bd)
  • spanner: A comment for field transaction in message .google.spanner.v1.PartitionQueryRequest is changed (51583bd)
  • spanner: A comment for field transaction_tag in message .google.spanner.v1.RequestOptions is changed (51583bd)
  • spanner: A comment for field values in message .google.spanner.v1.Mutation is changed (51583bd)
  • spanner: A comment for field variable in message .google.spanner.v1.PlanNode is changed (51583bd)
  • spanner: A comment for message DirectedReadOptions is changed (51583bd)
  • spanner: A comment for message DirectedReadOptions is changed (51583bd)
  • spanner: A comment for message DirectedReadOptions is changed (51583bd)
  • spanner: A comment for message Mutation is changed (51583bd)
  • spanner: A comment for message PartitionOptions is changed (51583bd)
  • spanner: A comment for message PlanNode is changed (51583bd)
  • spanner: A comment for method BatchWrite in service Spanner is changed (51583bd)
  • spanner: A comment for method Commit in service Spanner is changed (51583bd)
  • spanner: A comment for method CreateSession in service Spanner is changed (51583bd)
  • spanner: A comment for method DeleteSession in service Spanner is changed (51583bd)
  • spanner: A comment for method ExecuteSql in service Spanner is changed (51583bd)
  • spanner: A comment for method ExecuteStreamingSql in service Spanner is changed (51583bd)
  • spanner: A comment for method GetSession in service Spanner is changed (51583bd)
  • spanner: A comment for method PartitionQuery in service Spanner is changed (51583bd)
  • spanner: A comment for method PartitionRead in service Spanner is changed (51583bd)
  • spanner: A comment for method Read in service Spanner is changed (51583bd)
  • spanner: A comment for method Rollback in service Spanner is changed (51583bd)

Java

Changes for google-cloud-spanner

6.99.0 (2025-08-26)

Features
  • Support read lock mode for R/W transactions (#4010) (7d752d6)
Bug Fixes
  • deps: Update the Java code generator (gapic-generator-java) to 2.62.0 (52c68db)
  • GetCommitResponse() should return error if tx has not committed (#4021) (a2c179f)
Dependencies
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.52.0 (#4024) (7e3294f)

6.100.0 (2025-09-11)

Features
Bug Fixes
  • deps: Update the Java code generator (gapic-generator-java) to 2.62.1 (e9773a7)
  • Disable afe_connectivity_error_count metric (#4041) (f89c1c0)
  • Skip session delete in case of multiplexed sessions (#4029) (8bcb09d)
Dependencies
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.52.1 (#4034) (13bfa7c)
Documentation
  • A comment for field ranges in message .google.spanner.v1.KeySet is changed (e9773a7)

6.101.1 (2025-09-26)

Bug Fixes
  • Potential NullPointerException in LocalConnectionChecker (#4092) (3b9f597)

6.101.0 (2025-09-26)

Features
Bug Fixes
  • deps: Update the Java code generator (gapic-generator-java) to 2.62.2 (8d6cbf6)
  • Potential NullPointerException in Value#hashCode (#4046) (74abb34)
  • Recalculate remaining statement timeout after retry (#4053) (5e26596)
Dependencies
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.52.2 (#4057) (d782aff)

Node.js

Changes for @google-cloud/spanner

8.2.0 (2025-08-26)

Features
  • spanner: Add support for multiplexed session for r/w transactions (#2351) (6a9f1a2)
  • spanner: Support setting read lock mode (#2388) (bd66f61)
Bug Fixes
  • deps: Add uuid to dependencies (#2376) (0b2060b)
  • deps: Update dependency @grpc/proto-loader to ^0.8.0 (#2354) (75dc4da)
  • deps: Update dependency google-gax to v5.0.1 (#2362) (9223470)
  • Provide option to disable built in metrics (#2380) (b378e2e)
  • Race condition among transactions when running parallely (#2369) (f8b6f63)

8.2.1 (2025-09-12)

Bug Fixes
  • deps: Update dependency google-gax to v5.0.3 (#2371) (8a175e2)
  • Disable afe_connectivity_error_count metric (af72d70)

Python

Changes for google-cloud-spanner

3.58.0 (2025-09-10)

Features
Dependencies
  • Remove Python 3.7 and 3.8 as supported runtimes (#1395) (fc93792)

September 29, 2025

Feature

You can create BigQuery non-incremental materialized views over Spanner data to improve query performance by periodically caching results. This feature is in Preview.

September 25, 2025

Feature

The Cassandra interface for Spanner is generally available. The Cassandra interface lets you take advantage of Spanner's fully managed, scalable, and highly available infrastructure using familiar Cassandra tools and syntax. For more information, see Cassandra interface, Migrate from Cassandra to Spanner, and Connect to Spanner using the Cassandra interface.

September 23, 2025

Feature

You can use read lease regions to reduce latency for strong reads in multi-region or dual-region instances. Read leases use designated non-leader, read-write or read-only regions to serve strong reads locally, eliminating the network round trip to the leader region that is typically required. This feature is generally available (GA).

Feature

You can use the dedicated Gemini CLI extension for Spanner to execute SQL statements and query your Spanner instance using natural language controls.

September 22, 2025

Feature

You can run federated queries against PostgreSQL dialect databases in Spanner using BigQuery external datasets using GoogleSQL; this includes cross-region federated queries. This feature is generally available (GA).

September 17, 2025

Feature

Spanner Graph support of schemaless schemas is generally available (GA). For more information, see Manage schemaless data with Spanner Graph.

September 03, 2025

Feature

You can import your own data into a Spanner database by using a CSV file, a MySQL dump file, or a PostgreSQL dump file.

Additionally, you can populate new databases in an existing Spanner instance from sample datasets that help you explore Spanner capabilities such as its relational model, full-text search, vector search, or Spanner Graph.

For more information, see Create and manage databases.

August 29, 2025

Libraries

A monthly digest of client library updates from across the Google Cloud SDK.

Go

Changes for spanner/admin/database/apiv1

1.84.0 (2025-08-05)

Features
  • spanner/adapter: Add last field in AdaptMessageResponse for internal optimization usage (c574e28)
  • spanner/admin/database: Proto changes for an internal api (eeb4b1f)
  • spanner: A new field snapshot_timestamp is added to message .google.spanner.v1.CommitResponse (ac4970b)
  • spanner: Add Google Cloud standard otel attributes (#11652) (f59fcff)
Bug Fixes
  • spanner: Context cancel in traces in case of skipping trailers (#12635) (509dc90)
  • spanner: Enforce only one resource header (#12618) (4e04b7e)
  • spanner: Fix blind retry for ResourceExhausted (#12523) (f9b6e88)
  • spanner: Remove stream wrapper for direct path check (#12622) (88a36cd)
Documentation
  • spanner: A comment for enum value OPTIMISTIC in enum ReadLockMode is changed (ac4970b)
  • spanner: A comment for enum value PESSIMISTIC in enum ReadLockMode is changed (ac4970b)
  • spanner: A comment for enum value READ_LOCK_MODE_UNSPECIFIED in enum ReadLockMode is changed (ac4970b)
  • spanner: A comment for field commit_stats in message .google.spanner.v1.CommitResponse is changed (ac4970b)
  • spanner: A comment for field exclude_txn_from_change_streams in message .google.spanner.v1.TransactionOptions is changed (ac4970b)
  • spanner: A comment for field multiplexed_session_previous_transaction_id in message .google.spanner.v1.TransactionOptions is changed (ac4970b)
  • spanner: A comment for field precommit_token in message .google.spanner.v1.CommitResponse is changed (ac4970b)
  • spanner: A comment for message .google.spanner.v1.MultiplexedSessionPrecommitToken is changed (ac4970b)
  • spanner: A comment for message .google.spanner.v1.TransactionOptions is changed (ac4970b)

1.84.1 (2025-08-06)

Features
Miscellaneous Chores

DO NOT USE This version is retracted due to https://github.com/googleapis/google-cloud-go/issues/12659, use version >=v1.84.1

Java

Changes for google-cloud-spanner

6.98.0 (2025-07-31)

Features
  • Proto changes for an internal api (675e90b)
  • spanner: A new field snapshot_timestamp is added to message .google.spanner.v1.CommitResponse (675e90b)
  • Support Exemplar (#3997) (fcf0a01)
  • Use multiplex sessions for RW and Partition Ops (#3996) (a882204)
Bug Fixes
  • deps: Update the Java code generator (gapic-generator-java) to 2.60.2 (675e90b)
Dependencies
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.50.2 (#4004) (986c0e0)

6.98.1 (2025-08-11)

Bug Fixes
  • Add missing span.end calls for AsyncTransactionManager (#4012) (1a4adb4)
  • deps: Update the Java code generator (gapic-generator-java) to 2.61.0 (8156ef3)
Dependencies
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.51.0 (#4013) (4e90c29)

Node.js

Changes for @google-cloud/spanner

8.1.0 (2025-07-28)

Features
  • Add Custom OpenTelemetry Exporter in for Service Metrics (#2272) (610d1b9)
  • Add methods from gax to cache proto root and process custom error details (#2330) (1b3931a)
  • Add metrics tracers (#2319) (192bf2b)
  • Add support for AFE latency metrics (#2348) (0666f05)
  • Add throughput_mode to UpdateDatabaseDdlRequest to be used by Spanner Migration Tool. See https://github.com/GoogleCloudPlatform/spanner-migration-tool (#2304) (a29af56)
  • Operation, Attempt, and GFE metrics (#2328) (646e6ea)
  • Proto changes for an internal api (#2356) (380e770)
  • spanner: A new field snapshot_timestamp is added to message .google.spanner.v1.CommitResponse (#2350) (0875cd8)
  • spanner: Add new change_stream.proto (#2315) (57d67be)
  • spanner: Add tpc support (#2333) (a381cab)
  • Track precommit token in r/w apis(multiplexed session) (#2312) (3676bfa)
Bug Fixes
Performance Improvements
  • Skip gRPC trailers for StreamingRead & ExecuteStreamingSql (#2313) (8bd0781)

Python

Changes for google-cloud-spanner

3.57.0 (2025-08-14)

Features
  • Support configuring logger in dbapi kwargs (#1400) (ffa5c9e)

August 25, 2025

Feature

You can terminate multiple active queries in your Spanner instance. Active queries are long-running queries that might affect the performance of your instance. Monitoring these queries can help you identify causes of instance latency and high CPU usage. Terminating queries might help free up resources and reduce the load on your instance.

For more information, see Monitor active queries.

August 14, 2025

Feature

You can use cross region federated queries to query Spanner tables from regions other than the source BigQuery region. These cross region queries incur additional Spanner network egress charges. This feature is generally available (GA).

August 13, 2025

Feature

Spanner offers a predefined library of over 80 MySQL functions that you can install in a database. These functions let you perform operations that are common in the MySQL environments directly with Spanner. They can help reduce the changes required when migrating workloads from MySQL to Spanner.

These functions are packaged as user-defined functions that can be installed from an open-source DDL script hosted on GitHub. For more information, see Install MySQL functions in Spanner.

August 05, 2025

Feature

Columnar engine for Spanner is in Preview. Columnar engine is a storage technique used with analytics queries to speed up scans. Spanner columnar engine accelerates analytical query performance on live operational data by up to 200 times without affecting transaction workloads. This eliminates the need for ETL into separate data warehouses while maintaining strong consistency. For more information, see the Columnar engine for Spanner overview.

August 01, 2025

Feature

When you create the free trial instance using the Google Cloud console, Spanner creates and preloads it with a sample database for an ecommerce store. You can use the free trial instance to explore the dataset and learn about Spanner capabilities with pre-loaded queries.

For more information, see Spanner free trial instances.

July 31, 2025

Feature
Libraries

A monthly digest of client library updates from across the Google Cloud SDK.

Java

Changes for google-cloud-spanner

6.96.1 (2025-06-30)

Bug Fixes
  • deps: Update the Java code generator (gapic-generator-java) to 2.59.0 (2836042)
Dependencies
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.50.0 (#3925) (1372bbd)

6.97.0 (2025-07-10)

Features
Bug Fixes

6.97.1 (2025-07-15)

Dependencies
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.50.1 (#3992) (69ffd72)
  • Update googleapis/sdk-platform-java action to v2.60.1 (#3926) (7001b7f)

Python

Changes for google-cloud-spanner

3.56.0 (2025-07-24)

Features
  • Add support for multiplexed sessions - read/write (#1389) (ce3f230)
  • Add support for multiplexed sessions (#1383) (21f5028)
  • Default enable multiplex session for all operations unless explicitly set to false (#1394) (651ca9c)
  • spanner: Add new change_stream.proto (#1382) (ca6255e)
Performance Improvements
  • Skip gRPC trailers for StreamingRead & ExecuteStreamingSql (#1385) (cb25de4)

July 14, 2025

Feature

Spanner Data Boost supports data stored on hard disk drives (HDD). This feature is generally available (GA).

July 01, 2025

Change

The performance of the ANY and the ANY SHORTEST algorithms have been improved. These algorithms are used to find Spanner Graph paths. For more information, see ANY and ANY SHORTEST paths.

June 30, 2025

Feature

Spanner supports the following new client-side metrics to the Cloud Spanner API frontend (AFE) and Google frontend (GFE) for Java and Go applications:

  • AFE connectivity error count
  • AFE latencies
  • GFE connectivity error count
  • GFE latencies

These metrics can be used with server-side metrics to enable faster troubleshooting of performance and latency issues. For more information, see Client-side metrics descriptions.

Feature

To troubleshoot or understand your Spanner queries better, you can download and save your query execution plan as a JSON file. You can use the content of this file to see a visualization of the query execution plan in Spanner Studio. For more information, see Take a tour of the query plan visualizer.

Libraries

A monthly digest of client library updates from across the Google Cloud SDK.

Go

Changes for spanner/admin/database/apiv1

1.83.0 (2025-06-27)

Features
  • spanner/spansql: Add support for TOKENIZE_JSON. (#12338) (72225a5)
  • spanner/spansql: Support EXISTS in query parsing (#12439) (f5cb67b)
  • spanner: Add new change_stream.proto (40b60a4)
  • spanner: Add option for how to call BeginTransaction (#12436) (2cba13b)
  • spanner: Wrap proto mutation (#12497) (e655889)
Bug Fixes

Java

Changes for google-cloud-spanner

6.95.0 (2025-06-05)

Features
Bug Fixes
Dependencies
  • Update dependency io.opentelemetry:opentelemetry-bom to v1.50.0 (#3887) (94b879c)

6.95.1 (2025-06-06)

Dependencies
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.49.0 (#3909) (3de8502)
  • Update googleapis/sdk-platform-java action to v2.59.0 (#3910) (aed8bd6)

6.96.0 (2025-06-27)

Features
  • Allow JDBC to configure directpath for connection (#3929) (d754f1f)
  • Support getOrNull and getOrDefault in Struct (#3914) (1dc5a3e)
  • Use multiplexed sessions for read-only transactions (#3917) (37fdc27)
Bug Fixes
  • Allow zero durations to be set for connections (#3916) (43ea4fa)
Documentation
  • Add snippet for Repeatable Read configuration at client and transaction (#3908) (ff3d212)
  • Update SpannerSample.java to align with best practices (#3625) (7bfc62d)

June 24, 2025

Feature

You can directly connect and interact with your Spanner database using the Spanner CLI, an interactive shell for Spanner that is built into the Google Cloud CLI. You can use the Spanner CLI to start an interactive session and automate SQL executions from the shell or an input file. This feature is available in Preview. For more information, see Spanner CLI quickstart.

June 20, 2025

Feature

A free trial creation workflow is available that makes it easier to start your Spanner free trial. With a free trial instance, you can learn and explore Spanner for 90 days at no cost. You can create relational (GoogleSQL and PostgreSQL) databases and deploy NoSQL models (Spanner Graph, vector search, and full-text search) in a single, fully managed database. For more information, see Spanner free trial instances overview.

June 11, 2025

Feature

Column operations statistics are generally available. They help you get insights into and monitor the usage of columns in your database. For more information, see Column operations statistics.

June 02, 2025

Feature
Libraries

A monthly digest of client library updates from across the Google Cloud SDK.

Go

Changes for spanner/admin/database/apiv1

1.81.0 (2025-05-09)

Features
  • spanner/spansql: Add support for DROP SEARCH INDEX and ALTER SEARCH INDEX (#11961) (952cd7f)
Bug Fixes
  • spanner: Row mismatch in SelectAll using custom type (#12222) (ce6a23a)

1.81.1 (2025-05-15)

Features
  • spanner: Add support of AFE and GRPC metrics in client-side metrics (#12067) (7b77038)

1.82.0 (2025-05-20)

Features
  • spanner/admin/database: Add throughput_mode to UpdateDatabaseDdlRequest to be used by Spanner Migration Tool. See https (#12287) (2a9d8ee)

Java

Changes for google-cloud-spanner

6.92.0 (2025-04-29)

  • spanner: Do not export metrics during shutdown if prev export was less than 30 seconds ago (#12266) (8ad7511)
  • spanner: Fix invalid trace in case of skipping trailers (