github delta-io/delta v4.3.0
Delta Lake 4.3.0

6 hours ago

We are excited to announce the release of Delta Lake 4.3.0, which delivers new features, performance improvements, and protocol updates across Delta Spark, Kernel, UniForm, Sharing, and Flink. See the highlights below for the marquee changes.

Highlights

  • [Spark] Unity Catalog Delta REST API integration: Spark now supports the UC Delta API, using Unity Catalog as the source of truth for managed Delta tables. With server-side commit validation, server-advertised table features, and intent-based metadata updates, this integration provides consistent, safe access for Spark today and sets the foundation for future support across Flink, Trino, and other engines.
  • [Spark] Selective data replacement with replaceOn and replaceUsing DataFrame APIs: Spark now supports selectively replacing table data with the result of a DataFrame. Use replaceUsing to replace rows that match on specified columns, or replaceOn to replace rows that satisfy a user-defined condition.
  • [UniForm] Atomic + incremental Iceberg conversion and Spark 4.1 support: UniForm now writes Iceberg metadata atomically with the Delta commit, incrementally converts only the changed log range.
  • [Sharing] Streaming and CDF Support: Delta Sharing in 4.3.0 improves Spark Structured Streaming and Batch CDF support with automatic Delta response resolution, Parquet-to-Delta streaming conversion, shared DeltaFormattable streaming CDF support, and Trigger.AvailableNow support for shared tables.

Delta Spark

Delta Spark 4.3.0 is built on Apache Spark 4.1.0 and Apache Spark 4.0.1. As with Apache Spark, we publish Maven artifacts for Scala 2.13.

The key features of this release are:

  • Unity Catalog Delta REST API integration : Delta Spark now uses the new UC Delta REST API by default for UC-managed Delta tables. Managed Delta operations, including table loads, CREATE / CTAS, REPLACE, and all other metadata-changing writes such as DML, schema evolution, auto-merge, and supported ALTER TABLE updates, are routed through the new API. Non-Delta tables and external tables, including name-based and path-based access, continue to use the legacy delegate.
  • Delta DSv2 Connector with Delta Kernel (Experimental) : adds new features like support for batch writes to Catalog-Managed tables, Streaming source support including all read options and Catalog-driven batch CDC (SELECT … CHANGES FROM VERSION/TIMESTAMP, DV-aware) - gated behind spark.databricks.delta.changelogV2.enabled.
  • V2 Checkpoint performance hardening for large tables: V2 checkpoints now default to 50,000 actions per sidecar, so sidecar files are automatically split into multiple parts and checkpoint writes parallelize better out of the box.
  • Selectively replace data with 'replaceOn' and 'replaceUsing' DataFrame APIs: Use these options to replace part of the table with the result of a DataFrame. ‘replaceOn’ replaces rows that match a user-defined condition. ‘replaceUsing’ replaces rows where specified columns are equal. See Delta Lake API doc.
  • Implicit casting for DataFrame by-name writes: DataFrame writes that match by column name, except save() and saveAsTable().mode(“overwrite”), now apply Spark's implicit casts to align source values with the target schema, matching SQL INSERT BY NAME behavior.
  • Variant column statistics on write: Delta Spark now collects min/max statistics for Variant columns at write time, enabling data skipping on Variant-shredded tables.
  • REPLACE TABLE / RTAS / DPO production hardening: concurrency, source-materialization, and operational-metric coverage now spans the full set of REPLACE-style DataFrame writes introduced in Delta 4.2.

Other notable features and bug-fixes include:

Delta Kernel

The Delta Kernel project is a set of Java libraries for building Delta connectors that read and write Delta tables without needing to understand the Delta protocol directly.

The key features of this release are:

Other notable changes include:

Delta UniForm

Delta UniForm's delta-iceberg and delta-hudi modules automatically keep Apache Iceberg and Apache Hudi metadata in sync with Delta commits, so Iceberg and Hudi readers can query Delta tables without data duplication.

UniForm now supports both Spark 4.0 and Spark 4.1 with Iceberg-spark 1.11.0.

The key features of this release are:

Other notable changes include:

Delta Sharing

Delta Sharing is a Spark DataSource that lets clients run batch, streaming, CDF, and time-travel reads on tables shared via the Delta Sharing protocol. Built on Spark and the delta-sharing-client library; the 2.13 suffix indicates Scala 2.13.

The key features of this release are:

Delta Flink

The Kernel-based delta-flink connector (experimental) continues to evolve.

The key features of this release are:

  • Writer and Committer metrics: the Flink Sink reports throughput and latency metrics, making catalog-managed-table writes observable in Flink dashboards.

Protocol

Compatibility

Note: Review this section carefully before upgrading to delta 4.3.0.

  • MERGE INTO an empty-schema target now errors out with mergeSchema=false: previously this could silently rewrite the target with the source schema. To restore the old behavior, set delta.schemaAutoMerge.enabled=true or align the schemas before MERGE.
  • Iceberg DataFile.recordCount is now physical (pre-DV) on UniForm + DV tables: not the logical (post-DV) count. Tooling that read it as a logical count must apply the deletion vector to recover that number. Re-aligns Iceberg row-lineage (first_row_id / nextRowId) with Delta's baseRowId.
  • Kernel: enableVariantShredding enables variantShredding-preview: keeps Java Kernel aligned with Delta Spark and the Rust delta-kernel. To opt into the Production-Ready feature, enable it explicitly via delta.feature.variantShredding=supported.
  • variantType will become required for variantShredding after RFC ratification: enforcement is gated behind a future Production-Ready flip; until then, variantShredding-preview tables are unaffected. New writers should already include both features.

Credits

Alden Lau, Alex Moschos, Amogh Jahagirdar, Anshul Baliga, Bilal Akhtar, Brooks Walls, ChengJi, Chirag Singh, Cuong Nguyen, Dhruv Arya, Divjot Arora, Eames Trinh, Eduard Tudenhoefner, Felipe Pessoto, GH-JamesD, Hao Jiang, Harsh Motwani, Hua Shi, Johan Lasperas, Kaiqi Jin, Leon Windheuser, Leonid Lygin, Liang-Chi Hsieh, Marco Kroll, Matthis Gördel, Murali Ramanujam, Omar Elhadidy, Pratham Manja, Sandro Sp, Sanuj Basu, Scott Sandre, Shivam Tiwari, Stevo Mitric, Thang Long Vu, Timothy Wang, Tom Zhu, Uros Bojanic, Wei Luo, Xin Huang, Yi Li, You Zhou, Yousof Hosny, Zihao Xu, Zikang Han, anniedde, littlegrasscao, Zheng Hu, Rakesh Veeramacheneni, Vishnu Chandrashekhar, songhang, yyanyy

Don't miss a new delta release

NewReleases is sending notifications on new releases.