Fix1.5.5
DuckDB v1.5.5 Bugfix Release
A bug fix release addressing security vulnerabilities, memory leaks, data corruption issues, and various stability improvements across multiple subsystems including JSON processing, Parquet support, RLE encoding, and dependency management.
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 #23197
- Remove checked_array_iterator from fmt dep (1.4) by @carlopi in #23261
- Remove checked_array_iterator from fmt dep (1.4) by @staticlibs in #23239
- [Dev] Add LLDB scripts to help with debugging by @Tishj in #23297
- Add support for test config extending by @NiclasHaderer in #23145
- bump iceberg again by @Tmonster in #23311
- Correctly get typed value stats for fully shredded variants by @Mytherin in #23325
- bump unity to include backfill fix by @benfleis in #23326
- Add request body length to http logs by @DinosL in #23316
- Show transport errors in HTTP log by @DinosL in #23327
- Dispatch Rust nightly build by @mlafeldt in #23352
- parquet: reject DATA_PAGE_V2 pages with inconsistent compressed_page_size by @benfleis in #23279
- Fix deadlock in
TemporaryMemoryManagerby @lnkuiper in #23351 - Register
oidof dependencies in theDependencyManagerso that we can track if an object was re-created with the same name by @Mytherin in #23348 - [Dev] Fix recursion issue with
scripts/lldb/pointer_printby @Tishj in #23362 - [MultiFileReader] Prevent NULL MAP keys because of (likely missing) default value by @Tishj in #23354
- Propagate lambda bindings into
tryoperator by @Mytherin in #23375 - Bump Julia to v1.5.4 by @carlopi in #23398
- Add additional guards to
DICT_FSSTto prevent exception during compression with small block size by @sebastiaan-dev in #23341 - fix out-of-bounds read in json path ReadKey lookahead by @jmestwa-coder in #23371
- fix out-of-bounds read in string to struct cast by @jmestwa-coder in #23384
- Issue #23383: Common Aggregate CTEs by @hawkfish in #23409
- Use correct start time when verifying dependencies by @Mytherin in #23430
- Fix false RLE corruption error by @DinosL in #23458
- [v1.5] No cache if file doesn't contain version information by @dentiny in #23434
- Improve rle corruption error messages by @DinosL in #23480
- Issue #23457: Ordered FIRST_VALUE Framing by @hawkfish in #23499
- Enabled
ALPandALP_RDfor storage version v1.5.0 and up when using smaller block sizes by @sebastiaan-dev in #23483 - [v1.5] Backport PR #23444: fix eviction node memleak when external fi… by @dentiny in #23479
- [v1.5] Fix min/max aggregate stats when row groups filtered by @dentiny in #23517
- Backport #23468 and #23510 by @artjomPlaunov in #23529
- Fix arrow type extension bugs by @evertlammerts in #23534
- Issue #23500: JSON TIMESTAMP_TZ Formatting by @hawkfish in #23513
- fix out-of-bounds read in dictionary string decompression by @jmestwa-coder in #23549
- Merge v1.4 into v1.5 by @carlopi in #23560
- [ADBC] Add support for duckdb:// URI scheme in URI option by @amoeba in #21293
- Fix/capi scalar bind subquery crash by @krleonid in #23566
- [variegata] Bump extensions by @carlopi in #23562
- Fix filter combiner not pruning unsatisfiable bounds by @DinosL in #23563
- fix out-of-bounds read on empty byte array decimals by @jmestwa-coder in #23567
- [v1.5] Quickfix
ALTER TABLE ADD COLUMN IF NOT EXISTS ... DEFAULTregression by @yan-alex in #23507 - Bump version map to include v1.5.5 by @carlopi in #23629
- backport #23548 to v1.5 by @myrrc in #23587
- Issue #23641: CUME_DIST Underflow by @hawkfish in #23651
- Fixed unsafe iteration when parent is
NULLin string cast by @sebastiaan-dev in #23593 - Bump HTTPFS by @lnkuiper in #23648
- backport #23573 by @artjomPlaunov in #23672
- fix(adbc): support the ADBC Statistics API by @eitsupi in #23230
- Issue #23664: RANGE ZERO by @hawkfish in #23710
- Fix DROP COLUMN corrupting per-column metadata block bookkeeping by @ywelsch in #23714
- Include extension header in libduckdb archives by @mlafeldt in #23752
- Correctly promote
SUGGEST_NEWtoREQUIRE_NEWfor variant / geometry columns by @Mytherin in #23763 - Fix lance build on Rust 1.97: patch its Cargo.lock to ethnum 1.5.3 by @carlopi in #23770
- Bump Postgres, MySQL and SQLite in 1.5 by @staticlibs in #23780
- Fix segfault in external hash aggregate when radix bits grow after going external by @carlopi in #23757
- Add HTTPUtil::ShouldRetry(request, response) retry-classification hook by @carlopi in #23793
- Bump azure, unity_catalog extensions to v1.5-variegata HEAD by @benfleis in #23800
- Bump extensions in preparation for v1.5.5 by @carlopi in #23794
- bump iceberg by @lnkuiper in #23735
- Fix for malformed JSON when rendering via duckbox by @sebastiaan-dev in #23803
- [v1.5] Backport a few fix PRs for v1.5.5 release by @dentiny in #23804
- bound alp/alprd exception positions to vector size by @jmestwa-coder in #23778
- Fix swapped min/max for multi-row-group 128-bit DECIMAL in RETURN_STATS by @sfc-gh-okalaci in #23693
- [variegata] Bump quack to 8e715ebb by @carlopi in #23820
- backport #22198 by @artjomPlaunov in #23810
- [v1.5] Backport two more fixes by @dentiny in #23841
- [DependencyManager] Fix ALTER dependency preservation by @Tishj in #23808
- TryLookupEntry now uses default schema as fallback by @okruitho in #23790
- Fix concurrent ALTER and INSERT crash by @Tishj in #23861
- Bump Postgres extension for 1.5 by @staticlibs in #23930
- [v1.5 backport] Fix: reset empty_range in the TIMESTAMP range() table function by @wmTJc9IK0Q in #23879
- Bump extensions for v1.5.5: quack, httpfs and aws by @carlopi in #23892
- Expose destructors, so they are callable module boundaries by @carlopi in #23953
- Bump DuckLake by @pdet in #23962
- Fix OSX ci by @Tmonster in #23963
- Bump lance pin to upstream ethnum fix, drop local patch by @carlopi in #23969
- Add missing statement types to capi by @hrl20 in #23407
- Bump httpfs by @lnkuiper in #24003
Full Changelog: v1.5.4...v1.5.5
securitystabilityperformancejsonparquetmemory
Source: original entry ↗