9.30 Release Notes: Sep 29, 2025-Oct 01, 2025¶
Attention
This release has completed. For differences between the in-advance and final versions of these release notes, see Release notes change log.
Security updates¶
Hybrid table support for Tri-Secret Secure¶
Tri-Secret Secure (TSS) is now supported for hybrid tables. Enabling TSS support for hybrid tables requires a storage configuration known as Dedicated Storage Mode.
For more information, see Dedicated Storage Mode for TSS.
SQL updates¶
Update to the 2025b release of the TZDB¶
Snowflake uses the Time Zone Database (TZDB) for timezone information (for example, for the list of timezone names and aliases for the CONVERT_TIMEZONE function).
With this release, Snowflake now uses the 2025b release of the TZDB. Snowflake previously used the 2024a release of the TZDB.
For a list of the changes made up to the 2025b release of the TZDB, see News for the tz database.
MERGE ALL BY NAME¶
When the target table and source must have the same number of columns and the same names for all of the columns, you can simplify MERGE operations by using MERGE ALL BY NAME.
MERGE statements can update each column in the target table with the values of the column with the same name from the source table. MERGE statements can also insert rows from the source table into the target table based on column names when there is no match. These MERGE ALL BY NAME operations are supported even when the column order is different in the target and source tables.
For more information, see MERGE.
Aliases for PIVOT and UNPIVOT columns¶
In PIVOT queries, you can use the AS clause to specify aliases for the pivot column names.
In UNPIVOT queries, you can use the AS clause to specify aliases for column names that appear in the result of the UNPIVOT operation.
New SQL parameter: ENABLE_GET_DDL_USE_DATA_TYPE_ALIAS¶
The new ENABLE_GET_DDL_USE_DATA_TYPE_ALIAS parameter specifies whether the output returned by the GET_DDL function contains data type synonyms specified in the original DDL statement. This parameter is set to FALSE by default.
For more information, see ENABLE_GET_DDL_USE_DATA_TYPE_ALIAS.
Reference table columns in lambda expressions when calling higher-order functions¶
You can now reference table columns in lambda expressions when calling higher-order functions such as FILTER, REDUCE, and TRANSFORM.
For example, you can specify the following lambda expression in a higher-order function that subtracts the value of table1.col2 from elements:
a -> a - table1.col2
For more information, see Use lambda functions on data with Snowflake higher-order functions.
SEARCH function supports PHRASE and EXACT search modes¶
The SEARCH function now supports two new search modes in addition to the existing OR
and AND
modes:
PHRASE
: The search semantics find a match if the tokens extracted from at least one of the columns or fields being searched match all of the tokens extracted from the search string, including the order and adjacency of the tokens.EXACT
: The search semantics are the same as ‘PHRASE’ search semantics, except that the delimiter strings between the tokens must match exactly.
These new search modes provide more flexibility than the existing disjunctive OR
and conjunctive AND
search semantics.
For more information, see SEARCH.
Snowflake Scripting CONTINUE handlers¶
A CONTINUE handler can catch and handle exceptions without ending the Snowflake Scripting statement block that raised the exception. With the default EXIT handler, when an error occurs in a block, the flow is interrupted and the error is returned to the caller. You can use a CONTINUE handler when the error condition isn’t severe enough to warrant interrupting the flow.
For more information, see Handling exceptions and EXCEPTION (Snowflake Scripting).
Snowflake Scripting user-defined functions (UDFs) (General availability)¶
Snowflake Scripting UDFs are now generally available and are no longer in preview.
You can create SQL UDFs that contain Snowflake Scripting procedural language. Snowflake Scripting UDFs can be called in a SQL statement, such as a SELECT or INSERT statement. They are more flexible than a Snowflake Scripting stored procedure, which can only be called in a SQL CALL command.
Release notes change log¶
Announcement |
Update |
Date |
---|---|---|
Release notes |
Initial publication (preview) |
Sep 26, 2025 |
Hybrid table support for Tri-Secret Secure |
Added to Security updates |
Sep 30, 2025 |
Update to the 2025b release of the TZDB |
Added to SQL updates |
Sep 30, 2025 |
Support for Scala version 2.13 (Preview) |
Removed from Extensibility updates |
Oct 01, 2025 |