9.22 Release notes (with behavior changes): Aug 04, 2025-Aug 08, 2025¶
Attention
This release has been completed. For differences between the in-advance and final versions of these release notes, see the 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.
For more information, see Using expectations to implement data quality checks.
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.
For more information, see SQL statement tracing.
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.
For more information, see Create dynamic tables with immutability constraints.
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.
For more information, see Create dynamic tables by using backfill.
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 |