The DuckDB team announced on October 21 the release of DuckDB 2.0.0 LTS, codenamed "Cinnamon Teal" (Spatula cyanoptera). According to the official blog post, this is the project's biggest feature release so far, built from close to 20,000 commits since DuckDB 1.5 — and it arrives with long-term support until at least October 2027.
Unlike DuckDB 1.0, which focused on stability and backward compatibility, DuckDB 2.0 is primarily a feature release. It ships a polished Quack protocol, asynchronous I/O, a first-class Variant type, agent mode, triggers, an extensible SQL parser and more. Some clients, like the CLI and Python, are already available; others (R, Rust, and some extensions) may take a few days due to extra review rounds.
DuckDB 2.0.0 LTS new features
The release introduces a polished version of the Quack protocol with better performance and stability. A new CONNECT statement lets you attach and switch to a remote database in one command. By default the Quack server listens on localhost only; to accept remote connections, the team recommends keeping it on localhost behind a TLS-terminating reverse proxy. The allow_other_hostname option is meant for testing only.
Asynchronous I/O now covers Parquet, CSV and DuckDB's native storage format, letting the I/O layer scale independently from query processing — especially useful for remote reads on object storage like s3://. DuckDB 1.5 already introduced Variant, but 2.0 fully integrates it: semi-structured, schema-less data is shredded so it compresses well and executes fast, with end-to-end support for Parquet and a family of variant_* functions.
Agent mode in the CLI is also included, aimed at coding agents such as Claude Code. Triggers, an extensible SQL parser and other improvements round out this release. Full details are in the official blog post and the GitHub release notes.
- Polished Quack protocol with new CONNECT statement for remote databases



