What duckdb/duckdb shipped
Written by FoxPlug from public releases; not affiliated with DuckDB. An automatic summary of the public release, pull request and commit data of github.com/duckdb/duckdb. DuckDB did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
Week of September 21, 2026
What shipped
- Fixed ordering comparison of fixed-size arrays where equal arrays incorrectly returned true for greater-than and less-than operators. Pull request #26208
- Fixed NO CYCLE sequences that were returning INT64_MIN after overflow by ensuring the counter only updates after validation checks pass. Pull request #26168
- Fixed Parquet VARIANT writer incorrectly encoding 64-byte strings as short strings, causing them to read back as empty. Pull request #26130
- Fixed CSV reader division by zero crash when max_line_size parameter causes buffer size to overflow. Pull request #26131
- Fixed out-of-bounds read in CSV projection pushdown when rows contain escaped extra columns. Pull request #26100
- Added support for casting TIMESTAMPTZ directly to TIMESTAMPTZ_NS, which previously required going through VARCHAR. Pull request #25346
- Fixed FileSystem::JoinPath to preserve query string parameters in remote URLs when appending path segments. Pull request #26148
- Fixed FILL extrapolation for decreasing integer runs by correcting the slope calculation. Pull request #26057
- Added support for directly serializing shredded variant vectors in the new storage format instead of first unshredding them. Pull request #26169
- Improved multi-file scan performance by replacing yield-spinning with condition variable waits for async file opens. Pull request #26149
Why it matters
This week included multiple critical bug fixes affecting data correctness and performance: sequence overflow handling, Parquet variant serialization, CSV reader crashes, and array comparison semantics. These address edge cases in core functionality that users may encounter with large datasets or specific data types.
Changelog entry
- Fixed ordering comparison operators for equal fixed-size arrays Pull request #26208
- Fixed NO CYCLE sequences returning INT64_MIN after overflow Pull request #26168
- Fixed Parquet VARIANT writer encoding 64-byte strings as short strings Pull request #26130
- Fixed CSV reader division by zero when max_line_size causes buffer overflow Pull request #26131
- Fixed out-of-bounds read in CSV projection with escaped extra columns Pull request #26100
- Added TIMESTAMPTZ to TIMESTAMPTZ_NS cast support Pull request #25346
- Fixed FileSystem::JoinPath to preserve query strings in remote URLs Pull request #26148
- Fixed FILL extrapolation for decreasing integer runs Pull request #26057
- Added support for shredded variant vector serialization Pull request #26169
- Improved multi-file scan async performance with condition variables Pull request #26149
- Restored grouped MARK semantics when binding explicit joins Pull request #26061
- Backported enable_optimistic_write setting to v1.5 Pull request #26102
This week: fixes for fixed-size array comparisons, sequence overflow, Parquet VARIANT strings, CSV crashes, and TIMESTAMPTZ casting. Plus improvements to remote file paths and async scan performance.
DuckDB shipped a collection of important fixes this week addressing data correctness and performance. Highlights include correcting fixed-size array comparison operators, fixing sequence overflow handling to prevent silent failures, resolving Parquet VARIANT string serialization for 64-byte strings, and eliminating a CSV reader division-by-zero crash. Additionally, TIMESTAMPTZ direct casting, remote URL query parameter preservation, and async file scan performance improvements help round out the release.