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

2025_03

Disabled by default; admins can enable for testing

N/A (introduced in this release)

2025_02

Enabled by default; admins can disable for opt-out

Disabled by default

2025_01

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');
Copy

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, DATASKETCHES_HLL(col1) returns an approximation of COUNT(DISTINCT col1)).

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