Skip to content

snowflake: update feature support based on 2025 GA announcements#15

Merged
Neuw84 merged 2 commits into
Neuw84:mainfrom
sfc-gh-rbachala:snowflake-iceberg-feature-updates-2025
Jun 21, 2026
Merged

snowflake: update feature support based on 2025 GA announcements#15
Neuw84 merged 2 commits into
Neuw84:mainfrom
sfc-gh-rbachala:snowflake-iceberg-feature-updates-2025

Conversation

@sfc-gh-rbachala

@sfc-gh-rbachala sfc-gh-rbachala commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR updates the Snowflake entry in the iceberg-matrix to reflect Iceberg features that reached General Availability in 2025–2026, including Summit 2026 announcements (June 1–4, 2026). The previous data was stale on several important capability levels.


Commit 1 — 2025 GA features (late Oct–Dec 2025)

Feature Before After Source
position-deletes:v2 partial full Write support for externally managed tables GA Oct 2025; both read+write now supported
copy-on-write:v2 "exclusive" strategy Default (not exclusive) MoR is also supported and default for externally managed v2 tables
merge-on-read:v2 wrong param name corrected ENABLE_ICEBERG_MERGE_ON_READ deprecated → ICEBERG_MERGE_ON_READ_BEHAVIOR; AUTO default enables MoR for all externally managed tables
hidden-partitioning:v2 partial full Partitioned writes GA Oct 2025 adds Iceberg-spec-compliant writing for all v2 transforms
partition-evolution:v2 stale notes updated Partitioned writes GA enables correct writing to tables with evolved specs
table-maintenance:v2+v3 incomplete updated Added ENABLE_DATA_COMPACTION (Sep 2025) and target file size (Oct 2025)
write-insert:v2 Snowflake-managed only both table types Externally managed tables support full DML GA Oct 2025
write-merge-update-delete:v2 Snowflake-managed only both table types Same

Commit 2 — Summit 2026 and 2026 GA features (Jan–Jun 2026)

Feature Before After Source
unity-catalog:v2+v3 partial (read-only) full Write support GA on AWS (Oct 2025) + Azure (Apr 6, 2026); CTAS GA Mar 31, 2026
snowflake-horizon-catalog:v2 minimal notes expanded Read GA Feb 6, 2026; Write GA May 26, 2026; Masking+row-access policy enforcement Jan 27, 2026; Snowflake storage tables accessible via Horizon Jun 2026
catalog-integration:v2 only Glue+Polaris+REST expanded + BigLake Metastore (GA Jun 2, 2026), Fabric/OneLake (GA Jan 30, 2026), Azure DLS Gen2 (GA Jun 12, 2026)
rest-catalog:v2 basic notes expanded + BigLake, Fabric/OneLake, private connectivity for vended credentials (GA Jun 2, 2026)
table-creation:v2 external volume only expanded + Snowflake storage (GA Summit Jun 1, 2026 — no external volume needed, Fail-safe); + DEFAULT_METADATA_WRITE_FORMAT parameter (GA Jun 5, 2026)
hidden-partitioning:v2 flat layout only expanded + PATH_LAYOUT=HIERARCHICAL (Hive-style, Preview Feb 2026)

Key 2026 Reference Links

Test plan

  • JSON schema valid
  • All tests pass (npm test -- --run)
  • Every changed entry links to official Snowflake release notes

Reflects several generally available Snowflake Iceberg features from
2025 that were missing or inaccurate in the previous data:

- position-deletes:v2: upgrade partial → full; Snowflake now reads AND
  writes positional delete files for externally managed tables (GA Oct
  2025). Notes clarify ICEBERG_MERGE_ON_READ_BEHAVIOR='AUTO' default.

- copy-on-write:v2: remove "exclusive" claim; MoR is now also supported
  (and is the default for externally managed v2 tables).

- merge-on-read:v2: fix deprecated ENABLE_ICEBERG_MERGE_ON_READ param
  name → ICEBERG_MERGE_ON_READ_BEHAVIOR; update notes to reflect that
  AUTO mode enables MoR by default for all externally managed tables
  and that MoR is also configurable for Snowflake-managed v2 tables.

- hidden-partitioning:v2: upgrade partial → full; partitioned writes
  GA (Oct 2025) adds proper Iceberg-spec-compliant partition writing
  for all v2 transforms (year/month/day/hour/bucket/truncate/identity)
  for both Snowflake-managed and externally managed tables.

- partition-evolution:v2: update notes; partitioned writes GA means
  Snowflake correctly writes to tables whose partition spec has evolved.

