This release adds 1 notable feature for engineering teams evaluating rollout.
Published 1mo
Relational Databases
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
analytics
database
embedded-database
olap
sql
Affected surfaces
rce_ssrf
Summary
AI summaryBug fixes across the core engine, ADBC interface, and experimental ATTACH option.
Full changelog
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
TemporaryFileManagerreported 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
WindowSelfJoinOptimizerignore 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
ParseFormatSpecifierreturns 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
RowGroupReordererby @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
nullptrexpressions 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
RowGroupReordererby @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
StatementExecuteSchemaof 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 INSERT ... SELECT ON CONFLICT by @remsky in https://github.com/duckdb/duckdb/pull/22825
- Normalize db_type to lowercase on ATTACH, apply extension aliases on compare by @carlopi in https://github.com/duckdb/duckdb/pull/22758
- MERGE INTO: only consider target table when binding
WHEN NOT MATCHEDand source table when bindingWHEN NOT MATCHED BY TARGETby @Mytherin in https://github.com/duckdb/duckdb/pull/23014 - In the optimistic writer always start a new row group after merging by @Mytherin in https://github.com/duckdb/duckdb/pull/22997
- Merge Into: Avoid recursively binding in the ProjectionBinder by @Mytherin in https://github.com/duckdb/duckdb/pull/23022
- Rename emscripten action in v1.5 by @smvv in https://github.com/duckdb/duckdb/pull/23044
- Rename emscripten action in v1.4 by @smvv in https://github.com/duckdb/duckdb/pull/23045
- Fix VARIANT cast reading wrong rows under a filter by @mlafeldt in https://github.com/duckdb/duckdb/pull/23031
- fix(adbc): implement ADBC 1.1.0 Rich Error Metadata API by @eitsupi in https://github.com/duckdb/duckdb/pull/23073
- Add v1.4.5 to storage version map by @carlopi in https://github.com/duckdb/duckdb/pull/23081
- Merge v1.4-andium into v1.5-variegata, and add storage versions v1.4.5 and v1.5.4 by @carlopi in https://github.com/duckdb/duckdb/pull/23082
- 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 lance in variegata by @carlopi in https://github.com/duckdb/duckdb/pull/23094
- Bump vortex in variegata by @carlopi in https://github.com/duckdb/duckdb/pull/23096
- Bump extensions to v1.4-andium by @carlopi in https://github.com/duckdb/duckdb/pull/23090
- v1.5-variegata: bump extensions by @carlopi in https://github.com/duckdb/duckdb/pull/23089
- Fix Parquet thrift byte order on windows + relax geometry stats pruning by @Maxxen in https://github.com/duckdb/duckdb/pull/23095
- fix(adbc): fill metadata of GetObjects by @eitsupi in https://github.com/duckdb/duckdb/pull/23110
- backport GetLocalFileSystem improvements to andium by @ccfelius in https://github.com/duckdb/duckdb/pull/23130
- Reject NULL json key by @dentiny in https://github.com/duckdb/duckdb/pull/23116
- Fix windows last modification timestamp by @dentiny in https://github.com/duckdb/duckdb/pull/23136
- Fix: ignore_errors silently accepting invalid json by @DinosL in https://github.com/duckdb/duckdb/pull/23137
- [v1.5] Backport external file cache fix by @dentiny in https://github.com/duckdb/duckdb/pull/23132
- Internal #9375: PRAGMA enum NULL by @hawkfish in https://github.com/duckdb/duckdb/pull/23146
- Clarify BIGNUM C API data is big endian by @mlafeldt in https://github.com/duckdb/duckdb/pull/23127
- Allow array type for array_to_json by @dentiny in https://github.com/duckdb/duckdb/pull/23129
- Fix json argument order affecting result by @DinosL in https://github.com/duckdb/duckdb/pull/23144
- Fix #21931: avoid trying to bind an expression that doesn't exist in
UNPIVOTby @Mytherin in https://github.com/duckdb/duckdb/pull/23156 - Fix RowGroup assertion by @ywelsch in https://github.com/duckdb/duckdb/pull/23155
- Upgrade ducklake for release by @pdet in https://github.com/duckdb/duckdb/pull/23182
- Update Postgres, SQLite and ODBC in 1.5 by @staticlibs in https://github.com/duckdb/duckdb/pull/23172
- Fix native geometry parquet stats pruning and add
OPERATOR_ROW_GROUPS_SCANNEDto parquet reader by @Maxxen in https://github.com/duckdb/duckdb/pull/23140 - Expose bytes to parquet variant function by @Tmonster in https://github.com/duckdb/duckdb/pull/23057
- Minor fixes by @DinosL in https://github.com/duckdb/duckdb/pull/23162
- Bump aws extension by @ccfelius in https://github.com/duckdb/duckdb/pull/23170
- Merge v1.4-andium into v1.5-variegata by @carlopi in https://github.com/duckdb/duckdb/pull/23171
- Backport to variegata some isolated fixes by @carlopi in https://github.com/duckdb/duckdb/pull/23175
- Fix: guard againt null row group reorder stats by @DinosL in https://github.com/duckdb/duckdb/pull/23189
- bump iceberg by @Tmonster in https://github.com/duckdb/duckdb/pull/23192
- Replace ARTConflictType::TRANSACTION with fatal exception by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/23193
- [Dev] Fix variant shredding analysis logic discrepancy with shredded writing by @Tishj in https://github.com/duckdb/duckdb/pull/23194
- Initialize all
BaseStatisticsmembers and zerostats_unionby @krlmlr in https://github.com/duckdb/duckdb/pull/23202 - Initialize
TransactionContext::invalidation_policyandauto_rollbackby @krlmlr in https://github.com/duckdb/duckdb/pull/23203 - Fix selection vector use in Arrow extension callbacks by @evertlammerts in https://github.com/duckdb/duckdb/pull/23190
- Add hardening to many DuckDB/Parquet decompression/deserializing paths by @Tishj in https://github.com/duckdb/duckdb/pull/23100
- Out-of-line
SelectionDatadestructor to silence g++-16-Warray-boundsby @krlmlr in https://github.com/duckdb/duckdb/pull/23204 - Bump quack to 9ac6521f712812cc6f2e58815ef0a6c85c5e06e0 by @carlopi in https://github.com/duckdb/duckdb/pull/23178
- Fix crash when storage path is not set by @guillesd in https://github.com/duckdb/duckdb/pull/23174
- Zero the inlined buffer in string_t's length-only constructor by @krlmlr in https://github.com/duckdb/duckdb/pull/23201
- [Dev] Fix "environment variable already defined" error in sqllogictest when
test_envis used by @Tishj in https://github.com/duckdb/duckdb/pull/21305 - parquet: initialize
ParquetReader::rows_readby @krlmlr in https://github.com/duckdb/duckdb/pull/23205 - Bump quack no patches by @carlopi in https://github.com/duckdb/duckdb/pull/23210
- bump delta & unity for 1.5.4 by @benfleis in https://github.com/duckdb/duckdb/pull/23212
- Bump DuckLake by @pdet in https://github.com/duckdb/duckdb/pull/23226
- Bump httpfs for variegata by @carlopi in https://github.com/duckdb/duckdb/pull/23215
- Hopefully fix timeouts on
v1.5-variegataby @lnkuiper in https://github.com/duckdb/duckdb/pull/23224 - Variant fixes by @DinosL in https://github.com/duckdb/duckdb/pull/23195
- Fix VARIANT shredding, avoid including empty object keys by @Tishj in https://github.com/duckdb/duckdb/pull/23213
- Remove checked_array_iterator from fmt dep (1.5) by @staticlibs in https://github.com/duckdb/duckdb/pull/23238
- [Dev] Add missing
ORDER BY ALLorrowsortto merge into tests by @Tishj in https://github.com/duckdb/duckdb/pull/23258 - Cherry picks on variegata by @carlopi in https://github.com/duckdb/duckdb/pull/23262
- Bump vortex to 275ac230e1d9afd08926b6989ec2467f92fae6e3 by @carlopi in https://github.com/duckdb/duckdb/pull/23263
- Add explicit
-dark-modeand-light-modeoptions to the CLI, and improve terminal background color detection by @Mytherin in https://github.com/duckdb/duckdb/pull/23246 - Fix gzip compression write overflow by @dentiny in https://github.com/duckdb/duckdb/pull/23232
- Bump iceberg for v1.5.4 by @Tmonster in https://github.com/duckdb/duckdb/pull/23225
- Trim the system heap in the allocator flush path on jemalloc builds by @JelteF in https://github.com/duckdb/duckdb/pull/23253
- Backport loop in sleep_ms by @DinosL in https://github.com/duckdb/duckdb/pull/23245
- Fix NULL propagation for date parts of infinite dates by @DinosL in https://github.com/duckdb/duckdb/pull/23254
- [Dev][Parquet][VARIANT] Fix problem with re-use of cached transform data for differently shredded files by @Tishj in https://github.com/duckdb/duckdb/pull/23234
- bump iceberg by @Tmonster in https://github.com/duckdb/duckdb/pull/23277
- Fix more geom stats by @Maxxen in https://github.com/duckdb/duckdb/pull/23295
Full Changelog: https://github.com/duckdb/duckdb/compare/v1.5.3...v1.5.4
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]