Preview — 9.12 Release Notes (with behavior changes)¶
Attention
Content in this page is available in advance of the completion of the 9.12 release, which is currently either pending or in progress.
The release is scheduled to complete in early May (subject to change).
Features, updates, or behavior changes described in this page might not become available in your account(s) until the completion of the release.
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 |
|
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:
Test an app.
Publish an app to consumers as a preview or for UAT (user acceptance testing).
Publish the app to a production environment.
SQL Updates¶
New maximum size limits for database objects — General availability¶
With this release, the new maximum allowed length for columns of type VARCHAR, VARIANT, ARRAY, and OBJECT is 128 MB, and the new maximum allowed length for columns of type BINARY, GEOGRAPHY, and GEOMETRY is 64 MB.
To use this feature, you must enable the 2025_02 bundle. This bundle is enabled by default with this release.
Snowflake Scripting output (OUT) arguments — General availability¶
With this release, Snowflake Scripting supports output (OUT) arguments. When an output argument is specified in the definition of a Snowflake Scripting stored procedure, the stored procedure can return the current value of the output argument to a calling program, such as an anonymous block or a different stored procedure.
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 |
Returns an approximation of the distinct cardinality of the input (that is, |
Cardinality estimation |
DATASKETCHES_HLL_ACCUMULATE |
Returns the sketch at the end of aggregation. |
Cardinality estimation |
DATASKETCHES_HLL_COMBINE |
Combines (merges) input sketches into a single output sketch. |
Cardinality estimation |
DATASKETCHES_HLL_ESTIMATE |
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.
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.
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))
Release notes change log¶
Announcement |
Update |
Date |
---|---|---|
Release notes |
Initial publication (preview) |
25-Apr-25 |