10.20 Release Notes: May 28, 2026-Jun 3, 2026

New features

New ICEBERG_MERGE_ON_READ_BEHAVIOR parameter for Apache Iceberg™ tables (General availability)

With this release, the new ICEBERG_MERGE_ON_READ_BEHAVIOR object parameter controls how Snowflake performs row-level updates (UPDATE, DELETE, MERGE) on Apache Iceberg™ tables. The parameter selects between merge-on-read (writing Iceberg delete files alongside the data) and copy-on-write (rewriting entire data files).

ICEBERG_MERGE_ON_READ_BEHAVIOR accepts the following string values (case-insensitive):

  • 'AUTO' (default): Snowflake selects merge-on-read or copy-on-write based on the table’s Iceberg format version and management mode. Snowflake-managed v3 tables and all externally managed tables use merge-on-read; Snowflake-managed v2 tables use copy-on-write.
  • 'ENABLED': Merge-on-read is enabled for all Iceberg tables to which the parameter applies, regardless of format version or management mode.
  • 'DISABLED': All DML uses copy-on-write.

You can set the parameter at the account, database, schema, or table level. The most specific setting wins.

The parameter only affects row-level DML that Snowflake issues. To control merge-on-read versus copy-on-write for writes from external engines, configure the standard Iceberg write.delete.mode, write.update.mode, and write.merge.mode table properties from that engine.

For details, including the auto-behavior matrix and examples, see ICEBERG_MERGE_ON_READ_BEHAVIOR parameter.

Deprecation: ENABLE_ICEBERG_MERGE_ON_READ

The boolean ENABLE_ICEBERG_MERGE_ON_READ parameter is deprecated and replaced by ICEBERG_MERGE_ON_READ_BEHAVIOR.

Existing settings of ENABLE_ICEBERG_MERGE_ON_READ continue to be honored when ICEBERG_MERGE_ON_READ_BEHAVIOR is at its default ('AUTO'), so no immediate change is required while you migrate. When ICEBERG_MERGE_ON_READ_BEHAVIOR is explicitly set to 'ENABLED' or 'DISABLED', the legacy parameter is ignored.

In a future release, setting ENABLE_ICEBERG_MERGE_ON_READ returns a user error. Snowflake recommends migrating to the new parameter as follows:

  • Replace ENABLE_ICEBERG_MERGE_ON_READ = TRUE with ICEBERG_MERGE_ON_READ_BEHAVIOR = 'ENABLED'.
  • Replace ENABLE_ICEBERG_MERGE_ON_READ = FALSE with ICEBERG_MERGE_ON_READ_BEHAVIOR = 'DISABLED'.
  • If you don’t explicitly set the legacy parameter, leave the new parameter at the default 'AUTO'.

For the full migration table and examples, see Deprecated: ENABLE_ICEBERG_MERGE_ON_READ.

Release notes change log

AnnouncementUpdateDate
Release notesInitial publicationMay 28, 2026
New ICEBERG_MERGE_ON_READ_BEHAVIOR parameterAdded to New features sectionMay 28, 2026
Deprecation: ENABLE_ICEBERG_MERGE_ON_READAdded to New features sectionMay 28, 2026