Impact Score: 5/10
DuckDB v1.5.2 Bugfix Release
Source available โ automated, not human-reviewed
Component: duckdb ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
DuckDB v1.5.2. Source highlight: This is a bug fix release for various issues discovered after we released v1.5.1
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โจ New Features & Capabilities (6)
- [lance] Add for v1.4-andium
- add lance for v1.4
- Add descriptions for vortex and lance
- Add setting for limiting the number of threads launched concurrently in the test runner (`max_test_threads`)
- CLI: Add .help shortcuts
- Add missing test for delta byte array
๐ง Bug Fixes & Patches (6)
- Backport various race condition fixes to v1.4
- Fix unbounded row group growth for indexed tables on repeated load+insert cycles
- Fix memory leak when reusing PreparedStatement (#21089)
- Fix #21512: correctly render empty results in .mode json
- Fix parsing test path to skip
- Unify adding suffixes to path in `Path:: AddSuffixToPath` - fix temp directory split bug
๐ View Raw Release Notes (Original Developer Log)
This is a bug fix release for various issues discovered after we released v1.5.1
## What's Changed
* Backport various race condition fixes to v1.4 by @Mytherin in https://github.com/duckdb/duckdb/pull/20804
* bump ref to azure for v1.4.4 (rebuild) by @benfleis in https://github.com/duckdb/duckdb/pull/20888
* Internal #7584: AsOf Simple Joins by @hawkfish in https://github.com/duckdb/duckdb/pull/21090
* Do not write ccache to github cache for v1.4-andium by @smvv in https://github.com/duckdb/duckdb/pull/21109
* Disable extension caching for v1.4 to free github cache space by @smvv in https://github.com/duckdb/duckdb/pull/21150
* Disable save_cache for v1.4-andium by @smvv in https://github.com/duckdb/duckdb/pull/21167
* Backport #19232: allow * Not similar to 'pattern' by @Dtenwolde in https://github.com/duckdb/duckdb/pull/21177
* backport zstd PR to 1.4 by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/21178
* Fix unbounded row group growth for indexed tables on repeated load+insert cycles by @abramk in https://github.com/duckdb/duckdb/pull/21316
* Backport #21271 by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/21326
* [lance] Add for v1.4-andium by @carlopi in https://github.com/duckdb/duckdb/pull/21410
* add lance for v1.4 by @samansmink in https://github.com/duckdb/duckdb/pull/21113
* Correctly detect overflows when decoding integers from storage by @Mytherin in https://github.com/duckdb/duckdb/pull/21482
* Correctly revert dictionary size when reverting string appends by @Mytherin in https://github.com/duckdb/duckdb/pull/21489
* Add descriptions for vortex and lance by @carlopi in https://github.com/duckdb/duckdb/pull/21500
* Fixup Write bytes are counted as BYTES_WRITTEN by @carlopi in https://github.com/duckdb/duckdb/pull/21501
* Fix memory leak when reusing PreparedStatement (#21089) by @wzharies in https://github.com/duckdb/duckdb/pull/21104
* Make some MultiStatements and PRAGMAs Transactional by @yan-alex in https://github.com/duckdb/duckdb/pull/21171
* Reduce concurrent thread count in test by @Mytherin in https://github.com/duckdb/duckdb/pull/21511
* Fixing integer overflow in list_resize by @hannes in https://github.com/duckdb/duckdb/pull/21515
* Fix #21512: correctly render empty results in .mode json by @Mytherin in https://github.com/duckdb/duckdb/pull/21517
* Fix parsing test path to skip by @jeewonhh in https://github.com/duckdb/duckdb/pull/21495
* Add setting for limiting the number of threads launched concurrently in the test runner (`max_test_threads`) by @Mytherin in https://github.com/duckdb/duckdb/pull/21520
* Unify adding suffixes to path in `Path:: AddSuffixToPath` - fix temp directory split bug by @Mytherin in https://github.com/duckdb/duckdb/pull/21527
* Correctly deal with negative values in `GetPosixVersionTag`, and fix constant `NULL` struct scans after recent fix by @Mytherin in https://github.com/duckdb/duckdb/pull/21549
* Fix missing extension static libs in Windows MinGW bundle by @mlafeldt in https://github.com/duckdb/duckdb/pull/21559
* PEG grammar fixes: Update extension and allow numeric struct keys by @Dtenwolde in https://github.com/duckdb/duckdb/pull/21331
* [v1.5-variegata] Fix #21514: ASOF join empty right by @Pieczasz in https://github.com/duckdb/duckdb/pull/21553
* Fix data path in `test/sql/copy/parquet/parquet_no_stats.test` by @jeewonhh in https://github.com/duckdb/duckdb/pull/21561
* TopNWindowElimination Column Binding Fix by @d-justen in https://github.com/duckdb/duckdb/pull/21564
* lance: bump lance-duckdb to 4d9ecab by @Xuanwo in https://github.com/duckdb/duckdb/pull/21572
* Bump Julia to `v1.5.0` by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21588
* Bump Julia to `v1.4.4` on `v1.4-andium` by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21589
* Simplify the way we determine which row groups to checkpoint during checkpoints by @Mytherin in https://github.com/duckdb/duckdb/pull/21574
* Fix for CSV reader buffer-boundary value read by @Mytherin in https://github.com/duckdb/duckdb/pull/21577
* CLI: Avoid division by zero when formatting a large result with a non-wide shell by @Mytherin in https://github.com/duckdb/duckdb/pull/21591
* Backport `__EMSCRIPTEN__` fix by @Mytherin in https://github.com/duckdb/duckdb/pull/21581
* Fix missing SetSizeAndFinalize in BIGNUM Add for zero result case by @pdet in https://github.com/duckdb/duckdb/pull/21465
* Segfault due to unchecked malloc/realloc, proposed fix to #21593 by @wasade in https://github.com/duckdb/duckdb/pull/21594
* Reduce arg_min_max_n heap preallocation by @feichai0017 in https://github.com/duckdb/duckdb/pull/21467
* Fixed an issue where the describe statement did not work correctly in markdown output mode(ISSUE:#21579) by @ArNine in https://github.com/duckdb/duckdb/pull/21611
* fix unpivot serialization by @Maxxen in https://github.com/duckdb/duckdb/pull/21595
* Windows shell: enable VT100 processing on startup by @staticlibs in https://github.com/duckdb/duckdb/pull/21615
* Make PEG Parser use strict mode in CI by @Dtenwolde in https://github.com/duckdb/duckdb/pull/21590
* Fix #21623: flatten input chunk in TopNHeap::CheckBoundaryValues by @Mytherin in https://github.com/duckdb/duckdb/pull/21629
* Issue #21592: Window Self-Join Framing by @hawkfish in https://github.com/duckdb/duckdb/pull/21628
* Bump Julia to v1.5.1 by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21637
* Merge v1.4-andium into v1.5-variegata by @Mytherin in https://github.com/duckdb/duckdb/pull/21639
* Bump storage version to `v1.5.2` by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21638
* bump delta and unity_catalog ext refs in v1.5-variegata by @benfleis in https://github.com/duckdb/duckdb/pull/21640
* Fix cancellation order between pipelines and tasks in CancelTasks by @carlopi in https://github.com/duckdb/duckdb/pull/21642
* Fix shell completion enter handling by @atulagrwl in https://github.com/duckdb/duckdb/pull/21552
* fix(adbc): err use after free by @gishor in https://github.com/duckdb/duckdb/pull/21605
* Fix some Parquet fuzzer issues by @lnkuiper in https://github.com/duckdb/duckdb/pull/21635
* Re-organize WAL replay slightly, and correctly deal with empty checkpoint WAL files in WAL recovery by @Mytherin in https://github.com/duckdb/duckdb/pull/21645
* Warn instead of error when trying to persist geometry columns with CRS in old storage format by @Maxxen in https://github.com/duckdb/duckdb/pull/21649
* Avoid throwing an error when failing to bind views in `duckdb_columns` by @Mytherin in https://github.com/duckdb/duckdb/pull/21658
* Infer timestamps with timezone in read_json_auto by @leo-altertable in https://github.com/duckdb/duckdb/pull/21660
* Windows: remove prefix from canonical paths by @staticlibs in https://github.com/duckdb/duckdb/pull/21652
* CLI: Add .help shortcuts by @carlopi in https://github.com/duckdb/duckdb/pull/21662
* Internal #8553: Window TopN Except by @hawkfish in https://github.com/duckdb/duckdb/pull/21671
* Fix issue with struct filter on missing structs by @Mytherin in https://github.com/duckdb/duckdb/pull/21676
* Internal #7568: ASOF SEMI Test by @hawkfish in https://github.com/duckdb/duckdb/pull/21683
* Fix type check in `st_crs` by @Maxxen in https://github.com/duckdb/duckdb/pull/21688
* Disable regular updates for geometry by @Maxxen in https://github.com/duckdb/duckdb/pull/21641
* Fix stoi crash in Arrow format string parsing for w: and +w: types by @yharby in https://github.com/duckdb/duckdb/pull/21692
* Test runner: Support replacement without dollar (`{i}` instead of `${i}`) in loop iterators by @Mytherin in https://github.com/duckdb/duckdb/pull/21708
* Internal #8657: IEJoin Filter Sides by @hawkfish in https://github.com/duckdb/duckdb/pull/21721
* Add missing test for delta byte array by @ccfelius in https://github.com/duckdb/duckdb/pull/21714
* Fix variant shredding consistency issue by @Tishj in https://github.com/duckdb/duckdb/pull/21715
* TopNWindowElimination fixes by @d-justen in https://github.com/duckdb/duckdb/pull/21663
* Ignore `NULL`/`__HIVE_DEFAULT_PARTITION__` when detecting types by @lnkuiper in https://github.com/duckdb/duckdb/pull/21731
* fix path test warnings by @benfleis in https://github.com/duckdb/duckdb/pull/21711
* Allow `SET DEFAULT / DROP DEFAULT` for tables that have dependencies by @Mytherin in https://github.com/duckdb/duckdb/pull/21729
* Add clickbench by @c-herrewijn in https://github.com/duckdb/duckdb/pull/21730
* Fix prepared temp-table INSERT invalidation after DROP by @wordhardqi in https://github.com/duckdb/duckdb/pull/21712
* Allow join filter pushdown through integral up/down casts by @lnkuiper in https://github.com/duckdb/duckdb/pull/21743
* Allow join filter pushdown for NOP collations by @lnkuiper in https://github.com/duckdb/duckdb/pull/21742
* counting fix by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/21733
* [Variant] Re-add the removed `variant_legacy_encoding` setting by @Tishj in https://github.com/duckdb/duckdb/pull/21710
* Fix update plans when deserializing if type no longer supports regular updates by @Maxxen in https://github.com/duckdb/duckdb/pull/21718
* Re-instantiate dependencies of tables for `ALTER TABLE ... DROP COLUMN` and `ALTER TABLE .. SET DEFAULT` by @Mytherin in https://github.com/duckdb/duckdb/pull/21752
* Use correct error message for name conflicts between table and views by @JelteF in https://github.com/duckdb/duckdb/pull/21760
* Bump spatial by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21781
* PEG parser strict mode: followup fixes and improvements by @Dtenwolde in https://github.com/duckdb/duckdb/pull/21709
* Fix DELETE RETURNING for rows inserted in the same transaction by @rustyconover in https://github.com/duckdb/duckdb/pull/21541
* Disable bloom filter pushdown through casts by @lnkuiper in https://github.com/duckdb/duckdb/pull/21792
* Bugfixes by @lnkuiper in https://github.com/duckdb/duckdb/pull/21793
* Bump test utils by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21795
* Expose HIDDEN as an ATTACH option by @utay in https://github.com/duckdb/duckdb/pull/21764
* Fix TopN window elimination with external CTE refs by @feichai0017 in https://github.com/duckdb/duckdb/pull/21686
* Issue #21682: TopN Window Sets by @hawkfish in https://github.com/duckdb/duckdb/pull/21775
* Add support for reading geometry type to the C-API by @Maxxen in https://github.com/duckdb/duckdb/pull/21763
* Fix ADBC data race by @dentiny in https://github.com/duckdb/duckdb/pull/21800
* Fix Arrow REE INT64 run_ends using wrong template parameter by @rustyconover in https://github.com/duckdb/duckdb/pull/21847
* Fix integer overflow crash in list repeat function by @rustyconover in https://github.com/duckdb/duckdb/pull/21873
* [minor] Fix CreateViewInfo::Copy() not copying names by @LucaSoato in https://github.com/duckdb/duckdb/pull/21819
* Fix case-sensitive default database check allowing detach of default database by @rustyconover in https://github.com/duckdb/duckdb/pull/21863
* Fix geometry TextWriter corrupting coordinates in scientific notation by @rustyconover in https://github.com/duckdb/duckdb/pull/21893
* Issue #21820: TopN Window Projections by @hawkfish in https://github.com/duckdb/duckdb/pull/21902
* Bump Postgres, MySQL and SQLite by @staticlibs in https://github.com/duckdb/duckdb/pull/21899
* AddToBeRescheduled: Avoid UB in assigning vs move by @carlopi in https://github.com/duckdb/duckdb/pull/21912
* vacuum_rebuild_indexes threshold setting by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/21769
* Fix CSV process over buffer out-of-bound access by @dentiny in https://github.com/duckdb/duckdb/pull/21840
* Fix is_histogram_other_bin handle null by @dentiny in https://github.com/duckdb/duckdb/pull/21841
* Merge `v1.4-andium` into `v1.5-variegata` by @Mytherin in https://github.com/duckdb/duckdb/pull/21919
* Fix in-place update to look only at updated columns by @jeewonhh in https://github.com/duckdb/duckdb/pull/21922
* Issue #21905: AGO Overflow Check by @hawkfish in https://github.com/duckdb/duckdb/pull/21936
* Fix common subplan optimizer bug by @kryonix in https://github.com/duckdb/duckdb/pull/21932
* Issue #21907: Invalid Window Macros by @hawkfish in https://github.com/duckdb/duckdb/pull/21929
* [ART] Fix information loss on index build cast by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21815
* Improve geometry WKT parsing and add geometry to `test_all_types` v2 by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21805
* Run ArrowConverter::ToArrowSchema in a transaction by @evertlammerts in https://github.com/duckdb/duckdb/pull/21927
* Fix invalid memory access when CSV columns less than expected by @dentiny in https://github.com/duckdb/duckdb/pull/21822
* Use `BLOB`, not `VARCHAR` for row group pruning by @lnkuiper in https://github.com/duckdb/duckdb/pull/21946
* Add HTTPUtil::CloseClient(...) with trivial no-op implementation, and base_url field to HTTPClient by @carlopi in https://github.com/duckdb/duckdb/pull/21924
* Fix incorrect results when using `try` within `if` by @jankramer in https://github.com/duckdb/duckdb/pull/21943
* lance: bump lance-duckdb to 1b4ef68 by @Xuanwo in https://github.com/duckdb/duckdb/pull/21944
* Fix Arrow union type_ids buffer ignoring chunk_offset by @rustyconover in https://github.com/duckdb/duckdb/pull/21848
* Make parser override work with parser extensions by @Dtenwolde in https://github.com/duckdb/duckdb/pull/21761
* [Dev] Bump the `merge_vcpkg_deps` script to bump the baseline of the registry by @Tishj in https://github.com/duckdb/duckdb/pull/21950
* Bump httpfs to include recent fixes, also adding new no-op setting by @carlopi in https://github.com/duckdb/duckdb/pull/21949
* Parquet writer: allow partial variant shredding in Parquet, instead of bailing out when a single struct field does not match by @Mytherin in https://github.com/duckdb/duckdb/pull/21959
* Bump Postgres by @staticlibs in https://github.com/duckdb/duckdb/pull/21958
* bump iceberg by @Tmonster in https://github.com/duckdb/duckdb/pull/21967
* [Parquet][VARIANT] Add support for Snowflake-produced shredded VARIANT Parquet files by @Tishj in https://github.com/duckdb/duckdb/pull/21814
* Make Oids start at 20k to avoid unintended collisions by @JelteF in https://github.com/duckdb/duckdb/pull/20979
* Unlock transaction lock during fallback WAL write by @Mytherin in https://github.com/duckdb/duckdb/pull/21969
* bump avro hash by @Tishj in https://github.com/duckdb/duckdb/pull/21974
* Shred unsigned types in VARIANT when writing to Parquet by @Mytherin in https://github.com/duckdb/duckdb/pull/21973
* Fix "make clangd" by @JelteF in https://github.com/duckdb/duckdb/pull/21981
* MERGE INTO - no need to extract logical get, we already know where it is by @Mytherin in https://github.com/duckdb/duckdb/pull/21984
* Attempt to fix invalid memory access by @dentiny in https://github.com/duckdb/duckdb/pull/21985
* Json function should be set CanThrow by @tianjq16 in https://github.com/duckdb/duckdb/pull/21972
* bump azure and delta for v1.5.2 by @benfleis in https://github.com/duckdb/duckdb/pull/21979
* Bumping DuckLake by @pdet in https://github.com/duckdb/duckdb/pull/21989
* Bump httpfs, now with implemented httpfs_connection_caching (opt-in) by @carlopi in https://github.com/duckdb/duckdb/pull/21982
* Revert "Run ArrowConverter::ToArrowSchema in a transaction" by @evertlammerts in https://github.com/duckdb/duckdb/pull/22007
**Full Changelog**: https://github.com/duckdb/duckdb/compare/v1.5.1...v1.5.2