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.
Also shipped Sep 3, 2026Google Cloud in September 2026 →
External lineage (General availability)
External lineage is now generally available and is no longer in Preview .
Restricted Session Scope for agents (General availability)
With this release, Restricted Session Scope (RSS) is generally available. An RSS is a privilege ceiling that limits what an agent can do on behalf of a user. It intersects with RBAC and never grants privileges the user doesn't already have through their roles.
Share metric views with OpenSharing (Beta)
You can now share metric views with Databricks users in other metastores or accounts using OpenSharing. See Add metric views to a share and Read shared metric views .
Genie One enhancements
- Ask Genie button hidden when unsupported : In embedded dashboards, the Ask Genie button is now hidden when it isn't supported. See Ask Genie in embedded dashboards . Push notifications for scheduled tasks (Public Preview) : The Genie mobile app can now send push notifications for scheduled tasks to iOS devices. See Push notifications .
Web search in Genie One (Beta)
Genie One can now search the public web to answer questions that need current information, such as recent releases, third-party documentation, or news. Genie One decides when to search and cites the sources it uses, showing each as a link you can open. See Search the web .
Workspace Outbound Access Protection (OAP) for Operations Agent and Fabric Maps (Preview)
Co-authors: Andre Terceros and Bodhisatva Gautam Workspace Outbound Access Protection (OAP) in Microsoft Fabric helps WS admins secure outbound connections from workspace items to external resources. Administrators can control outbound access by blocking unwanted connections by default and allowing only approved connections through configured rules.
More from SpannerEvery Spanner release →
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 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 .
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 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.
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 .