February 24-March 01, 2025 — 9.4 Release Notes

Attention

The release has completed. For differences between the in-advance and final versions of these release notes, see Release notes change log.

New features

Additional information returned for objects bound to references — General availability

Snowflake Native App providers can now use the following to fetch the object name, schema name, and database name of an object bound to a reference:

More granular control for log, trace, and metric levels in an app — General availability

Within a Snowflake Native App, you can now override the log, trace, and metric levels for specific objects within an app, including:

  • database schemas

  • versioned schemas

  • stored procedures

  • functions

This allows for precise monitoring and analysis of these objects and gives providers more granular control over telemetry data collection. App-level log, trace, and metric levels are used as the default and are applied only when specific object or schema overrides are not defined. You can set the default app-level log, trace, and metric levels in the manifest file of the app. See Define event definitions in the manifest file of an app for more information. Object-specific overrides in the setup.sql take precedence over application-level defaults.

To get the override values for the logging, metric, and tracing levels, use the following system functions:

  • SYSTEM$APPLICATION_GET_LOG_LEVEL

  • SYSTEM$APPLICATION_GET_TRACE_LEVEL

  • SYSTEM$APPLICATION_GET_METRIC_LEVEL

SQL updates

Cloning databases that contain hybrid tables — Preview

With this release, we are pleased to announce the preview of cloning support for databases that contain hybrid tables. You can create cloned databases to set up a backup and restore solution for Unistore applications.

For more information, see:

New SQL functions

The following function is now available with this release:

Function Category

New function

Description

System

SYSTEM$TRIGGER_LISTING_REFRESH

Triggers an immediate, one-time data refresh for a provider’s database or listing for all consumers who have access to it.

Extensibility updates

Support for associating an event table with a database — General availability

With this release, support for associating an event table with a database is generally available. When you assign an event table to a database, the scope of objects for which events are collected in the event table is limited to objects in the database.

Previously, an event table could be associated only with the account.

For more information, see Event table overview.

Data loading updates

Dynamic tables and tasks: Events logged for refreshes and task executions

You can now configure Snowflake to log events for dynamic table refreshes and task executions. These events are stored in the active event table associated with the dynamic table or task.

When a dynamic table is refreshed, Snowflake logs an event to indicate if:

  • The refresh succeeded.

  • The refresh failed. In this case, the event also includes the error message.

  • The refresh failed due to a failure with refreshing an upstream dynamic table.

Similarly, when a task executes, Snowflake logs an event to indicate if the task completed successfully or an error occurred. If an error occurred, the event includes the error message.

You can query these events to identify refreshes that have failed or task executions that resulted in errors.

For example, the following query gets the timestamp, dynamic table name, query ID, and error message for errors with dynamic tables in the database my_db:

SELECT
    timestamp,
    resource_attributes:"snow.executable.name"::VARCHAR AS dt_name,
    resource_attributes:"snow.query.id"::VARCHAR AS query_id,
    value:message::VARCHAR AS error
  FROM my_event_table
  WHERE
    resource_attributes:"snow.executable.type" = 'DYNAMIC_TABLE' AND
    resource_attributes:"snow.database.name" = 'MY_DB' AND
    value:state = 'FAILED'
  ORDER BY timestamp DESC;
Copy

The following query gets the timestamp, task name, query ID, and error message for errors with tasks in the database my_db:

SELECT
    timestamp,
    resource_attributes:"snow.executable.name"::VARCHAR AS task_name,
    resource_attributes:"snow.query.id"::VARCHAR AS query_id,
    value:message::VARCHAR AS error
  FROM my_event_table
  WHERE
    resource_attributes:"snow.executable.type" = 'TASK' AND
    resource_attributes:"snow.database.name" = 'MY_DB' AND
    value:state = 'FAILED'
  ORDER BY timestamp DESC;
Copy

For more information, see:

Data lake updates

CATALOG_NAMESPACE parameter for catalog integrations is now optional

With this release, the CATALOG_NAMESPACE parameter for catalog integrations is now optional instead of required:

  • If you create a catalog integration to sync a Snowflake-managed Iceberg table with Snowflake Open Catalog, you no longer need to specify the CATALOG_NAMESPACE parameter. Snowflake syncs the Apache Iceberg™ table to the external catalog in Open Catalog that you specify in the catalog integration.

  • If you create a catalog integration for unmanaged Iceberg tables and you don’t specify a CATALOG_NAMESPACE with the catalog integration, you must specify it at the table level. You can alternatively specify it with the catalog integration and then override it at the table level.

Release notes change log

Announcement

Update

Date

Release notes

Initial publication (preview)

21-Feb-25

Additional information returned for objects bound to references — GA announcement

Added to New features section

24-Feb-25

More granular control for log, trace, and metric levels in an app — GA announcement

Added to New features section

24-Feb-25

Cloning databases that contain hybrid tables - Preview

Added to SQL updates section

25-Feb-25

Automatic tag propagation - GA announcement

Removed from New features section

28-Feb-25

Dynamic tables and tasks: Events logged for refreshes and task executions

Added to Data loading updates section

01-Mar-25

New SQL functions (SYSTEM$TRIGGER_LISTING_REFRESH)

Added to SQL updates section

10-Mar-25

Language: English