<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/announcing-duckdb-2-0-0-lts-cinnamon-teal--bn8ymozbf" -->

---
title: Announcing DuckDB 2.0.0 LTS “Cinnamon Teal” | daily.dev
description: DuckDB 2.0.0 LTS, codenamed 'Cinnamon Teal', is now available as the project's biggest feature release yet, built from nearly 20,000 commits since version 1.5....
canonical: https://daily.dev/posts/announcing-duckdb-2-0-0-lts-cinnamon-teal--bn8ymozbf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Announcing DuckDB 2.0.0 LTS “Cinnamon Teal” | daily.dev
og:description: DuckDB 2.0.0 LTS, codenamed 'Cinnamon Teal', is now available as the project's biggest feature release yet, built from nearly 20,000 commits since version 1.5....
og:url: https://daily.dev/posts/announcing-duckdb-2-0-0-lts-cinnamon-teal--bn8ymozbf
og:image: https://api.daily.dev/og/posts/Bn8yMOzbf.png
og:image:alt: Announcing DuckDB 2.0.0 LTS “Cinnamon Teal”
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.

# Announcing DuckDB 2.0.0 LTS “Cinnamon Teal”

**[DuckDB](https://daily.dev/sources/duckdb)** · 14 min read · 2 upvotes · 0 comments

## Summary

DuckDB 2.0.0 LTS, codenamed 'Cinnamon Teal', is now available as the project's biggest feature release yet, built from nearly 20,000 commits since version 1.5. It ships a polished Quack client-server protocol with a new CONNECT statement, asynchronous I/O for Parquet and CSV reads, a first-class VARIANT type, an agent mode for the CLI, SQL triggers, and a new extensible PEG-based SQL parser. In the authors' TPC-H experiments, agent mode cut the amount of DuckDB output the model had to read by 59%. The release requires a C++17 compiler, drops the ICU library in favor of a native implementation, and DuckDB versions before 2.0 cannot read database files created by DuckDB 2.0. DuckDB 2.0 has LTS support until at least October 2027.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://duckdb.org/2026/10/21/announcing-duckdb-200.html>

## Questions this post answers

### What breaking changes does DuckDB 2.0 introduce for the storage format?

DuckDB 2.0 introduces a new storage format that older DuckDB versions before 2.0 cannot read. DuckDB 2.0 itself can still read and write existing database files, and those files remain readable by older versions. Testing on a shadow system before switching production over is recommended, and a first patch release is expected in November for mission-critical workloads.

_Teams planning a DuckDB upgrade can track breaking changes and release timing on daily.dev._

### What is agent mode in the DuckDB CLI?

Agent mode is a DuckDB 2.0 CLI feature that detects when it's being run by a coding agent like Claude Code, Codex, or Cursor, and switches output to compact Markdown tables, clearly flags truncated results, stops runaway queries early, and reports errors as JSON. Long-running queries report expected cost before running. In TPC-H experiments, it cut the output volume an agent had to read by 59%.

_Developers building AI coding agents around databases can follow tooling changes like this on daily.dev._

### Why did DuckDB replace its SQL parser with a PEG-based parser in version 2.0?

The old parser, generated with YACC/Bison as an LALR(1) parser since DuckDB's first commit in 2018, caused shift/reduce or reduce/reduce conflicts as the SQL dialect grew, because small grammar additions could collide with existing rules. The new PEG-based parser, which debuted as opt-in in DuckDB 1.5, tries alternatives in the order written, avoiding that problem, and also lets extensions hook into the grammar for new SQL syntax. It became the default in DuckDB 2.0, with a legacy_parser extension available as fallback.

_Anyone evaluating SQL engines for extensibility can compare parser design trade-offs like this on daily.dev._

## Similar posts on daily.dev

- [Announcing DuckDB 1.5.0](https://daily.dev/posts/announcing-duckdb-1-5-0-3oljixkez) · DuckDB · 54 upvotes · 1 comments
- [Why DuckDB 2.0 is faster](https://daily.dev/posts/why-duckdb-2-0-is-faster-miuefalpu) · MotherDuck · 99 upvotes · 6 comments
- [DuckDB Ecosystem Newsletter : June 2026](https://daily.dev/posts/duckdb-ecosystem-newsletter-june-2026-nnbadzzs6) · MotherDuck · 1 upvotes · 0 comments

---

Tags: [#sql](https://daily.dev/tags/sql), [#duckdb](https://daily.dev/tags/duckdb)

[View this post on daily.dev](https://daily.dev/posts/announcing-duckdb-2-0-0-lts-cinnamon-teal--bn8ymozbf)

```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":"Announcing DuckDB 2.0.0 LTS “Cinnamon Teal”","url":"https://daily.dev/posts/announcing-duckdb-2-0-0-lts-cinnamon-teal--bn8ymozbf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/announcing-duckdb-2-0-0-lts-cinnamon-teal--bn8ymozbf"},"datePublished":"2026-10-21T13:42:59.856Z","dateModified":"2026-10-22T14:15:56.256Z","description":"DuckDB 2.0.0 LTS, codenamed 'Cinnamon Teal', is now available as the project's biggest feature release yet, built from nearly 20,000 commits since version 1.5....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e7e75956cf1ed0aca2bd0fd654dea68b?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e7e75956cf1ed0aca2bd0fd654dea68b?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"DuckDB","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":"DuckDB","logo":"https://media.daily.dev/image/upload/s--3luD3Wei--/f_auto/v1714800008/logos/duckdb","url":"https://daily.dev/sources/duckdb"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/announcing-duckdb-2-0-0-lts-cinnamon-teal--bn8ymozbf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"sql,duckdb","timeRequired":"PT14M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"DuckDB","item":"https://daily.dev/sources/duckdb"},{"@type":"ListItem","position":3,"name":"Announcing DuckDB 2.0.0 LTS “Cinnamon Teal”"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/announcing-duckdb-2-0-0-lts-cinnamon-teal--bn8ymozbf#faq","mainEntity":[{"@type":"Question","name":"What breaking changes does DuckDB 2.0 introduce for the storage format?","acceptedAnswer":{"@type":"Answer","text":"DuckDB 2.0 introduces a new storage format that older DuckDB versions before 2.0 cannot read. DuckDB 2.0 itself can still read and write existing database files, and those files remain readable by older versions. Testing on a shadow system before switching production over is recommended, and a first patch release is expected in November for mission-critical workloads. Teams planning a DuckDB upgrade can track breaking changes and release timing on daily.dev."}},{"@type":"Question","name":"What is agent mode in the DuckDB CLI?","acceptedAnswer":{"@type":"Answer","text":"Agent mode is a DuckDB 2.0 CLI feature that detects when it's being run by a coding agent like Claude Code, Codex, or Cursor, and switches output to compact Markdown tables, clearly flags truncated results, stops runaway queries early, and reports errors as JSON. Long-running queries report expected cost before running. In TPC-H experiments, it cut the output volume an agent had to read by 59%. Developers building AI coding agents around databases can follow tooling changes like this on daily.dev."}},{"@type":"Question","name":"Why did DuckDB replace its SQL parser with a PEG-based parser in version 2.0?","acceptedAnswer":{"@type":"Answer","text":"The old parser, generated with YACC/Bison as an LALR(1) parser since DuckDB's first commit in 2018, caused shift/reduce or reduce/reduce conflicts as the SQL dialect grew, because small grammar additions could collide with existing rules. The new PEG-based parser, which debuted as opt-in in DuckDB 1.5, tries alternatives in the order written, avoiding that problem, and also lets extensions hook into the grammar for new SQL syntax. It became the default in DuckDB 2.0, with a legacy_parser extension available as fallback. Anyone evaluating SQL engines for extensibility can compare parser design trade-offs like this on daily.dev."}}]}
```

