Spanner supports creating tables without defining primary keys
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 .
Also shipped Jul 28, 2026Google Cloud in July 2026 →
AI code suggestions in Workspaces (General availability)
AI code suggestions in Cortex Code are now generally available. This release also includes updated keybindings and bug fixes. Notebook Python cells , no changes to keybindings.
Snowflake Native Apps support for Virtual Private Snowflake on AWS for apps with containers (General availability)
Snowflake Native App with Snowpark Container Services now support Virtual Private Snowflake (VPS) on Amazon Web Services. Apps with containers can be distributed to Snowflake customers in VPS deployments. Apps running in VPS can use the functionality of Snowpark Container Services, including compute pools, services, jobs, and external access integrations.
Python UDTFs in Unity Catalog are now generally available
Registering Python user-defined table functions (UDTFs) in Unity Catalog is now generally available in Databricks Runtime 18. A Unity Catalog Python UDTF is a governed function that returns a table, invoked in the FROM clause of a SQL statement to return multiple rows and columns.
Vercel Connect now supports Custom Environments
Vercel Connect now lets you link a connector to a Custom Environment so deployments there can request provider tokens and receive forwarded webhooks. Custom Environments appear alongside Production, Preview, and Development when you add or edit a project on a connector in the dashboard.
AIP Document Intelligence: deploy extraction strategies as Python functions (GA)
Deploying extraction strategies to Python functions is generally available in AIP Document Intelligence, as an alternative to running a strategy in a batch pipeline.
FIPS 140-3 Images (General Availability)
FIPS 140-3 images are now generally available for all four self-hosted services, published under the -fips tag suffix: quay.io/deepgram/self-hosted-api:release-260728-fips quay.io/deepgram/self-hosted-engine:release-260728-fips quay.io/deepgram/self-hosted-license-proxy:release-260728-fips quay.io/deepgram/self-hosted-billing:release-260728-fips These...
More from SpannerEvery Spanner release →
Spanner dynamic channel pooling for Go and Java clients is GA
Dynamic channel pooling for gRPC channels prevents issues from under- or over-provisioned channels and reduces configuration overhead in the Go and Java client libraries. It is disabled by default.
Spanner applies the 80,000 mutation limit per DML statement
The DML mutation limit now applies per statement instead of across the whole transaction, so transactions can run several DML statements that together exceed it. The 100 MiB commit size limit still applies.
You can use Gemini in Spanner Studio to fix errors in your SQL queries
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 .
Spanner supports expression indexes on scalar expressions
Secondary indexes can be built on scalar expressions over one or more columns, removing the need for dedicated generated columns just for indexing.
Spanner PostgreSQL dialect supports the TABLESAMPLE operator
PostgreSQL-dialect Spanner databases can use TABLESAMPLE to select a random sample of a dataset.
Spanner PostgreSQL dialect adds ILIKE and NOT ILIKE
PostgreSQL-dialect databases in Spanner now support the ILIKE and NOT ILIKE operators and the pg.ilike and pg.not_ilike functions for case-insensitive pattern matching.
Spanner Graph adds semantic options and key uniqueness validation
CREATE PROPERTY GRAPH can set description and synonyms options on labels and properties to help natural language query interfaces, and a validate_element_key_uniqueness option controls validation at schema creation.
Spanner queues are generally available (GA)
Spanner queues are generally available (GA) . Spanner queues provide transactional messaging to help you manage asynchronous work. The feature pairs this capability with the scalability and reliability of Spanner, letting you build event-driven applications. For more information, see the Spanner queues overview .