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

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 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');
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 (Preview)

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 (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

Language: English