10.20 Release Notes (Preview)¶
Attention
Content on this page is available in advance of the completion of the 10.20 release, which is currently either pending or in progress and is scheduled for completion on a date to be announced (subject to change).
Features, updates, or behavior changes described on this page might not be available in your accounts until the release is complete.
For updates to these release notes, see Release notes change log.
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 (preview) | Jun 5, 2026 |