
DuckDB's major 2.0 release turns the database management system into a full-fledged server
The DuckDB team has announced the release of DuckDB 2.0 LTS, code-named “Cinnamon Teal” after the reddish-brown duck native to the western Americas. At the heart of DuckDB 2.0 is the Quack remote protocol, which fundamentally transforms DuckDB from a purely embedded database engine into a full client-server system. Quack enables two DuckDB instances to communicate over HTTP, allowing one DuckDB to act as a server while others connect as clients, supporting multi-writer setups and remote access without leaving the DuckDB ecosystem. The protocol uses custom serialization that transfers DuckDB's internal vector blocks directly over the network rather than transcoding data to another format, minimizing overhead on both ends and optimizing for both small transactions and large batch operations. Coupled with the new CONNECT statement and a remote pushdown optimizer, SQL can be executed directly on PostgreSQL and MySQL backends rather than pulling entire tables over the wire, representing a significant architectural leap for the project.
Beyond connectivity, performance and usability take center stage. Asynchronous I/O for reading Parquet and CSV files now allows the I/O layer to scale independently from query processing by issuing background reads and keeping multiple requests in flight, delivering dramatically faster queries on object storage such as S3. The VARIANT type has become a first-class citizen, enabling users to store and query semi-structured JSON-style data directly alongside traditional types. The CLI introduces an agent mode that detects when coding agents like Claude Code, Codex, and Cursor are driving it, responding with compact Markdown tables, JSON errors, and cost estimates for long-running queries. In TPC-H tests, the team reports this cut output models had to read by 59%. Additional features include triggers, an extensible SQL parser, and SQL dialect additions.
Built from nearly 20,000 commits since DuckDB 1.5, version 2.0 represents a deliberate shift from the stability-focused 1.0 era toward a release packed with new capabilities. The team describes it as DuckDB's biggest feature release so far, with the new architecture positioning the engine for broader adoption in cloud-native analytics stacks where centralized state and remote access matter more than hyper-local querying alone.
No comments so far, maybe you want to be first?