- table-maintenance:v2+v3: add ENABLE_DATA_COMPACTION parameter (Sep
  2025) that lets users disable automatic compaction, and target file
  size feature (GA Oct 2025) for controlling compaction output.

- write-insert:v2 & write-merge-update-delete:v2: update to reflect
  that externally managed tables now support full DML (INSERT, UPDATE,
  DELETE, MERGE) as GA since October 2025, not just Snowflake-managed
  tables. External writes commit back to the linked REST catalog.

References:
  - Write support for externally managed tables (GA Oct 17 2025):
    https://docs.snowflake.com/en/release-notes/2025/other/2025-10-17-iceberg-external-writes-cld-ga
  - Partitioned writes (GA Oct 17 2025):
    https://docs.snowflake.com/en/release-notes/2025/other/2025-10-17-iceberg-partitioned-writes-ga
  - Prevent data compaction / ENABLE_DATA_COMPACTION (Sep 22 2025):
    https://docs.snowflake.com/en/release-notes/2025/other/2025-09-22-enable-data-compaction-parameter
Incorporates Snowflake Iceberg announcements from Summit 2026 (Jun 1-4)
and other 2026 GA releases that were not reflected in the matrix:

unity-catalog:v2+v3: partial → full
  Write support for Unity Catalog is GA on AWS (Oct 2025) and Azure
  (Apr 6, 2026). CTAS is also GA (Mar 31, 2026). Removes the stale
  "read-only" classification.

snowflake-horizon-catalog:v2+v3: expand notes
  - External engine READ via Horizon Catalog: GA Feb 6, 2026
  - External engine WRITE via Horizon Catalog: GA May 26, 2026
  - Masking + row access policy enforcement via Spark: GA Jan 27, 2026
  - Snowflake storage tables (no external volume) accessible via
    Horizon Catalog: GA Jun 1, 2026

catalog-integration:v2: expand notes
  - Google BigLake Metastore REST catalog integration: GA Jun 2, 2026
  - Microsoft Fabric / OneLake bi-directional access: GA Jan 30, 2026
  - Azure Data Lake Storage Gen2 external volumes: GA Jun 12, 2026

rest-catalog:v2: expand notes
  - BigLake Metastore + Fabric/OneLake as supported REST catalogs
  - Private connectivity for catalog-vended credentials: GA Jun 2, 2026

table-creation:v2: add Snowflake storage and DEFAULT_METADATA_WRITE_FORMAT
  - Snowflake storage for Iceberg tables (GA Jun 1, 2026): no external
    volume needed, Fail-safe protected, works on AWS + Azure
  - DEFAULT_METADATA_WRITE_FORMAT parameter (GA Jun 5, 2026): create
    Iceberg tables via standard CREATE TABLE without ICEBERG keyword

hidden-partitioning:v2: add hierarchical path layout
  - PATH_LAYOUT=HIERARCHICAL (Hive-style) partitioned writes:
    Preview Feb 2026 (Release 10.6)

References:
  - Snowflake storage for Iceberg (GA Jun 1 2026):
    https://docs.snowflake.com/en/release-notes/2026/other/2026-06-01-iceberg-snowflake-storage-ga
  - BigLake Metastore GA (Jun 2 2026):
    https://docs.snowflake.com/en/release-notes/2026/other/2026-06-02-iceberg-google-biglake-metastore-catalog-integration-ga
  - Unity Catalog write support on Azure (GA Apr 6 2026):
    https://docs.snowflake.com/en/release-notes/2026/other/2026-04-06-iceberg-write-support-azure-unity-catalog
  - CTAS for Unity Catalog (GA Mar 31 2026):
    https://docs.snowflake.com/en/release-notes/2026/other/2026-03-31-ctas-unity-catalog-external-volumes
  - Horizon Catalog read GA (Feb 6 2026):
    https://docs.snowflake.com/en/release-notes/2026/other/2026-02-06-tables-iceberg-query-using-external-query-engine-snowflake-horizon-ga
  - Fabric bi-directional access GA (Jan 30 2026):
    https://docs.snowflake.com/en/release-notes/2026/other/2026-01-30-iceberg-microsoft-fabric-bidirectional-data-access-ga
  - Azure DLS Gen2 GA (Jun 12 2026):
    https://docs.snowflake.com/en/release-notes/2026/other/2026-06-12-iceberg-azure-dls-external-volumes-ga
@Neuw84
Neuw84 merged commit 4b7edc3 into Neuw84:main Jun 21, 2026
5 of 6 checks passed
@Neuw84

Neuw84 commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants