March 26-27, 2024 — 8.12 Release Notes (with behavior changes)¶
Attention
The release has completed.
For differences between the in-advance and final versions of these release notes, see Release Notes Change Log.
Behavior Change Bundles¶
This release contains the following behavior change bundles:
The status for each bundle will change in the next behavior change release, planned for April 2024; however, this schedule is subject to change.
For more information about bundle statuses and how they may impact your accounts, see About Behavior Changes.
SQL Updates¶
Organization Usage: Improved views for billing reconciliation — General Availability¶
With this release, we are pleased to announce that the following views in the Organization Usage schema have been improved to make it easier to reconcile Snowflake usage with monthly billing statements:
- CONTRACT_ITEMS
- RATE_SHEET_DAILY
- REMAINING_BALANCE_DAILY
- USAGE_IN_CURRENCY_DAILY
For details on what changed, see Organization Usage: Updated billing views.
Data Pipeline Updates¶
Replication: Stages, pipes, storage integrations, load history, and Snowpipe Streaming — General Availability¶
With this release, we are pleased to announce the general availability of replication for stages, pipes, storage integrations, load history, and Snowpipe Streaming channels. You can replicate these objects to configure failover for data pipelines across regions and cloud platforms.
As part of pipe object replication, pipes in a secondary database are in a READ_ONLY execution state and receive notifications, but
do not load data until you promote the secondary database to serve as the primary. After you promote a secondary database, the pipes will
transition to a FAILING_OVER execution state.
With Snowpipe Streaming replication, the table object, table data, and the channel offsets associated with the table from the primary database are replicated to the secondary database.
For more information, see Stage, pipe, and load history replication and Replication and Snowpipe Streaming.
Schema detection and evolution for Kafka connector with Snowpipe Streaming — General Availability¶
With this release, we are pleased to announce the general availability of schema detection and evolution for Kafka connector with Snowpipe Streaming. The structure of tables in Snowflake can be defined and evolved automatically to support the structure of Kafka topic message data loaded by the Kafka connector using Snowpipe Streaming.
For more information, see Schema detection and evolution for Kafka connector with Snowpipe Streaming classic.
Data Governance Updates¶
Memoizable functions with constant arguments¶
With this release, Snowflake is pleased to announce support for creating a memoizable function with constant arguments. This support provides more flexibility in terms of how to define the function. Additionally, if you reference the function in a data access policy, such as a row access policy, you have more freedom in terms of how to define your policy. The function arguments can be any of the following data types:
- string
- numeric
- date
- Boolean
For details, see:
Share data protected by a role-based policy — General Availability¶
With this release, Snowflake is pleased to announce the general availability to enable a data sharing provider to use the IS_DATABASE_ROLE_IN_SESSION function in the conditions of a masking policy or a row access policy to allow a data sharing consumer to access shared data that is protected by either of these policies. The function argument takes either the name of a database role or a column that contains database roles. This provides more options to the provider to share data, allows the consumer to access sensitive data that the provider makes available, and removes restrictions on policy-protected data when the consumer queries a shared table protected by a policy.
- For details, see Share data protected by a policy and
Access History: Stored procedure ancestor queries — General Availability¶
With this release, Snowflake is pleased to announce the general availability to track the chain of queries that call a stored procedure
by using the parent_query_id and root_query_id columns. These columns allow you to see the query ID that performs a read
or write operation on another object, and the query ID for the query that calls a stored procedure, respectively. The columns support
calling a stored procedure directly and nested stored procedure calls, such as when one stored procedure calls another stored procedure.
This update was announced in preview during the 8.2 release. For details, see Ancestor queries with stored procedures.
Shared tag references — General Availability¶
This update was announced in preview during the 7.33 release. For details, see Shared tag references.
Access History: Track objects modified by a DDL operation — General Availability¶
With this release, we are pleased to announce the general availability of tracking objects modified by DDL operations in the Account Usage ACCESS_HISTORY view. These operations include:
- Track how tag and policy assignments change.
- Track the table and column lifecycle.
Release Notes Change Log¶
| Announcement | Update | Date |
|---|---|---|
| Release notes | Initial publication (preview) | 26-Mar-24 |