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 = TRUEwithICEBERG_MERGE_ON_READ_BEHAVIOR = 'ENABLED'. - Replace
ENABLE_ICEBERG_MERGE_ON_READ = FALSEwithICEBERG_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¶
| Announcement | Update | Date |
|---|---|---|
| Release notes | Initial publication | May 28, 2026 |
| New ICEBERG_MERGE_ON_READ_BEHAVIOR parameter | Added to New features section | May 28, 2026 |
| Deprecation: ENABLE_ICEBERG_MERGE_ON_READ | Added to New features section | May 28, 2026 |