DuckDB, an open-source, in-process analytical database often described as “SQLite for analytics,” has announced version 1.4, codenamed “Andium” – an LTS release, which means one year of community support.
One of the most significant additions is the added support for database encryption. DuckDB now supports AES-256 in GCM mode, covering the main database file, WAL, and even temporary files.
Encryption keys are passed via the ENCRYPTION_KEY
parameter to ATTACH
. The feature can run on the built-in mbedtls library, but the OpenSSL implementation is faster since it benefits from hardware acceleration.
Another key feature is support for the SQL MERGE INTO
statement. Instead of relying only on INSERT INTO … ON CONFLICT
, DuckDB now allows flexible upserts and deletes using custom match conditions.
On the storage side, the duckdb-iceberg extension now supports writing to Iceberg, not just reading from it. Additionally, users can copy data between DuckDB, DuckLake, and Iceberg; however, schemas must be created manually on the Iceberg side before data is written.
Other important updates include a CLI progress bar with ETA contributed by Rusty Conover, a new FILL
window function for interpolating missing values, and a Teradata connector.
Lastly, on the performance side, sorting was rewritten to use a k-way merge approach, CTEs are now materialized by default, and in-memory tables gained checkpointing with optional compression.
Distribution updates include macOS notarization for binaries and the migration of the Python integration to its own repository, duckdb/duckdb-python
.
For more information, visit the announcement.