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 .
Also shipped Sep 17, 2026Google Cloud in September 2026 →
Metastore-level ABAC policies are in Beta
Metastore-level ABAC policies are in Beta in Unity Catalog. You can now attach an ABAC policy (row filter, column mask, GRANT, or DENY) at the metastore level, so a single policy applies across every catalog in the metastore, including catalogs created later.
Moonshot AI Kimi K2.7 is scheduled for retirement
Moonshot AI Kimi K2.7 will be retired on October 30, 2026. Kimi K3 is the recommended replacement. See Deprecated and retired models for migration guidance.
HTML generation in Snowflake CoWork (Preview)
HTML generation is now available in preview as part of document generation in Snowflake CoWork. You can ask Snowflake CoWork to generate an HTML file from your analysis, the same way you generate a PDF or PowerPoint. Generation requires the Cortex Agent code execution tool on the associated agent.
Base environments are now supported on classic compute (Beta)
You can now use base environments to manage Python dependencies on classic compute. You can use Databricks-provided environments or custom workspace-level environments. See Manage dependencies using environments .
Snowpark Container Services backup instance types (General availability)
Backup instance types for Snowpark Container Services compute pools are now generally available and are no longer in Preview .
Upcoming changes to legacy Teams and Outlook activities in Fabric Data Factory pipelines
Beginning October 30, 2026, users will no longer be able to add new legacy Teams or legacy Outlook activities to pipelines. These legacy activities will no longer appear as options when users add new activities to a pipeline. Existing legacy activity instances can still be edited and used in existing pipelines.
More from SpannerEvery Spanner release →
Spanner adds automatic parameterization of SQL query literals
Spanner converts hardcoded literals in CRUD-style queries such as primary key lookups, index lookups and key joins into parameters, so execution plans are cached and reused to cut latency and CPU costs.
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 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 PostgreSQL dialect supports the TABLESAMPLE operator
PostgreSQL-dialect Spanner databases can use TABLESAMPLE to select a random sample of a dataset.
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 supports approximate aggregate functions for both GoogleSQL and PostgreSQL dialects
Spanner supports approximate aggregate functions for both GoogleSQL and PostgreSQL dialects. These functions produce statistical estimates of distinct counts, allowing you to compute results faster and save resources on large datasets compared to exact aggregation.
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.
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.