DuckDB has released version 2.0.0, a long-term-support edition codenamed Cinnamon Teal that combines changes to remote database access, storage I/O, semi-structured data and developer tooling. The project describes the October 21 release as its largest feature update so far, built from almost 20,000 commits since DuckDB 1.5.
The release gives the Quack protocol, introduced earlier in the 1.5 line, a more mature role. Quack allows DuckDB to operate in a client-server configuration rather than solely as a database embedded inside another process. A new `CONNECT` statement can attach a session to a remote DuckDB server and can also target PostgreSQL or MySQL. For those external systems, DuckDB says its remote-pushdown optimizer can send work to the source database instead of transferring entire tables before processing them.
DuckDB 2.0 also introduces asynchronous input and output for Parquet, CSV and the database's native storage format. Reads can proceed in the background with several requests in flight, separating I/O concurrency from query-processing parallelism. The design is intended to improve utilization when data sits in object storage, where network latency can otherwise leave query workers waiting.
For semi-structured information, the release fully integrates the `VARIANT` type first previewed in DuckDB 1.5. Unlike text JSON, VARIANT stores differently shaped values while retaining columnar execution. DuckDB detects shared structure and separates, or “shreds,” it for compression and processing. The implementation extends through Parquet import and export and includes a family of functions for working with variant values.
The command-line client now includes an agent mode aimed at coding assistants that invoke DuckDB through tools. It produces compact Markdown output, explicitly marks truncated results, reports errors as JSON and can stop runaway operations. Long queries expose an expected cost before execution. DuckDB says its TPC-H experiments reduced the output an agent needed to consume by 59 percent. Users can select the behavior explicitly with `-agent` or disable it with `-no-agent`.
A PEG-based SQL parser, available as an option in 1.5, becomes the default. Extensions can add grammar, and errors include more precise source locations. The project says the new parser is designed for compatibility, while a legacy-parser setting remains available if applications encounter a regression.
DuckDB 2.0 is supported until at least October 2027. Version 1.4 remains supported until late November 2026, while 1.5 has been extended through March 2027. The project cautions that some clients and extensions may arrive several days after the core release because they require separate review and packaging. That staged availability, together with documented breaking changes, makes compatibility testing the immediate task for production users considering the upgrade.



