9.22 Release notes (with behavior changes): Preview¶
Attention
Content on this page is available in advance of the completion of the 9.22 release, which is currently either pending or in progress and is scheduled for completion on August 5 (subject to change).
Features, updates, or behavior changes described on this page might not be available in your accounts until the release is complete.
For updates to these release notes, see Release notes change log.
Behavior change bundles¶
This release contains the following behavior change bundles:
Bundle Name |
Status in this Release |
Previous Status |
---|---|---|
Disabled by default; admins can enable for testing |
N/A (introduced in this release) |
|
Enabled by default; admins can disable for opt-out |
Disabled by default |
|
Generally enabled; admins can no longer enable/disable |
Enabled by default |
The status for each bundle will change in the next behavior change release, planned for September 2025; however, this schedule is subject to change.
For more information about bundle statuses and how they may impact your accounts, see About Behavior Changes.
New features¶
Data quality: Using expectations to define quality checks (General availability)¶
You can use an expectation to define the threshold for a data metric function (DMF). After you add the expectation to an association between a DMF and an object, if a value returned by the DMF does not match the Boolean expression of the expectation, it is flagged as a violation of the data quality check.
Extensibility updates¶
Tracing SQL statements run from handler code (General availability)¶
When you have enabled tracing, Snowflake traces SQL statements executed in conjunction with other traced code, such as within the handler for a stored procedure or user-defined function.
Data pipeline updates¶
Dynamic tables: Support for immutability constraints¶
Immutability constraints give you finer control over dynamic table updates by allowing parts of the table to remain unchanged instead of always reflecting the latest query results.
By marking specific regions as immutable, you can:
Prevent propagation of updates or deletions to existing data.
Restrict inserts, updates, and deletes for rows matching a condition.
Limit future modifications while still allowing incremental updates to other parts of the table.
To define immutability constraints, use the IMMUTABLE WHERE
parameter in the CREATE DYNAMIC TABLE or
ALTER DYNAMIC TABLE command.
Dynamic tables: Support for backfill¶
You can now create a dynamic table with its initial data backfilled from a regular table. Backfilling is a zero-copy, low-cost operation that makes the source data immediately available in the dynamic table.
You can backfill data into a dynamic table while still defining a custom refresh query for future updates. With immutability constraints, backfilled data remains unchanged even if it no longer matches the upstream source, ensuring it persists over time.
Release notes change log¶
Announcement |
Update |
Date |
---|---|---|
Release notes |
Initial publication (preview) |
Aug 01, 2025 |
Data quality: Using expectations to define quality checks (General availability) |
Added to New features |
Aug 05, 2025 |
Tracing SQL statements run from handler code (General availability) |
Added to Extensibility updates (moved from 9.21 release notes) |
Aug 06, 2025 |
Security updates: Private Service Connect Endpoints for internal stages on Google Cloud (General availability) |
Removed section and its announcement(s): |
Aug 07, 2025 |