# DuckDB changelog > An in-process analytical database. - Vendor: DuckDB Foundation - Category: Developer Tools - Official site: https://duckdb.org - Tracked by: What's New (https://whatsnew.fyi/product/duckdb) - Harvested from: GitHub (duckdb/duckdb) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### v1.5.5 — DuckDB v1.5.5 Bugfix Release - Date: 2026-07-22 - Version: v1.5.5 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.5 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.5.5 - **security** — Backport out-of-bounds security fixes from pull request #23100 - **fixed** — Fix deadlock in TemporaryMemoryManager - **fixed** — Prevent NULL MAP keys in MultiFileReader because of missing default value - **fixed** — Propagate lambda bindings into try operator - **fixed** — Fix out-of-bounds read in JSON path ReadKey lookahead - **fixed** — Fix out-of-bounds read in string to struct cast - **fixed** — Fix false RLE corruption error - **fixed** — Improve RLE corruption error messages - **fixed** — Fix eviction node memory leak when external file is used - **fixed** — Fix min/max aggregate stats when row groups are filtered - **fixed** — Fix arrow type extension bugs - **fixed** — Fix out-of-bounds read in dictionary string decompression - **fixed** — Fix out-of-bounds read on empty byte array decimals - **fixed** — Fix ALTER TABLE ADD COLUMN IF NOT EXISTS DEFAULT regression - **fixed** — Fix unsafe iteration when parent is NULL in string cast - **fixed** — Fix DROP COLUMN corrupting per-column metadata block bookkeeping - **added** — Add support for duckdb:// URI scheme in ADBC URI option - **added** — Add request body length to HTTP logs - **added** — Show transport errors in HTTP logs - **added** — Add support for test config extending - **changed** — Correctly get typed value stats for fully shredded variants This is a bug fix release for various issues discovered after we released v1.5.4. ##### What's Changed * backport the out-of-bounds security fixes made in #23100 by @Tishj in https://github.com/duckdb/duckdb/pull/23197 * Remove checked_array_iterator from fmt dep (1.4) by @carlopi in https://github.com/duckdb/duckdb/pull/23261 * Remove checked_array_iterator from fmt dep (1.4) by @staticlibs in https://github.com/duckdb/duckdb/pull/23239 * [Dev] Add LLDB scripts to help with debugging by @Tishj in https://github.com/duckdb/duckdb/pull/23297 * Add support for test config extending by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/23145 * bump iceberg again by @Tmonster in https://github.com/duckdb/duckdb/pull/23311 * Correctly get typed value stats for fully shredded variants by @Mytherin in https://github.com/duckdb/duckdb/pull/23325 * bump unity to include backfill fix by @benfleis in https://github.com/duckdb/duckdb/pull/23326 * Add request body length to http logs by @DinosL in https://github.com/duckdb/duckdb/pull/23316 * Show transport errors in HTTP log by @DinosL in https://github.com/duckdb/duckdb/pull/23327 * Dispatch Rust nightly build by @mlafeldt in https://github.com/duckdb/duckdb/pull/23352 * parquet: reject DATA_PAGE_V2 pages with inconsistent compressed_page_size by @benfleis in https://github.com/duckdb/duckdb/pull/23279 * Fix deadlock in `TemporaryMemoryManager` by @lnkuiper in https://github.com/duckdb/duckdb/pull/23351 * Register `oid` of dependencies in the `DependencyManager` so that we can track if an object was re-created with the same name by @Mytherin in https://github.com/duckdb/duckdb/pull/23348 * [Dev] Fix recursion issue with `scripts/lldb/pointer_print` by @Tishj in https://github.com/duckdb/duckdb/pull/23362 * [MultiFileReader] Prevent NULL MAP keys because of (likely missing) default value by @Tishj in https://github.com/duckdb/duckdb/pull/23354 * Propagate lambda bindings into `try` operator by @Mytherin in https://github.com/duckdb/duckdb/pull/23375 * Bump Julia to v1.5.4 by @carlopi in https://github.com/duckdb/duckdb/pull/23398 * Add additional guards to `DICT_FSST` to prevent exception during compression with small block size by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/23341 * fix out-of-bounds read in json path ReadKey lookahead by @jmestwa-coder in https://github.com/duckdb/duckdb/pull/23371 * fix out-of-bounds read in string to struct cast by @jmestwa-coder in https://github.com/duckdb/duckdb/pull/23384 * Issue #23383: Common Aggregate CTEs by @hawkfish in https://github.com/duckdb/duckdb/pull/23409 * Use correct start time when verifying dependencies by @Mytherin in https://github.com/duckdb/duckdb/pull/23430 * Fix false RLE corruption error by @DinosL in https://github.com/duckdb/duckdb/pull/23458 * [v1.5] No cache if file doesn't contain version information by @dentiny in https://github.com/duckdb/duckdb/pull/23434 * Improve rle corruption error messages by @DinosL in https://github.com/duckdb/duckdb/pull/23480 * Issue #23457: Ordered FIRST_VALUE Framing by @hawkfish in https://github.com/duckdb/duckdb/pull/23499 * Enabled `ALP` and `ALP_RD` for storage version v1.5.0 and up when using smaller block sizes by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/23483 * [v1.5] Backport PR #23444: fix eviction node memleak when external fi… by @dentiny in https://github.com/duckdb/duckdb/pull/23479 * [v1.5] Fix min/max aggregate stats when row groups filtered by @dentiny in https://github.com/duckdb/duckdb/pull/23517 * Backport #23468 and #23510 by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/23529 * Fix arrow type extension bugs by @evertlammerts in https://github.com/duckdb/duckdb/pull/23534 * Issue #23500: JSON TIMESTAMP_TZ Formatting by @hawkfish in https://github.com/duckdb/duckdb/pull/23513 * fix out-of-bounds read in dictionary string decompression by @jmestwa-coder in https://github.com/duckdb/duckdb/ _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.5]_ ### v1.5.4 — DuckDB v1.5.4 Bugfix Release - Date: 2026-06-17 - Version: v1.5.4 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.4 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.5.4 - **fixed** — Fix TemporaryFileManager reported size to reflect live blocks - **fixed** — Set query text on PIVOT MultiStatement sub-statements at construction - **fixed** — Fix double free and memory leak in Arrow GeoArrow CRS serialization - **fixed** — Render MAP values as valid SQL in Value::ToSQLString() - **fixed** — Remove time-out waiting for terminal background color - **fixed** — Fix WindowSelfJoinOptimizer ignore exception - **fixed** — Fix progress bar output and crash when piping SQL - **fixed** — Check if ParseFormatSpecifier returns unrecognized format - **fixed** — Fix json_keys with wildcard paths - **fixed** — Add list type check in JSON operations - **fixed** — Use committed row count in RowGroupReorderer - **fixed** — Fix geometry stats checkpointing when no changes are detected - **fixed** — Check for nullptr expressions in deserialized JSON - **added** — Add vacuum_rebuild_indexes as an experimental ATTACH option - **fixed** — Use non-deleted row count in RowGroupReorderer - **fixed** — Validate width and scale in duckdb_create_decimal_type and duckdb_create_decimal - **fixed** — Fix alias propagation when replacement scan is wrapped in SubqueryRef - **fixed** — Fix partial column metadata reuse bug - **fixed** — Fix case-insensitive column match in INSERT SELECT ON CONFLICT - **fixed** — Normalize db_type to lowercase on ATTACH and apply extension aliases on compare This is a bug fix release for various issues discovered after we released v1.5.3. Please also refer to the announcement blog post: https://duckdb.org/2026/06/17/announcing-duckdb-154.html ##### What's Changed * backport 22094 by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/22136 * backport 21815 & 21427 by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/22137 * remove CleanupState destructor and remove noexcept on DuckCleanupInfo… by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/22186 * Backport revert append fix to v1.4 by @Mytherin in https://github.com/duckdb/duckdb/pull/22414 * Backport windows-32bit test fix to 1.4 by @staticlibs in https://github.com/duckdb/duckdb/pull/22639 * Fix `TemporaryFileManager` reported size to reflect live blocks by @DinosL in https://github.com/duckdb/duckdb/pull/22767 * Set query text on PIVOT MultiStatement sub-statements at construction by @bleskes in https://github.com/duckdb/duckdb/pull/22769 * Fix double free and memory leak in Arrow GeoArrow CRS serialization by @rustyconover in https://github.com/duckdb/duckdb/pull/21854 * Render MAP values as valid SQL in Value::ToSQLString() by @carlopi in https://github.com/duckdb/duckdb/pull/22815 * Remove time-out waiting for terminal background color by @Mytherin in https://github.com/duckdb/duckdb/pull/22838 * Fix `WindowSelfJoinOptimizer` ignore exception by @qsliu2017 in https://github.com/duckdb/duckdb/pull/22800 * fix progress bar output and crash when piping SQL by @DinosL in https://github.com/duckdb/duckdb/pull/22836 * Internal #9438: TopN Window Projections by @hawkfish in https://github.com/duckdb/duckdb/pull/22851 * Fix: check if `ParseFormatSpecifier` returns unrecognized format by @DinosL in https://github.com/duckdb/duckdb/pull/22850 * Issue #22791: Window Self-Join Limits by @hawkfish in https://github.com/duckdb/duckdb/pull/22844 * [Backport] Column-level metadata loading and serialization by @ywelsch in https://github.com/duckdb/duckdb/pull/22768 * Fix json_keys with wildcard paths by @feichai0017 in https://github.com/duckdb/duckdb/pull/22855 * Fix: JSON add list type check by @DinosL in https://github.com/duckdb/duckdb/pull/22862 * Use committed row count in `RowGroupReorderer` by @lnkuiper in https://github.com/duckdb/duckdb/pull/22884 * Fix geometry stats checkpointing when no changes are detected by @Maxxen in https://github.com/duckdb/duckdb/pull/22882 * Check for `nullptr` expressions in deserialized JSON by @lnkuiper in https://github.com/duckdb/duckdb/pull/22906 * Add vacuum_rebuild_indexes as an (experimental) ATTACH option by @evertlammerts in https://github.com/duckdb/duckdb/pull/22690 * Use non-deleted row count in `RowGroupReorderer` by @lnkuiper in https://github.com/duckdb/duckdb/pull/22911 * Validate width/scale in duckdb_create_decimal_type and duckdb_create_decimal by @mlafeldt in https://github.com/duckdb/duckdb/pull/22905 * Bump httpfs to fix CI by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/22817 * Update vortex extension by @samansmink in https://github.com/duckdb/duckdb/pull/22930 * Fix alias propagation when replacement scan is wrapped in SubqueryRef by @truffle-dev in https://github.com/duckdb/duckdb/pull/22852 * Rowgroup index append by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/22940 * Bump Julia to v1.5.3 by @carlopi in https://github.com/duckdb/duckdb/pull/22804 * Make url a value, not a const ref by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/22953 * fix(adbc): support `StatementExecuteSchema` of ADBC 1.1.0 by @eitsupi in https://github.com/duckdb/duckdb/pull/22965 * Fix partial column metadata reuse bug by @ywelsch in https://github.com/duckdb/duckdb/pull/22994 * bump avro hash for 1.4.5 by @djouallah in https://github.com/duckdb/duckdb/pull/22952 * Add avro and unity_catalog to extension list by @d-justen in https://github.com/duckdb/duckdb/pull/22948 * Fix case-insensitive column match in I _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.4]_ ### v1.4.5 — DuckDB v1.4.5 Bugfix Release - Date: 2026-06-17 - Version: v1.4.5 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.4.5 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.4.5 - **fixed** — Fix escape handling in AddEscapes function - **fixed** — Fix various race conditions - **fixed** — Allow * Not similar to 'pattern' - **fixed** — Fix unbounded row group growth for indexed tables on repeated load+insert cycles - **fixed** — Correctly detect overflows when decoding integers from storage - **fixed** — Fix CSV reader buffer-boundary value read - **fixed** — Backport out-of-bounds security fixes - **fixed** — Ensure secrets are created exactly once - **changed** — Use FileSystem APIs in QueryProfiler::Write This is a bug fix release for various issues discovered after we released v1.4.4. Please also refer to the announcement blog post: https://duckdb.org/2026/06/17/announcing-duckdb-145.html ##### What's Changed * Internal #7212: FILL Empty Chunk by @hawkfish in https://github.com/duckdb/duckdb/pull/20657 * Secret Manager: Ensure secrets are created exactly once by @Mytherin in https://github.com/duckdb/duckdb/pull/20686 * Use FileSystem APIs in QueryProfiler::Write by @Mytherin in https://github.com/duckdb/duckdb/pull/20727 * Fix escape handling in AddEscapes function by @llukito in https://github.com/duckdb/duckdb/pull/20760 * Fixup test/extension/update_extensions_ci.test [v1.4-andium] by @carlopi in https://github.com/duckdb/duckdb/pull/20777 * 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 * Bump Julia to `v1.4.4` on `v1.4-andium` by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21589 * Fix for CSV reader buffer-boundary value read by @Mytherin in https://github.com/duckdb/duckdb/pull/21577 * Backport `__EMSCRIPTEN__` fix by @Mytherin in https://github.com/duckdb/duckdb/pull/21581 * counting fix by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/21733 * backport 22094 by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/22136 * backport 21815 & 21427 by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/22137 * remove CleanupState destructor and remove noexcept on DuckCleanupInfo… by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/22186 * Backport revert append fix to v1.4 by @Mytherin in https://github.com/duckdb/duckdb/pull/22414 * Backport windows-32bit test fix to 1.4 by @staticlibs in https://github.com/duckdb/duckdb/pull/22639 * Bump httpfs to fix CI by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/22817 * bump avro hash for 1.4.5 by @djouallah in https://github.com/duckdb/duckdb/pull/22952 * Rename emscripten action in v1.4 by @smvv in https://github.com/duckdb/duckdb/pull/23045 * Add v1.4.5 to storage version map by @carlopi in https://github.com/duckdb/duckdb/pull/23081 * Backport PR #22348 to andium by @carlopi in https://github.com/duckdb/duckdb/pull/23084 * Backport variegata bugfixes into andium by @carlopi in https://github.com/duckdb/duckdb/pull/23085 * Bump vortex in andium by @carlopi in https://github.com/duckdb/duckdb/pull/23091 * Bump extensions to v1.4-andium by @carlopi in https://github.com/duckdb/duckdb/pull/23090 * backport GetLocalFileSystem improvements to andium by @ccfelius in https://github.com/duckdb/duckdb/pull/23130 * backport the out-of-bounds security fixes made in #23100 by @Tishj in https://github.com/duckdb/duckdb/pull/ _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.4.5]_ ### v1.5.3 — DuckDB v1.5.3 Bugfix Release - Date: 2026-05-20 - Version: v1.5.3 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.3 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.5.3 - **fixed** — Resolve current catalog in ADBC Ingest to avoid temp table shadowing - **fixed** — Fix TIMESTAMPFORMAT being ignored for TIMESTAMPTZ columns in copy to json - **fixed** — Fix DISABLE_EXTENSION_LOAD - **fixed** — Fix INSERT OR REPLACE BY NAME regression by excluding conflict columns from SET list - **fixed** — Fix constant struct args in lateral table in-out functions - **fixed** — Avoid handling Ctrl+C during shutdown to prevent state access when already gone - **added** — Add DISABLE_BUILTIN_HTTPLIB option - **fixed** — Set query field for statements in ALTER TABLE ADD COLUMN DEFAULT workaround - **fixed** — Fix cooperative tasks leading to busy spinning in TaskExecutor::WorkOnTasks - **fixed** — Fix empty parquet child schema - **fixed** — Fix TopN Window Casts - **added** — Add support for reading VARIANT using C API - **fixed** — Fix commit iteration offset bug and relax RemoveFromIndexes assertion - **fixed** — Fix Row Group Pruner Distinct Bug - **fixed** — Correctly skip preprocessing PIVOT MultiStatements - **fixed** — Fix cache read - **fixed** — Fix window self join optimizer - **fixed** — Use the latest storage version for temp storage - **fixed** — Add pg_catalog.pg_collation compatibility view for SQLAlchemy 2.0.45 reflection - **fixed** — Fix CSV escape This is a bugfix release for various issues discovered after we released v1.5.2. Please also refer to the announcement blog post: https://duckdb.org/2026/05/20/announcing-duckdb-153 ##### What's Changed * Use DB serialization compatibility for json_serialize_sql by @kryonix in https://github.com/duckdb/duckdb/pull/22004 * DuckLake Bump by @pdet in https://github.com/duckdb/duckdb/pull/22014 * fix: resolve current catalog in ADBC Ingest to avoid temp table shadowing by @eitsupi in https://github.com/duckdb/duckdb/pull/22020 * Fix TIMESTAMPFORMAT being ignored for TIMESTAMPTZ columns in copy to json by @DinosL in https://github.com/duckdb/duckdb/pull/21992 * Provide BWC support for join filter pushdowns by @ywelsch in https://github.com/duckdb/duckdb/pull/22029 * Add iceberg copy function autoload by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/22037 * Fix DISABLE_EXTENSION_LOAD by @mlafeldt in https://github.com/duckdb/duckdb/pull/22019 * Fix `INSERT OR REPLACE BY NAME` regression by excluding conflict columns from `SET` list by @DinosL in https://github.com/duckdb/duckdb/pull/22049 * Git-ignore generated extension loader by @mlafeldt in https://github.com/duckdb/duckdb/pull/22056 * Fix constant struct args in lateral table in-out functions by @AlfieJones in https://github.com/duckdb/duckdb/pull/21827 * Avoid handling Ctrl+C during shutdown (state might be already gone) by @carlopi in https://github.com/duckdb/duckdb/pull/22059 * Add `DISABLE_BUILTIN_HTTPLIB` option by @carlopi in https://github.com/duckdb/duckdb/pull/22054 * Set `query` field for statements in `ALTER TABLE ... ADD COLUMN ... DEFAULT ...` workaround by @yan-alex in https://github.com/duckdb/duckdb/pull/22057 * Coorporative tasks might lead to busy spinning in `TaskExecutor::WorkOnTasks` by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/22092 * Row group append by @evertlammerts in https://github.com/duckdb/duckdb/pull/22060 * Fix empty parquet child schema by @dentiny in https://github.com/duckdb/duckdb/pull/22105 * Issue #22096: TopN Window Casts by @hawkfish in https://github.com/duckdb/duckdb/pull/22098 * Add support for reading `VARIANT` using C API by @Dtenwolde in https://github.com/duckdb/duckdb/pull/22065 * Bump Julia to v1.5.2 by @taniabogatsch in https://github.com/duckdb/duckdb/pull/22121 * fix commit iteration offset bug + relax RemoveFromIndexes assertion by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/22094 * Internal #8812: From TIMESTAMPTZ Casts by @hawkfish in https://github.com/duckdb/duckdb/pull/22000 * Only build plan_serializer when building the main DuckDB library by @rustyconover in https://github.com/duckdb/duckdb/pull/22100 * Fix Row Group Pruner Distinct Bug by @d-justen in https://github.com/duckdb/duckdb/pull/22132 * Correctly skip preprocessing PIVOT MultiStatements by @yan-alex in https://github.com/duckdb/duckdb/pull/22141 * fix(adbc): report the table name if the table doesn't exist when appending by @eitsupi in https://github.com/duckdb/duckdb/pull/22146 * [v1.5 patch] Attempt to fix cache read by @dentiny in https://github.com/duckdb/duckdb/pull/22126 * Also execute auto-rollback on CLI ClientContext::Query() query by @yan-alex in https://github.com/duckdb/duckdb/pull/22159 * Fix window self join optimizer by @kryonix in https://github.com/duckdb/duckdb/pull/22164 * Account for ROW_GROUP_SIZE when deciding whether to append to an existing row group by @evertlammerts in https://github.com/duckdb/duckdb/pull/22109 * Use the latest storage version for temp storage by @Mytherin in https://github.com/duckdb/duckdb/pull/22169 * Fix: Add pg_catalog.pg_collation compatibility view for SQLAlchemy 2.0.45 reflection by @alonfaraj in https://github.com/duckdb/duckdb/pull/22160 * Fix CSV escape by @dentiny in https://github.com/duckdb/duckdb/pull/22176 * Fix union_by_name remap for non-nested parquet columns by @feichai0017 in https://github.com/duckdb/duckdb/pull/22177 _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.3]_ ### v1.5.2 — DuckDB v1.5.2 Bugfix Release - Date: 2026-04-13 - Version: v1.5.2 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.2 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.5.2 - **fixed** — Fix various race condition issues - **fixed** — Fix unbounded row group growth for indexed tables on repeated load+insert cycles - **fixed** — Correctly detect overflows when decoding integers from storage - **fixed** — Correctly revert dictionary size when reverting string appends - **fixed** — Fix memory leak when reusing PreparedStatement - **changed** — Make some MultiStatements and PRAGMAs Transactional - **fixed** — Fix integer overflow in list_resize - **fixed** — Correctly render empty results in .mode json - **fixed** — Unify adding suffixes to path in Path::AddSuffixToPath to fix temp directory split bug - **fixed** — Correctly deal with negative values in GetPosixVersionTag and fix constant NULL struct scans - **fixed** — Fix missing extension static libs in Windows MinGW bundle - **fixed** — Fix ASOF join empty right - **fixed** — Fix TopNWindowElimination column binding - **fixed** — Fix CSV reader buffer-boundary value read - **fixed** — Avoid division by zero when formatting a large result with a non-wide shell in CLI - **fixed** — Fix missing SetSizeAndFinalize in BIGNUM Add for zero result case - **fixed** — Fix segfault due to unchecked malloc/realloc - **fixed** — Fix describe statement in markdown output mode - **fixed** — Fix unpivot serialization - **fixed** — Fix flatten input chunk in TopNHeap::CheckBoundaryValues 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 fo _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.2]_ ### v1.5.1 — DuckDB v1.5.1 Bugfix Release - Date: 2026-03-23 - Version: v1.5.1 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.1 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.5.1 - **fixed** — Preserve require order in InterpretedBenchmark - **changed** — Make help entry uppercase in CLI - **fixed** — Restore view's bind_state when binding fails - **fixed** — Fix INTERNAL Error in UnnestRewriter for deeply nested struct UNNEST - **fixed** — Prevent TrimFreeBlocks from zeroing concurrently - **fixed** — Enable UTF-8 mode when writing to pager in Windows shell - **added** — Add internal exception for misuse of MultiFileReader method - **changed** — Check AutoloadKnownExtensions Setting before loading libraries in TryAutoLoadExtension - **fixed** — Fix buffer overread in Arrow dictionary conversion with NULLs - **changed** — Enable column pruning for MATERIALIZED CTEs - **fixed** — Fix DuckFuzz #4325 - **fixed** — Fix decorrelation delim index bug - **fixed** — Fix wrong cast in RecursiveDependentJoinPlanner - **changed** — Use atomic load in bloom filter look-up - **fixed** — Re-add accidentally removed -jsonlines command line parameter - **changed** — Lazy call mmap in BlockAllocator - **changed** — Dynamically determine radix bits for external aggregation - **fixed** — Avoid potential division by 0 in PhysicalHashJoin::PrepareFinalize - **fixed** — Fix invalid JSON when casting from certain types - **fixed** — Fix .open of Parquet files in CLI - **added** — Implement line number reporting in errors for PEG parser - **changed** — Support new v1.5 syntax for PEG grammar - **fixed** — Fix memory error when transforming to v1.0.0 ART storage This is a bug fix release for various issues discovered after we released v1.5.0. Please also refer to the announcement blog post: https://duckdb.org/2026/03/23/announcing-duckdb-151 ##### What's Changed * [Extensions] Preserve `require` order in `InterpretedBenchmark` by @Tishj in https://github.com/duckdb/duckdb/pull/21214 * CLI: Make help entry uppercase by @szarnyasg in https://github.com/duckdb/duckdb/pull/21224 * Restore view's bind_state when binding fails by @jeewonhh in https://github.com/duckdb/duckdb/pull/21193 * [Regression v1.5] Fix INTERNAL Error in UnnestRewriter for deeply nested struct UNNEST by @guizmaii in https://github.com/duckdb/duckdb/pull/21209 * fix(storage): prevent TrimFreeBlocks from zeroing concurrently alloca… by @llersch in https://github.com/duckdb/duckdb/pull/21146 * Windows shell: UTF-8 mode when writing to pager by @staticlibs in https://github.com/duckdb/duckdb/pull/21202 * [Dev] Add internal exception for misuse of `MultiFileReader` method by @Tishj in https://github.com/duckdb/duckdb/pull/21046 * Before loading libraries in TryAutoLoadExtension check AutoloadKnownExtensions Setting by @pdet in https://github.com/duckdb/duckdb/pull/21051 * fix: buffer overread in Arrow dictionary conversion with NULLs - fixes crash. by @rustyconover in https://github.com/duckdb/duckdb/pull/21083 * Avoid misleading GetRequestInfo constructor that takes endpoint + path by @carlopi in https://github.com/duckdb/duckdb/pull/21151 * Enable column pruning for `MATERIALIZED` CTEs by @kryonix in https://github.com/duckdb/duckdb/pull/21169 * Add framework to test two DuckDB versions by @Y-- in https://github.com/duckdb/duckdb/pull/21184 * Internal #7691: 2026a Time Zones by @hawkfish in https://github.com/duckdb/duckdb/pull/21204 * Fix DuckFuzz #4325 by @kryonix in https://github.com/duckdb/duckdb/pull/21215 * Fix decorrelation delim index bug by @kryonix in https://github.com/duckdb/duckdb/pull/21233 * Fix two minor shell bugs: Avoid mutating rendered strings and avoid p… by @carlopi in https://github.com/duckdb/duckdb/pull/21234 * Fix wrong cast in RecursiveDependentJoinPlanner by @kryonix in https://github.com/duckdb/duckdb/pull/21235 * Use atomic load in bloom filter look-up by @Mytherin in https://github.com/duckdb/duckdb/pull/21238 * Move BWC tests to nightly for now by @Mytherin in https://github.com/duckdb/duckdb/pull/21266 * Internal #7740: AsOf Tidy Fix by @hawkfish in https://github.com/duckdb/duckdb/pull/21255 * Re-add accidentally removed -jsonlines command line parameter by @Mytherin in https://github.com/duckdb/duckdb/pull/21263 * Switch MAIN_BRANCH_VERSIONING to False for v1.5-variegata branch by @carlopi in https://github.com/duckdb/duckdb/pull/21239 * Lazy call `mmap` in `BlockAllocator` by @lnkuiper in https://github.com/duckdb/duckdb/pull/21276 * Dynamically determine radix bits for external aggregation by @lnkuiper in https://github.com/duckdb/duckdb/pull/21274 * Avoid potential division by 0 in `PhysicalHashJoin::PrepareFinalize` by @lnkuiper in https://github.com/duckdb/duckdb/pull/21271 * Do not use MSYS shell for MinGW builds by @staticlibs in https://github.com/duckdb/duckdb/pull/21296 * add structured Path objects, update joinpath: normalize, support url/… by @benfleis in https://github.com/duckdb/duckdb/pull/21277 * When stress testing FORCE_ASYNC, add the relevant error messages by @carlopi in https://github.com/duckdb/duckdb/pull/21267 * Fix invalid JSON when casting from certain types by @Maxxen in https://github.com/duckdb/duckdb/pull/21280 * Fix .open of Parquet files etc. in CLI by @hannes in https://github.com/duckdb/duckdb/pull/21269 * Bump storage version to `v1.5.1` by @taniabogatsch in https://github.com/duckdb/duckdb/pull/21287 * Implement line number reporting in errors for PEG parser by @Dtenwolde in https://github.com/duckdb/duckdb/pull/21157 * Support new v1.5 syntax for PEG grammar by @Dtenwolde in https://github.com/duckdb/duckdb/pul _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.1]_ ### v1.5.0 — DuckDB v1.5.0 "Variegata" - Date: 2026-03-09 - Version: v1.5.0 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.0 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.5.0 - **changed** — Optimize LAST aggregate to iterate backward within batches - **changed** — Allow user type with schema defined to have array bounds - **changed** — Remove case-insensitive character from grammar files - **fixed** — Fix query() function error message for PIVOT statements without explicit IN clauses - **added** — Support renaming a database with ALTER DATABASE <> RENAME TO <> - **fixed** — Fix field id uniqueness for alter database - **fixed** — Fix union semantics in recursive CTEs - **changed** — Enable multifile parquet_metadata and friends parallelism - **changed** — Use StorageLock for CompressionFunction - **changed** — Rework Compression Function registration to avoid grabbing locks - **changed** — C-API default to adding overload on conflict when registering functions - **changed** — Destroy row groups in parallel - **fixed** — Fix extension load - **added** — C-API initial support for accessing file system - **changed** — Rework UNION (ALL) operators to have multiple children - **changed** — Pushdown filter when doing cross or lateral join with unnest - **fixed** — Fix unholy interaction between CREATE VIEW and CTE definitions - **added** — Add support for read_duckdb function that allows reading and globbing DuckDB database files - **changed** — During optimistic writing, gather N row groups and write them at the same time column-at-a-time - **added** — Add support for late materialization and filter pushdown to read_duckdb This release of DuckDB is named "Variegata" after the paradise shelduck Tadorna Variegata, also known as the paradise duck, a species of Shelduck (a group of goose-like ducks), endemic to New Zealand. Please also refer to the announcement blog post: https://duckdb.org/2026/03/09/announcing-duckdb-150.html ##### What's Changed * Optimize LAST aggregate to iterate backward within batches by @xe-nvdk * Allow user type with schema defined to have array bounds by @Dtenwolde in https://github.com/duckdb/duckdb/pull/18342 * Remove case-insensitive character from grammar files by @Dtenwolde in https://github.com/duckdb/duckdb/pull/18948 * Fix query() function error message for PIVOT statements without explicit IN clauses by @shivampr in https://github.com/duckdb/duckdb/pull/18900 * Merge v1.4-andium into main by @c-herrewijn in https://github.com/duckdb/duckdb/pull/18952 * [Dev] Some light code cleanup in `RemoveUnusedColumns::VisitOperator` by @Tishj in https://github.com/duckdb/duckdb/pull/18964 * Support renaming a database - ALTER DATABASE <> RENAME TO <> by @abramk in https://github.com/duckdb/duckdb/pull/18970 * V1.4 andium by @Mytherin in https://github.com/duckdb/duckdb/pull/18982 * Fix field id uniqueness for alter database by @abramk in https://github.com/duckdb/duckdb/pull/18988 * Fix unused variable warnings by @mlafeldt in https://github.com/duckdb/duckdb/pull/18913 * Avoid adding a TupleDataChunkPart with only one row. by @lance5401 in https://github.com/duckdb/duckdb/pull/18904 * Tiny fix for ColumnDataAllocator::ColumnDataAllocator by @baolinhuang in https://github.com/duckdb/duckdb/pull/18990 * Fixes for ALTER DATABASE - use serialization framework, and fix stringification of identifiers by @Mytherin in https://github.com/duckdb/duckdb/pull/18994 * Expected errors 2053 by @hmeriann in https://github.com/duckdb/duckdb/pull/18960 * Fix union semantics in recursive CTEs by @cryoEncryp in https://github.com/duckdb/duckdb/pull/19017 * Multifile `parquet_metadata` and friends parallelism by @J-Meyers in https://github.com/duckdb/duckdb/pull/18854 * [Optimize] use StorageLock for CompressionFunction by @baolinhuang in https://github.com/duckdb/duckdb/pull/19028 * PEG grammar updates by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19031 * Rework Compression Function registration to avoid grabbing locks by @Mytherin in https://github.com/duckdb/duckdb/pull/19045 * Merge v1.4 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/19048 * [C-API] default to adding overload on conflict when registering functions by @Maxxen in https://github.com/duckdb/duckdb/pull/19036 * Destroy row groups in parallel by @Mytherin in https://github.com/duckdb/duckdb/pull/19053 * Switching core extension upload to dedicated credentials by @hannes in https://github.com/duckdb/duckdb/pull/19060 * CI: Increase stale bot timeout to 1 year by @szarnyasg in https://github.com/duckdb/duckdb/pull/19000 * Revert "set default value of MAIN_BRANCH_VERSIONING to false" by @c-herrewijn in https://github.com/duckdb/duckdb/pull/19057 * Fix extension load by @dentiny in https://github.com/duckdb/duckdb/pull/19079 * Change core extensions bucket name by @hannes in https://github.com/duckdb/duckdb/pull/19082 * Merge v1.4 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/19098 * Allow directory override for extension build by @Mytherin in https://github.com/duckdb/duckdb/pull/19110 * Skip serialization of row_start in DataPointer when targeting latest storage by @Mytherin in https://github.com/duckdb/duckdb/pull/19111 * [C-API] Initial support for accessing file system by @Maxxen in https://github.com/duckdb/duckdb/pull/19086 * Rework `UNION (ALL)` operators (`SetOperationNode`/`LogicalSetOperation`/`PhysicalUnion`) to have multiple children by @Mytherin in https://github.com/duckdb/duckdb/pull/19109 * pushdown filter when doing cross or lateral join with unnest by @DinosL in https://github.com/du _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.5.0]_ ### v1.4.4 — v1.4.4 Bugfix Release - Date: 2026-01-26 - Version: v1.4.4 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.4.4 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.4.4 - **fixed** — Correctly handle negative exponent with a number with a decimal in VARCHAR to INTEGER cast - **fixed** — Fix NULL filter check for constant segments in storage - **fixed** — Remove undefined loop - **fixed** — Fix ALIAS function in filter pushdown to preserve column aliases - **fixed** — Add missing headers from http logs - **fixed** — Fix secondary IGNORE NULLS - **fixed** — Fix use-after-free in mode aggregate Combine function - **fixed** — Only pushdown varchar if the arrow type is not a string view - **fixed** — Quote filters in adbc_get_objects - **fixed** — Fix streaming window unions - **fixed** — MergeInto: correctly clean-up buffer and handle non trivial GetData - **fixed** — Reuse correct table-level metadata during checkpoints - **fixed** — Fix view resolution not being stable if the referenced table lives in a different schema - **fixed** — Fix ConstantOrNullFunction input validity mask overwrite - **fixed** — Return error when setting an empty sql query in ADBC - **fixed** — Optimize prepared statement parameter lookups - **fixed** — Update VectorType in ComputePartitionIndices - **fixed** — Increase reserved size for paths in SetPathsInternal - **fixed** — Use UTF-16 console output in Windows shell - **fixed** — Force repartitioning in RadixPartitionedHashTable::Combine This is a bug fix release for various issues discovered after we released 1.4.3. Please excuse the erroneous release earlier. ##### What's Changed * Cast Fix: Correctly handle negative exponent with a number with a decimal in VARCHAR -> INTEGER cast by @Mytherin in https://github.com/duckdb/duckdb/pull/20098 * [Storage] Fix NULL filter check for constant segments by @Tishj in https://github.com/duckdb/duckdb/pull/20103 * fixing staged upload for install.duckdb.org - hopefully by @hannes in https://github.com/duckdb/duckdb/pull/20104 * Remove undefined loop by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/20105 * [Test] Adjust concurrent attach-detach test to expect write-write conflict by @taniabogatsch in https://github.com/duckdb/duckdb/pull/20108 * Fix ALIAS function in filter pushdown to preserve column aliases(#20008) by @henry8128 in https://github.com/duckdb/duckdb/pull/20106 * Headers missing from http logs by @samansmink in https://github.com/duckdb/duckdb/pull/20030 * Bumping httpfs to include https://github.com/duckdb/duckdb-httpfs/pull/174 by @carlopi in https://github.com/duckdb/duckdb/pull/20145 * Issue #20136: Secondary IGNORE NULLS by @hawkfish in https://github.com/duckdb/duckdb/pull/20153 * Fix minio nightly tests by @c-herrewijn in https://github.com/duckdb/duckdb/pull/20132 * Fix use-after-free in mode aggregate Combine function by @victor-ab in https://github.com/duckdb/duckdb/pull/20146 * Only pushdown varchar if the arrow type is not a string view by @evertlammerts in https://github.com/duckdb/duckdb/pull/20165 * Quote filters in adbc_get_objects by @evertlammerts in https://github.com/duckdb/duckdb/pull/20172 * Issue #20156: Streaming Window Unions by @hawkfish in https://github.com/duckdb/duckdb/pull/20191 * MergeInto: correctly clean-up buffer and handle non trivial GetData by @carlopi in https://github.com/duckdb/duckdb/pull/20163 * Fix extentension-ci-tools to latest release version in the v1.4-andium branch by @carlopi in https://github.com/duckdb/duckdb/pull/20227 * [Chore] Clean up CI nightly run to prevent time outs by @taniabogatsch in https://github.com/duckdb/duckdb/pull/20150 * Bump Julia to v1.4.3 by @maiadegraaf in https://github.com/duckdb/duckdb/pull/20248 * Internal #6881: 2025c Time Zones by @hawkfish in https://github.com/duckdb/duckdb/pull/20258 * Split statements by semicolon by @Dtenwolde in https://github.com/duckdb/duckdb/pull/20174 * [chore] Remove `numeric_cast.hpp` import and other tidy stuff by @taniabogatsch in https://github.com/duckdb/duckdb/pull/20278 * [chore] Reduce latency of VARCHAR index creation test by @taniabogatsch in https://github.com/duckdb/duckdb/pull/20277 * Reuse correct table-level metadata during checkpoints by @ywelsch in https://github.com/duckdb/duckdb/pull/20267 * Fix view resolution not being stable if the referenced table lives in a different schema by @Tishj in https://github.com/duckdb/duckdb/pull/20260 * ConstantOrNullFunction input validity mask overwrite bugfix by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/20283 * dbgen: use TaskExecutor framework by @Mytherin in https://github.com/duckdb/duckdb/pull/20284 * fix(adbc): return error when setting an empty sql query by @gishor in https://github.com/duckdb/duckdb/pull/20071 * Bump iceberg, and add wasm platforms! by @carlopi in https://github.com/duckdb/duckdb/pull/20205 * _extension_distribution: Pin to `v1.4-andium` branch of extension-ci-tools by @carlopi in https://github.com/duckdb/duckdb/pull/20294 * Optimize prepared statement parameter lookups by @EtgarDev in https://github.com/duckdb/duckdb/pull/20252 * Update `VectorType` in `ComputePartitionIndices` by @lnkuiper in https://github.com/duckdb/duckdb/pull/20343 * Add some defensive programming in `RadixPartitionedHashTable::Combine` and `RadixPartitionedHashTable::Finalize` by @lnkuiper in https://github.com/duckdb/duckdb/pull/20342 * Increase reserved size for paths in SetPathsInte _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.4.4]_ ### v1.4.3 — v1.4.3 Bugfix Release - Date: 2025-12-09 - Version: v1.4.3 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.4.3 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.4.3 - **fixed** — Implement proper equals for table functions - **fixed** — Fix behavior for HAVING clause without a GROUP BY - **fixed** — Correctly use a lock when accessing the EncryptionKeyManager - **fixed** — Extract all column bindings of json each function - **fixed** — Fix constraint violation bug - **fixed** — Avoid binding macro arguments for untyped macros - **fixed** — Fix illegal utf8 character - **fixed** — PositionalScan: handle also HAVE_MORE_OUTPUT + empty chunk via iteration - **fixed** — AttachDatabase: first set whether file is remote, then do the rest - **fixed** — Reuse metadata even in the presence of deletes - **fixed** — Keep cte_root alive while binding materialized CTEs in MERGE INTO children - **fixed** — Preserve relation name for table-qualified star LIKE expression - **fixed** — Fix incorrect handling of APPROX_QUANTILE TIME - **fixed** — Prevent overriding COMPRESSION_EMPTY with COMPRESSION_CONSTANT - **fixed** — Fix optimizer incorrectly removing ORDER BY clause from aggregates - **fixed** — Fix correlated column binding in ConstantBinder - **fixed** — Fix prepared copy option parameter in Parquet - **fixed** — Fix FetchRow bug after update on indexed table with dict_fsst compression - **fixed** — Fix NULL updates to a column compressed with DICT_FSST - **added** — Add CacheBehavior::AUTOMATIC to DBInstanceCache that automatically does the right thing This is a bug fix release for various issues discovered after we released 1.4.2. ##### What's Changed * implement proper equals for table functions by @Maxxen in https://github.com/duckdb/duckdb/pull/19722 * Fix behavior for HAVING clause without a GROUP BY by @Tishj in https://github.com/duckdb/duckdb/pull/19739 * Remove httpfs patches and bump by @carlopi in https://github.com/duckdb/duckdb/pull/19763 * Correctly use a lock when accessing the EncryptionKeyManager by @Mytherin in https://github.com/duckdb/duckdb/pull/19772 * Bump iceberg to now default available extension by @carlopi in https://github.com/duckdb/duckdb/pull/19764 * Extract all column bindings of json each function by @Tmonster in https://github.com/duckdb/duckdb/pull/19766 * constraint violation bug fix by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/19776 * Avoid binding macro arguments for untyped macros by @lnkuiper in https://github.com/duckdb/duckdb/pull/19779 * It should probably be `${EXTENSION_CONFIG_BUILD}` instead of `EXTENSION_CONFIG_BUILD` by @hannes in https://github.com/duckdb/duckdb/pull/19694 * Fix #19575: Fix illegal utf8 character by @flashmouse in https://github.com/duckdb/duckdb/pull/19699 * chore: bump vortex to 0.56.0 by @0ax1 in https://github.com/duckdb/duckdb/pull/19815 * PositionalScan: handle also HAVE_MORE_OUTPUT + empty chunk via iteration by @carlopi in https://github.com/duckdb/duckdb/pull/19824 * AttachDatabase: first set whether file is remote, then do the rest by @carlopi in https://github.com/duckdb/duckdb/pull/19826 * Add CacheBehavior::AUTOMATIC to DBInstanceCache that automatically does the right thing™ by @Mytherin in https://github.com/duckdb/duckdb/pull/19841 * Reuse metadata even in the presence of deletes by @ywelsch in https://github.com/duckdb/duckdb/pull/19823 * DuckIndexScanState::TableScanFunc, split into 2 explicit phases by @carlopi in https://github.com/duckdb/duckdb/pull/19838 * Bump httpfs and iceberg by @carlopi in https://github.com/duckdb/duckdb/pull/19859 * Keep cte_root alive while binding materialized CTEs in MERGE INTO children by @Mytherin in https://github.com/duckdb/duckdb/pull/19863 * CI Cleanup (#19840) by @yan-alex in https://github.com/duckdb/duckdb/pull/19857 * Fix #19517: preserve relation name for table-qualified star LIKE expression by @henry8128 in https://github.com/duckdb/duckdb/pull/19887 * avoid underflow/"inf" loop while reporting unittest summary (backport… by @benfleis in https://github.com/duckdb/duckdb/pull/19900 * Fixes incorrect handing of APPROX_QUANTILE TIME by @Damon07 in https://github.com/duckdb/duckdb/pull/19891 * Add v1.4.3 to Storage Version by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19907 * clean up tmp files while building extensions by @c-herrewijn in https://github.com/duckdb/duckdb/pull/19908 * Bump: ducklake, mysql_scanner by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19910 * remove large limit optimization whenever there is a filter by @guillesd in https://github.com/duckdb/duckdb/pull/19911 * free disk space in Upload Extensions job by @c-herrewijn in https://github.com/duckdb/duckdb/pull/19912 * [Compression] Prevent overriding `COMPRESSION_EMPTY` with `COMPRESSION_CONSTANT` by @Tishj in https://github.com/duckdb/duckdb/pull/19913 * Make `make tidy-check-diff` compare against base branch, instead of always comparing against `origin/main` by @Mytherin in https://github.com/duckdb/duckdb/pull/19917 * More testing for appender and attach-detach by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19708 * Script to release a extension manually by @samansmink in https://github.com/duckdb/duckdb/pull/19881 * Assert that result types match with column data collection when fetching data by @pdet in https://github.com/duckdb/duckdb/pull/19750 * No longer auto-enable profiling on DEBUG mode by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19931 * Fix optimizer incorrectly remove ORDER _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.4.3]_ ### v1.4.2 — v1.4.2 Bugfix Release - Date: 2025-11-12 - Version: v1.4.2 - Original notes: https://github.com/duckdb/duckdb/releases/tag/v1.4.2 - Permalink: https://whatsnew.fyi/product/duckdb/releases/v1.4.2 This is a bug fix release for various issues discovered after we released 1.4.1. PR #19716 addresses the issues raised in [CVE-2025-64429]( https://github.com/duckdb/duckdb/security/advisories/GHSA-vmp8-hg63-v2hp). Users of the DuckDB encryption feature are encouraged to update. ##### What's Changed * bump duckdb-azure ref for 1.4.1 by @benfleis in https://github.com/duckdb/duckdb/pull/19275 * Fix regex optimization to remove flags when converting to contains by @mlafeldt in https://github.com/duckdb/duckdb/pull/19290 * feat: Fix length of sort keys by @krlmlr in https://github.com/duckdb/duckdb/pull/19260 * Pass lambda bindings to next binder by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19144 * bump Julia to v1.4.1 by @c-herrewijn in https://github.com/duckdb/duckdb/pull/19306 * Use cross-compilation for static libs on OSX by @hannes in https://github.com/duckdb/duckdb/pull/19304 * Allow multiple read-only attaches to the same database across database instances by @Mytherin in https://github.com/duckdb/duckdb/pull/19319 * hugeint_t fixes by @carlopi in https://github.com/duckdb/duckdb/pull/19318 * Use CMAKE__COMPILER_LAUNCHER by @evertlammerts in https://github.com/duckdb/duckdb/pull/19326 * Add settings field to test config by @Mytherin in https://github.com/duckdb/duckdb/pull/19330 * Keep track of which database managers have which databases attached in the DatabaseFilePathManager by @Mytherin in https://github.com/duckdb/duckdb/pull/19338 * Bugfixes by @lnkuiper in https://github.com/duckdb/duckdb/pull/19329 * skip several ci jobs on prs that only bump extensions by @samansmink in https://github.com/duckdb/duckdb/pull/19249 * [C API] bind_value out of range fix by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19348 * Destroy TaskNotifier prior to calling FinishTask by @Mytherin in https://github.com/duckdb/duckdb/pull/19373 * Remove zip bombs by @Mytherin in https://github.com/duckdb/duckdb/pull/19380 * Avoid calling shared_from_this() and instead use the passed in ClientContext in buffered data by @Mytherin in https://github.com/duckdb/duckdb/pull/19379 * add test tag support [vfs integration tests p1] by @benfleis in https://github.com/duckdb/duckdb/pull/19331 * Throw if non-`VARCHAR` key is passed to `json_object` by @lnkuiper in https://github.com/duckdb/duckdb/pull/19365 * BUGFIX: Silent failure to write row groups with large lists by @J-Meyers in https://github.com/duckdb/duckdb/pull/19376 * Fixes for CTE (de)serialization compatibility with older versions by @Mytherin in https://github.com/duckdb/duckdb/pull/19393 * Fix #18139: correctly initialize flush size in MemoryStream, and re-use writer states by @Mytherin in https://github.com/duckdb/duckdb/pull/19398 * Fixup Kalman fiter: bound it's (0, scale_factor), not (0, 1) by @carlopi in https://github.com/duckdb/duckdb/pull/19395 * Fix StringDecompress for hugeint_t values by @ywelsch in https://github.com/duckdb/duckdb/pull/19403 * Fix #19211: make INSERT OR IGNORE correctly handle multiple constraints by @Mytherin in https://github.com/duckdb/duckdb/pull/19409 * Issue #19386: ICU TZDEFAULT by @hawkfish in https://github.com/duckdb/duckdb/pull/19413 * Fix issue in MetadataManager triggered when doing concurrent reads while checkpointing, and rework concurrent attach / detach test by @Mytherin in https://github.com/duckdb/duckdb/pull/19424 * ADBC fix: escape schema, table and column identifiers by @evertlammerts in https://github.com/duckdb/duckdb/pull/19407 * v1.4: Only serialize CTE nodes when MATERIALIZED is specified by @Mytherin in https://github.com/duckdb/duckdb/pull/19420 * Add forwards compatibility tests to CI by @Mytherin in https://github.com/duckdb/duckdb/pull/19432 * Internal #6168: Unsupported Correlated Binds by @hawkfish in https://github.com/duckdb/duckdb/pull/19431 * Don't pull up filters through `DISTINCT ON` and make `enum` casts in Parquet safe (bugfixes) by @lnkuiper in https://git _[Truncated at 4000 characters — full notes: https://github.com/duckdb/duckdb/releases/tag/v1.4.2]_