alitrack

DuckDB 2.0 来了:代号 Cyanoptera

2026 年 7 月 2 日,DuckDB 主仓库合入了一个只有 3 行代码的 PR:#23056 "Codename 'Cyanoptera'"。改动极小——在版本文件里加了一段 if 判断——但它在说一件事:DuckDB 2.0 的开发周期开始了。

if (StringUtil::StartsWith(DUCKDB_VERSION, "v2.0.")) {
    return "Cyanoptera";
}

Cyanoptera,中文叫蓝翅鸭(Blue-winged Teal),是 DuckDB 团队为 v2.0 选定的版本代号。在不到一个月前的 DuckCon #7 上,团队已经用「Cinnamon Teal」(桂红鸭)称呼过它——两种叫法指向同一种鸭科动物,只是变体名不同。

● ● ●

不是什么偶然的 PR

这个小 PR 由 Carlo Piovesan(DuckDB 核心维护者)在 6 月 4 日创建,7 月 2 日由 Laurens Kuiper 合入。它躺在 main 分支上将近一个月,说明团队在 DuckCon 之前就已经准备好了 v2.0 的命名,只是等大会开完才正式落地。

从 DuckCon #7 的「State of the Duck」主题演讲里,能拼出 v2.0 的几个方向:

Rebranding(品牌更新)。Slides 第 21 页单独一页写着「Rebranding」,紧随其后就是「DuckDB 2.0 (Cinnamon Teal)」。v2.0 不只是一个版本号跳跃,可能伴随着视觉和品牌的刷新。

C API v2。Slides 第 33-34 页专门讲了 C API 的 v2 版本,包括 extension 开发场景。这是 DuckDB 生态的关键基础设施——目前各语言的 binding(Python、R、Rust、Go)底层都依赖 C API。v2 意味着 API 设计有一次系统性的重构。

PEG 解析器成为默认。DuckDB 在 2024 年就重写了 SQL 解析器,用运行时可扩展的 PEG(Parsing Expression Grammar)替代了旧的 yacc/bison 方案。v2.0 会把 PEG 解析器设为默认,这意味着社区扩展可以更灵活地添加自定义 SQL 语法。

Quack 协议稳定化。Quack 是 DuckDB 在今年 5 月发布的客户端-服务器协议(对标 Postgres wire protocol)。v2.0 周期内 Quack 会从实验性状态进入稳定版。

● ● ●

已知的 breaking change

官方 Roadmap 页(2026 年 6 月更新)在「Planned Deprecations」一栏明确写了:

DuckDB v1.5 throws a warning when using the deprecated syntax and DuckDB v2.0 will throw an error (unless configured explicitly to allow the old syntax).

指的是 lambda 语法的废弃。旧的 x -> x + 1 将被移除,统一使用 Pythonic 的 lambda x: x + 1。v1.5 已经会警告,v2.0 直接报错。

这是目前唯一确认的 breaking change。按 DuckDB 团队的风格(过去的 v1.x 小版本升级也几乎零 break),v2.0 的破坏性改动应该会很克制。

● ● ●

时间线怎么看

2026.03 — v1.5.0 发布(PEG 解析器可选)
2026.05 — Quack 协议发布
2026.06.17 — v1.5.4(Variegata)发布
2026.06.24 — DuckCon #7,预告 v2.0 + Rebranding
2026.07.02 — v2.0 代号合入 main

目前 main 分支上还没有 v2.0 的功能 PR 合入——Cyanoptera 是第一个明确的 v2.0 信号。按 DuckDB 过去 3-4 个月的版本节奏,v2.0 可能在 2026 年下半年正式发布。

● ● ●

为什么有意思

DuckDB 从 2019 年发布至今,一直保持在 1.x。这个嵌入式 OLAP 数据库已经在 39,000+ GitHub Star、3300+ fork 的体量上跑了 7 年。v2.0 不管改动多大,都意味着团队认为现在的 DuckDB 和 2019 年的 DuckDB 已经不是同一个东西了——无论是 API 设计、扩展生态、还是 Quack 带来的客户端-服务器能力。

「Cyanoptera」这只蓝翅鸭,可能会带着一个更完整的 DuckDB 格局到来。


来源:

  • PR #23056: github.com/duckdb/duckdb/pull/23056
  • DuckDB Roadmap: duckdb.org/roadmap.html
  • DuckCon #7: duckdb.org/events/2026/06/24/duckcon7/
  • DuckCon #7 State of the Duck slides: blobs.duckdb.org/events/duckcon7/hannes-muehleisen-mark-raasveldt-duckcon7-state-of-the-duck.pdf