Beliebt: Daten aktualisiert am 26. Oktober 2026

Kategorien

Internet1.355
Kommunikation321
Audio & Video898
Grafik & Design539
Büro & Produktivität1.120
Entwicklertools3.132
KI-Tools527
Sicherheit & Datenschutz385
Systemtools3.113
Spiele523
Bildung & Wissenschaft239
Netzwerk & IT284

DuckDB CLI: alte Versionen herunterladen

DuckDB is an in-process SQL OLAP Database Management System

DuckDB Datenbanken #19 Datenbanken

Hier sind 32 Versionen von DuckDB CLI aufgeführt, von 17. Mai 2023 bis zur aktuellen 1.5.6. Jede verweist auf die Installationsdateien des Herstellers.

2023: 5 5 23 2024: 9 9 24 2025: 10 10 25 2026: 8 8 26

32 Versionen in 3 Jahren · etwa 9,5 pro Jahr

VersionDatumGrößeDateien
1.5.6Aktuell 28. September 2026 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released v1.5.5
What's Changed
- Use relative includes in unity build sources for cache reuse by @NiclasHaderer in #23972
- bump vortex by @samansmink in #24089
- [variegata] Remove Julia client in favor of duckdb/DuckDB.jl by @evertlammerts in #24127
- [variegata] Replace the C API spec and code generation by @evertlammerts in #24131
- TopNWindowElimination Fixes by @d-justen in #24080
- Fix active query race by @NiclasHaderer in #24123
- Fix UNNEST Pushdown by @d-justen in #24119
- [Parquet][Variant] Don't produce VARIANT metadata with sorted_strings set by @Tishj in #23591
- Fix LIMIT pushdown through a volatile projection with an OFFSET by @DinosL in #24240
- Don't push filters on volatile groups through aggregates by @DinosL in #24239
- fix(adbc): return a dense union from ConnectionGetInfo by @eitsupi in #24196
- Backport 24038 by @artjomPlaunov in #24326
- Unify C-API symbol versioning for clients/extensions, stabilize all v1 API's by @Maxxen in #24362
- backport 24332 by @DinosL in #24427
- Fix #24363: Preserve NULLs in Top-N window elimination when ORDER BY expression has no column references by @sdk011 in #24399
- backport 24260 by @artjomPlaunov in #24447
- Fix ICU strptime leaking time zone state between rows by @NiclasHaderer in #24438
- Moved thread-local work outside the global lock in PhysicalInsert::Combine by @sebastiaan-dev in #24516
- Bump httpfs by @mlafeldt in #24580
- bump vortex by @samansmink in #24650
- Fix 1.5 release by @smvv in #24687
- Allow duplicates in index in ReplayRowGroupData by @artjomPlaunov in #24744
- Dispatch Go nightly build by @mlafeldt in #24720
- Fix join projection map bug in TopNWindowElimination by @d-justen in #24592
- Fix Go nightly workflow dispatch by @mlafeldt in #24802
- Fix Top-N window elimination for nullable ordering expressions by @matthiasgoergens in #24551
- Backport 23964 & 24336 by @DinosL in #24791
- Fix off-by-one in union type by @Maxxen in #24843
- Fix inner join deduplication in TopNWindowElimination by @d-justen in #24586
- fix geometry row group pruning with nulls/empty (on v1.5) by @Maxxen in #24845
- Backport DuckDB 2.0 API spellings to 1.5 by @JelteF in #24852
- Reserve column_ids.size() in CollectionScanState::Initialize by @jeewonhh in #24888
- Fix pathological scan memory for NULLs trailing an overflow string (#24897) by @mdlavin in #24918
- Use absolute unity build includes on Windows to avoid MSVC MAX_PATH errors by @NiclasHaderer in #24978
- Fix mixed path separators for extension/loader in amalgamation (v1.5 backport) by @mlafeldt in #25026
- Backport #25101: Fix crash in Top-N with LIMIT 0 (#24794) by @RagamuffinCat in #25103
- Track and expose Pipeline's intra-MetaPipeline dependencies by @jeewonhh in #24494
- Bump httpfs by @DinosL in #25202
- Skip top-n window elimination when the limit exceeds the min/max n cap by @AbhinavMir in #24741
- Add v1.5.6 storage by @carlopi in #25208
- TryScanIndex fixes by @artjomPlaunov in #25209
- Backport #22678: avoid per-row DATE->TIMESTAMP casts in comparisons by @peterboncz in #25139
- Harden temp file reads by @carlopi in #25283
- Avoid deduplicating UNION twice by @ywelsch in #25261
- Backport #24878: Always quote identifiers in error messages by @JelteF in #25214
- Fixup TryFlushCachingOperators to avoid doubly emitted chunks by @carlopi in #25331
- Close the main WAL handle before renaming over it during WAL recovery by @carlopi in #25490
- [1.5] Report the real storage version when opening a v2.0+ database file by @DinosL in #25573
- Do not assert on a scan of a row group collection without committed row groups by @bleskes in #25668
- Backport dead node counting fixes to v1.5 by @artjomPlaunov in #25693
- Fix silent truncation of very long integer literals into HUGEINT by @DinosL in #25714
- Auto-rollback failed implicitly-wrapped multi-statements on all paths by @jraymakers in #24065
- Backport #25690: Fix MAX on hive partition column af
1.5.5 22. Juli 2026 — 64-Bit ZIPARM64 ZIP
Versionshinweise
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 TemporaryMemoryManager by @lnkuiper in #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 #23348
- [Dev] Fix recursion issue with scripts/lldb/pointer_print by @Tishj in #23362
- [MultiFileReader] Prevent NULL MAP keys because of (likely missing) default value by @Tishj in #23354
- Propagate lambda bindings into try operator by @Mytherin in #23375
- Bump Julia to v1.5.4 by @carlopi in #23398
- Add additional guards to DICT_FSST to 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 ALP and ALP_RD for 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 ... DEFAULT regression 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 NULL in 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_NEW to REQUIRE_NEW for 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
- Bu
1.5.4 17. Juni 2026 — 64-Bit ZIPARM64 ZIP
Versionshinweise
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 #22136
- backport 21815 & 21427 by @artjomPlaunov in #22137
- remove CleanupState destructor and remove noexcept on DuckCleanupInfo… by @artjomPlaunov in #22186
- Backport revert append fix to v1.4 by @Mytherin in #22414
- Backport windows-32bit test fix to 1.4 by @staticlibs in #22639
- Fix TemporaryFileManager reported size to reflect live blocks by @DinosL in #22767
- Set query text on PIVOT MultiStatement sub-statements at construction by @bleskes in #22769
- Fix double free and memory leak in Arrow GeoArrow CRS serialization by @rustyconover in #21854
- Render MAP values as valid SQL in Value::ToSQLString() by @carlopi in #22815
- Remove time-out waiting for terminal background color by @Mytherin in #22838
- Fix WindowSelfJoinOptimizer ignore exception by @qsliu2017 in #22800
- fix progress bar output and crash when piping SQL by @DinosL in #22836
- Internal #9438: TopN Window Projections by @hawkfish in #22851
- Fix: check if ParseFormatSpecifier returns unrecognized format by @DinosL in #22850
- Issue #22791: Window Self-Join Limits by @hawkfish in #22844
- [Backport] Column-level metadata loading and serialization by @ywelsch in #22768
- Fix json_keys with wildcard paths by @feichai0017 in #22855
- Fix: JSON add list type check by @DinosL in #22862
- Use committed row count in RowGroupReorderer by @lnkuiper in #22884
- Fix geometry stats checkpointing when no changes are detected by @Maxxen in #22882
- Check for nullptr expressions in deserialized JSON by @lnkuiper in #22906
- Add vacuum_rebuild_indexes as an (experimental) ATTACH option by @evertlammerts in #22690
- Use non-deleted row count in RowGroupReorderer by @lnkuiper in #22911
- Validate width/scale in duckdb_create_decimal_type and duckdb_create_decimal by @mlafeldt in #22905
- Bump httpfs to fix CI by @sebastiaan-dev in #22817
- Update vortex extension by @samansmink in #22930
- Fix alias propagation when replacement scan is wrapped in SubqueryRef by @truffle-dev in #22852
- Rowgroup index append by @artjomPlaunov in #22940
- Bump Julia to v1.5.3 by @carlopi in #22804
- Make url a value, not a const ref by @NiclasHaderer in #22953
- fix(adbc): support StatementExecuteSchema of ADBC 1.1.0 by @eitsupi in #22965
- Fix partial column metadata reuse bug by @ywelsch in #22994
- bump avro hash for 1.4.5 by @djouallah in #22952
- Add avro and unity_catalog to extension list by @d-justen in #22948
- Fix case-insensitive column match in INSERT ... SELECT ON CONFLICT by @remsky in #22825
- Normalize db_type to lowercase on ATTACH, apply extension aliases on compare by @carlopi in #22758
- MERGE INTO: only consider target table when binding WHEN NOT MATCHED and source table when binding WHEN NOT MATCHED BY TARGET by @Mytherin in #23014
- In the optimistic writer always start a new row group after merging by @Mytherin in #22997
- Merge Into: Avoid recursively binding in the ProjectionBinder by @Mytherin in #23022
- Rename emscripten action in v1.5 by @smvv in #23044
- Rename emscripten action in v1.4 by @smvv in #23045
- Fix VARIANT cast reading wrong rows under a filter by @mlafeldt in #23031
- fix(adbc): implement ADBC 1.1.0 Rich Error Metadata API by @eitsupi in #23073
- Add v1.4.5 to storage version map by @carlopi in #23081
- Merge v1.4-andium into v1.5-variegata, and add storage versions v1.4.5 and v1.5.4 by @carlopi in #23082
- Backport PR #22348 to andium by @carlopi in #23084
- Backport variegata bugfixes into andium by @carlopi in #23085
- Bump vortex in andium by @carlopi in #23091
- Bump lance in variegata by @carlopi in #23094
- Bump vortex in variegata by @carlopi in #23096
- Bump extensions to v1.4-andium by @carlopi in #23090
- v1.5-variegata: bump extensions by @carlopi in #23089
- Fix Parquet thrift byte order on win
1.5.3 20. Mai 2026 — 64-Bit ZIPARM64 ZIP
Versionshinweise
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 #22004
- DuckLake Bump by @pdet in #22014
- fix: resolve current catalog in ADBC Ingest to avoid temp table shadowing by @eitsupi in #22020
- Fix TIMESTAMPFORMAT being ignored for TIMESTAMPTZ columns in copy to json by @DinosL in #21992
- Provide BWC support for join filter pushdowns by @ywelsch in #22029
- Add iceberg copy function autoload by @NiclasHaderer in #22037
- Fix DISABLE_EXTENSION_LOAD by @mlafeldt in #22019
- Fix INSERT OR REPLACE BY NAME regression by excluding conflict columns from SET list by @DinosL in #22049
- Git-ignore generated extension loader by @mlafeldt in #22056
- Fix constant struct args in lateral table in-out functions by @AlfieJones in #21827
- Avoid handling Ctrl+C during shutdown (state might be already gone) by @carlopi in #22059
- Add DISABLE_BUILTIN_HTTPLIB option by @carlopi in #22054
- Set query field for statements in ALTER TABLE ... ADD COLUMN ... DEFAULT ... workaround by @yan-alex in #22057
- Coorporative tasks might lead to busy spinning in TaskExecutor::WorkOnTasks by @NiclasHaderer in #22092
- Row group append by @evertlammerts in #22060
- Fix empty parquet child schema by @dentiny in #22105
- Issue #22096: TopN Window Casts by @hawkfish in #22098
- Add support for reading VARIANT using C API by @Dtenwolde in #22065
- Bump Julia to v1.5.2 by @taniabogatsch in #22121
- fix commit iteration offset bug + relax RemoveFromIndexes assertion by @artjomPlaunov in #22094
- Internal #8812: From TIMESTAMPTZ Casts by @hawkfish in #22000
- Only build plan_serializer when building the main DuckDB library by @rustyconover in #22100
- Fix Row Group Pruner Distinct Bug by @d-justen in #22132
- Correctly skip preprocessing PIVOT MultiStatements by @yan-alex in #22141
- fix(adbc): report the table name if the table doesn't exist when appending by @eitsupi in #22146
- [v1.5 patch] Attempt to fix cache read by @dentiny in #22126
- Also execute auto-rollback on CLI ClientContext::Query() query by @yan-alex in #22159
- Fix window self join optimizer by @kryonix in #22164
- Account for ROW_GROUP_SIZE when deciding whether to append to an existing row group by @evertlammerts in #22109
- Use the latest storage version for temp storage by @Mytherin in #22169
- Fix: Add pg_catalog.pg_collation compatibility view for SQLAlchemy 2.0.45 reflection by @alonfaraj in #22160
- Fix CSV escape by @dentiny in #22176
- Fix union_by_name remap for non-nested parquet columns by @feichai0017 in #22177
- User-facing enable_caching_operators setting by @lnkuiper in #22191
- Fix bignum sum Combine to correctly take over memory ownership of state by @Mytherin in #22209
- CompressedFile::Close -> calls Close on its child_handle by @benfleis in #22149
- ISSUE-22061: Fix JSON shell output: emit BOOLEAN as true/false, not strings by @herbenderbler in #22073
- [Bugfix] Reset pg_err_pos in pg_parser_init to prevent stale error position leaking by @p1p1bear in #22239
- Bump httpfs to 3139e40a by @carlopi in #22248
- Correctly use new row group when checkpointing, and avoid incorrectly re-using metadata when targeting older storage versions and row ids have changed by @Mytherin in #22253
- Fix: release ParquetReader when a file is marked SKIPPED in multi-file scan by @J-Meyers in #22261
- Fix UTC±NN00 cannot be parsed in SQL by @tianjq16 in #22244
- Defer Bloom Filter Pushdown until it's done by @lnkuiper in #22218
- [v1.5] Backport ADBC memleak fix on error path by @dentiny in #22216
- Allow package builds to choose linked extensions by @mlafeldt in #22305
- Fix UTC+HHMM time zone was parsed incorrectly by @tianjq16 in #22297
- Bump httpfs by @carlopi in #22312
- Exception format: accept string literals by @carlopi in #22314
- Skip schema analysis even if no shredding 
1.5.2 13. April 2026 — 64-Bit ZIPARM64 ZIP
Versionshinweise
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 #20804
- bump ref to azure for v1.4.4 (rebuild) by @benfleis in #20888
- Internal #7584: AsOf Simple Joins by @hawkfish in #21090
- Do not write ccache to github cache for v1.4-andium by @smvv in #21109
- Disable extension caching for v1.4 to free github cache space by @smvv in #21150
- Disable save_cache for v1.4-andium by @smvv in #21167
- Backport #19232: allow * Not similar to 'pattern' by @Dtenwolde in #21177
- backport zstd PR to 1.4 by @artjomPlaunov in #21178
- Fix unbounded row group growth for indexed tables on repeated load+insert cycles by @abramk in #21316
- Backport #21271 by @artjomPlaunov in #21326
- [lance] Add for v1.4-andium by @carlopi in #21410
- add lance for v1.4 by @samansmink in #21113
- Correctly detect overflows when decoding integers from storage by @Mytherin in #21482
- Correctly revert dictionary size when reverting string appends by @Mytherin in #21489
- Add descriptions for vortex and lance by @carlopi in #21500
- Fixup Write bytes are counted as BYTES_WRITTEN by @carlopi in #21501
- Fix memory leak when reusing PreparedStatement (#21089) by @wzharies in #21104
- Make some MultiStatements and PRAGMAs Transactional by @yan-alex in #21171
- Reduce concurrent thread count in test by @Mytherin in #21511
- Fixing integer overflow in list_resize by @hannes in #21515
- Fix #21512: correctly render empty results in .mode json by @Mytherin in #21517
- Fix parsing test path to skip by @jeewonhh in #21495
- Add setting for limiting the number of threads launched concurrently in the test runner (max_test_threads) by @Mytherin in #21520
- Unify adding suffixes to path in Path:: AddSuffixToPath - fix temp directory split bug by @Mytherin in #21527
- Correctly deal with negative values in GetPosixVersionTag, and fix constant NULL struct scans after recent fix by @Mytherin in #21549
- Fix missing extension static libs in Windows MinGW bundle by @mlafeldt in #21559
- PEG grammar fixes: Update extension and allow numeric struct keys by @Dtenwolde in #21331
- [v1.5-variegata] Fix #21514: ASOF join empty right by @Pieczasz in #21553
- Fix data path in test/sql/copy/parquet/parquet_no_stats.test by @jeewonhh in #21561
- TopNWindowElimination Column Binding Fix by @d-justen in #21564
- lance: bump lance-duckdb to 4d9ecab by @Xuanwo in #21572
- Bump Julia to v1.5.0 by @taniabogatsch in #21588
- Bump Julia to v1.4.4 on v1.4-andium by @taniabogatsch in #21589
- Simplify the way we determine which row groups to checkpoint during checkpoints by @Mytherin in #21574
- Fix for CSV reader buffer-boundary value read by @Mytherin in #21577
- CLI: Avoid division by zero when formatting a large result with a non-wide shell by @Mytherin in #21591
- Backport __EMSCRIPTEN__ fix by @Mytherin in #21581
- Fix missing SetSizeAndFinalize in BIGNUM Add for zero result case by @pdet in #21465
- Segfault due to unchecked malloc/realloc, proposed fix to #21593 by @wasade in #21594
- Reduce arg_min_max_n heap preallocation by @feichai0017 in #21467
- Fixed an issue where the describe statement did not work correctly in markdown output mode(ISSUE:#21579) by @ArNine in #21611
- fix unpivot serialization by @Maxxen in #21595
- Windows shell: enable VT100 processing on startup by @staticlibs in #21615
- Make PEG Parser use strict mode in CI by @Dtenwolde in #21590
- Fix #21623: flatten input chunk in TopNHeap::CheckBoundaryValues by @Mytherin in #21629
- Issue #21592: Window Self-Join Framing by @hawkfish in #21628
- Bump Julia to v1.5.1 by @taniabogatsch in #21637
- Merge v1.4-andium into v1.5-variegata by @Mytherin in #21639
- Bump storage version to v1.5.2 by @taniabogatsch in #21638
- bump delta and unity_catalog ext refs in v1.5-variegata by @benfleis in #21640
- Fix cancellation order between pipelines and tasks in CancelTasks by @carlopi in #21642
- Fix shell completion enter handli
1.5.1 23. März 2026 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released v1.5.0.
What's Changed
- [Extensions] Preserve require order in InterpretedBenchmark by @Tishj in #21214
- CLI: Make help entry uppercase by @szarnyasg in #21224
- Restore view's bind_state when binding fails by @jeewonhh in #21193
- [Regression v1.5] Fix INTERNAL Error in UnnestRewriter for deeply nested struct UNNEST by @guizmaii in #21209
- fix(storage): prevent TrimFreeBlocks from zeroing concurrently alloca… by @llersch in #21146
- Windows shell: UTF-8 mode when writing to pager by @staticlibs in #21202
- [Dev] Add internal exception for misuse of MultiFileReader method by @Tishj in #21046
- Before loading libraries in TryAutoLoadExtension check AutoloadKnownExtensions Setting by @pdet in #21051
- fix: buffer overread in Arrow dictionary conversion with NULLs - fixes crash. by @rustyconover in #21083
- Avoid misleading GetRequestInfo constructor that takes endpoint + path by @carlopi in #21151
- Enable column pruning for MATERIALIZED CTEs by @kryonix in #21169
- Add framework to test two DuckDB versions by @Y-- in #21184
- Internal #7691: 2026a Time Zones by @hawkfish in #21204
- Fix DuckFuzz #4325 by @kryonix in #21215
- Fix decorrelation delim index bug by @kryonix in #21233
- Fix two minor shell bugs: Avoid mutating rendered strings and avoid p… by @carlopi in #21234
- Fix wrong cast in RecursiveDependentJoinPlanner by @kryonix in #21235
- Use atomic load in bloom filter look-up by @Mytherin in #21238
- Move BWC tests to nightly for now by @Mytherin in #21266
- Internal #7740: AsOf Tidy Fix by @hawkfish in #21255
- Re-add accidentally removed -jsonlines command line parameter by @Mytherin in #21263
- Switch MAIN_BRANCH_VERSIONING to False for v1.5-variegata branch by @carlopi in #21239
- Lazy call mmap in BlockAllocator by @lnkuiper in #21276
- Dynamically determine radix bits for external aggregation by @lnkuiper in #21274
- Avoid potential division by 0 in PhysicalHashJoin::PrepareFinalize by @lnkuiper in #21271
- Do not use MSYS shell for MinGW builds by @staticlibs in #21296
- add structured Path objects, update joinpath: normalize, support url/… by @benfleis in #21277
- When stress testing FORCE_ASYNC, add the relevant error messages by @carlopi in #21267
- Fix invalid JSON when casting from certain types by @Maxxen in #21280
- Fix .open of Parquet files etc. in CLI by @hannes in #21269
- Bump storage version to v1.5.1 by @taniabogatsch in #21287
- Implement line number reporting in errors for PEG parser by @Dtenwolde in #21157
- Support new v1.5 syntax for PEG grammar by @Dtenwolde in #21172
- [Fix] Memory error when transforming to v1.0.0 ART storage by @taniabogatsch in #21270
- Add missing expression traversal in merge into binding by @kryonix in #21283
- Add UUID to settings cache by @Mytherin in #21290
- Fix Terminal::TryGetBackgroundColor when stdin is reading from a pipe but stdout is still writing to the terminal by @Mytherin in #21288
- Fix #21248: correctly expand type count in CSV header detection by @Mytherin in #21292
- Add batch index support to parquet_metadata and friends to allow it to be executed in parallel also with order preservation by @Mytherin in #21314
- Make overriding HTTPUtil thread safe by @Mytherin in #21210
- Revert #21067 - and fix WAL corruption issue through calling MarkBlockAsCheckpointed on WAL blocks by @Mytherin in #21285
- Fix sampling for UB in musl libc by @carlopi in #21318
- TryGetCurrentSetting: Fixup paramater passing for FileOpenerInfo by @carlopi in #21301
- Fix Row Group Reorderer Bug by @d-justen in #21282
- Windows shell: fix UTF-8 to UTF-16 conversion by @staticlibs in #21319
- Issue #21244: AsOf Unordered LIMIT by @hawkfish in #21250
- Throw error on incorrect use of ParseExpressionList by @Dtenwolde in #21306
- Issue #20481: Prepare Window Parameters by @hawkfish in #21323
- CLI: Explicitly clean up shell state instead of letting static destructor order determine when it gets destroyed by
1.5.0 9. März 2026 — 64-Bit ZIPARM64 ZIP
Versionshinweise
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 #18342
- Remove case-insensitive character from grammar files by @Dtenwolde in #18948
- Fix query() function error message for PIVOT statements without explicit IN clauses by @shivampr in #18900
- Merge v1.4-andium into main by @c-herrewijn in #18952
- [Dev] Some light code cleanup in RemoveUnusedColumns::VisitOperator by @Tishj in #18964
- Support renaming a database - ALTER DATABASE <> RENAME TO <> by @abramk in #18970
- V1.4 andium by @Mytherin in #18982
- Fix field id uniqueness for alter database by @abramk in #18988
- Fix unused variable warnings by @mlafeldt in #18913
- Avoid adding a TupleDataChunkPart with only one row. by @lance5401 in #18904
- Tiny fix for ColumnDataAllocator::ColumnDataAllocator by @baolinhuang in #18990
- Fixes for ALTER DATABASE - use serialization framework, and fix stringification of identifiers by @Mytherin in #18994
- Expected errors 2053 by @hmeriann in #18960
- Fix union semantics in recursive CTEs by @cryoEncryp in #19017
- Multifile parquet_metadata and friends parallelism by @J-Meyers in #18854
- [Optimize] use StorageLock for CompressionFunction by @baolinhuang in #19028
- PEG grammar updates by @Dtenwolde in #19031
- Rework Compression Function registration to avoid grabbing locks by @Mytherin in #19045
- Merge v1.4 into main by @Mytherin in #19048
- [C-API] default to adding overload on conflict when registering functions by @Maxxen in #19036
- Destroy row groups in parallel by @Mytherin in #19053
- Switching core extension upload to dedicated credentials by @hannes in #19060
- CI: Increase stale bot timeout to 1 year by @szarnyasg in #19000
- Revert "set default value of MAIN_BRANCH_VERSIONING to false" by @c-herrewijn in #19057
- Fix extension load by @dentiny in #19079
- Change core extensions bucket name by @hannes in #19082
- Merge v1.4 into main by @Mytherin in #19098
- Allow directory override for extension build by @Mytherin in #19110
- Skip serialization of row_start in DataPointer when targeting latest storage by @Mytherin in #19111
- [C-API] Initial support for accessing file system by @Maxxen in #19086
- Rework UNION (ALL) operators (SetOperationNode/LogicalSetOperation/PhysicalUnion) to have multiple children by @Mytherin in #19109
- pushdown filter when doing cross or lateral join with unnest by @DinosL in #19085
- Fix unholy interaction between CREATE VIEW and CTE definitions by @kryonix in #19116
- Add support for read_duckdb - a function that allows reading / globbing DuckDB database files by @Mytherin in #19108
- Fix typo by @szarnyasg in #19130
- fix: check tree depth and flatten dep join for custom operator extension by @Wal8800 in #19094
- During optimistic writing, gather N row groups and write them at the same time column-at-a-time by @Mytherin in #19118
- Remove unused code by @szarnyasg in #19134
- Add support for late materialization and filter pushdown to read_duckdb by @Mytherin in #19145
- Move storage block prefetching to an option instead of baking in testing during ALTERNATIVE_VERIFY + add a test config for this option by @Mytherin in #19146
- Introduce parser_override_function_t by @Dtenwolde in #19126
- Perform deduplication based on join_keys when building ht by @tianjq16 in #19097
- Print help to stdout by @staticlibs in #19170
- Validate filesystem registration by @dentiny in #19168
- Fix missing replacement scan code for CTEs by @kryonix in #19159
- Correctly set row start in WAL replay by @Mytherin in #19192
- Use a PartialBlockManager per column, instead of sharing one over the entir
1.4.4 26. Januar 2026 — 64-Bit ZIPARM64 ZIP
Versionshinweise
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 #20098
- [Storage] Fix NULL filter check for constant segments by @Tishj in #20103
- fixing staged upload for install.duckdb.org - hopefully by @hannes in #20104
- Remove undefined loop by @artjomPlaunov in #20105
- [Test] Adjust concurrent attach-detach test to expect write-write conflict by @taniabogatsch in #20108
- Fix ALIAS function in filter pushdown to preserve column aliases(#20008) by @henry8128 in #20106
- Headers missing from http logs by @samansmink in #20030
- Bumping httpfs to include duckdb/duckdb-httpfs#174 by @carlopi in #20145
- Issue #20136: Secondary IGNORE NULLS by @hawkfish in #20153
- Fix minio nightly tests by @c-herrewijn in #20132
- Fix use-after-free in mode aggregate Combine function by @victor-ab in #20146
- Only pushdown varchar if the arrow type is not a string view by @evertlammerts in #20165
- Quote filters in adbc_get_objects by @evertlammerts in #20172
- Issue #20156: Streaming Window Unions by @hawkfish in #20191
- MergeInto: correctly clean-up buffer and handle non trivial GetData by @carlopi in #20163
- Fix extentension-ci-tools to latest release version in the v1.4-andium branch by @carlopi in #20227
- [Chore] Clean up CI nightly run to prevent time outs by @taniabogatsch in #20150
- Bump Julia to v1.4.3 by @maiadegraaf in #20248
- Internal #6881: 2025c Time Zones by @hawkfish in #20258
- Split statements by semicolon by @Dtenwolde in #20174
- [chore] Remove numeric_cast.hpp import and other tidy stuff by @taniabogatsch in #20278
- [chore] Reduce latency of VARCHAR index creation test by @taniabogatsch in #20277
- Reuse correct table-level metadata during checkpoints by @ywelsch in #20267
- Fix view resolution not being stable if the referenced table lives in a different schema by @Tishj in #20260
- ConstantOrNullFunction input validity mask overwrite bugfix by @artjomPlaunov in #20283
- dbgen: use TaskExecutor framework by @Mytherin in #20284
- fix(adbc): return error when setting an empty sql query by @gishor in #20071
- Bump iceberg, and add wasm platforms! by @carlopi in #20205
- _extension_distribution: Pin to v1.4-andium branch of extension-ci-tools by @carlopi in #20294
- Optimize prepared statement parameter lookups by @EtgarDev in #20252
- Update VectorType in ComputePartitionIndices by @lnkuiper in #20343
- Add some defensive programming in RadixPartitionedHashTable::Combine and RadixPartitionedHashTable::Finalize by @lnkuiper in #20342
- Increase reserved size for paths in SetPathsInternal by @Flogex in #20340
- Use UTF-16 console output in Windows shell (1.4) by @staticlibs in #20339
- Force repartitioning in RadixPartitionedHashTable::Combine by @lnkuiper in #20357
- Fixup comparison to wrong iterator on abdc's driver by @carlopi in #20360
- [chore] dsdgen generation signed integer overflow fix by @taniabogatsch in #20279
- Give preference do variables set in config by @pdet in #20396
- Add QueryContext also to Write(void *buffer, idx_t nr_bytes), so that BytesWritten are updated also there by @carlopi in #20393
- Fix Issue #20233: fix function chain in qualify by @ArNine in #20302
- Backport client data cleanup by @taniabogatsch in #20403
- Add v1.4.4 to Storage Version by @maiadegraaf in #20404
- Parquet Reader: Ignore invalid UTF8 in string stats, instead of throwing an error by @Mytherin in #20405
- Don't add a semicolon to final query when splitting statements by @Dtenwolde in #20401
- Fixup BRANCHES_TO_BE_CACHED, vars are not available on PRs, so env it is by @carlopi in #20411
- [Fix] Defensive infinite loop guard and UTF-8 check in C API by @taniabogatsch in #20348
- Add ducklake, httpfs and iceberg tests so they are run in CI by @carlopi in #20319
- [Stats] date_trunc stat propagation fix by @Tishj in #20421
- R
1.4.3 9. Dezember 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
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 #19722
- Fix behavior for HAVING clause without a GROUP BY by @Tishj in #19739
- Remove httpfs patches and bump by @carlopi in #19763
- Correctly use a lock when accessing the EncryptionKeyManager by @Mytherin in #19772
- Bump iceberg to now default available extension by @carlopi in #19764
- Extract all column bindings of json each function by @Tmonster in #19766
- constraint violation bug fix by @artjomPlaunov in #19776
- Avoid binding macro arguments for untyped macros by @lnkuiper in #19779
- It should probably be ${EXTENSION_CONFIG_BUILD} instead of EXTENSION_CONFIG_BUILD by @hannes in #19694
- Fix #19575: Fix illegal utf8 character by @flashmouse in #19699
- chore: bump vortex to 0.56.0 by @0ax1 in #19815
- PositionalScan: handle also HAVE_MORE_OUTPUT + empty chunk via iteration by @carlopi in #19824
- AttachDatabase: first set whether file is remote, then do the rest by @carlopi in #19826
- Add CacheBehavior::AUTOMATIC to DBInstanceCache that automatically does the right thing™ by @Mytherin in #19841
- Reuse metadata even in the presence of deletes by @ywelsch in #19823
- DuckIndexScanState::TableScanFunc, split into 2 explicit phases by @carlopi in #19838
- Bump httpfs and iceberg by @carlopi in #19859
- Keep cte_root alive while binding materialized CTEs in MERGE INTO children by @Mytherin in #19863
- CI Cleanup (#19840) by @yan-alex in #19857
- Fix #19517: preserve relation name for table-qualified star LIKE expression by @henry8128 in #19887
- avoid underflow/"inf" loop while reporting unittest summary (backport… by @benfleis in #19900
- Fixes incorrect handing of APPROX_QUANTILE TIME by @Damon07 in #19891
- Add v1.4.3 to Storage Version by @maiadegraaf in #19907
- clean up tmp files while building extensions by @c-herrewijn in #19908
- Bump: ducklake, mysql_scanner by @maiadegraaf in #19910
- remove large limit optimization whenever there is a filter by @guillesd in #19911
- free disk space in Upload Extensions job by @c-herrewijn in #19912
- [Compression] Prevent overriding COMPRESSION_EMPTY with COMPRESSION_CONSTANT by @Tishj in #19913
- Make make tidy-check-diff compare against base branch, instead of always comparing against origin/main by @Mytherin in #19917
- More testing for appender and attach-detach by @taniabogatsch in #19708
- Script to release a extension manually by @samansmink in #19881
- Assert that result types match with column data collection when fetching data by @pdet in #19750
- No longer auto-enable profiling on DEBUG mode by @maiadegraaf in #19931
- Fix optimizer incorrectly remove ORDER BY clause from aggregates by @tianjq16 in #19925
- Backport revert append fixes by @Mytherin in #19941
- Bump: spatial by @Maxxen in #19943
- Issue #19916: WASM Time Zones by @hawkfish in #19918
- Fix correlated column binding in ConstantBinder by @d-justen in #19945
- [chore] Increase slow threshold by @taniabogatsch in #19965
- [Parquet] Fix prepared copy option parameter by @Tishj in #19966
- [TestConfig] Fix verify_fetch_row config, reduce duplication in skip_tests by @Tishj in #19967
- remove sha from artifacts by @c-herrewijn in #19957
- Unbound index binding with context by @artjomPlaunov in #19953
- [Fix] Bug in FetchRow after update on indexed table with dict_fsst compression by @taniabogatsch in #19970
- Null assertion on denormalized_table argument by @Dtenwolde in #19947
- [Art][Wal]Unbound index allocations by @artjomPlaunov in #19901
- No sampling over 281TB by @Tmonster in #19978
- Take in consideration if the sniffer used unstrictness while selecting candidates by @pdet in #20005
- [CSV] Avoid throwing unnecessary errors on strict mode by @pdet in #20007
- [Compression] Fix an issue with NULL updates to a column compressed with DICT_FSST by @Tishj in #20009
- Bump: delta, ducklake, iceberg by @maiadegraaf in #20012
- add unity_catalog, upda
1.4.2 12. November 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
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. Users of the DuckDB encryption feature are encouraged to update.
What's Changed
- bump duckdb-azure ref for 1.4.1 by @benfleis in #19275
- Fix regex optimization to remove flags when converting to contains by @mlafeldt in #19290
- feat: Fix length of sort keys by @krlmlr in #19260
- Pass lambda bindings to next binder by @Dtenwolde in #19144
- bump Julia to v1.4.1 by @c-herrewijn in #19306
- Use cross-compilation for static libs on OSX by @hannes in #19304
- Allow multiple read-only attaches to the same database across database instances by @Mytherin in #19319
- hugeint_t fixes by @carlopi in #19318
- Use CMAKE__COMPILER_LAUNCHER by @evertlammerts in #19326
- Add settings field to test config by @Mytherin in #19330
- Keep track of which database managers have which databases attached in the DatabaseFilePathManager by @Mytherin in #19338
- Bugfixes by @lnkuiper in #19329
- skip several ci jobs on prs that only bump extensions by @samansmink in #19249
- [C API] bind_value out of range fix by @taniabogatsch in #19348
- Destroy TaskNotifier prior to calling FinishTask by @Mytherin in #19373
- Remove zip bombs by @Mytherin in #19380
- Avoid calling shared_from_this() and instead use the passed in ClientContext in buffered data by @Mytherin in #19379
- add test tag support [vfs integration tests p1] by @benfleis in #19331
- Throw if non-VARCHAR key is passed to json_object by @lnkuiper in #19365
- BUGFIX: Silent failure to write row groups with large lists by @J-Meyers in #19376
- Fixes for CTE (de)serialization compatibility with older versions by @Mytherin in #19393
- Fix #18139: correctly initialize flush size in MemoryStream, and re-use writer states by @Mytherin in #19398
- Fixup Kalman fiter: bound it's (0, scale_factor), not (0, 1) by @carlopi in #19395
- Fix StringDecompress for hugeint_t values by @ywelsch in #19403
- Fix #19211: make INSERT OR IGNORE correctly handle multiple constraints by @Mytherin in #19409
- Issue #19386: ICU TZDEFAULT by @hawkfish in #19413
- Fix issue in MetadataManager triggered when doing concurrent reads while checkpointing, and rework concurrent attach / detach test by @Mytherin in #19424
- ADBC fix: escape schema, table and column identifiers by @evertlammerts in #19407
- v1.4: Only serialize CTE nodes when MATERIALIZED is specified by @Mytherin in #19420
- Add forwards compatibility tests to CI by @Mytherin in #19432
- Internal #6168: Unsupported Correlated Binds by @hawkfish in #19431
- Don't pull up filters through DISTINCT ON and make enum casts in Parquet safe (bugfixes) by @lnkuiper in #19406
- Get table bindings for all operators under a logical get if the logical get function is an unnest by @Tmonster in #19467
- WASM #1897: UTC Offset Support by @hawkfish in #19464
- Add tests for nested lambda bindings by @Dtenwolde in #19453
- [Compression] Fix issue in ZSTD decompression related to mis-interpreted segment offsets by @Tishj in #19475
- vfs integration tests p2 - update (env) vars and tests by @benfleis in #19428
- CI Fix: clear benchmark cache between runs by @Mytherin in #19508
- Make DatabaseInstance::log_manager a unique_ptr by @Flogex in #19471
- Support non-standard NULL in Parquet again by @Mytherin in #19523
- Bump: inet by @samansmink in #19526
- Bump multiple extensions by @samansmink in #19522
- add upcoming patch release to internal versions by @samansmink in #19525
- Add test that either 'latest' or 'vX.Y.Z' are supported STORAGE_VERSIONs by @carlopi in #19527
- Moving staging to cf and uploading to install bucket by @hannes in #19539
- Creating separate OSX cli binaries for each arch by @hannes in #19538
- [Dev] Disable the use of ZSTD if the block_manager is the InMemoryBlockManager by @Tishj in #19543
- Follow up to staging move by @hannes in #19551
- Bugfixes: Parquet JSON+DELTA_LENGTH_BYTE_ARRAY and sorting iterator by @lnkuiper in 
1.4.1 7. Oktober 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 1.4.0.
What's Changed
- Fix attach to right DB when using DuckLake by @pdet in #19011
- set default value of MAIN_BRANCH_VERSIONING to false by @c-herrewijn in #19014
- ComplexJSON: parse all valid JSON correctly by @Mytherin in #19024
- Issue #19016: ICU Offset Parsing by @hawkfish in #19029
- Throw if we detect a quoted new line with the null padding set in parallel mode by @pdet in #19012
- Bump iceberg & ducklake by @carlopi in #19037
- Build Fix: unordered_map<enum class is not supported in all compilers, use map< instead by @Mytherin in #19046
- Disable emitting versioned libraries by default by @Mytherin in #19047
- Re-add aliased settings to duckdb_settings() view, and some fixes for aliased settings by @Mytherin in #19050
- Fix threading issues in metadata manager, and expand concurrent attach / detach fuzz test by @Mytherin in #19054
- Correctly re-align all child column segments of the ColumnData on Deserialize, and add logging to checkpoints by @Mytherin in #19055
- [unittest] Fixes so that '{BASE_TEST_NAME}' can be used within --on-new-connection by @carlopi in #19056
- add a bunch of expected error messages to old macro tests and fix iss… by @lnkuiper in #19042
- Always execute cast and try_cast if they are not invertible by @DinosL in #19010
- Switching core extension upload to dedicated credentials by @hannes in #19061
- Include BeginQuery in latency metric by @taniabogatsch in #19064
- [Dev] Bit of code cleanup in (parquet) ColumnWriter by @Tishj in #19063
- Add config: one_schema_per_test.json by @carlopi in #19059
- Change bucket name for core extensions by @hannes in #19083
- Moved test data into testing dir by @NiclasHaderer in #19102
- Bump httpfs by @carlopi in #19104
- Fix example syntax in variant_typeof() function by @krlmlr in #18977
- Avoid throwing on unset extension setting by @Mytherin in #19117
- Fix internal issue 5975 by @lnkuiper in #19101
- Properly initialize StringStats in Parquet reader by @lnkuiper in #19139
- Remove HTTPFS tests and setup scripts by @Mytherin in #19140
- Validate JSON in Parquet reader by @lnkuiper in #19143
- Fix bug in merge into when condition is in parenthesis by @pdet in #19137
- Allow implicit casts from JSON[] to JSON again by @lnkuiper in #19141
- [ci] Change logic for saving caches: Github variable that decides what gets cached by @carlopi in #19150
- Fix handling of quotes in ToString() of search_path in current_setting by @Mytherin in #19162
- Delay throwing NotImplementedException in ExpressionBinder by @lnkuiper in #19153
- Issue #18303: AsOf NLJ Nulls by @hawkfish in #19173
- HTTPUtil: response might be null, perform check by @carlopi in #19179
- Handle malformed schema index in Parquet reader by @Mytherin in #19191
- ATTACH IF NOT EXISTS: avoid looping waiting for DETACH to finish, wait only for an ATTACH operation to finish by @Mytherin in #19193
- Implement duckdb_connection_count table function by @taniabogatsch in #19187
- Disable ALP for non-default block sizes by @taniabogatsch in #19197
- Check for unresolved parameters when binding CREATE MACRO ... AS TABLE by @lnkuiper in #19196
- https://duckdb-blobs.s3.amazonaws.com -> https://blobs.duckdb.org by @carlopi in #19206
- [chore] Attempt at restoring workflow for MinGW Static libs by @carlopi in #19205
- Simple no default region return 301 response by @Tmonster in #19087
- [Fix] Correctly reset the gate status during ART merging by @taniabogatsch in #19204
- build spatial extension for mingw by @c-herrewijn in #19207
- Fixup templated version of TryGetSecretKeyOrSetting by @carlopi in #19218
- Bump: delta by @samansmink in #19220
- Autoloading helper file system: allow either autoloading or proper errors in more file operations by @carlopi in #19198
- Eargerly destroy sort buffers in Window by @lnkuiper in #19224
- [Transaction] Delete and drop of a table can now happen in the same transaction without error by @Tishj in #18918
1.4.0 16. September 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This release of DuckDB is named "Andium" after Anas Andium, a species of duck that lives in the Andes mountains in South America.
Please also refer to the announcement blog post: https://duckdb.org/2025/09/16/announcing-duckdb-140.html
What's Changed
- Python package devexp improvements by @evertlammerts in #17483
- change exception type to not be an internal exception by @samansmink in #17551
- Remove redundant code path in the ConflictManager by @taniabogatsch in #17562
- Add support for ToSqlString for union types by @wmTJc9IK0Q in #17513
- Update function descriptions and examples by @c-herrewijn in #17132
- Move query profiler's EndQuery after commit/rollback by @taniabogatsch in #17595
- fix extension troubleshooting link by @simon0191 in #17616
- C API tidying by @taniabogatsch in #17623
- bump DuckDB_jll to v1.3.0 by @c-herrewijn in #17677
- Add rowsort in generate_series test #43 by @jeewonhh in #17675
- [C API] Expose duckdb_scalar_function_bind_get_extra_info by @taniabogatsch in #17666
- Enable profiling output for all operator types by @taniabogatsch in #17665
- Output hashes in unittest and fix order by @niykko in #17664
- New Sorting Implementation by @lnkuiper in #17584
- Merge v1.3-ossivalis into main by @Mytherin in #17690
- Issue #17040: FILL Window Function by @hawkfish in #17686
- ClientBufferManager wrapper to access the client context in the buffer manager by @taniabogatsch in #17699
- Revert "set default for MAIN_BRANCH_VERSIONING to false" by @carlopi in #17708
- Sorting followup by @lnkuiper in #17717
- Correctly setting the delim offset by @Damon07 in #17716
- fix linux extension ci by @samansmink in #17720
- Aggregation performance by @lnkuiper in #17718
- Fix windows-2025 build errors by @adsharma in #17726
- [SQLLogicTester] Introduce reset label <query label> in the tester by @Tishj in #17729
- Adding additional authenticated data for encryption by @ccfelius in #17508
- csv_scanner: correct code comment by @Djfe in #17735
- Deprecate windows-2019 runners by @hannes in #17745
- re-add httpfs apply_patches by @samansmink in #17755
- Rename decorator from test_nulls to null_test_parameters by @Mytherin in #17760
- [CAPI] Expose ErrorData by @taniabogatsch in #17722
- Expose file_size_bytes and footer_size in parquet_file_metadata by @gijshendriksen in #17750
- Pass ExtensionLoader when loading extensions, change extension entry function by @Maxxen in #17772
- Support glibc 2.28 environments by @James-Gilbert- in #17776
- Mark Upper/LowerComparisonType as const by @JelteF in #17773
- [Indexes] Buffer-managed indexes part 1: segment handles by @taniabogatsch in #17758
- [Julia] api docs improvements by @tqml in #15645
- Ensure we use the same layout in RadixPartitionedHashTable and GroupedAggregateHashTable by @lnkuiper in #17790
- [Profiling] Propagate the ClientContext into file handle writes by @taniabogatsch in #17754
- Fix propagatesNullValues for case expr by @suibianwanwank in #17796
- Add qualified parameter to Python GetTableNames API by @evertlammerts in #17797
- Merge v1.3 into main by @Mytherin in #17806
- Pushdown pivot filter by @flashmouse in #17801
- Replace string for const data ptr in encryption api by @ccfelius in #17825
- Merge130 by @carlopi in #17833
- fix: escape using_columns on JoinRef::ToString by @akoshchiy in #17839
- Fix ICE with Windows ARM64 by @staticlibs in #17844
- Merge v1.3 into main by @Mytherin in #17851
- Add duckdb_type column to parquet_schema by @Mytherin in #17852
- Internal #4991: Remove Epoch_MS(MS) by @hawkfish in #17816
- #17853 Enable flexible page sizes and update Android NDK to r27 in workflow. by @aprock in #17854
- [Indexes] Buffer-managed indexes part 2: segment handle for base nodes by @taniabogatsch in #17828
- Function Serialization: adapt to removal of overloads by explicitly casting if argument types have changed by @Mytherin in #17864
- julia: add missing methods from C-API by @tqml in #17733
- Issue #17153: Window Order Columns by @hawkfish i
1.3.2 8. Juli 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 1.3.1. There are no new major features, just bug fixes. Database files created by DuckDB versions all the way back to v0.9 can be read by this version.
What's Changed
- bump julia to v1.3.1 by @c-herrewijn in #17966
- [CI] adding DONT_LINK parameter to the test extension configuration for inet extension by @hmeriann in #17967
- Eviction queue: Sort purged nodes and bulk re-add by @lnkuiper in #17913
- Grab lock before finalizing dynamic filters by @lnkuiper in #17964
- Issue #5144: AsOf Join Threshold by @hawkfish in #17978
- Fix for IsDenseRange check in filter_combiner by @pdet in #17988
- Use SharedLockTable in DataTable::Fetch by @Mytherin in #17983
- On Windows CI use zip from msys2 instead of choco by @staticlibs in #17993
- [FIX] Arrow ArrowBool8 Extension Type Add Validity Type Check by @rustyconover in #18005
- Make test more lenient by @lnkuiper in #18022
- Print internal exception stack traces on failed transaction rollback by @taniabogatsch in #18023
- More fixes around GetDatabases by @taniabogatsch in #18024
- [Fix] Binding error when resolving lambdas with a struct alias by @taniabogatsch in #18014
- Disable constexpr std::mutex on Windows by @staticlibs in #17991
- Use correct expression function after filter pushdown by @Tmonster in #17860
- Implement bulk enqueue for non-concurrent queue by @lnkuiper in #18032
- Bring back libduckdb-src.zip as release artifact by @mlafeldt in #18019
- Issue #18035: Zero Fill TIMESTAMP_NS by @hawkfish in #18045
- Fix handling dynamic table filters in RemoveUnusedColumns by @Damon07 in #18033
- Fix incorrect results in index scan by @taniabogatsch in #18058
- bump spatial (v1.3) by @Maxxen in #18059
- constant or null can be replaced when argument is a bound column reg by @Tmonster in #18018
- Issue #18047: TIMESTAMP_TZ Upcast Costs by @hawkfish in #18064
- Properly handle empty RHS in IE Join by @lnkuiper in #18067
- Avoid going too in-depth while computing join order by @carlopi in #17904
- Main.yml: Move very long job from debug to release with -DDEBUG and FORCE_ASSERT by @carlopi in #18081
- Run Python workflow against both Python 3.9 and 3.13 on PR to ensure … by @evertlammerts in #18080
- fix statistics propagation for anti-joins on empty tables by @bradynwalsh in #17439
- OSX.yml: Move from using debug builds to release + DDEBUG + FORCE_ASSERT by @carlopi in #18102
- Fix copy constructor in SetVariableStatement by @staticlibs in #18101
- [Parquet] Add write_bloom_filter flag to allow disabling of bloom filters by @Mytherin in #18093
- Add Stack Trace marker to stack trace by @JelteF in #18089
- Add missing INT128 to decimal Parquet reader switch by @lnkuiper in #18104
- shared_ptr& must be reached from FileOpener by @carlopi in #18107
- Cleanup on correct branch (1.3-ossivalis) instead of v1.2-histrionicus by @carlopi in #18111
- Refactor extracting expressions for dynamic index scans by @lnkuiper in #18095
- Add v1.3.2 to version_map.json and generate storage_info.cpp by @hmeriann in #18112
- CI: Actually correctly skip building unnecessary extensions by @carlopi in #18119
- Absorb patch from #18107 by @carlopi in #18114
- Use unsigned hugeint for compressed materialization strings by @lnkuiper in #18128
- Throw internal exception on corrupted roaring bitmap offsets by @taniabogatsch in #18130
- Allow .tsv as an accepted db file by @pdet in #18133
- Fixing CSV Fuzzer issues by @pdet in #18134
- Bump iceberg for 1.3.2, from @Tishj, and bumping also httpfs by @carlopi in #18148
- Internal #5245: AsOf NLJ Comparisons by @hawkfish in #18159
- Add internal exceptions to compression paths to prevent segmentation violations by @taniabogatsch in #18151
- Fix for arrow.json production extension type by @pdet in #18132
- partially restore deprecated http logging settings by @samansmink in #18150
- Bump for wasm fixes (excel and httpfs) and test fixes (iceberg) by @carlopi in #18167
- bump spatial by @Maxxen
1.3.1 16. Juni 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 1.3.0 "Ossivalis". There are no new major features, just bug fixes. Database files created by DuckDB versions all the way back to v0.9 can be read by this version.
What's Changed
- MultiFileReader: Fix for handling nested list/map default values by @Mytherin in #17589
- Signed to Unsigned is not reversible by @Tmonster in #17571
- [Dev][CLI] Use an unused bit for DUCKDB_LATEST_STORAGE_VERSION by @Tishj in #17598
- minor restructure MAIN_BRANCH_VERSIONING by @c-herrewijn in #17601
- Main branch versioning set to false by @c-herrewijn in #17602
- Generate correct UUID v7 by @Mytherin in #17612
- Issue #17606: Disable TIMESTAMPTZ Casts by @hawkfish in #17614
- Bugfixes by @lnkuiper in #17543
- Improve Windows lock conflict error by @Mytherin in #17622
- Actually initialize in batch copy to file by @Mytherin in #17627
- Issue #17621: Streaming Window Reset by @hawkfish in #17649
- CLI: Print codename for '-version' by @szarnyasg in #17637
- [Python][Dev] Ignore DYNAMIC_FILTER TableFilters in filter pushdown by @Tishj in #17657
- [Dev] Throw if db is not available yet in setting certain configuration options by @Tishj in #17659
- chore: Fix initialization by @krlmlr in #17643
- chore: Fix initialization by @krlmlr in #17644
- DefaultSecretGenerator: require lock for modifying persistent_secrets by @Mytherin in #17650
- initialize the read with the OpenFile info and not just the path by @Tmonster in #17652
- Don't bail on TopN optimization if we don't have a cardinality by @lnkuiper in #17654
- Fixes for CSV fuzzer tests by @pdet in #17678
- chore: Fix strict aliasing warning on GCC by @krlmlr in #17641
- Partitioned copy: don't check if file exists for remote files by @Mytherin in #17689
- Fix version detection for sdist builds without git info by @evertlammerts in #17605
- Bugfixes by @lnkuiper in #17695
- Do not get file handle unnecessarily. by @Tmonster in #17698
- Allow table functions to disable statement caching by @Mytherin in #17702
- [SQLLogicTester] Replace keywords in <FILE>:pattern result for the query statement by @Tishj in #17710
- Parquet Reader: only read strings as fixed length strings if the type is FIXED_LEN_BYTE_ARRAY by @Mytherin in #17723
- Internal #5022: IN Pushdown Equalities by @hawkfish in #17731
- Internal #4995: Commutative INTERVAL Multiply by @hawkfish in #17730
- Issue #17725: Quantile NaN Compare by @hawkfish in #17761
- Backport CI fixes by @Mytherin in #17763
- Have the skip_rows option consider empty csv lines by @pdet in #17756
- Fix wrong assertion in Parquet DBP encoder by @lnkuiper in #17746
- CLI: make -f always bail on error by @Mytherin in #17768
- Don't Flatten() then Reference() by @hannes in #17769
- [Dev] Fix TRY expression crash on literals by @Tishj in #17753
- Pop up ICU errors to the csv sniffer by @pdet in #17719
- [Nested] Fix incorrect type casting in list_reduce lambda expressions by @maiadegraaf in #17581
- [chore] Avoid caching msys artifacts on PRs by @carlopi in #17777
- Skip encodings and spatial extensions on PRs by @carlopi in #17775
- Add FileBufferType::EXTERNAL_FILE and add to same queue as FileBufferType::BLOCK by @lnkuiper in #17771
- Storge the argument and value of arg_min_max in the state as a unique_ptr by @pdet in #17749
- Physical operator logging by @lnkuiper in #17752
- Take string size into account in GetRowSize in ParquetWriter by @lnkuiper in #17793
- [CSV Sniffer] Consider if null_padding is set to true when detecting midcomment line during sniffing by @pdet in #17751
- Revert "Avoid early-out when catalog lookup fails - instead finish all look-ups" by @Mytherin in #17805
- Support file rotation with WRITE_EMPTY_FILE false by @Mytherin in #17804
- Check page filtered out flag before reading it by @Damon07 in #17786
- Avoid saving ccache on pull_requests by @carlopi in #17810
- Support glibc 2.28 environments in 1.3.x by @taniabogatsch in #17814
- arrow_output_version option to pro
1.3.0 21. Mai 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This release of DuckDB is named "Ossivalis" after Bucephala Ossivalis, an ancestor of the Goldeneye duck that lived Millions of years ago.
Please also refer to the announcement blog post: https://duckdb.org/2025/05/21/announcing-duckdb-130
What's Changed
- V1.2 histrionicus by @Mytherin in #16070
- V1.2 histrionicus by @Mytherin in #16072
- unittests: clear test directory after every test by @Mytherin in #16053
- Benchmark runner: catch and log errors + add support for retry load N syntax by @Mytherin in #16054
- Throw an error when unsupported commands are used in concurrentloop by @Mytherin in #16009
- Remove extension definitions to prevent re-compilation of the entire system on commit by @Mytherin in #15955
- Display schema information of currently selected database only by @ashwaniYDV in #15815
- Issue #14366: Average Intervals by @hawkfish in #15864
- Internal #2176: Temporal AVG by @hawkfish in #15661
- discussions #15981: remove confusing comment in "duckdb/tools/shell/shell.cpp" by @komainu8 in #15984
- Fix #15466 Transform LIMIT or OFFSET first based on order specified in prepared statement by @ashwaniYDV in #15484
- Bitpacking mode info by @arjenpdevries in #15623
- Sniff Timestamp_TZ from CSV FIles by @pdet in #15730
- [no-op] Add documentation for filesystem read behavior by @dentiny in #15937
- Accept "Auto" as date/timestamp format by @pdet in #15808
- Parquet Reader Cleanup: Move ColumnReaders to separate files by @Mytherin in #16092
- Parquet Reader: Move decoding logic into separate Decoder classes by @Mytherin in #16100
- BundleStaticLibs to be also triggered by InvokeCI by @carlopi in #16107
- Parquet Reader: Split DeltaLengthByteArray decoder from DeltaByteArray, and read the strings in a streaming manner by @Mytherin in #16105
- Parquet Dictionary reader: set NULL values as the last value in the dictionary by @Mytherin in #16106
- Parquet Reader: Share ResizeableBuffers across decoders, and unify Plain/PlainReference by @Mytherin in #16113
- Using GitHub ARM runners for Linux CLI builds by @hannes in #16119
- Parquet Reader: Implement dedicated Skip method by @Mytherin in #16117
- Use ColumnSegment::FilterSelection and SelectionVector for filtering in Parquet scans by @Mytherin in #16126
- [Dev] Fix output (long lines > 333 characters) getting truncated in shell by @Tishj in #16128
- Adaptive table filter: initialize filter order based on heuristics by @Mytherin in #16127
- Feature #16044: TimeZone Offset Seconds by @hawkfish in #16048
- ATTACH OR REPLACE database to allow swapping of new data. by @xevix in #15355
- [Dev] Remove upsert_conflict_in_different_chunk.test by @Tishj in #15980
- [Dev] Fix issue related to unpacked columns and the NOT operator by @Tishj in #15534
- [Julia] Add support for named params in prepared statements by @tqml in #15621
- Use Adaptive Filters in the Parquet reader by @Mytherin in #16133
- Parquet reader: push table filters directly into dictionaries by @Mytherin in #16136
- Parquet reader: Plain templates - make CHECKED a template parameter, and use memcpy/bulk skip when reading/skipping without defines by @Mytherin in #16141
- Parquet reader: only set invalid entry in the dictionary when the column has defines by @Mytherin in #16144
- Add uniq_ptr_cast for interpreted benchmark. by @Tmonster in #16151
- Hopefully fixing ci runs by @hannes in #16150
- Removed the last CI job that used the Ubuntu 18 setup by @hannes in #16155
- Parquet Reader: Split CreateReader into two separate stages - ParseSchema and CreateReader by @Mytherin in #16161
- Have CSV Parellel tests on CI again by @pdet in #16164
- [Python][Dev] Bump the minimum pybind11 version from 2.6 to 2.9 by @Tishj in #16159
- Add StackTraces to FatalExceptions by @NiclasHaderer in #16158
- Rework invoke by @carlopi in #16108
- Adds pre-optimization hooks for DuckDB by @NiclasHaderer in #16115
- Unify behavior of range/generate_series with PostgreSQL by @kryonix in #15935
- [CI] Avoid Linux CLI jobs to fail-fast by @ca
1.2.2 8. April 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 1.2.1. There are no new major features, just bug fixes. Database files created by DuckDB versions all the way back to v0.9.* can be read by this version.
What's Changed
- [Python] Fix deadlock in from_parquet with file_globs caused by not releasing the GIL by @Tishj in #16522
- [Python] Fix some stubs issues by @Tishj in #16523
- [Dev] Fix issues in the benchmark runner related to the serialized storage_version by @Tishj in #16533
- Set estimated cardinality to newly created logical operators by @jeewonhh in #16528
- custom_extension_repository to also be the default autoinstall_extension_repository by @carlopi in #16459
- [Python Dev] No longer trigger a DeprecationWarning when using a UDF by @Tishj in #16433
- Fixup problems connected to prep to 1.2.1 by @carlopi in #16578
- Give preference to quote=escape if we can't do better by @pdet in #16584
- Max ART key length by @taniabogatsch in #16588
- Issue #16617: Window Constant Finalize by @hawkfish in #16628
- [Fix] Index scan - Move the table scan state into the local state by @taniabogatsch in #16650
- [Fix] Perform eager constraint checking during physical batch insert by @taniabogatsch in #16651
- [Python] Don't push down OPTIONAL_FILTER into pyarrow for the arrow scan. by @Tishj in #16657
- move OrderPreservationRecursive to physical_plan_generator.hpp by @jeewonhh in #16656
- Add libs folder to bundled static libs by @taniabogatsch in #16655
- Avoid UMA by @krlmlr in #16641
- Avoid UMA by @krlmlr in #16643
- Avoid UMA by @krlmlr in #16642
- Several fixes for CSV fuzzer tests by @pdet in #16636
- FSST Fix: Correctly detect the situation where we have 3 bytes remaining by @Mytherin in #16688
- Fix #16627: handle DISTINCT FROM and NOT DISTINCT FROM in zone-map pushdown by @Mytherin in #16691
- Fix #16554: emit blobs as part of .dump by @Mytherin in #16693
- add avro by @samansmink in #16708
- Issue #16652: Implicit Ordered Aggregation by @hawkfish in #16718
- Issue #16649: SelectNth Remainders by @hawkfish in #16705
- [Dev] Fix EXPORT DATABASE missing semicolons in produced schema.sql by @Tishj in #16723
- Always throw the error that happens the earliest in the CSV Reader by @pdet in #16728
- Fix #16662 by @lnkuiper in #16732
- [Test] Add missing test for eager-constraint checking fix by @taniabogatsch in #16745
- Clamp reported memory in duckdb_memory by @Mytherin in #16753
- CLI -help: Fix default value for -nullvalue by @carlopi in #16755
- Apply RLE fix to v1.2 by @Mytherin in #16756
- [Arrow] Setting schema of the keys to not null for maps and properly write Null columns to arrow by @pdet in #16711
- Fix min/max values in numeric cast exception message by @abramk in #16777
- [ADBC] Add wrapper to connection new, set options at connection init, if any. by @pdet in #16748
- Remove delta from extensions built on a nightly basis (vs 1.2-histrionicus) by @carlopi in #16794
- PhysicalTopN: Buffer-allocated StringHeap by @lnkuiper in #16770
- [chore] Add v1.2.2 to storage versions, preparation for upcoming patch release by @carlopi in #16799
- Fix issue when line is empty by @pdet in #16823
- Add extra check in normalize for commit, rollback and abort by @pdet in #16802
- Fix #16783: Fix DistributivityRule by @flashmouse in #16804
- Internal #4492: Ignore Nulls Orrification by @hawkfish in #16837
- Fix #16836: rewrite main column data in case of an update that only modifies the validity by @Mytherin in #16851
- Initialize type by @pdet in #16848
- [CSV Reader] Add check on ever quoted for candidate selection by @pdet in #16868
- Clean up partial deletes when encountering a transaction conflict in a vector by @Mytherin in #16905
- Fix clang-tidy: add missing include by @Mytherin in #16920
- Backport "Adding gzip version of shell for linux/osx install script" by @carlopi in #16917
- Backport "Adding gzip version of shell for linux/osx install script"/2 by @carlopi in #16924
- Skip tests for Python 3.8, a
1.2.1 5. März 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 1.2.0. There are no new major features, just bug fixes. Database files created by DuckDB versions all the way back to v0.9.* can be read by this version.
What's Changed
- [Dev] MultiFileReader fix InternalError in CreateFilterMap by @Tishj in #16114
- [bug-fix] Avoid throwing in catch block for failed commits by @Vegetable26 in #15903
- Issue #16098: ValidEnd Parallel Vectorisation by @hawkfish in #16140
- Adding an extension option shouldn't delete a set value and promote unrecognized options by @bleskes in #15919
- Parquet writer: Re-implement GetRowSize for Strings by @Mytherin in #16178
- Fix #16157: correctly get the first row when reading hive partitions from a dictionary vector by @Mytherin in #16180
- Fix #16122: bind default values in a sub-binder to avoid modifying the catalog search path of the current binder by @Mytherin in #16181
- Fix #16134: when a catalog/schema/table has the same name, we prefer to suggest the table name by @Mytherin in #16189
- Ensure MergeCollectionTask has a writer by @ywelsch in #16207
- Backport #16115 by @NiclasHaderer in #16227
- Deleted copy constructor of pending query by @NiclasHaderer in #16242
- Correctly report errors caused by get_database in C extensions by @mlafeldt in #16253
- use random seeds for bernoulli sample when parallel is enabled by @Tmonster in #16223
- Parquet Reader: avoid caching the compressed buffer in the ColumnReader by @Mytherin in #16263
- Fix #16260: correctly handle parameters in getvariable by @Mytherin in #16264
- Avoid calling SetFilterAlwaysTrue multiple times in RowGroup::CheckZonemap by @Mytherin in #16269
- [Fix] Scanning from normal leaf to nested leaf by @taniabogatsch in #16270
- Fix #16231: refer to order by condition in ARRAY(SUBQUERY) by alias instead of by index by @Mytherin in #16272
- Fix #16257 by @lnkuiper in #16275
- AFL Tests for the CSV reader by @pdet in #16280
- Issue #16250: Window Range Performance by @hawkfish in #16276
- Fix #16278: late materialization should not trigger on very large limits, and it should never trigger on limits without offsets when preserve_insertion_order = false by @Mytherin in #16282
- Overflow strings allocations: avoid rounding up memory allocated per overflow string - when reading "small" overflow strings place them directly into the vector instead by @Mytherin in #16283
- Use ordered map to preserve expressions order by @Damon07 in #16111
- [Dev] register_filesystem stubs, use fsspec.AbstractFileSystem, not str by @Tishj in #16266
- [Python Dev] Fix crash with empty args for isin | Fix transformation for isnotin by @Tishj in #16271
- Fix issue related to hang when all candidates are eliminated in refinement by @pdet in #16288
- [Fix] Early-out on CREATE INDEX (IF NOT EXISTS) by @taniabogatsch in #16093
- [Python] Fix the reverse binary expressions in the Expression API by @Tishj in #16300
- Bugfixes by @lnkuiper in #16244
- [Fix] MinGW bundle static libs by @taniabogatsch in #16292
- Fix heap buffer oveflow sampling by @Tmonster in #16279
- Expose STRING_LITERAL in C API by @taniabogatsch in #16293
- Allow accessing profiler query tree under lock by @ywelsch in #16314
- bump extensions by @Maxxen in #16313
- Inline virtual list lambda bind functions by @Maxxen in #16327
- Update shell.cpp to fix #16333 by @teaguesterling in #16335
- Add the suggestion to verify the nullstring as part of the cast error message by @pdet in #16336
- Take NULLs into account for DELTA_BINARY_PACKED by @lnkuiper in #16317
- PhysicalTableScan: Adapt to allow async behaviour by @carlopi in #16310
- Allow querying attached catalog from detached catalog by @jeewonhh in #16289
- Reduce minimum expected memory usage in RadixPartitionedHashTable by @lnkuiper in #16332
- Backport ebb4dcc to v1.2-, adding missing include by @carlopi in #16369
- Excecption load on mismatched ABI: Use '%d' to print ABI type by @carlopi in #16367
- Aggregation: For dictionaries wit
1.2.0 5. Februar 2025 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This release of DuckDB is named "Histrionicus" after the good-looking Harlequin duck (Histrionicus Histrionicus) that inhabits "cold fast moving streams in North America, Greenland, Iceland and eastern Russia".
Please also refer to the announcement blog post: https://duckdb.org/2025/02/05/announcing-duckdb-120
What's Changed
- Optimise division by a constant at runtime for integer division by @JAicewizard in #10348
- Add cross join to Python Relational and PySpark API by @khalidmammadov in #13519
- Fix #13805: throw a more descriptive error message when an on-disk file is referenced using a replacement scan for an unsupported file format by @Mytherin in #13871
- Make sampling accept parameters at the parser/transformer layer by @Mytherin in #13903
- Fix #13867: use 64-bit random numbers to generate random numbers for random() by @Mytherin in #13920
- Fix #13769: when binding views, always first search in the schema that the view is defined in by @Mytherin in #13921
- Rework table bindings to be components (catalog, schema, table) instead of flat strings by @Mytherin in #14017
- Add auto-loadable extension settings to duckdb_config_count and duckdb_get_config_flag by @Mytherin in #14021
- Fix #10961 - in the HAVING clause - in case of column name conflicts, bind to aliases instead of to ungrouped columns by @Mytherin in #14023
- Enable filter pushdown through Logical Unnest by @Tmonster in #14008
- Allow duplicate table aliases in the table binder by @Mytherin in #14035
- Unify DESCRIBE [query] and DESCRIBE [table] by @Mytherin in #14039
- Support qualified identifiers in the EXCLUDE clause by @Mytherin in #14043
- Add SMALLER_BINARY flag to reduce binary size by @Mytherin in #14057
- Smaller Binary: remove more templates from arg_min_max by @Mytherin in #14071
- Unify entropy and mode aggregates - and skip specialized implementations for entropy with smaller binary by @Mytherin in #14080
- [Python] Add set_default_connection to the duckdb module by @Tishj in #13442
- Provide workaround for prefetching parquet files with incorrect page offsets by @samansmink in #13697
- Move core_functions to a separate extension by @Mytherin in #14149
- PySpark df.drop() to support expressions by @khalidmammadov in #14059
- add some RealNest benchmarks by @hmeriann in #13345
- feed table function into multifilereader initialization by @samansmink in #14112
- [Dev] Fix an issue causing ExecuteTask to do much more work than intended by @Tishj in #14034
- Overhaul Parquet dictionary handling by @hannes in #14194
- [Feature] Allow passing the catalog (database name) to appender by @taniabogatsch in #13692
- Add Taxi Dataset Benchmark by @pdet in #14197
- Feature #3036: Window Spooling by @hawkfish in #14181
- Small C Extension API changes by @samansmink in #13987
- Add HTML and Graphviz support for explain analyze by @abramk in #13942
- Fix #13064: offer more suggestions with same score by @Damon07 in #14048
- New Algorithm to find a new line on parallel execution by @pdet in #14260
- Making client context lock optional for relation binding by @pdet in #14093
- [Feature] Allow passing the catalog during C API appender creation by @taniabogatsch in #14256
- Make test random output ordered by @Damon07 in #14267
- Skip test_window_distinct by @Mytherin in #14309
- Taxi Benchmark by @pdet in #14301
- Switch to shared pointer for multfilelists by @samansmink in #14291
- Push #14298 to feature branch by @flashmouse in #14311
- Implement PullUp Empty Results optimizer by @Tmonster in #13524
- [Export/Import] Use the DependencyManager to (stable) sort the entries before export by @Tishj in #14196
- Partitioning-Aware Aggregation and Partitioning-Aware Infrastructure by @Mytherin in #14329
- Add df.unionByName to PySpark API by @khalidmammadov in #14063
- Or filter pushdown into zone maps by @Tmonster in #14313
- Get the current setting in the database file opener by @Mytherin in #14361
- [Feature + Fix] Support ALTER TABLE tbl ALTER col TYPE USING and fix
1.1.3 4. November 2024 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 1.1.2. There are no new major features, just bug fixes. Database files created by DuckDB versions all the way back to v0.9.* can be read by this version.What's Changed
- [Adaptive Sniffer] In case files have only one row, be more permissive to detect headers and types. by @pdet in #14174
- Increase bounds for test/sql/copy/file_size_bytes.test by @lnkuiper in #14367
- Use table-level locking when acquiring shared locks by @ywelsch in #14370
- [Arrow] Fix scanning of BOOL columns when offsets are involved by @Tishj in #14395
- avoid unnecessary file list materialization when pruning readers by @samansmink in #14397
- Fixing type pushdown on the CSV Scanner by @pdet in #14399
- Issue #14398: Lead Shift Defaults by @hawkfish in #14409
- Escape should default to quoted by @pdet in #14418
- Sniff CSV rejects options and small sniffer fix for ignore_errors by @pdet in #14417
- Fix #14430 - throw an error when reading corrupt statistics in the perfect hash aggregate by @Mytherin in #14442
- Use corrent container to produce BinderErrors by @carlopi in #14437
- Rework list_concat to accept a variable number of arguments similar to string concat by @Mytherin in #14443
- SingleFileBlockManager::MarkBlockAsUsed - also erase from newly_freed_list to ensure trim does not prune blocks that are in-use by @Mytherin in #14467
- acosh: Change example to avoid returning NaN by @szarnyasg in #14477
- Don't move lvalue when inserting in order preserving map by @Maxxen in #14492
- bump vss by @Maxxen in #14493
- Bug in percentage calculation in query_graph by @bjornasm in #14494
- fix: standardize usage of LogicalType::ROW_TYPE for COLUMN_IDENTIFIER_ROW_ID by @rustyconover in #14480
- [Python][Dev] Fix up test to work with older version by @Tishj in #14505
- Avoid throwing on failure to open extensions's .info file (when force installing) by @carlopi in #14272
- Python 3.7 tests are particularly brittle, we will keep building wheels but avoid testing them by @carlopi in #14510
- Being more restrictive with the names option in the csv reader by @pdet in #14466
- [Arrow] Fix issue where uninitialized memory was being read when scanning empty lists by @Tishj in #14538
- Fix #14545 - pivot header must be defined in the grammar by @Mytherin in #14556
- [Python][Arrow] Cast to py::bytes when dealing with BLOB in filter pushdown by @Tishj in #14553
- [Dev] Include aliases for RETURNING list expressions in ToString by @Tishj in #14533
- CI: Mirror 'reproduced' / 'under review' to the internal repository by @szarnyasg in #14527
- Approx-Top K: Make aggregate state trivially destructible by @Mytherin in #14571
- Don't pre-initialize hash vector in DistinctStatistics construction by @abramk in #14570
- Fix query_graph tool for #14290 by @JasonPunyon in #14521
- Fix typos by @deining in #14579
- [Dev] Traverse the replace_list of StarExpression in ParsedExpressionIterator::EnumerateChildren by @Tishj in #14535
- chore: Add EOL to source files by @krlmlr in #14583
- Issue template: Add Swift redirect by @szarnyasg in #14588
- Fix for underflow issue on number of rows in the CSV Reader by @pdet in #14587
- Cas strong by @lnkuiper in #14592
- HTTPFS: HTTPException no longer inherits from IOException by @Mytherin in #14585
- [bufferpool] Fix PurgeAgedBlocksInternal() evictions by @Vegetable26 in #14446
- CI: Add bot for 'minimal reproducible example' by @szarnyasg in #14598
- CI: Fix and simplify 'needs reproducible example' labelling by @szarnyasg in #14608
- CI: Fix and simplify 'needs reproducible example' labelling by @szarnyasg in #14609
- Enable serialization of LogicalExport by @Mytherin in #14594
- Test fixes for new arrow release by @pdet in #14593
- CI: Fix labelling bot by @szarnyasg in #14611
- CI: Add repo name to labelling script by @szarnyasg in #14612
- Unexpected result comparing blob by @Tmonster in #14604
- Storage info update by @szarnyasg in #14371
- Fix #14600: use UUID 
1.1.2 14. Oktober 2024 — 64-Bit ZIPARM64 ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 1.1.1. There are no new major features, just bug fixes. Database files created by DuckDB versions all the way back to v0.9.* can be read by DuckDB v1.1.2.What's Changed
- [CI] Re-enable ART zero initialisation verification by @taniabogatsch in #14031
- Push filters instead of overwriting filters by @Tmonster in #14078
- Fix test by @Tmonster in #14079
- fix maximum_threads test inside containers by @wenjun93 in #14083
- Fix: remove is_probe_in_domain by @Light-City in #14084
- Add duckdb_extension.h to amalgamation release by @samansmink in #14086
- Bump minimum required cmake version by @abramk in #14089
- Fix parser error by removing alias by @taniabogatsch in #14090
- [Dev] Move EnumTypeInfoTemplated definition into a hpp file by @Tishj in #14038
- Fix #14077: correctly reset next pointer when reconstructing new row group segment tree after vacuum by @Mytherin in #14092
- Format CSV error messages by @szarnyasg in #14097
- Fix the answer file for tpcds q67 at sf100 by @Tmonster in #14096
- Add v1.1.1 to version_map.json by @Flogex in #14110
- CREATE TABLE now supports columns with ENUM[] types. by @Tishj in #14102
- fix parquet cardinality when first file is empty by @wenjun93 in #14058
- [Python Dev] Make sure the GIL is released when the connection+db are being shut down by @Tishj in #14113
- Less salt by @lnkuiper in #14173
- remove redundant code by @flashmouse in #14172
- comparison of nested types returns true or false always (even with nulls) by @Tmonster in #14094
- subtype DBInterface.Connection in julia client by @piever in #14193
- [Python] Fix a bug with python_scan_all_frames reaching the bottom of the frame stack by @Tishj in #14183
- [Dev] Fix issue where the InsertStatement::ToString call destroyed the alias of the ValuesList by @Tishj in #14171
- [Python] Fix issue related to scanning float64 dtype columns that contain a mask by @Tishj in #14170
- Fix some warnings found while compiling duckdb-node by @carlopi in #13994
- fix minmax type info miss by @Damon07 in #14159
- fix: ArrowSchemaMetadata::GetOption to return empty string instead of raising exception if key is not found. by @rustyconover in #14157
- Issue 14151: Fix conflicting defines on Windows hidden by cmake unity builds by @zmajeed in #14154
- Issue 14189: Fix build when threads are disabled by @zmajeed in #14190
- Fix an uncaught error with a generated column containing a subquery by @Tishj in #14198
- Add missing word in TableFunction comment by @JelteF in #14210
- add method to check whether julia connection is open by @piever in #14195
- Avoid schema changes with IF NOT EXISTS by @ywelsch in #14143
- Fix typos in code by @c8ef in #14243
- [Dev] Add the ExecutorException class, making use of the EXECUTOR ExceptionType by @Tishj in #14231
- [Python] Don't allow construction of DuckDBPyType from empty Dict type by @Tishj in #14221
- Fix #14232: fix deliminator optimizer by @flashmouse in #14238
- [CSV Reader] Also use figure-out-line code when ignoring errors. by @pdet in #14184
- remove redundant Bit::SetBit by @flashmouse in #14226
- Fix #14212: mention correct query component when using literal in DISTINCT ON by @Mytherin in #14255
- Removing overzealous check in Parquet by @hannes in #14268
- Update sqlsmith extension and patches by @Tmonster in #14270
- Support for duckdb.varint extension in Arrow. by @pdet in #14273
- Disable CSV ignore_errors benchmark by @pdet in #14277
- Only slice initialized vectors in PhysicalHashAggregate::SinkDistinctGrouping by @lnkuiper in #14289
- Fix #14249: return NAN when dividened is 0 by @flashmouse in #14298
- Revert "Fix #14249: return NAN when dividened is 0" by @Mytherin in #14308
- fix macro name with the same function name in it which causing repeat… by @Damon07 in #14296
- Fixing issue with the sniffer on copy statetements by @pdet in #14295
- Json bugfixes by @lnkuiper in #14288
- [Bitstring] Add overload for bitstring to acc
1.1.1 24. September 2024 — 64-Bit ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 1.1.0. There are no new major features, just bug fixes. Database files created by DuckDB since v0.9.* can be read by DuckDB v1.1.1.What's Changed
- [Python] Fix a crash related to handling of the f_locals by @Tishj in #13821
- [Dev] Remove unnecessary parameter from BufferHandle constructor by @Tishj in #13823
- When vacuuming, immediately checkpoint the vacuumed row groups instead of scheduling a checkpoint task by @Mytherin in #13825
- Check for unquoted errors after finishing up a buffer. by @pdet in #13826
- Issue #13813: TIMETZ Uninvertible Casts by @hawkfish in #13820
- add cardinality for cross product and propositional join by @jeewonhh in #13818
- Add requested_schema argument to PyCapsule interface by @WillAyd in #13802
- Throw at double/float cast to decimal if it does not fit by @pdet in #13745
- [Fix] C API - Correct type comparison in MAP value functions by @taniabogatsch in #13844
- [C-API Dev] Fix up "Test DataChunk populate ListVector in C API" test by @Tishj in #13839
- [Dev] Minor cleanup to BufferManager and BlockHandle API by @Tishj in #13838
- Small fixes for prompt of sniff_csv by @pdet in #13843
- [BufferManager] Fix duckdb_memory() reporting wrong size for temporary_storage_bytes by @Tishj in #13837
- Fix for internal error when using rejects tables and adding implicit cast for boolean values. by @pdet in #13849
- [Fix ART] Correct prefix transformation by @taniabogatsch in #13858
- [Python] Fix issue causing an exception when creating a duckdb.StarExpression without an exclude_list by @Tishj in #13881
- Fix issue with cgroups/slurm variables: skip if memory limit cannot be parsed, and only run this on Linux by @Mytherin in #13879
- Explicit windows-2019 instead of windows-latest by @carlopi in #13883
- CI/Windows: Drop redundant package by @szarnyasg in #13874
- Preserve operator in BindWithCTE by @lnkuiper in #13873
- Update description of 'max_temp_directory_size' by @szarnyasg in #13724
- 13810 unnest cross join error by @Tmonster in #13878
- Tweak allocation purging by @lnkuiper in #13877
- Copy From Database - create a balanced UNION ALL tree instead of a depth-first union all tree to avoid stack overflows by @Mytherin in #13889
- [Python] Fix issue related to the GIL when using execute with multiple statements by @Tishj in #13893
- Fix #13880: correctly name http_proxy_password setting by @Mytherin in #13890
- Fix #13872: duckdb_result_return_type is not deprecated, and group together deprecated functions by @Mytherin in #13891
- [Python] Add python_scan_all_frames to opt-in to scanning all frames (< 1.1 behavior) by @Tishj in #13896
- Improve error on enums by @carlopi in #13885
- Handle extension ABI mismatches in a forward & backward compatible way by @carlopi in #13894
- Fix #13824: min() max() varchar column use default collation by @flashmouse in #13909
- Fix issue in casting 2 byte BIT -> BLOB by @Tishj in #13908
- add missing azure secret providers for autoloading by @samansmink in #13902
- Remove buffer_manager_allocate.patch and bump spatial by @carlopi in #13895
- [Python] Improve install_extension to support repository/repository_url and version by @Tishj in #13876
- fix REGEX not supported anymore for valid queries (only statement error) #2889 by @hmeriann in #13633
- [CI] Invert operations on OSX.yml, deploying nightly artifacts before test by @carlopi in #13927
- [Python][Jupyter] Don't use ExplainFormat::HTML for explain('analyze') by @Tishj in #13928
- Only bind to SQL value functions if there is no alias with this name present we can bind to instead by @Mytherin in #13925
- Improve logic for remote extension install on Windows by @carlopi in #13929
- CI: Trigger actions for labeled discussions by @szarnyasg in #13937
- [Swift] Update README.md in Swift repo by @tcldr in #13955
- [Dev] Add exclusion for pybind11 internal _pybind11_conduit_v1_ method by @Tishj in #13961
- Create a balanced union tree, also 
1.1.0 9. September 2024 — 64-Bit ZIP
Versionshinweise
This release of DuckDB is named "Eatoni" after Eaton's pintail (Anas Eatoni) from the southern Indian Ocean.Please also refer to the announcement blog post: https://duckdb.org/2024/09/09/announcing-duckdb-110What's Changed
- Add feature changes back in by @Mytherin in #11146
- Make MultiFileReader filename configurable by @lnkuiper in #11178
- [Dev] Fix compilation issues on feature by @Tishj in #11082
- add query() and query_table() functions by @chrisiou in #10586
- [Block Size] Move the block allocation size into the block manager by @taniabogatsch in #11176
- LIMIT pushdown below PROJECT by @jeewonhh in #11112
- BUGFIX: IN () filter with one argument should translate to = filter. by @Tmonster in #11473
- Regression Script should calculate micro benchmark differences with the correct base branch by @Tmonster in #11762
- Pushdown filters on window partitions by @Tmonster in #10932
- Arrow ListView Type by @Tishj in #10766
- Add scalar function support to the C API by @Mytherin in #11786
- Add TopN optimization in physical plan mapping by @kryonix in #11290
- Join-dependent filter derivation by @lnkuiper in #11272
- Implement ROW_GROUPS_PER_FILE for Parquet by @lnkuiper in #11249
- Prefer Final projected columns on probe side if cardinalities are similar by @Tmonster in #11109
- Propagate unused columns to distinct on by @Tmonster in #11006
- Separate eviction queues by FileBufferType by @lnkuiper in #11417
- Disable false positive for vector size nightly in test by @taniabogatsch in #11953
- Rework jemalloc extension by @lnkuiper in #11891
- Tweak jemalloc config by @lnkuiper in #12034
- Httpfs test to nightly by @carlopi in #12196
- Removed three reinterpret casts and some rewriting by @taniabogatsch in #12200
- Begin Profiling Rework to move towards Modularity by @maiadegraaf in #11101
- [CLI] Add highlighting + limited auto-complete for shell dot commands by @Mytherin in #12201
- Skip test to fix block size nightly and add more explicit error checking by @taniabogatsch in #12211
- Remove BLOCK_ALLOC_SIZE from the column segment files by @taniabogatsch in #11474
- [Julia] - Added optional schema input argument to DuckDB.Appender constructor by @curtd in #12174
- Fix Mark Index in the Bound Join Ref by @pdet in #12263
- Fix for CI Regression Failure by @maiadegraaf in #12273
- 🦆 by @samansmink in #12303
- Disable JEMALLOC_RETAIN by @lnkuiper in #12185
- Enforce compression extensions for CSV Files by @pdet in #11903
- Make spuriously failing test more robust by @lnkuiper in #12306
- Add new extensions to issue template by @szarnyasg in #12313
- [Fix] Block size nightly run by @taniabogatsch in #12283
- Spell Check | Nothing Major | Corrected base_scanner.cpp by @nj7 in #12282
- add duckdb_bind_timestamp_tz function to C API by @karlseguin in #12151
- [Python] Add some date/datetime functions to pyspark api by @mariotaddeucci in #12075
- Fixes to Windows workflow and ubuntu_18 action by @carlopi in #12308
- [Extension Dev] Forward declare re2 in hive_partitioning.hpp by @Tishj in #12302
- add expected errors to test/sql/copy/per_thread_output.test by @hmeriann in #12280
- Issue #12287: ICU Strptime Lists by @hawkfish in #12295
- Issue #12171: Streaming Window FILTER by @hawkfish in #12250
- [Python] Update the Connection wrapper generation, now generates c++ code by @Tishj in #12216
- Use iterator buffer position when storing buffer handles by @pdet in #12315
- Bump Julia client to v0.10.3 by @Mytherin in #12323
- Fix #12286 - in the MetadataManager, prefer to allocate new blocks if the next free block id is smaller than the currently used metadata block by @Mytherin in #12318
- [Fix] Only read file size if file handle still exists by @taniabogatsch in #12319
- Add support for APPEND argument to hive partitioned write by @Mytherin in #12262
- Remove all reinterpret casts from the transformer by @taniabogatsch in #12320
- Additional check for overlapping CTE names by @lnkuiper in #12305
- [Dev] STANDARD_VECTOR_SIZE and BLOCK
1.0.0 3. Juni 2024 — 64-Bit ZIP
Versionshinweise
This release of DuckDB is named "Nivis" after the sadly non-existent Snow Duck (Anas Nivis) that is known for its stability.Blog post coming shortly.What's Changed
- Add feature changes back in by @Mytherin in #11146
- Make MultiFileReader filename configurable by @lnkuiper in #11178
- [Dev] Fix compilation issues on feature by @Tishj in #11082
- add query() and query_table() functions by @chrisiou in #10586
- [Block Size] Move the block allocation size into the block manager by @taniabogatsch in #11176
- LIMIT pushdown below PROJECT by @jeewonhh in #11112
- BUGFIX: IN () filter with one argument should translate to = filter. by @Tmonster in #11473
- Regression Script should calculate micro benchmark differences with the correct base branch by @Tmonster in #11762
- Pushdown filters on window partitions by @Tmonster in #10932
- Arrow ListView Type by @Tishj in #10766
- Add scalar function support to the C API by @Mytherin in #11786
- Add TopN optimization in physical plan mapping by @kryonix in #11290
- Join-dependent filter derivation by @lnkuiper in #11272
- Implement ROW_GROUPS_PER_FILE for Parquet by @lnkuiper in #11249
- Prefer Final projected columns on probe side if cardinalities are similar by @Tmonster in #11109
- Propagate unused columns to distinct on by @Tmonster in #11006
- Separate eviction queues by FileBufferType by @lnkuiper in #11417
- Disable false positive for vector size nightly in test by @taniabogatsch in #11953
- Rework jemalloc extension by @lnkuiper in #11891
- Tweak jemalloc config by @lnkuiper in #12034
- Fix move constants optimization by @gitccl in #12189
- FALLOC_FL_PUNCH_HOLE requires GLIBC 2.18 or above - check for this using an #ifdef by @Mytherin in #12193
- Fix cmake install for shared_ptr headers by @carlopi in #12194
- Httpfs test to nightly by @carlopi in #12196
- Fix minor warnings by @carlopi in #12195
- Install .ipp files in addition to the usual .hpp files by @smonkewitz in #12198
- Removed three reinterpret casts and some rewriting by @taniabogatsch in #12200
- Set a default value to the connection param in stubs by @tm-drtina in #12207
- Begin Profiling Rework to move towards Modularity by @maiadegraaf in #11101
- Fix #12190: add SYSTEM to set of reserved database names by @Mytherin in #12206
- [CLI] Add highlighting + limited auto-complete for shell dot commands by @Mytherin in #12201
- Add enable_view_dependencies which defaults to false by @Tishj in #12209
- [Python] Fix replacement scans incorrectly finding duckdb connection method objects by @Tishj in #12208
- [CI] Diff against the right remote + branch in Regressions.yml - Regression Test new micro benchmark by @Tishj in #12106
- Skip test to fix block size nightly and add more explicit error checking by @taniabogatsch in #12211
- [Python] Fix bug where enable_external_access was not being respected by the replacement scan by @Tishj in #12224
- Remove BLOCK_ALLOC_SIZE from the column segment files by @taniabogatsch in #11474
- Remove outdated CI for extensions, check duckdb/extension-ci-tools by @carlopi in #12229
- Python: Avoid packaging for both 3.7 on OSX and MacOS 11 by @carlopi in #12236
- Issue #12215: AsOf Predicate Pushdown by @hawkfish in #12238
- [DependencyManager] Don't block ADD COLUMN statements if there are dependencies. by @Tishj in #12226
- [Python] Add check for 'params' to table_function by @Tishj in #12233
- Extension installing/updateing fixes by @samansmink in #12221
- Move excel extension out of tree by @carlopi in #12123
- Fix #12225: revert OVERWRITE_OR_IGNORE to previous behavior, move new behavior to OVERWRITE flag by @Mytherin in #12240
- [Julia] - Added optional schema input argument to DuckDB.Appender constructor by @curtd in #12174
- Fix warning on unannotated fallthrough by @carlopi in #12244
- Fixup staged uploads /3 by @carlopi in #12245
- [Python] fix build when BUILD_HTTPFS set by @paparodeo in #12223
- Use --always option of git describe for extension tags. by @carlopi in #12253
- [Docs] Fi
0.10.3 22. Mai 2024 — 64-Bit ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 0.10.2. There are no new major features, just bug fixes. Database files created by DuckDB v0.10.* or v0.9.* can be read by DuckDB v0.10.3.Highlights
Even though this is "only" a bug fix release, there have been some major areas of work that warrant a separate mention:- We have added a feature to update extensions using the UPDATE EXTENSIONS syntax #11677
- There have been some serious internal improvements around checkpointing, most notably, checkpoints can run while other connections are reading, and no longer block new connections while checkpointing #11918. Also, FORCE CHECKPOINT no longer actively cancels transactions, it now waits until it can checkpoint #12061
- DuckDB now has native support to load data from HuggingFace using the hf:// prefix #11831
- We have slightly changed NULL casting behaviour with the MAP type #11745
- The Java JDBC driver has been moved to its own repo: #11873
- DuckDB now cleanly compiles with -Wconversion and all conversions are actually being checked #11716, #11673
What's Changed
- Add setting to control the maximum swap space by @Tishj in #10978
- [Python][Dev] Dynamically generate the Connection wrapper methods by @Tishj in #11202
- Fixes duckdb wasm by @carlopi in #11688
- Checked conversions between signed and unsigned integers by @hannes in #11673
- Bump Julia to v0.10.2 by @Mytherin in #11700
- Minor improvements to sql_reduce script by @Mytherin in #11701
- Properly avoid build-time dependency on Python by @carlopi in #11713
- Test dockerized compilation in Alpine:latest and Ubuntu:20.04 by @carlopi in #11708
- [COPY CSV] Enable TIMESTAMP_TZ formats by @Tishj in #11711
- Full conversion warnings / checks by @hannes in #11716
- [Safety] Add safety checks to shared_ptr access by @Tishj in #11696
- Remove bound_defaults from BoundCreateTableInfo by @Mytherin in #11721
- Improve mkdir error reporting by @Mytherin in #11723
- [Dev] Fix failing CI in Python SQLLogicTest Runner by @Tishj in #11724
- More docker tests, fix compilation up to C++23 standard by @carlopi in #11725
- Upload staging: from 'git describe --tags' to 'git log -1' by @carlopi in #11715
- Internal #1848: Window Progress by @hawkfish in #11702
- Remove BoundConstraint from the TableCatalogEntry by @Mytherin in #11735
- Implicit Cast for any Date/Timestamp by @pdet in #11733
- feat: rewrite which_secret() into a table function by @stephaniewang526 in #11726
- [Map] Rework MAP creation method behavior when input is NULL by @Tishj in #11730
- [Dev] Always use SQLStatement->Copy() when ALTERNATIVE_VERIFY is defined by @Tishj in #11732
- Reconstruct Error Messages for Flush Cast by @pdet in #11736
- Getting Rid of Value.TryCast in the CSV Sniffer by @pdet in #11717
- Fix Join order optimizer so that plan generation is always via the most current entry in the DP table. by @Tmonster in #11719
- fix(py): support DuckDBPyType#children for array and enum by @Mause in #11754
- Consider not null values when doing export database by @pdet in #11679
- Add missing space in error message by @szarnyasg in #11759
- Allow to build python packages without c++ sources by @carlopi in #11758
- No Mark to Semi join conversion in statistics propagation by @Tmonster in #11596
- Hive partitioned write: lazy partitioning initialization by @Mytherin in #11765
- Hive partitioning: avoid calling CreateDirectories for every flush, instead create the directory for a partition only when that partition is instantiated by @Mytherin in #11777
- [Parquet] Support reading the non-standard NULL ConvertedType by @Tishj in #11774
- Only store CSV Errors if we are doing rejects table, otherwise just ignore it. by @pdet in #11763
- CI: Add job for 'expected behavior' label by @szarnyasg in #11784
- Move recursive_query_csv.test to slow test by @pdet in #11770
- [StatementVerifier] Fix up issues in ToString implementations of classes derived from SQLStatement by @Tishj in #11625
- Hive partition
0.10.2 17. April 2024 — 64-Bit ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 0.10.1. There are no new features, just bug fixes. Database files created by DuckDB v0.10.* or v0.9.* can be read by DuckDB v0.10.2.SQL Modifications
This release has a number of bug fixes that change SQL semantics in a few edge cases:- Nested Boolean Comparisons now have consistent NULL comparison semantics - #11496
- Structs with non-matching keys require explicit casts when compared or combined - #11396
What's Changed
- Bump julia version & fix release script for sub-versions > 9 by @Mytherin in #11225
- Flatten Rewrite by @maiadegraaf in #11223
- ORDER BY ColumnNumber with Collations by @tiagokepe in #11139
- Fix differences to implementation for to_parquet, write_parquet, to_csv, write_csv, Expression.alias, DuckDBPyRelation.map by @binste in #11135
- Issue template: Ask for MWEs by @szarnyasg in #11192
- Cleaning up FSST: Remove unused AVX512 code by @hannes in #11222
- Fix #11211 - correctly fill in string_t padding for bit type by @Mytherin in #11231
- Fix #3391: Stop creating background threads if the thread constructor throws an exception by @Mytherin in #11236
- R_CMD_CHECK: Pin to duckdb/duckdb-r 0ed106a71c by @carlopi in #11245
- Add support for HEX(BLOB) by @Mytherin in #11243
- Remove no_vector_verification in Map Subscript Test by @maiadegraaf in #11242
- Update logos in README by @szarnyasg in #11256
- Ignore user defined parameters that change names or types of csv columns in sniffer's prompt. by @pdet in #11257
- [Python] Fix error caused by looking up a TypeCatalogEntry without an active transaction. by @Tishj in #11255
- [Fix] Fuzzer issue in list_select by @taniabogatsch in #11248
- [Parquet] Support for LZ4 Compression by @hannes in #11220
- Fix #11254: Add missing includes to terminal by @Mytherin in #11265
- Issue #10867: AsOf Predicate Pushdown by @hawkfish in #11233
- Fix plan cost runner regression script by @Tmonster in #11129
- Check if we need to throw any remaining errors at end of CSV scanning by @pdet in #11276
- Allow duplicate names in json objects when ignore_errors is true by @lnkuiper in #11271
- Do not surround JSON with quotes in sqlite shell output by @lnkuiper in #11268
- add TRIM support to virtual filesystem, and implementation on linux by @jkub in #11258
- Perform direct write operation if input data are larger than buffer size by @quentingodeau in #11203
- Fuzzer fixes by @lnkuiper in #11286
- Compile spatial also for rtools by @carlopi in #11291
- allow injecting custom BufferManager implementation by @jkub in #11215
- Default to RECORDS in JSON reader if more than one column is specified by @lnkuiper in #11295
- Add support for materialized CTEs in INSERT/UPDATE/DELETE statements by @kryonix in #10878
- Only throw exception if je_mallctl fails in DEBUG mode by @lnkuiper in #11303
- Fixing casting issue in generators by @hannes in #11304
- Rework FileSystem::OpenFile call, and add FILE_FLAGS_NULL_IF_NOT_EXISTS by @Mytherin in #11297
- Fix potential UB when list() aggregate is used in combination with other arena using aggregate functions by @Maxxen in #11306
- Fix #11293 - for ARRAY([subquery]) explicitly push the ORDER BY of the underlying subquery into the array aggregate by @Mytherin in #11316
- Fix #11281: explicitly select column types of information_schema tables for all columns, even if they are always NULL by @Mytherin in #11317
- Fixup py upload by @carlopi in #11308
- Issue #11279: TIMESTAMP => TIMESTAMPTZ by @hawkfish in #11320
- Fix null pointer exception when rolling back updates if the rollback was caused by an OOM by @Mytherin in #11309
- Fix #11283 - report consistent foreign key constraint name in information_schema by @Mytherin in #11318
- Fix #11294 - avoid applying Filter Pushdown optimization for UNION/EXCEPT without ALL by @Mytherin in #11315
- Fix #10695 - handle ? prepared statement parameters correctly for POSITION(x IN y) by @Mytherin in #11314
- Windows CLI - emit UTF8 directly us
0.10.1 19. März 2024 — 64-Bit ZIP
Versionshinweise
This is a bug fix release for various issues discovered after we released 0.10.0. There are no new features, just bug fixes. Database files created by DuckDB v0.10.0 or v0.9.* can be read by DuckDB v0.10.1.What's Changed
- Remove visualizer leftovers by @Y-- in #10642
- Add explicit numbering to C enums + various compilation/CI fixes by @Mytherin in #10649
- Disable print method for CSV scanner for R build by @hannes in #10650
- Fix #10548 for the DUCKDB_NO_THREADS case by @carlopi in #10654
- Allow StorageExtension to extend DuckCatalog implementation in order to integration with observability system by @bleskes in #10643
- Update storage info for v0.10.0 by @szarnyasg in #10660
- Revamp duckdb-wasm extensions CI by @carlopi in #10672
- [CI] Re-enable skipped test window-rows-overflow.test by @Tishj in #10679
- Catch: prominently display skipped tests by @Mytherin in #10669
- Update Julia to 0.10.0 by @Mytherin in #10689
- Ingestion benchmark framework by @Tmonster in #10341
- [ICU] Add casts from Timestamp_* to TimestampTZ by @Tishj in #9539
- DISTINCT ON - greatly improve performance by rewriting ordered FIRST aggregate into arg_min_null by @Mytherin in #10684
- Fix #10685 - support aliases in join clause by @Mytherin in #10691
- Use assertThrows for throwing assertions in JDBC tests by @peteraisher in #10448
- Casts: report error location in query for failed casts by @Mytherin in #10694
- Fix duckdb spelling in _extension_deploy.yml by @carlopi in #10717
- Fuzzer #1374: ARG_XXX By Decimal by @hawkfish in #10728
- [Python] Rework the python regression test script by @Tishj in #10715
- Removes static member string by @TinyTinni in #10733
- Fuzzer #1372: Order Bind Failure by @hawkfish in #10727
- Fuzzer #1380: To Weeks Overflow by @hawkfish in #10726
- Various fixes by @carlopi in #10708
- Unittest does not satify assertion on MSVC/Debug by @TinyTinni in #10738
- Fix OrderPreservationType issue of MATERIALIZED CTEs by @kryonix in #10587
- Map creation fixes and refactoring by @taniabogatsch in #10436
- Fuzzer #1383: NULL Range Arguments by @hawkfish in #10723
- Fuzzer #1382: Window Stats Overflow by @hawkfish in #10725
- Comment on view columns by @samansmink in #10710
- Union exclude by @Tmonster in #10688
- move the logic for immediate_transaction_mode to the physical operator by @peterboncz in #10739
- [C API] Small fix and more tests by @taniabogatsch in #10748
- List_slice bug fix by @maiadegraaf in #10747
- Enable azure autoload by @samansmink in #10746
- Parquet writer - reduce memory usage of order-preserving write by @Mytherin in #10756
- Refactor csv reader includes because of r path length limitations by @hannes in #10658
- Arrow String View Type by @pdet in #10481
- local_file_system.cpp: minor fix for macOS libproc code by @barracuda156 in #10758
- Make unnamed_subquery naming predictable by @Mytherin in #10765
- [Python] Fix overflow issue in PandasAnalyzer by @Tishj in #10768
- Throw when trying to consume over 128 byte decimals by @pdet in #10601
- CLI: Right-align numerics in markdown tables by @Mytherin in #10767
- Fuzzer #1399: Window NULL RANGE by @hawkfish in #10776
- [CSV Sniffer] Minor sniffer tweak to give preference to dialects that generate the least errors if ignore_errors = true by @pdet in #10777
- Add large benchmark directory by @Tmonster in #10763
- Improve UNPIVOT error messages, and allow expressions in unpivot by @Mytherin in #10773
- Add a method UUID::FromUHugeint to generate a UUID from a uhugeint_t by @Mytherin in #10771
- [CSV Reader] Add lock to buffer reset by @pdet in #10791
- [WINDOWS] Add "/bigobj" that solves compile issue during debug by @maiadegraaf in #10782
- fix: not over-call AllSecrets by @stephaniewang526 in #10807
- Update readme by @szarnyasg in #10814
- [ODBC] Rework Connect to the ODBC driver and add functionality to set all DuckDB configurations in the Connection String by @maiadegraaf in #10692
- Fix arrow conversion, map doesn't support large offset by @yiyuanliu i
0.10.0 13. Februar 2024 — 64-Bit ZIP
Versionshinweise
This release of DuckDB is named "Fusca" after the Velvet Scooter native to Europe.Note: The on-disk storage format is backwards-compatible with the 0.9 releases of DuckDB. For details, please see the release announcement blog post.Also note that we've dropped' the "Preview" designation with this release. DuckDB has matured quite a bit since we started creating releases back in 2019, and it is no longer appropriate.What's Changed
- feat(jdbc): support uuid param type by @Mause in #9164
- Bump ADBC to v0.7 by @pdet in #9185
- Add support for parquet key-value metadata by @Maxxen in #9126
- Default to JSON type if objects have an inconsistent structure by @lnkuiper in #9086
- Add schema parameter to read_parquet by @lnkuiper in #9123
- [Python] Add the ability to provide a list of files to read_csv by @Tishj in #8977
- Issue #7672: TIMESTAMP_XX to DATE by @hawkfish in #9279
- N-ary lambdas, and indexes as lambda parameters by @taniabogatsch in #8851
- Feature: Fixed size list nested type (ARRAY) by @Maxxen in #8983
- Fix unused warning by @Maxxen in #9318
- Internal #215: Window EXCLUDE Functionality by @hawkfish in #9220
- Add json_serialize_plan, json_serialize_sql tweaks by @Maxxen in #9230
- Add create statement support to fuzzer by @Tmonster in #9011
- Fix for issue #8108: Random() in lambda by @maiadegraaf in #9353
- Fix Lambda Serialization by @taniabogatsch in #9323
- Allow file_row_number with parquet schema option by @samansmink in #9290
- CSV - Always run sniffer by default by @pdet in #9250
- [Python Dev] Import items lazily by @Tishj in #8741
- Array fixes + make validity more lazy by @Maxxen in #9400
- Lambda performance revamp by @taniabogatsch in #9395
- [Python] Support replacement scan on connection.table(<name>) method by @Tishj in #9427
- [Dev] Fix failure in Format Check CI job by @carlopi in #9516
- Fix parquet serialization by @Maxxen in #9485
- Support gcs:// and r2:// URLs to read data from GCS and R2 by @chrisiou in #9388
- Don't reset validity target count by @Maxxen in #9565
- Merge into feature by @carlopi in #9583
- Additional list functions by @cryoEncryp in #8907
- [Python] Support Optional[...] in DuckDBPyType by @Tishj in #8658
- C-API: support streaming arrow query by @Virgiel in #8642
- Add ToString and Print method for JoinRelationSetManager and Fix JoinNode Print by @Light-City in #9040
- Removed artificial HUGEINT minimum by @nickgerrets in #9441
- Parquet Encryption by @lnkuiper in #9392
- Internal #330: Quantile Performance by @hawkfish in #9461
- CAPI: Make it possible to create enum types by @alnkesq in #8788
- 5614 database invalidated by @Tmonster in #9513
- Add support for proper scoping (catalog + schema) to custom types by @Mytherin in #9622
- Internal #576: strptime strftime infinities by @hawkfish in #9615
- ATTACH IF NOT EXISTS by @Mytherin in #9627
- Small benchmark changes by @taniabogatsch in #9638
- add option for keep_alive setting by @samansmink in #9648
- Add "getenv" function to shell which can be used to read environment variables, and allow functions to be used in SET statements/PRAGMA statements by @Mytherin in #9651
- Julia release by @Mytherin in #9670
- In set operations ORDER BY columns refer to the first set operation in SQL - so the reference is not ambiguous by @Mytherin in #9658
- Replace old logos by @szarnyasg in #9674
- Fix dbgen/dsdgen when using custom catalog and schema by @ywelsch in #9686
- [Arrow] Properly use the parent's array.offset in many places in the scan by @Tishj in #9661
- Update issue template with API/extension repositories by @szarnyasg in #9693
- [Python] Fix lossy datetime.timedelta to INTERVAL conversion by @Tishj in #9688
- Issue template: Report vulnerabilities via dedicated channel by @szarnyasg in #9711
- Fix #9601: Call correct method in duckdb_pending_execution_is_finished by @Mytherin in #9728
- Merge Feature Into Main by @Mytherin in #9726
- feat(c): add functions for determining statement/return types by @Mause in #9430
- Issue
0.9.2 14. November 2023 — 64-Bit ZIP
Versionshinweise
What's Changed
- [Dev] Fix Wasm.yml by @carlopi in #9303
- [Dev] Fix Wasm.yml, hardcoding extension config to latest duckdb-wasm by @carlopi in #9307
- Fix R CMD check script by @Tmonster in #9326
- [Dev] Remove unused tools/wasm folder by @carlopi in #9328
- [ODBC] SQLColAttribute fix by @maiadegraaf in #9316
- Fix typo by @shreeve in #9313
- [Dev] Trigger R.yml only only if there are changes to R.yml itself by @carlopi in #9304
- Add thread limit to test by @lnkuiper in #9305
- fix typing_extensions ImportError in experimental spark api by @Mause in #9346
- HTTPFS: Move from HTTPException to base class IOException by @carlopi in #9351
- fix for System.
Data.
ODBC GetSchema() by @bucweat in #9336
- Removes some static global variables by @TinyTinni in #9310
- Bump Julia to 0.9.1 by @Mytherin in #9354
- [Optimizer] Fix transitive filter issue by @Tishj in #9337
- Julia - v0.9 by @Mytherin in #9359
- fix time_bucket_tz(day): don't truncate input to a day boundary in #9320
- Increase the minimum cmake version to 3.5 by @taniabogatsch in #9364
- [PyArrow] Fix bug in timestamp pushdown by @Tishj in #9377
- Satisfy GCC's LTO checks by @krlmlr in #9386
- New generate_query_graph tool. by @Tmonster in #9212
- Fix LIST aggregate prepare statement exception by @taniabogatsch in #9370
- [Python] Throw explicit error for misuse of execute by @Tishj in #9394
- update R CMD workflow to apply patches in .github/patches/duckdb-r by @Tmonster in #9412
- [UnionVerify] Properly deal with SelectionVectors by @Tishj in #9409
- [ART] Improve error message for zero bytes in BLOBs by @taniabogatsch in #9415
- Enable serialization of LogicalCopyToFile by @Maxxen in #9418
- Nits for storage and Python API comments by @szarnyasg in #9414
- Issue #9416: Windowed Peer Functions by @hawkfish in #9425
- [Python] Adjust relation.df() to output microsecond precision for DATE types. by @Tishj in #9362
- [Python] Support PEP 563 by @Tishj in #9385
- Fix #8185 - avoid infinite recursion in AddTransitiveFilters by @Mytherin in #9440
- Fix 9447: SIGSEGV when executing read_csv() query for struct with empty VARCHAR by @ryderblue in #9448
- Fuzzer #1294: Non-Constant NULL Format by @hawkfish in #9450
- GitHub Actions bot: Prune search space with '--search' by @szarnyasg in #9445
- Issue #9396: AsOf Inequality Optimisation by @hawkfish in #9449
- Add bot for the 'Needs Documentation' label by @szarnyasg in #9444
- Fix field ids in LogicalCopyToFile:Deserialize by @Maxxen in #9424
- [Export Database] Produce up-to-date query for ViewCatalogEntry by @Tishj in #9375
- include csv_rejects_table headers for amalgamation by @Maxxen in #9454
- feat(jdbc): result streaming by @Mause in #9437
- [Arrow] Add support for dictionary's in child arrays (i.e list of ENUM) by @Tishj in #9331
- Detect AppleClang in cmake, add defines for DUCKDB_MAJOR/MINOR/PATCH_VERSION by @Maxxen in #9457
- [Dev] Fix build for extension-upload-wasm to fix (avoiding manual copy) by @carlopi in #9467
- Fix #9459 - remove unused qualified name parsing by @Mytherin in #9472
- Add license to Swift client by @szarnyasg in #9446
- Issue #8937: Window Order Collation by @hawkfish in #9477
- adding System.
Data.
ODBC testing to Windows.yml CI. by @bucweat in #9372
- fix(jdbc): support decimal arrays by @Mause in #9489
- Needs documentation workflow: Use correct event by @szarnyasg in #9464
- Needs documentation label: Add PR number in backlink by @szarnyasg in #9491
- Fix 9399 by @lnkuiper in #9411
- Enable option to skip building duckdb shell in extension distribution CI by @Maxxen in #9483
- fix confusing variable name by @SkyFan2002 in #9503
- Add MySQL Scanner Aliases + Enable Autoloading by @Mytherin in #9505
- Fix #9498: Amalgamation to properly define DUCKDB_VERSION by @carlopi in #9500
- Issue #582: Greenland TimeZone Change by @hawkfish in #9508
- [Union] Fix issue with keyword/quoted UNION member names. by @Tishj in #9432
- Dev: Avoid adding name_extension for extensions with DONT_LINK by @carlopi 
0.9.1 11. Oktober 2023 — 64-Bit ZIP
Versionshinweise
What's Changed
- Fix missing header in nightly GCC build by @Maxxen in #9109
- Add scripts for cancelling/rerunning workflows by @Mytherin in #9120
- Update R-CMD-Check workflow by @Tmonster in #9128
- CSV error message fix by @pdet in #9132
- Throw SerializationException instead of InternalException by @Maxxen in #9130
- Radix HT: Get max_threads from config instead of system by @lnkuiper in #9129
- Wrapping CSV State Machine by @pdet in #9131
- [CSV] Properly skip new lines mid csv file by @pdet in #9139
- [PythonDev] Rework duckdb_cursor fixture in pytest by @Tishj in #9140
- Update logo in README by @szarnyasg in #9147
- Bump uncovered lines by @carlopi in #9102
- Python: Uniform DuckDB SQL version to v0.
X.Y by @carlopi in #9095
- [PythonDev] Don't dereference None when creating pandas dataframe by @Tishj in #9127
- fix: fix some typo by @shizuocheng in #9156
- [Swift] fix row count and index mapping by @tcldr in #9149
- Run Single-Threaded CSV Parser when only one thread is available by @pdet in #9148
- [ODBC] Add missing fields to SQLColAttribute by @maiadegraaf in #9146
- Merge main into feature by @Mause in #9163
- [Python] Pyarrow integer filter pushdown bug fix by @Tishj in #9155
- [CSV] Be sure to run header detection even if a header is defined by the user by @pdet in #9168
- Avoid (Try)AutoLoad logic if extension already loaded by @carlopi in #9177
- Fix fuzzer exclusion by @Tmonster in #9103
- [PythonDev] Fix #duckdb-internal/418 by @Tishj in #9184
- chore: skip arrow union tests on pyarrow<11 by @gforsyth in #9186
- Fix issue related to map() and Dictionary Vectors. by @Tishj in #9046
- Issue #9183: Arbitrary ASOF Conditions by @hawkfish in #9188
- Add instructions for jdk installed via brew by @nicku33 in #9192
- Fix nits in API comments by @szarnyasg in #8768
- Internal #445: Destruct All Aggregates by @hawkfish in #9202
- Don't initialize data chunk in ExpressionExecutor if it's just a BoundReferenceExpression by @lnkuiper in #9213
- [ODBC] Add info to fatal error in compiler by @maiadegraaf in #9218
- Rewrite filter remover arrow test by @lnkuiper in #9217
- [ODBC] Add Unittests to Windows CI Run by @maiadegraaf in #9216
- Add missing parameter defaults for create_function in duckdb-stubs by @earwig in #9224
- Several fixes related to vector_size=2 nightly build by @pdet in #9166
- Avoid keeping read-only transactions stored in old_transactions by @Mytherin in #9236
- Fix reusable workflow for OOTE building by @samansmink in #9229
- [Parquet] Implement reading byte stream split encoded data by @adamreeve in #9240
- Bug report template: ask for imports to be included by @szarnyasg in #9197
- Remove bundled sqlite, does not seem to be used anywhere by @hannes in #9245
- update azure extension by @samansmink in #9243
- Fix #8413: Avoid pushing collations to non-varchar columns, and cleanup around PushCollation by @Mytherin in #9242
- Fix #8624 - allow changing of schema and search_path parameters even if configuration is locked by @Mytherin in #9244
- [ODBC] SQLColAttribte: More tests by @maiadegraaf in #9200
- Fix for creating ephemeral schema on readonly by @nicku33 in #9261
- Wasm extensions Makefile changes by @carlopi in #9269
- Fix #9241 - avoid pushing filters through DISTINCT ON by @Mytherin in #9270
- Fix #7880 part 1 - rebind expression during alias replacement instead of copying the already bound expression by @Mytherin in #9274
- ICU: Remove unused variables by @carlopi in #9275
- Fix #9252 - avoid overwriting start value as part of INCREMENT BY in sequence creation by @Mytherin in #9272
- [Python] Add back value_counts by @Tishj in #9278
- [SparkAPI] Add read.json and read.parquet + some unhappy path testing by @Tishj in #9276
- [Arrow][Dev] Make each produced Array own its own memory. by @Tishj in #9254
- Properly register all JSON cast functions so the binder can disambiguate by @lnkuiper in #9209
- [Dev] Fix test_map_vector_types.test by @Tishj in #9277
- Issue #9280: Parquet TIME_TZ Reading by
0.9.0 26. September 2023 — 64-Bit ZIP
0.8.1 13. Juni 2023 — 64-Bit ZIP32-Bit ZIP
0.8.0 17. Mai 2023 — 64-Bit ZIP32-Bit ZIP

Am beliebtesten in Datenbanken

Alle anzeigen
  1. MariaDBDatenbanken · MariaDB Corporation Ab
  2. HeidiSQLDatenbanken · Ansgar Becker
  3. SQLiteDatenbanken · SQLite
  4. DoltDatenbanken · DoltHub
  5. Redis on WindowsDatenbanken · MSOpenTech
  6. MongoDBDatenbanken · MongoDB Inc
  7. DB Browser for SQLiteDatenbanken · DB Browser for SQLite Team
  8. Beekeeper StudioDatenbanken · Beekeeper Studio Team
  9. LiquibaseDatenbanken · Liquibase
  10. Another Redis Desktop ManagerDatenbanken · Another

Schlagwörter

Teilen