May 05-12, 2025 — 9.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:
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 |
|
Enabled by default; admins can disable for opt-out |
Enabled by default |
The status for each bundle will change in the next behavior change release, planned for June 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¶
Release channels for Snowflake Native Apps — General availability¶
With this release, the release channels feature in Snowflake Native Apps is generally available.
Release channels allow providers to publish apps at different stages of the app development lifecycle. For example, a provider can use release channels to perform the following tasks for a version or patch of an app:
Test an app.
Publish an app to consumers as a preview or for UAT (user acceptance testing).
Publish the app to a production environment.
For more information, see Publish an app using release channels.
SQL Updates¶
Improved error messages for Data Manipulation Language (DML) commands¶
In past releases, error messages for DML commands didn’t include the column name for errors that involved a specific column. With this release, some error messages for DML commands include the column name. Note that the column name isn’t included in all DML error messages.
For example, the following SQL statements return a DML error message:
CREATE OR REPLACE TABLE demo_dml_error_message (v VARCHAR);
INSERT INTO demo_dml_error_message (v) VALUES
(3),
('d');
In past releases, the following error message was returned:
100038 (22018): Numeric value 'd' is not recognized
With this release, the following error message is returned:
100038 (22018): DML operation to table DEMO_INSERT_TYPE_MISMATCH failed on
column V with error: Numeric value 'd' is not recognized
New SQL functions¶
The following functions are now available with this release:
Function subcategory |
New function |
Description |
---|---|---|
Cardinality estimation |
DATASKETCHES_HLL (Preview) |
Returns an approximation of the distinct cardinality of the input (that is, |
Cardinality estimation |
DATASKETCHES_HLL_ACCUMULATE (Preview) |
Returns the sketch at the end of aggregation. |
Cardinality estimation |
DATASKETCHES_HLL_COMBINE (Preview) |
Combines (merges) input sketches into a single output sketch. |
Cardinality estimation |
DATASKETCHES_HLL_ESTIMATE (Preview) |
Returns the cardinality estimate for the given sketch. |
Extensibility updates¶
Built-in code profiler for Python stored procedures — General availability¶
With this release, we are pleased to announce the general availability of built-in code profiling for stored procedure handler code written in Python. Using the profiler, you can discover how much time or memory was spent executing your handler code. The profiler generates information describing how much time or memory was spent executing each line of the procedure handler.
For procedures written in SQL, see Profiling Python procedure handler code.
For procedures written with the Snowpark API, see Profiling Snowpark Python stored procedure handlers.
Data loading / unloading updates¶
Support for internal stage cloning — General availability¶
With this release, we are pleased to announce the general availability of support for internal stage cloning when you clone a database or schema.
For more information, see CREATE <object> … CLONE.
Vectorized scanner now available without ON_ERROR restrictions¶
Previously, enabling the vectorized scanner required the ON_ERROR
option to be set to either ABORT_STATEMENT
or
SKIP_FILE
. This limitation has been removed.
You can now leverage the performance benefits of the vectorized scanner regardless of the ON_ERROR
setting you choose,
including CONTINUE
, SKIP_FILE_num
, and 'SKIP_FILE_num%'
. This provides greater flexibility in configuring
your data loading processes while still taking advantage of optimized scanning.
For more information, see USE_VECTORIZED_SCANNER.
Data governance updates¶
Sensitive data classification: New classifiers for India¶
The following sensitive data classifiers now support the protection of sensitive data in India:
NATIONAL_IDENTIFIER (Permanent account number (PAN), Aadhaar, and Voter ID)
DRIVERS_LICENSE
TAX_IDENTIFIER (Goods and Service Tax Identification Number (GSTIN))
Snowpark Container Services updates¶
Using caller’s rights to connect to Snowflake — General availability¶
With this release, we are pleased to announce the general availability of connecting to Snowflake from inside a container using caller’s rights.
Release notes change log¶
Announcement |
Update |
Date |
---|---|---|
Release notes |
Initial publication (preview) |
25-Apr-25 |
New authentication methods for multi-factor authentication (MFA) — General availability |
Added to Security section |
28-Apr-25 |
Using caller’s rights to connect to Snowflake — General availability |
Added to Snowpark Container Services section |
30-Apr-25 |
Snowflake Scripting output (OUT) arguments — General availability |
Removed from SQL Updates section |
30-Apr-25 |
Vectorized scanner now available without ON_ERROR restrictions |
Added to Data loading / unloading section |
08-May-25 |
New maximum size limits for database objects — General availability |
Removed from SQL Updates section |
12-May-25 |
New authentication methods for multi-factor authentication (MFA) — General availability |
Removed from Security section |
12-May-25 |