<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/delta-lake-0-8-0-released-iieulgcdu" -->

---
title: Delta Lake 0.8.0 Released | daily.dev
description: Delta Lake 0.8.0 adds unlimited MATCHED/NOT MATCHED clauses for merge operations across Scala, Java, and Python, schema evolution support for nested columns in...
canonical: https://daily.dev/posts/delta-lake-0-8-0-released-iieulgcdu
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Delta Lake 0.8.0 Released | daily.dev
og:description: Delta Lake 0.8.0 adds unlimited MATCHED/NOT MATCHED clauses for merge operations across Scala, Java, and Python, schema evolution support for nested columns in...
og:url: https://daily.dev/posts/delta-lake-0-8-0-released-iieulgcdu
og:image: https://api.daily.dev/og/posts/IiEULGCdU.png
og:image:alt: Delta Lake 0.8.0 Released
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Delta Lake 0.8.0 Released

**[Delta Lake Blog](https://daily.dev/sources/delta-lake)** · 3 min read · 0 upvotes · 0 comments

## Summary

Delta Lake 0.8.0 adds unlimited MATCHED/NOT MATCHED clauses for merge operations across Scala, Java, and Python, schema evolution support for nested columns in MERGE, name-based resolution of nested struct columns in UPDATE and MERGE INTO, CHECK constraints on tables, the ability to start streaming from a specific version or timestamp, parallel deletes with VACUUM, and simplified Scala implicits for read/write APIs. Full details are in the release notes and linked documentation.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://delta.io/blog/2021-02-04-delta-lake-0-8-0-released>

## Questions this post answers

### What new features does Delta Lake 0.8.0 add for merge operations?

Delta Lake 0.8.0 supports an unlimited number of whenMatched and whenNotMatched clauses in merge operations for Scala, Java, and Python, and merge queries that unconditionally delete matched rows no longer throw errors on multiple matches. It also adds schema evolution for nested columns in MERGE and resolves nested struct columns by name in UPDATE and MERGE INTO instead of by position.

_daily.dev helps data engineers track feature-by-feature changes when upgrading Delta Lake pipelines._

### How do I add CHECK constraints to a Delta Lake table?

Delta Lake 0.8.0 introduces CHECK constraints, added using the ALTER TABLE ADD CONSTRAINTS command. Once supplied, Delta automatically verifies that any data written to the table satisfies the specified constraint expression, rejecting writes that violate it.

_Engineers enforcing data quality rules can follow Delta Lake updates like this via daily.dev._

### How can I start a Delta Lake streaming read from a specific version instead of the beginning?

In Delta Lake 0.8.0, when using Delta as a streaming source you can set the startingTimestamp or startingVersion option to begin processing from a given version onward, or set startingVersion to latest to skip existing data and stream only new incoming data.

_daily.dev keeps streaming pipeline builders current on options like these across Delta Lake releases._

## Similar posts on daily.dev

- [Advancing the Open Lakehouse with Apache Spark, the Delta Kernel, and the new UC Delta APIs](https://daily.dev/posts/advancing-the-open-lakehouse-with-apache-spark-the-delta-kernel-and-the-new-uc-delta-apis-dbaazlwws) · Delta Lake Blog · 0 upvotes · 0 comments
- [DuckLake 1.0: Data Lake Format with SQL Catalog Metadata](https://daily.dev/posts/ducklake-1-0-data-lake-format-with-sql-catalog-metadata-i1k4mw1ne) · InfoQ · 0 upvotes · 0 comments
- [DuckLake Architecture Deep Dive](https://daily.dev/posts/ducklake-architecture-deep-dive-yuky5mgag) · MotherDuck · 0 upvotes · 0 comments
- [Delta Grows Up: Writes, Unity Catalog and Time Travel](https://daily.dev/posts/delta-grows-up-writes-unity-catalog-and-time-travel-j5aia1x3q) · DuckDB · 0 upvotes · 0 comments

---

Tags: [#backend](https://daily.dev/tags/backend), [#data-engineering](https://daily.dev/tags/data-engineering), [#apache-spark](https://daily.dev/tags/apache-spark)

[View this post on daily.dev](https://daily.dev/posts/delta-lake-0-8-0-released-iieulgcdu)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Delta Lake 0.8.0 Released","url":"https://daily.dev/posts/delta-lake-0-8-0-released-iieulgcdu","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/delta-lake-0-8-0-released-iieulgcdu"},"datePublished":"2026-08-16T08:53:51.998Z","dateModified":"2026-08-16T08:56:19.053Z","description":"Delta Lake 0.8.0 adds unlimited MATCHED/NOT MATCHED clauses for merge operations across Scala, Java, and Python, schema evolution support for nested columns in...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/8205a85053d3da3e0e91669b1b61b1a3?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/8205a85053d3da3e0e91669b1b61b1a3?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Delta Lake Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Delta Lake Blog","logo":"https://media.daily.dev/image/upload/s--7f2q9Asf--/f_auto,q_auto/v1786870393/logos/delta-lake?_a=BAMAMicg0","url":"https://daily.dev/sources/delta-lake"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/delta-lake-0-8-0-released-iieulgcdu","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"backend,data-engineering,apache-spark","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Delta Lake Blog","item":"https://daily.dev/sources/delta-lake"},{"@type":"ListItem","position":3,"name":"Delta Lake 0.8.0 Released"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/delta-lake-0-8-0-released-iieulgcdu#faq","mainEntity":[{"@type":"Question","name":"What new features does Delta Lake 0.8.0 add for merge operations?","acceptedAnswer":{"@type":"Answer","text":"Delta Lake 0.8.0 supports an unlimited number of whenMatched and whenNotMatched clauses in merge operations for Scala, Java, and Python, and merge queries that unconditionally delete matched rows no longer throw errors on multiple matches. It also adds schema evolution for nested columns in MERGE and resolves nested struct columns by name in UPDATE and MERGE INTO instead of by position. daily.dev helps data engineers track feature-by-feature changes when upgrading Delta Lake pipelines."}},{"@type":"Question","name":"How do I add CHECK constraints to a Delta Lake table?","acceptedAnswer":{"@type":"Answer","text":"Delta Lake 0.8.0 introduces CHECK constraints, added using the ALTER TABLE ADD CONSTRAINTS command. Once supplied, Delta automatically verifies that any data written to the table satisfies the specified constraint expression, rejecting writes that violate it. Engineers enforcing data quality rules can follow Delta Lake updates like this via daily.dev."}},{"@type":"Question","name":"How can I start a Delta Lake streaming read from a specific version instead of the beginning?","acceptedAnswer":{"@type":"Answer","text":"In Delta Lake 0.8.0, when using Delta as a streaming source you can set the startingTimestamp or startingVersion option to begin processing from a given version onward, or set startingVersion to latest to skip existing data and stream only new incoming data. daily.dev keeps streaming pipeline builders current on options like these across Delta Lake releases."}}]}
```

