DuckDB 1.5.6 Ships Correctness and Crash Fixes, and Previews a Windows Build of v2.0 That Ran TPC-H More Than 6x Faster
DuckDB's sixth 1.5 patch release fixes wrong-result and crash bugs; the team also reports a v2.0.0-dev Windows build finishing a TPC-H SF300 run in 129 seconds versus 822.
Overview
The DuckDB team released version 1.5.6 on September 28, 2026. According to the DuckDB blog, it is the sixth patch release in the 1.5 (Variegata) line and ships bugfixes, performance improvements and security patches. The same post gives an early Windows benchmark of the upcoming v2.0.0-dev, which the team says was more than 6x faster than v1.5.6 on a TPC-H workload.
What Is in 1.5.6
The DuckDB blog groups its highlighted fixes into correctness, crashes and internal errors, generic bugfixes, and miscellaneous changes.
Correctness. Fixes listed by the team include LIMIT pushdown through a volatile projection with an OFFSET, filters no longer being pushed through aggregates on volatile groups, UNNEST pushdown, and NULL handling in Top-N window elimination. Other items cover wrong results from common subplan elimination with UNION ALL arms that share a join subtree, silent truncation of very long integer literals into HUGEINT, and max on a Hive partition column after file pruning. The post also lists fixes for TIME_NS values in Parquet and for Parquet VARIANT shredding.
Crashes and internal errors. The DuckDB blog lists a crash in Top-N with LIMIT 0, a segfault in url_decode with TRY() on dictionary-encoded columns, a failed checkpoint marker recovery, and a change to close the main write-ahead-log handle before renaming over it during WAL recovery. The GitHub release notes carry the crash and WAL entries as well.
Other changes. Per the blog post, the release adds an enable_optimistic_write setting, hardens temporary file reads, always quotes identifiers in error messages, and unifies C API symbol versioning for clients and extensions while stabilizing all v1 APIs. The GitHub release notes also list a backport of DuckDB 2.0 API spellings to 1.5 and version bumps for extensions including DuckLake and iceberg.
Windows Preview of v2.0
Under the heading “Looking Ahead: DuckDB v2.0 on Windows,” the DuckDB blog describes a test on Windows 11 25H2 on a laptop with 128 GB RAM and 12 AMD Ryzen AI 300 CPU cores with simultaneous multithreading, yielding 24 threads. The team used the TPC-H SF300 dataset and ran each query twice on both DuckDB v1.5.6 and v2.0.0-dev (alpha43586).
The post reports that the total runtime for v1.5.6 was 822 seconds, while for v2.0.0-dev it was 129 seconds. The team writes: “That’s more than 6× faster!” It attributes the improvement to several optimizations, including a switch to the clang-cl compiler and a new allocator.
The team also cautions readers: “please do not expect a 6× speedup to generalize to all workloads”. It adds that users should still see significant improvements. The result is a single vendor-run benchmark on one laptop configuration, and no independent replication appears in the sources reviewed.
What We Don’t Know
- How the Windows gains divide between the compiler switch and the new allocator; the post names both without separating them.
- How v2.0.0-dev performs on Linux or macOS relative to 1.5.6; the post’s comparison covers Windows only.
- The final v2.0.0 feature set beyond what the post says. The team says v2.0.0 is due in October.
Context
The v2.0 line was previously covered by The Machine Herald, which reported in August on the project’s preview of v2.0 and its parser replacement.