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 https://github.com/duckdb/duckdb/pull/16070
- V1.2 histrionicus by @Mytherin in https://github.com/duckdb/duckdb/pull/16072
- unittests: clear test directory after every test by @Mytherin in https://github.com/duckdb/duckdb/pull/16053
- Benchmark runner: catch and log errors + add support for
retry load Nsyntax by @Mytherin in https://github.com/duckdb/duckdb/pull/16054 - Throw an error when unsupported commands are used in concurrentloop by @Mytherin in https://github.com/duckdb/duckdb/pull/16009
- Remove extension definitions to prevent re-compilation of the entire system on commit by @Mytherin in https://github.com/duckdb/duckdb/pull/15955
- Display schema information of currently selected database only by @ashwaniYDV in https://github.com/duckdb/duckdb/pull/15815
- Issue [#14366]: Average Intervals by @hawkfish in https://github.com/duckdb/duckdb/pull/15864
- Internal [#2176]: Temporal AVG by @hawkfish in https://github.com/duckdb/duckdb/pull/15661
- discussions [#15981]: remove confusing comment in "duckdb/tools/shell/shell.cpp" by @komainu8 in https://github.com/duckdb/duckdb/pull/15984
- Fix [#15466] Transform LIMIT or OFFSET first based on order specified in prepared statement by @ashwaniYDV in https://github.com/duckdb/duckdb/pull/15484
- Bitpacking mode info by @arjenpdevries in https://github.com/duckdb/duckdb/pull/15623
- Sniff Timestamp_TZ from CSV FIles by @pdet in https://github.com/duckdb/duckdb/pull/15730
- [no-op] Add documentation for filesystem read behavior by @dentiny in https://github.com/duckdb/duckdb/pull/15937
- Accept "Auto" as date/timestamp format by @pdet in https://github.com/duckdb/duckdb/pull/15808
- Parquet Reader Cleanup: Move ColumnReaders to separate files by @Mytherin in https://github.com/duckdb/duckdb/pull/16092
- Parquet Reader: Move decoding logic into separate Decoder classes by @Mytherin in https://github.com/duckdb/duckdb/pull/16100
- BundleStaticLibs to be also triggered by InvokeCI by @carlopi in https://github.com/duckdb/duckdb/pull/16107
- Parquet Reader: Split DeltaLengthByteArray decoder from DeltaByteArray, and read the strings in a streaming manner by @Mytherin in https://github.com/duckdb/duckdb/pull/16105
- Parquet Dictionary reader: set NULL values as the last value in the dictionary by @Mytherin in https://github.com/duckdb/duckdb/pull/16106
- Parquet Reader: Share ResizeableBuffers across decoders, and unify Plain/PlainReference by @Mytherin in https://github.com/duckdb/duckdb/pull/16113
- Using GitHub ARM runners for Linux CLI builds by @hannes in https://github.com/duckdb/duckdb/pull/16119
- Parquet Reader: Implement dedicated Skip method by @Mytherin in https://github.com/duckdb/duckdb/pull/16117
- Use ColumnSegment::FilterSelection and SelectionVector for filtering in Parquet scans by @Mytherin in https://github.com/duckdb/duckdb/pull/16126
- [Dev] Fix output (long lines > 333 characters) getting truncated in shell by @Tishj in https://github.com/duckdb/duckdb/pull/16128
- Adaptive table filter: initialize filter order based on heuristics by @Mytherin in https://github.com/duckdb/duckdb/pull/16127
- Feature [#16044]: TimeZone Offset Seconds by @hawkfish in https://github.com/duckdb/duckdb/pull/16048
- ATTACH OR REPLACE database to allow swapping of new data. by @xevix in https://github.com/duckdb/duckdb/pull/15355
- [Dev] Remove
upsert_conflict_in_different_chunk.testby @Tishj in https://github.com/duckdb/duckdb/pull/15980 - [Dev] Fix issue related to unpacked columns and the NOT operator by @Tishj in https://github.com/duckdb/duckdb/pull/15534
- [Julia] Add support for named params in prepared statements by @tqml in https://github.com/duckdb/duckdb/pull/15621
- Use Adaptive Filters in the Parquet reader by @Mytherin in https://github.com/duckdb/duckdb/pull/16133
- Parquet reader: push table filters directly into dictionaries by @Mytherin in https://github.com/duckdb/duckdb/pull/16136
- Parquet reader: Plain templates - make CHECKED a template parameter, and use memcpy/bulk skip when reading/skipping without defines by @Mytherin in https://github.com/duckdb/duckdb/pull/16141
- Parquet reader: only set invalid entry in the dictionary when the column has defines by @Mytherin in https://github.com/duckdb/duckdb/pull/16144
- Add uniq_ptr_cast for interpreted benchmark. by @Tmonster in https://github.com/duckdb/duckdb/pull/16151
- Hopefully fixing ci runs by @hannes in https://github.com/duckdb/duckdb/pull/16150
- Removed the last CI job that used the Ubuntu 18 setup by @hannes in https://github.com/duckdb/duckdb/pull/16155
- Parquet Reader: Split
CreateReaderinto two separate stages -ParseSchemaandCreateReaderby @Mytherin in https://github.com/duckdb/duckdb/pull/16161 - Have CSV Parellel tests on CI again by @pdet in https://github.com/duckdb/duckdb/pull/16164
- [Python][Dev] Bump the minimum pybind11 version from
2.6to2.9by @Tishj in https://github.com/duckdb/duckdb/pull/16159 - Add StackTraces to FatalExceptions by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/16158
- Rework invoke by @carlopi in https://github.com/duckdb/duckdb/pull/16108
- Adds pre-optimization hooks for DuckDB by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/16115
- Unify behavior of
range/generate_serieswith PostgreSQL by @kryonix in https://github.com/duckdb/duckdb/pull/15935 - [CI] Avoid Linux CLI jobs to fail-fast by @carlopi in https://github.com/duckdb/duckdb/pull/16173
- Parquet: Add dedicated Select method that can be used to push selection vectors into the read by @Mytherin in https://github.com/duckdb/duckdb/pull/16174
- Unvendor ICU by @m-kuhn in https://github.com/duckdb/duckdb/pull/16176
- Parquet reader: batch check if buffer is available in RLEBpDecoder by @Mytherin in https://github.com/duckdb/duckdb/pull/16185
- Parquet Reader: for DeltaLengthByteArray encoding, directly refer to strings from the block without copying by @Mytherin in https://github.com/duckdb/duckdb/pull/16186
- unified names for duckdb-extensions by @hmeriann in https://github.com/duckdb/duckdb/pull/16179
- Only delete test directory when
--test-temp-diris not specified by @Mytherin in https://github.com/duckdb/duckdb/pull/16192 - Fix [#16163]: COLUMNS should not treat identifiers as strings by @Mytherin in https://github.com/duckdb/duckdb/pull/16193
- Parquet reader: Avoid applying bloom filters if we are casting columns by @Mytherin in https://github.com/duckdb/duckdb/pull/16194
- Pretty print sniffer values by @pdet in https://github.com/duckdb/duckdb/pull/16182
- V1.2 histrionicus by @Mytherin in https://github.com/duckdb/duckdb/pull/16191
- Bump Julia by @Mytherin in https://github.com/duckdb/duckdb/pull/16199
- Ensure that dependent targets are present after find_package. by @BillyONeal in https://github.com/duckdb/duckdb/pull/16197
- Concurrency groups for R and Wasm by @hmeriann in https://github.com/duckdb/duckdb/pull/16201
- Parquet Writer Cleanup: Move ColumnWriters to separate files by @Mytherin in https://github.com/duckdb/duckdb/pull/16202
- [fix] Use bigobj when building with MSVC by @m-kuhn in https://github.com/duckdb/duckdb/pull/16200
- Improve performance of
UNNEST/UNPIVOTby using selection vectors to unnest multiple lists at once by @Mytherin in https://github.com/duckdb/duckdb/pull/16210 - Add the
TRYexpression by @Tishj in https://github.com/duckdb/duckdb/pull/15939 - [Python][Dev] Replace the default connection when it's closed by @Tishj in https://github.com/duckdb/duckdb/pull/16160
- Use steady clock for profiler by @dentiny in https://github.com/duckdb/duckdb/pull/16198
- Add parallel memset when building hash join table by @hehezhou in https://github.com/duckdb/duckdb/pull/16172
- Avoid unnecessarily projecting the input columns of the UNPIVOT operator in the UNNEST by @Mytherin in https://github.com/duckdb/duckdb/pull/16221
- Left join push down optimization by @Damon07 in https://github.com/duckdb/duckdb/pull/15881
- Do In-Filter pushdown in PyArrow by @pdet in https://github.com/duckdb/duckdb/pull/16224
- Use _win32 with MSVC by @cfis in https://github.com/duckdb/duckdb/pull/16235
- Fix Python 3 executable name on Windows by @cfis in https://github.com/duckdb/duckdb/pull/16236
- Fix -std=c++11 by @cfis in https://github.com/duckdb/duckdb/pull/16237
- Issue [#8265]: AsOf Nested Loop by @hawkfish in https://github.com/duckdb/duckdb/pull/16218
- Include extension_util.hpp in libduckdb by @mlafeldt in https://github.com/duckdb/duckdb/pull/16255
- Generalize
rowidinto the concept of virtual columns, and makefilenamea virtual column in the Parquet/CSV/JSON readers by @Mytherin in https://github.com/duckdb/duckdb/pull/16248 - Modify histogram test to more fuzzily check boundaries since the test can be inconsistent on different platforms by @Mytherin in https://github.com/duckdb/duckdb/pull/16261
- [Dev] Fix issue in
TRYexpression withdictionary_expressionVector verification by @Tishj in https://github.com/duckdb/duckdb/pull/16262 - [Python Dev] Add the correct variant of the
-std=c++11flag based on the compiler (MSVC or not) by @Tishj in https://github.com/duckdb/duckdb/pull/16267 - Fix extension install mode null by @samansmink in https://github.com/duckdb/duckdb/pull/16268
- A little cleanup. by @JasonPunyon in https://github.com/duckdb/duckdb/pull/16028
- Improve Parquet writer performance by @lnkuiper in https://github.com/duckdb/duckdb/pull/16243
- Merge v1.2-histrionicus into main by @Mytherin in https://github.com/duckdb/duckdb/pull/16284
- Many reclaim storage fixes by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15825
- Arena allocator for
MinMaxNand skipNULLs when creating enum by @lnkuiper in https://github.com/duckdb/duckdb/pull/16246 - Add pragma to truncate duckdb log storage by @samansmink in https://github.com/duckdb/duckdb/pull/16274
- Some more Parquet writer performance improvements by @lnkuiper in https://github.com/duckdb/duckdb/pull/16287
- Do duckdb_extract_statements to be able to execute pivot in ADBC by @pdet in https://github.com/duckdb/duckdb/pull/16162
- [Dev] Improve/Add handling of escapes in VARCHAR -> list/struct/map and align behavior by @Tishj in https://github.com/duckdb/duckdb/pull/15944
- make ValidityMask::RowIsValidUnsafe really unsafe by @xuke-hat in https://github.com/duckdb/duckdb/pull/16302
- Multi File Reader Rework: Add
MultiFileReaderFunctionthat is used to wrap a single-file reader, and use it for the Parquet reader by @Mytherin in https://github.com/duckdb/duckdb/pull/16299 - [Python Dev] Add support for fully qualified references in
.table(...)method by @Tishj in https://github.com/duckdb/duckdb/pull/16291 - [Dev] MultiFileReader - Add to the
column_indexesforfile_row_numberby @Tishj in https://github.com/duckdb/duckdb/pull/16311 - Parquet reader performance by @lnkuiper in https://github.com/duckdb/duckdb/pull/16315
- Bump Julia FixedPointDecimals dependency version by @mbarbar in https://github.com/duckdb/duckdb/pull/16323
- Merge V1.2 histrionicus into main by @Mytherin in https://github.com/duckdb/duckdb/pull/16324
- Add new recursive semantics (
USING KEY) by @cryoEncryp in https://github.com/duckdb/duckdb/pull/12430 - fix: add StringStats::SetMaxStringLength by @rustyconover in https://github.com/duckdb/duckdb/pull/16326
- Fix decorrelation of WITH USING KEY by @kryonix in https://github.com/duckdb/duckdb/pull/16330
- Issue [#16250]: Window Range Performance by @hawkfish in https://github.com/duckdb/duckdb/pull/16320
- Verify UTF-8 in
DeltaLengthByteArrayDecoderand speed it up by @lnkuiper in https://github.com/duckdb/duckdb/pull/16328 - Add missing include by @Mytherin in https://github.com/duckdb/duckdb/pull/16342
- [chore] No ccache for OSX Python by @carlopi in https://github.com/duckdb/duckdb/pull/16348
- Linux CLI: override platform for ARM manylinux by @carlopi in https://github.com/duckdb/duckdb/pull/16347
- docs: tweak explanation of median for even cardinality inputs by @NickCrews in https://github.com/duckdb/duckdb/pull/13726
- [parquet] Fix implicit idx_t to int64_t conversion flagged by clang-tidy by @carlopi in https://github.com/duckdb/duckdb/pull/16368
- Improve error message on failure to install local extension by @carlopi in https://github.com/duckdb/duckdb/pull/16371
- MAIN_BRANCH_VERSIONING: main branch to get descriptors like v1.3.0-dev1234 instead of v1.2.1-dev1234 by @carlopi in https://github.com/duckdb/duckdb/pull/16366
- Parallel HT Zeroing: Set entries_per_task so that there are 4x more tasks than threads by @gropaul in https://github.com/duckdb/duckdb/pull/16301
- Internal [#2176]: SUMMARIZE Temporal Types by @hawkfish in https://github.com/duckdb/duckdb/pull/16095
- [SwiftRelease CI] fetch tags before checking there is already a tag with the same name by @hmeriann in https://github.com/duckdb/duckdb/pull/16376
- Push Select into ArrayColumnData to avoid scanning arrays that are not required for the query by @Mytherin in https://github.com/duckdb/duckdb/pull/16356
- Revert "Linux CLI: override platform for ARM manylinux" by @carlopi in https://github.com/duckdb/duckdb/pull/16374
- Rework CSV Reader: use the new MultiFileReaderFunction interface by @Mytherin in https://github.com/duckdb/duckdb/pull/16349
- Add connection and transaction identifiers by @samansmink in https://github.com/duckdb/duckdb/pull/16296
- Add parquet 'unknown' logical type by @hannes in https://github.com/duckdb/duckdb/pull/16378
- Internal [#4287]: INTERVAL Times DOUBLE by @hawkfish in https://github.com/duckdb/duckdb/pull/16386
- pb/compressed vector serialization by @peterboncz in https://github.com/duckdb/duckdb/pull/16066
- Fix issue [#16377] by @kryonix in https://github.com/duckdb/duckdb/pull/16391
- Read support for Parquet Float16 by @hannes in https://github.com/duckdb/duckdb/pull/16395
- MAIN_BRANCH_VERSIONING: Adopt also for Python build and amalgamation by @carlopi in https://github.com/duckdb/duckdb/pull/16400
- Fuzzer Fix: Fix Avg for NULL cast to TIMESTAMP by @Tmonster in https://github.com/duckdb/duckdb/pull/16394
- [FriendlySQL] Expand functionality of the Unpacked COLUMNS expression by @Tishj in https://github.com/duckdb/duckdb/pull/16290
- Python Client: Faster Python Object Conversion by @Mytherin in https://github.com/duckdb/duckdb/pull/16431
- Fixup [#16400] by correctly passing down SETUPTOOLS_SCM_PRETEND_VERSION by @carlopi in https://github.com/duckdb/duckdb/pull/16435
- Issue [#16250]: Window Range Performance by @hawkfish in https://github.com/duckdb/duckdb/pull/16438
- Merge v1.2-histrionicus into main by @Mytherin in https://github.com/duckdb/duckdb/pull/16439
- MAIN_BRANCH_VERSIONING: Add also prefix_version by @carlopi in https://github.com/duckdb/duckdb/pull/16441
- [no-op] Remove unused function
GetValueRefUnsafeby @dentiny in https://github.com/duckdb/duckdb/pull/16440 - Filter Combiner Clean-up: move filter pushdown to separate functions, remove old commented out code by @Mytherin in https://github.com/duckdb/duckdb/pull/16443
- [Python] Add the SQLExpression method to the Expression API by @Tishj in https://github.com/duckdb/duckdb/pull/16424
- [Dev] Mention the problematic type in UNNEST BinderException by @Tishj in https://github.com/duckdb/duckdb/pull/16429
- Merge v1.2 into main again by @Mytherin in https://github.com/duckdb/duckdb/pull/16447
- Filter Combiner: Allow rowid pushdown for IN/OR filters and pushdown for temporal types by @Mytherin in https://github.com/duckdb/duckdb/pull/16450
- Parquet: always launch max threads if we are scanning multiple files by @Mytherin in https://github.com/duckdb/duckdb/pull/16457
- fix documents of C functions by @yiyuanliu in https://github.com/duckdb/duckdb/pull/16357
- Add a TableFilterState for execution of table filters by @Mytherin in https://github.com/duckdb/duckdb/pull/16461
- Mirror discussions to the internal repository by @szarnyasg in https://github.com/duckdb/duckdb/pull/16464
- Rework JSON Reader: use the new MultiFileReaderFunction interface by @Mytherin in https://github.com/duckdb/duckdb/pull/16477
- Speed-up contains by using
memchron every iteration by @Mytherin in https://github.com/duckdb/duckdb/pull/16484 - Fix error cases by @Y-- in https://github.com/duckdb/duckdb/pull/16494
- Prevent external joins (if possible) by @lnkuiper in https://github.com/duckdb/duckdb/pull/16430
- Merge v1.2 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/16517
- Optimize FSST decoding by @lnkuiper in https://github.com/duckdb/duckdb/pull/16508
- Extract subsystem by name by @dentiny in https://github.com/duckdb/duckdb/pull/16226
- Avoid throwing an exception (that is then swallowed) when computing compressed materialization over stats that are not set by @Mytherin in https://github.com/duckdb/duckdb/pull/16532
- Checksum backward compatibility by @lnkuiper in https://github.com/duckdb/duckdb/pull/16505
- Prefetch Parquet page header by @lnkuiper in https://github.com/duckdb/duckdb/pull/16507
- Let GitHub render *.test files as SQL by @mlafeldt in https://github.com/duckdb/duckdb/pull/16534
- Fix ADBC to properly quote table and schema names by @CurtHagenlocher in https://github.com/duckdb/duckdb/pull/16526
- Pass
ClientContextto catalog initialize, and postpone index binding when replaying the WAL by @Mytherin in https://github.com/duckdb/duckdb/pull/16536 - Allow UNITTEST_ROOT_DIRECTORY to be configured through CMake by @Mytherin in https://github.com/duckdb/duckdb/pull/16540
- Internal [#4347]: ISO Year Week by @hawkfish in https://github.com/duckdb/duckdb/pull/16567
- throw() -> noexcept in skiplist by @r-barnes in https://github.com/duckdb/duckdb/pull/16548
- Fix
test/sql/aggregate/aggregates/histogram_table_function.testto pass the Linux CLI (arm64) CI by @hmeriann in https://github.com/duckdb/duckdb/pull/16538 - feat: move GRANT from reserved to unreserved keyword by @stephaniewang526 in https://github.com/duckdb/duckdb/pull/16546
- Python test runner: Avoid enabling profiling when executing restart command by @Flogex in https://github.com/duckdb/duckdb/pull/16547
- Add
duckdb_prepared_statementsby @Tishj in https://github.com/duckdb/duckdb/pull/16541 - [minor] Keep bit type sanity check consistent by @dentiny in https://github.com/duckdb/duckdb/pull/16575
- Support CREATE TABLE AS ... WITH NO DATA by @hannes in https://github.com/duckdb/duckdb/pull/16586
- Parquet FLOAT16 - fix cast by @hannes in https://github.com/duckdb/duckdb/pull/16580
- remove invalid tokens from nanosecond example by @hamilton in https://github.com/duckdb/duckdb/pull/16577
- CrossVersion.yml: Add v1.2.1, v1.2-histrionicus and main by @carlopi in https://github.com/duckdb/duckdb/pull/16576
- Fix [#16524]: DEPENDENT_JOIN may not flatten by @flashmouse in https://github.com/duckdb/duckdb/pull/16537
- [Julia] Add support for appending duckdb List types by @era127 in https://github.com/duckdb/duckdb/pull/16512
- [PySpark] - Add
exprfunction by @mariotaddeucci in https://github.com/duckdb/duckdb/pull/16468 - regex_replace no longer swallows regex errors by @hannes in https://github.com/duckdb/duckdb/pull/16380
- Parquet Writer Clean-up: Split
CreateWriterRecursiveinto two methods, and useParquetColumnDatafor writer as well by @Mytherin in https://github.com/duckdb/duckdb/pull/16592 - Bump Julia to 1.2.1 by @Mytherin in https://github.com/duckdb/duckdb/pull/16593
- Improved appender error message by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/16599
- Change static variables to be on the stack instead by @Y-- in https://github.com/duckdb/duckdb/pull/16597
- Add support for
RETURN_STATStoCOPYby @Mytherin in https://github.com/duckdb/duckdb/pull/16595 - Better error messages for the CSV Scanner by @pdet in https://github.com/duckdb/duckdb/pull/16585
- Support Enum types in read_csv - Python by @pdet in https://github.com/duckdb/duckdb/pull/15710
- Fix CI Tidy by @pdet in https://github.com/duckdb/duckdb/pull/16610
- Add some minor helper functions (
QueryResultIterator::IsNulland casts to MultiFileList/Reader by @Mytherin in https://github.com/duckdb/duckdb/pull/16611 - Add support for
ALTER TABLE tbl SET PARTITIONED BY (key1, key2, ...)in the grammar by @Mytherin in https://github.com/duckdb/duckdb/pull/16612 - Issue template: direct UI issues to the UI repository by @szarnyasg in https://github.com/duckdb/duckdb/pull/16619
- [Dev] Make the various mappings in
MultiFileReaderDatatypesafe by @Tishj in https://github.com/duckdb/duckdb/pull/16596 - Bump mbedtls to 3.6.2 and re-apply patches by @hannes in https://github.com/duckdb/duckdb/pull/16485
- Read and Write Complex Json from Arrow Types by @pdet in https://github.com/duckdb/duckdb/pull/16385
- Add Docker support for RISC-V CI with appropriate build commands by @mocusez in https://github.com/duckdb/duckdb/pull/16549
- Fix missing **kwargs in adbc_driver_duckdb.dbapi.connect() by @davlee1972 in https://github.com/duckdb/duckdb/pull/16637
- [Dev] Clean up and fix the CGroup memory/cpu limit discovery logic by @Tishj in https://github.com/duckdb/duckdb/pull/16608
- Expose
Value::ToSQLString()in C API by @mt-caret in https://github.com/duckdb/duckdb/pull/16471 - Add the missing binding for json_serialize_sql by @liznear in https://github.com/duckdb/duckdb/pull/16666
- Do not create validity mask for non-null const vector by @xuke-hat in https://github.com/duckdb/duckdb/pull/16669
- Fix [#16665]: fix parquet multi_reader bloom_probe logic error by @flashmouse in https://github.com/duckdb/duckdb/pull/16677
- Add alias to catalog by @c-herrewijn in https://github.com/duckdb/duckdb/pull/16600
- Decouple physical operator ownership from operators by @taniabogatsch in https://github.com/duckdb/duckdb/pull/16545
- cmake: fix external icu by @autoantwort in https://github.com/duckdb/duckdb/pull/16676
- Character length and date functions by @hannes in https://github.com/duckdb/duckdb/pull/16653
- [Dev] Don't try to include
third_party/mbedtls/VERSIONwithpackage_build.pyby @Tishj in https://github.com/duckdb/duckdb/pull/16683 - Add
-uito CLI help text by @akx in https://github.com/duckdb/duckdb/pull/16626 - Fix alias of column reference lost in ReplaceProjectionBindings by @Damon07 in https://github.com/duckdb/duckdb/pull/16686
- Merge v1.2-histrionicus into main by @Mytherin in https://github.com/duckdb/duckdb/pull/16687
- Fix for GCC-4.8 by @Mytherin in https://github.com/duckdb/duckdb/pull/16690
- JSON Reader: make read_position atomic so this can be read by the progress bar while processing the JSON file by @Mytherin in https://github.com/duckdb/duckdb/pull/16692
- [Julia] support binding for vectors by @slwu89 in https://github.com/duckdb/duckdb/pull/16701
- Make CSV Parser strict_mode=True fail on a mix of new line delimiters. by @pdet in https://github.com/duckdb/duckdb/pull/15959
- [pypi] Fix cleanup logic for multiple branches by @hmeriann in https://github.com/duckdb/duckdb/pull/16634
- Add support for
ALTER TABLE tbl SET SORTED BY (key1 DESC, key2, ...)in the grammar by @Mytherin in https://github.com/duckdb/duckdb/pull/16714 - RETURN_STATS: remove footer_offset, and emit written partition keys by @Mytherin in https://github.com/duckdb/duckdb/pull/16715
- In case all rows of a CSV batch are errors, we continue processing by @pdet in https://github.com/duckdb/duckdb/pull/16713
- add workaround for patching httpfs ext by @samansmink in https://github.com/duckdb/duckdb/pull/16722
- Implement UUID v7 by @dentiny in https://github.com/duckdb/duckdb/pull/15819
- Fix roundtripping of stringified nested types by @Tishj in https://github.com/duckdb/duckdb/pull/16304
- Add Notify External Repositories Workflow by @maiadegraaf in https://github.com/duckdb/duckdb/pull/16730
- Expose a selection vector and the Slice method to the C API by @joseph-isaacs in https://github.com/duckdb/duckdb/pull/16696
- Add support for tracking
column_size_bytesandcontains_nanin RETURN_STATS by @Mytherin in https://github.com/duckdb/duckdb/pull/16731 - Add support for
WRITE_EMPTY_FILEoption toCOPY- which allows skipping of writing empty files by @Mytherin in https://github.com/duckdb/duckdb/pull/16737 - Parquet Writer: Truncate string stats for large strings, instead of bailing on writing stats by @Mytherin in https://github.com/duckdb/duckdb/pull/16736
- RLE compression - memset alignment bytes to zero when aligning the counts by @Mytherin in https://github.com/duckdb/duckdb/pull/16735
- Write UUID stats to Parquet files and support reading uuid stats by @Mytherin in https://github.com/duckdb/duckdb/pull/16744
- Add an initial value to
list_reduceby @maiadegraaf in https://github.com/duckdb/duckdb/pull/16602 - shell: make -bail work for more errors by @mlafeldt in https://github.com/duckdb/duckdb/pull/16594
- Call Notify External Repositories from Invoke CI by @maiadegraaf in https://github.com/duckdb/duckdb/pull/16747
- JSON bugfixes by @lnkuiper in https://github.com/duckdb/duckdb/pull/16729
- Add support for dynamically providing extra info post-execution in table functions, and use this to emit the total number of files read by the MultiFileReader by @Mytherin in https://github.com/duckdb/duckdb/pull/16749
- [Python Dev] Fix the versioning of the nightly python builds by @Tishj in https://github.com/duckdb/duckdb/pull/16739
- shell: fix sometimes-uninitialized error by @mlafeldt in https://github.com/duckdb/duckdb/pull/16761
- Issue [#16250]: Window Range Performance by @hawkfish in https://github.com/duckdb/duckdb/pull/16765
- Avoid building Python 3.7 wheels also for Linux by @carlopi in https://github.com/duckdb/duckdb/pull/16769
- Pyodide 0.27.2: conditionally skip tests by @carlopi in https://github.com/duckdb/duckdb/pull/16772
- Push catalog lookups through an extensible EntryLookupInfo struct by @Mytherin in https://github.com/duckdb/duckdb/pull/16764
- Fix two minor problems with NotifyExternalRepositories / odbc by @carlopi in https://github.com/duckdb/duckdb/pull/16776
- update expected results reflecting the changes brought ups with
Fix roundtripping of stringified nested typesPR by @hmeriann in https://github.com/duckdb/duckdb/pull/16775 - Merge V1.2 -> Main by @pdet in https://github.com/duckdb/duckdb/pull/16751
- Add support for time travel syntax in the
FROMclause by @Mytherin in https://github.com/duckdb/duckdb/pull/16774 - Python docs: List all join types by @szarnyasg in https://github.com/duckdb/duckdb/pull/16789
- [chore] NotifyExternalRepositories.yml: Fix endpoint to be pinged by @carlopi in https://github.com/duckdb/duckdb/pull/16793
- Remove delta from extensions built on a nightly basis (vs main branch) by @carlopi in https://github.com/duckdb/duckdb/pull/16795
- OSX.yml & Windows.yml: remove repository_dispatch, already handled by InvokeCI by @carlopi in https://github.com/duckdb/duckdb/pull/16796
- Make extensions be linked privitally into duckdb by @JAicewizard in https://github.com/duckdb/duckdb/pull/16726
- Add additional iterations to avoid assertion failure in
TemporaryMemoryManagerby @lnkuiper in https://github.com/duckdb/duckdb/pull/16801 - Change the STANDARD_MASK_SIZE calculation to use size of template type. by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/16807
- Fix nightly table sample error by @Tmonster in https://github.com/duckdb/duckdb/pull/16811
- Fix tidy by @pdet in https://github.com/duckdb/duckdb/pull/16805
- support 'categories' label in function catalog by @c-herrewijn in https://github.com/duckdb/duckdb/pull/15654
- regenerate function headers by @c-herrewijn in https://github.com/duckdb/duckdb/pull/16822
- Internal [#4490]: Window Jump Reset by @hawkfish in https://github.com/duckdb/duckdb/pull/16816
- Regression.yml: Actually checkout proper base.sha commit by @carlopi in https://github.com/duckdb/duckdb/pull/16824
- fix: drop useless python import by @yihong0618 in https://github.com/duckdb/duckdb/pull/16808
- NightlyTests.yml: Inline env variables into build command by @carlopi in https://github.com/duckdb/duckdb/pull/16817
- Benchmark runner summary by @hmeriann in https://github.com/duckdb/duckdb/pull/16759
- Add storage_version 66 for version 1.3.0 by @carlopi in https://github.com/duckdb/duckdb/pull/16800
- Revert "fix: drop useless python import" by @Mytherin in https://github.com/duckdb/duckdb/pull/16834
- [MultiFileReader] Rework
MultiFileReader::FinalizeChunkto use Expressions by @Tishj in https://github.com/duckdb/duckdb/pull/16630 - Merge v1.2 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/16832
- Fix NULL key handling in mark join by @xuke-hat in https://github.com/duckdb/duckdb/pull/16825
- compressed vector serialization fixes by @peterboncz in https://github.com/duckdb/duckdb/pull/16648
- really sorry about this by @peterboncz in https://github.com/duckdb/duckdb/pull/16840
- Fix Python docstrings for unique by @szarnyasg in https://github.com/duckdb/duckdb/pull/16845
- [MultiFileReader] Create "local" filters to hand to underlying readers by @Tishj in https://github.com/duckdb/duckdb/pull/16838
- Revert "Regression.yml: Actually checkout proper base.sha commit" by @Mytherin in https://github.com/duckdb/duckdb/pull/16860
- [ART] Immediately erase empty fixed-size buffers by @taniabogatsch in https://github.com/duckdb/duckdb/pull/16727
- Resolve defaults and column index map by pushing a Projection (instead of executing in the insert itself) by @Mytherin in https://github.com/duckdb/duckdb/pull/16867
- Fix issue with sorting dev versions in pypi_cleanup.py script to keep on PyPi the most recent dev versions by @hmeriann in https://github.com/duckdb/duckdb/pull/16873
- Allow filters to be pushed through joins if there are projection maps by @lnkuiper in https://github.com/duckdb/duckdb/pull/16871
- Expressions in create secret by @samansmink in https://github.com/duckdb/duckdb/pull/15801
- Python - Arrow IPC support in from_arrow by @pdet in https://github.com/duckdb/duckdb/pull/16821
- [ART] Introduce a new ARTScanner and make InitMerge and Vacuum iterative by @taniabogatsch in https://github.com/duckdb/duckdb/pull/16861
- Do not pushdown filters which bindings only match the right side of the left join by @Damon07 in https://github.com/duckdb/duckdb/pull/16880
- MultiFileReader Rework (part 17) - remove
MultiFileReaderData- and move as much as possible out of the file readers by @Mytherin in https://github.com/duckdb/duckdb/pull/16882 - ICU: Unify TimeZone accessing code by @Mytherin in https://github.com/duckdb/duckdb/pull/16887
- Rework ICU age computation to convert to a timestamp and use the regular interval age computation by @Mytherin in https://github.com/duckdb/duckdb/pull/16889
- Reduce allocations during aggregations by @lnkuiper in https://github.com/duckdb/duckdb/pull/16849
- CI: Prevent marking issues as 'stale' if they have the 'no stale' label by @szarnyasg in https://github.com/duckdb/duckdb/pull/16903
- Add field name to log line which fails Parquet spec by @jsbali in https://github.com/duckdb/duckdb/pull/16862
- Internal [#4490]: Window Threading Cleanup by @hawkfish in https://github.com/duckdb/duckdb/pull/16879
- Adding gzip version of shell for linux/osx install script by @hannes in https://github.com/duckdb/duckdb/pull/16116
- Fix USING KEY reference error by @kryonix in https://github.com/duckdb/duckdb/pull/16906
- [Nested] Enable Varargs in
LIST_CONCATby @maiadegraaf in https://github.com/duckdb/duckdb/pull/16870 - Fix several issues with vsize=2, and move vsize=2 tests to
Main.ymlby @Mytherin in https://github.com/duckdb/duckdb/pull/16918 - C API comments: Fix a/an typos by @szarnyasg in https://github.com/duckdb/duckdb/pull/16925
- Reduce locking with
FILE_SIZE_BYTES/ROW_GROUPS_PER_FILEin Parquet writer by @lnkuiper in https://github.com/duckdb/duckdb/pull/16928 - [Python] Fix annotation of
conditionargument injoinso it acceptsExpressionby @MarcoGorelli in https://github.com/duckdb/duckdb/pull/16933 - Fix GCC 4.8 and add it back to
Mainworkflow by @Mytherin in https://github.com/duckdb/duckdb/pull/16937 - Merge v1.2 into main again by @Mytherin in https://github.com/duckdb/duckdb/pull/16939
- MultiFileReader - Perform nested remapping of field indexes instead of relying on casts by @Mytherin in https://github.com/duckdb/duckdb/pull/16941
- Internal [#4552]: Short Circuit CSE by @hawkfish in https://github.com/duckdb/duckdb/pull/16931
- Add back manylinux extensions by @carlopi in https://github.com/duckdb/duckdb/pull/16944
- Run CI on merge group by @Mytherin in https://github.com/duckdb/duckdb/pull/16945
- Internal [#4516]: Interval BIGINT Variants by @hawkfish in https://github.com/duckdb/duckdb/pull/16904
- Split query string for multi-statement queries by @Mytherin in https://github.com/duckdb/duckdb/pull/16955
- Vector Verification: Rework to run based on env variable
DUCKDB_DEBUG_VERIFY_VECTORand move toMain.ymlby @Mytherin in https://github.com/duckdb/duckdb/pull/16957 - Move the no string inline/alternative verify workflow to Main.yml by @Mytherin in https://github.com/duckdb/duckdb/pull/16958
- [Python] Tighten type annotations on
shapeandcolumnsby @MarcoGorelli in https://github.com/duckdb/duckdb/pull/16948 - Pass down CMAKE_POLICY_VERSION_MINIMUM and fix for local development by @carlopi in https://github.com/duckdb/duckdb/pull/16953
- [ART] Use the ARTScanner for VerifyAllocations (make it iterative) by @taniabogatsch in https://github.com/duckdb/duckdb/pull/16946
- Move ThreadSanitizer test from nightly test to Main, and fix locking issue by @Mytherin in https://github.com/duckdb/duckdb/pull/16960
- Re-enable workflows to run on PRs by @Mytherin in https://github.com/duckdb/duckdb/pull/16961
- Fix for selecting NaN values from Parquet files by @Mytherin in https://github.com/duckdb/duckdb/pull/16962
- Move LatestStorage tests to NightlyRelease - and fix issue with overflow string blocks not being cleaned up correctly by @Mytherin in https://github.com/duckdb/duckdb/pull/16972
- Arena-allocate physical operators by @taniabogatsch in https://github.com/duckdb/duckdb/pull/16911
- Make
file_row_numbera virtual column, and support per-file virtual columns in the MultiFileReader by @Mytherin in https://github.com/duckdb/duckdb/pull/16979 - Add a setting
scheduler_process_partialthat allows partial scheduling of tasks in the background threads by @Mytherin in https://github.com/duckdb/duckdb/pull/16973 - Clean up format script, gather all files then run concurrently instead of running concurrently per directory by @Mytherin in https://github.com/duckdb/duckdb/pull/16988
- Add support for altering struct columns (adding fields, dropping fields, renaming fields) by @Mytherin in https://github.com/duckdb/duckdb/pull/17003
- Fix CSV fuzzer tests by @pdet in https://github.com/duckdb/duckdb/pull/16994
- [Fix] Keep original expression for macro + lambda's with subqueries by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17020
- Detect when tables have been dropped or altered, and prevent deletes in this scenario by @Mytherin in https://github.com/duckdb/duckdb/pull/17018
- Update links pointing to duckdb.org by @szarnyasg in https://github.com/duckdb/duckdb/pull/16999
- Fix for joining on floating columns [#16901] by @nickzoic in https://github.com/duckdb/duckdb/pull/16965
- fix: remove ununsed stream struct member from ArrowScanLocalState by @rustyconover in https://github.com/duckdb/duckdb/pull/17023
- [Dev] Use
UnifiedVectorFormatinstead of a flattenedVectorinUpdateSegment::Updateby @Tishj in https://github.com/duckdb/duckdb/pull/16974 - Remove Arrow Extenson from core extensions by @pdet in https://github.com/duckdb/duckdb/pull/17027
- Correctly propagate ClientContext to TaskExecutor by @ywelsch in https://github.com/duckdb/duckdb/pull/17026
- Issue [#17001]: AsOf memory Management by @hawkfish in https://github.com/duckdb/duckdb/pull/17028
- [MultiFileReader] Make it possible for the multi file reader to add a
DeleteFilterto theBaseFileReaderby @Tishj in https://github.com/duckdb/duckdb/pull/17032 - Add optional
OVERRIDE_NEW_DELETEbuild parameter by @lnkuiper in https://github.com/duckdb/duckdb/pull/17035 - Clean-up virtual columns and make MultiFileReader::InitializeReader virtual by @Mytherin in https://github.com/duckdb/duckdb/pull/17038
- Allow a table to define their own row-id columns for delete/update, instead of assuming it is always COLUMN_IDENTIFIER_ROW_ID by @Mytherin in https://github.com/duckdb/duckdb/pull/17039
- Handle Parquet with compressed empty DataPage v2 by @EnricoMi in https://github.com/duckdb/duckdb/pull/17031
- Combine small row groups in Parquet writer by @lnkuiper in https://github.com/duckdb/duckdb/pull/17036
- Merge v1.2.2 into main by @carlopi in https://github.com/duckdb/duckdb/pull/17037
- implement function so I can send a patch to httpfs by @lnkuiper in https://github.com/duckdb/duckdb/pull/17048
- FORCE_ASYNC_SINK_SOURCE: pass also to unittester by @carlopi in https://github.com/duckdb/duckdb/pull/17053
- If a Max Line Size Error happens on all CSV dialect candidates, throw a max line size error. by @pdet in https://github.com/duckdb/duckdb/pull/16935
- Expose BindExtraColumns as a public function by @Mytherin in https://github.com/duckdb/duckdb/pull/17060
- trigger .github/workflows/NightlyBuildsCheck.yml from external repo by @hmeriann in https://github.com/duckdb/duckdb/pull/16949
- Minor parquet crypto clean-up: allow footer key to be passed in directly, and avoid constantly re-reading the key from the config by @Mytherin in https://github.com/duckdb/duckdb/pull/17070
- update julia to v1.2.2 by @Maxxen in https://github.com/duckdb/duckdb/pull/17074
- MultiFileReader Rework (part 18): Replace file path with
OpenFileInfostruct by @Mytherin in https://github.com/duckdb/duckdb/pull/17071 - Fix httpfs patches: avoid
git logsince might contain unsanitisederrorword by @carlopi in https://github.com/duckdb/duckdb/pull/17075 - Re-enable Avro on core by @Tishj in https://github.com/duckdb/duckdb/pull/17072
- [Nested] Optimize List Type in
list_valueby @maiadegraaf in https://github.com/duckdb/duckdb/pull/17063 - Grow string dictionary dynamically in Parquet writer by @lnkuiper in https://github.com/duckdb/duckdb/pull/17061
- Add extended file info to OpenFileInfo, and use this to pass encryption keys and footer size to Parquet reader by @Mytherin in https://github.com/duckdb/duckdb/pull/17085
- [Dev] Automatically re-execute when calling
__arrow_c_stream__on an already-consumed-result by @Tishj in https://github.com/duckdb/duckdb/pull/17087 - fsst: Avoid to propagate alignment information in FSST_UNALIGNED_STORE by @carlopi in https://github.com/duckdb/duckdb/pull/17094
- Fix sqlite3 api wrapper link + remove R-CMD-check + add more nightly tests by @carlopi in https://github.com/duckdb/duckdb/pull/17095
- support large dictionary value and constant vector creation in the C API by @joseph-isaacs in https://github.com/duckdb/duckdb/pull/17064
- Add missing lock to UpdateSegment::FetchRow, and cleanup API to require the lock by @Mytherin in https://github.com/duckdb/duckdb/pull/17100
- Valgrind requires tpch by @carlopi in https://github.com/duckdb/duckdb/pull/17101
- Switch to manylinux_2_28 by @hannes in https://github.com/duckdb/duckdb/pull/16956
- Changing mbedtls encryption API by @ccfelius in https://github.com/duckdb/duckdb/pull/16196
- Pull OpenFileExtended through the opener and virtual file system layers by @Mytherin in https://github.com/duckdb/duckdb/pull/17102
- Fix an issue in upserts where the local append state was not correctly flushed by @Mytherin in https://github.com/duckdb/duckdb/pull/17109
- Always parallelize
read_jsonschema detection by @lnkuiper in https://github.com/duckdb/duckdb/pull/17106 - Move transaction cleanup outside of the transaction lock by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17034
- Remove R_CMD_CHECK.yml, now handled by duckdb/duckdb-r repo by @carlopi in https://github.com/duckdb/duckdb/pull/17127
- JSON Bugfixes by @lnkuiper in https://github.com/duckdb/duckdb/pull/17119
- Refactor relassert runs, adding some variations in compiler / statically linked extensions by @carlopi in https://github.com/duckdb/duckdb/pull/17104
- extension-upload-from-nightly.sh: Add --region by @carlopi in https://github.com/duckdb/duckdb/pull/17120
- MultiFileReader: several fixes for virtual column handling and make virtual column handling extensible by @Mytherin in https://github.com/duckdb/duckdb/pull/17123
- Remove misleading lock comment in data table by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17125
- [Dev] Add "registries" to
vcpkg.json, add script to list the packages of the registry. by @Tishj in https://github.com/duckdb/duckdb/pull/17124 - External File Cache by @lnkuiper in https://github.com/duckdb/duckdb/pull/16463
- Notify nightly build status by @hmeriann in https://github.com/duckdb/duckdb/pull/17108
- Strict UUID cast by @lnkuiper in https://github.com/duckdb/duckdb/pull/17138
- Copy To File: avoid calling Combine for threads that have not written any rows by @Mytherin in https://github.com/duckdb/duckdb/pull/17142
- Add file_index virtual column to the multi file reader that returns the file index of the read file by @Mytherin in https://github.com/duckdb/duckdb/pull/17144
- MultiFileReader: simplify constant handling, and allow virtual columns returned by the multi file reader to be constant by @Mytherin in https://github.com/duckdb/duckdb/pull/17149
- Changes to encodings to make them more flexible to replacement maps. by @pdet in https://github.com/duckdb/duckdb/pull/17146
- Optimize large Top N queries by @lnkuiper in https://github.com/duckdb/duckdb/pull/17141
- Only trigger TopN rewrite relatively small limits compared to the table size. by @Tmonster in https://github.com/duckdb/duckdb/pull/17140
- platform.hpp: Propagate DUCKDB_EXPLICIT_PLATFORM, avoid early return by @carlopi in https://github.com/duckdb/duckdb/pull/17137
- Keeping the filters which do not remove NULL values by @Damon07 in https://github.com/duckdb/duckdb/pull/17045
- Improve
FileSynccall on unix platform by @dentiny in https://github.com/duckdb/duckdb/pull/16893 - README: Fix to building link by @szarnyasg in https://github.com/duckdb/duckdb/pull/17161
- [InvokeCI] Add missing pipe to run instruction by @hmeriann in https://github.com/duckdb/duckdb/pull/17163
- Internal [#4667]: 2025b TimeZone Data by @hawkfish in https://github.com/duckdb/duckdb/pull/17160
- Unify function list by @c-herrewijn in https://github.com/duckdb/duckdb/pull/17168
- [Dev] Generate the
EXTENSION_SECRET_TYPESinstead of hardcoding them by @Tishj in https://github.com/duckdb/duckdb/pull/17183 - Fix grouping feature with interval type by @handstuyennn in https://github.com/duckdb/duckdb/pull/17181
- Add filename to GZIP stream error by @marcoslot in https://github.com/duckdb/duckdb/pull/17166
- Issue [#17115]: TimeTZ Approximate Quantile by @hawkfish in https://github.com/duckdb/duckdb/pull/17162
- Issue [#17046]: AsOf Left Predicates by @hawkfish in https://github.com/duckdb/duckdb/pull/17159
- [Fix] Pass delete indexes when committing updates by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17176
- Python.yml: Add back logic to perform fast-fail on Python 3.10 by @carlopi in https://github.com/duckdb/duckdb/pull/17107
- Notify JDBC repo to run Vendor.yml workflow by @staticlibs in https://github.com/duckdb/duckdb/pull/17099
- Issue [#17049]: ICU Date Cast by @hawkfish in https://github.com/duckdb/duckdb/pull/17067
- Add bind_operator callback to TableFunction - allowing table functions to directly emit a LogicalOperator by @Mytherin in https://github.com/duckdb/duckdb/pull/17196
- [ENCRYPTION] Make block header size adaptive by @ccfelius in https://github.com/duckdb/duckdb/pull/17118
- Issue [#16839]: Disable TIMESTAMP Casts by @hawkfish in https://github.com/duckdb/duckdb/pull/16899
- Add support for an explicit PRESERVE_ORDER flag for copy to file by @Mytherin in https://github.com/duckdb/duckdb/pull/17199
- Add
SYSTEM_PEAK_BUFFER_MANAGER_MEMORYandSYSTEM_PEAK_TEMP_DIRECTORY_SIZEto profiler by @lnkuiper in https://github.com/duckdb/duckdb/pull/17164 - Fix [InvokeCI / NotifyExternalRepository] Unexpected value 'true' by @hmeriann in https://github.com/duckdb/duckdb/pull/17212
- Add support for the cast_to_type function, that allows generating a cast from an expression to the type of another column by @Mytherin in https://github.com/duckdb/duckdb/pull/17209
- Better cardinality estimates for inequality joins/grouped aggregations by @lnkuiper in https://github.com/duckdb/duckdb/pull/17139
- Add
ExternalFileCachevalidation as option forExtendedOpenFileInfoby @lnkuiper in https://github.com/duckdb/duckdb/pull/17205 - Explicitly flush the thread-local optimistic writer in
PhysicalBatchInsertwhen finalizing by @Mytherin in https://github.com/duckdb/duckdb/pull/17214 - Pushdown arbitrary expressions into scans by @Mytherin in https://github.com/duckdb/duckdb/pull/17213
- Fix [#17170]: sort selection result in OR expression by @flashmouse in https://github.com/duckdb/duckdb/pull/17180
- [Dev] Re-enable Iceberg, Bump Avro, fix
generate_extension_functions.pyfor dependencies between extensions by @Tishj in https://github.com/duckdb/duckdb/pull/17204 - Change Invalid Unicode Error to Invalid Encoding by @pdet in https://github.com/duckdb/duckdb/pull/17208
- Direct IO for temp files by @lnkuiper in https://github.com/duckdb/duckdb/pull/17219
- Fix [InvokeCI / NotifyExternalRepository] GitHub Actions has encountered an internal error when running your job. by @hmeriann in https://github.com/duckdb/duckdb/pull/17218
- Add "thousands" option to CSV Reader by @pdet in https://github.com/duckdb/duckdb/pull/17220
- add capi functions to create map and union values by @jraymakers in https://github.com/duckdb/duckdb/pull/17227
- Only notify JDBC when all runs are successful by @staticlibs in https://github.com/duckdb/duckdb/pull/17233
- Update Friendlier SQL link.md by @hfrifkin in https://github.com/duckdb/duckdb/pull/17248
- Implement reading concatenated GZIP members by @lnkuiper in https://github.com/duckdb/duckdb/pull/17255
- Return invalid
BufferHandleupon loading a destroyedBlockHandleby @lnkuiper in https://github.com/duckdb/duckdb/pull/17249 - Internal [#4772]: Timestamp Error Parameter by @hawkfish in https://github.com/duckdb/duckdb/pull/17283
- BUGFIX: do not perform unused columns optimization in presence of multiple grouping sets by @Tmonster in https://github.com/duckdb/duckdb/pull/17259
- Internal [#4532]: 13 Month Intervals by @hawkfish in https://github.com/duckdb/duckdb/pull/17303
- Dont try to load extension if storage type is already registered by @Maxxen in https://github.com/duckdb/duckdb/pull/17241
- Adapt size of hash table during aggregation using HyperLogLog by @lnkuiper in https://github.com/duckdb/duckdb/pull/17236
- Switch to always using list identifier instead of array by @J-Meyers in https://github.com/duckdb/duckdb/pull/17242
- Add root's query_location also to TransformInterval by @carlopi in https://github.com/duckdb/duckdb/pull/17271
- Histogram table function test by @hmeriann in https://github.com/duckdb/duckdb/pull/17276
- Guess Parquet footer size by @lnkuiper in https://github.com/duckdb/duckdb/pull/17300
- Issue [#16563]: FLOAT to DECIMAL by @hawkfish in https://github.com/duckdb/duckdb/pull/17302
- Feature [#15873]: Windowed ORDER BYs by @hawkfish in https://github.com/duckdb/duckdb/pull/17304
- Switch from Bottom-Up to Top-Down Decorrelation Strategy by @kryonix in https://github.com/duckdb/duckdb/pull/17294
- Generating random data for mbedtls without key by @ccfelius in https://github.com/duckdb/duckdb/pull/17309
- Fix CI by @Mytherin in https://github.com/duckdb/duckdb/pull/17319
- [Arrow] Implement support to consuming and producing Decimal 32 and 64. by @pdet in https://github.com/duckdb/duckdb/pull/17314
- take the column ids from the logical get, don't require a LogicalGet … by @Tishj in https://github.com/duckdb/duckdb/pull/17315
- Allow installing extensions with external access allowlist by @samansmink in https://github.com/duckdb/duckdb/pull/17316
- Implement ARTMerger replacing the recursive ART merge algorithm by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17243
- Share null mask with constant null arg vector by @iceTTTT in https://github.com/duckdb/duckdb/pull/17234
- Fix [#17311]: correctly check for presence of recursive keys in transformer by @Mytherin in https://github.com/duckdb/duckdb/pull/17320
- [CSV Reader] Simplify Quote/Escape detection code, make it more robust and decouple comment and skip_rows option. by @pdet in https://github.com/duckdb/duckdb/pull/17284
- Fix
try_castfrom NaNdoubletodecimalby @lnkuiper in https://github.com/duckdb/duckdb/pull/17322 - Add serialization for new TableColumn type by @Mytherin in https://github.com/duckdb/duckdb/pull/17321
- Extract expressions from nested conjunction AND for index scan by @lnkuiper in https://github.com/duckdb/duckdb/pull/17297
- Support late materialization in the Parquet reader, and handle
COUNT(*)directly in the multi file reader by @Mytherin in https://github.com/duckdb/duckdb/pull/17325 - Implement ARTOperator replacing Lookup and the recursive Insert by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17327
- Internal [#4723]: Inequality Condition Pushdown by @hawkfish in https://github.com/duckdb/duckdb/pull/17317
- Properly format strings when throw JSON errors by @lnkuiper in https://github.com/duckdb/duckdb/pull/17331
- Fix potential vulnerable cloned function by @npt-1707 in https://github.com/duckdb/duckdb/pull/17340
- Fix potential vulnerable cloned function by @npt-1707 in https://github.com/duckdb/duckdb/pull/17339
- Revert "Skip MinGW, currently failing on main" by @carlopi in https://github.com/duckdb/duckdb/pull/17342
- Unify Parquet Metadata cache invalidation logic with Cached File System cache invalidation by @Mytherin in https://github.com/duckdb/duckdb/pull/17334
- Fix issue with empty ranges by @kryonix in https://github.com/duckdb/duckdb/pull/17332
- Internal [#4797]: Timestamp Range Cardinality by @hawkfish in https://github.com/duckdb/duckdb/pull/17330
- Some nitpicking fixes by @szarnyasg in https://github.com/duckdb/duckdb/pull/17337
- Issue [#17299]: Integer Rounding by @hawkfish in https://github.com/duckdb/duckdb/pull/17328
- Parquet Reader: emit partition stats for any files that have cached metadata, and implement
ListFilesExtendedthat adds extra info to files globbed by @Mytherin in https://github.com/duckdb/duckdb/pull/17344 - Add support for UUID v7 to Filename Pattern - and clean it up so that it correctly supports composite patterns by @Mytherin in https://github.com/duckdb/duckdb/pull/17345
- Add support for the HIVE_FILE_PATTERN option - that allows partitioned files to be written without writing them to a hive-style directory structure by @Mytherin in https://github.com/duckdb/duckdb/pull/17346
- Add an OnDetach callback to the catalog that is triggered when the user detaches a catalog by @Mytherin in https://github.com/duckdb/duckdb/pull/17347
- Pass commit ID to NotifyExternalRepositories.yml by @staticlibs in https://github.com/duckdb/duckdb/pull/17333
- Add support for BENCHMARK_ROOT_DIRECTORY cmake option to change benchmark runner root directory, and add support for cache_file and reload options to enable better caching for non-DuckDB databases by @Mytherin in https://github.com/duckdb/duckdb/pull/17355
- Support --directories option in format.py by @Mytherin in https://github.com/duckdb/duckdb/pull/17354
- Handle both ENCRYPTION_KEY and STORAGE_VERSION passed as options by @carlopi in https://github.com/duckdb/duckdb/pull/17357
- Fix internal exception from assigning invalid index to
optional_idx query_id;by @Tishj in https://github.com/duckdb/duckdb/pull/17359 - Fixup amalgamation: reqlen is only used with assert enabled by @carlopi in https://github.com/duckdb/duckdb/pull/17361
- md5_number: return UHUGEINT by @szarnyasg in https://github.com/duckdb/duckdb/pull/17336
- Skip emitting partition stats if "has_deletes" is set in the file info by @Mytherin in https://github.com/duckdb/duckdb/pull/17365
- Benchmark runner: add
argument,includeandload_onlyoptions - and make ClickBench run the original benchmark instead of a subset by @Mytherin in https://github.com/duckdb/duckdb/pull/17367 - Fix two off-by-one errors in row estimate of range and generate_series by @JelteF in https://github.com/duckdb/duckdb/pull/17373
- [Nested] Fix: 16489 - Find
NULLs in lists usinglist_positionby @maiadegraaf in https://github.com/duckdb/duckdb/pull/17080 - fix [#17258]: Allow to open database in readonly mode within cli by @jjballano in https://github.com/duckdb/duckdb/pull/17375
- Join Hash Table Probing Optimization: Optional Probing Selection Vector by @gropaul in https://github.com/duckdb/duckdb/pull/17062
- Remove bundled TPCH & TPCDS in Python wheels by @carlopi in https://github.com/duckdb/duckdb/pull/15923
- [Compression] Introduce
DICT_FSSTcompression method by @Tishj in https://github.com/duckdb/duckdb/pull/15637 - Deprecate lambda arrow (->) and replace it with LAMBDA x : x + 1 by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17235
- fix not setting nested validity when map_extract returns null by @Maxxen in https://github.com/duckdb/duckdb/pull/17379
- Function chaining: report missing column instead of missing function if function exists by @Mytherin in https://github.com/duckdb/duckdb/pull/17383
- Improve error messages in UPDATE ... SET by @Mytherin in https://github.com/duckdb/duckdb/pull/17384
- Add candidates suggestion when COLUMNS regex does not match any columns by @Mytherin in https://github.com/duckdb/duckdb/pull/17385
- add step to clean up the disc space to fix
No space left on deviceby @hmeriann in https://github.com/duckdb/duckdb/pull/17390 - Fix issue in string -> hugeint conversion with decimals and exponents by @Mytherin in https://github.com/duckdb/duckdb/pull/17388
- Improve error message reporting for cast failures by @Mytherin in https://github.com/duckdb/duckdb/pull/17382
- Fix Python CI: pin virtualenv to previous version by @Mytherin in https://github.com/duckdb/duckdb/pull/17386
- Improve error reporting for missing qualified columns by @Mytherin in https://github.com/duckdb/duckdb/pull/17397
- Issue [#17266]: Lead Lag Nulls by @hawkfish in https://github.com/duckdb/duckdb/pull/17391
- Fix [#17266]:the result of lad/lead when the offset is null by @ditdb in https://github.com/duckdb/duckdb/pull/17268
- VirtualFileSystem to take an input, allowing to customize behaviour by @carlopi in https://github.com/duckdb/duckdb/pull/17393
- [Dev] Add
QualifiedName::ParseComponents, add input to the error messages by @Tishj in https://github.com/duckdb/duckdb/pull/17403 - Provide suggestions and a link to the documentation for OOM errors by @Mytherin in https://github.com/duckdb/duckdb/pull/17402
- [Dev] Flatten any deeper children vectors, when the top level is a FLAT vector by @Tishj in https://github.com/duckdb/duckdb/pull/17387
- Minor fixes for the CLI by @Mytherin in https://github.com/duckdb/duckdb/pull/17405
- Add support for CREATE OR REPLACE TYPE, CREATE TYPE IF NOT EXISTS and CREATE TEMPORARY TYPE by @Mytherin in https://github.com/duckdb/duckdb/pull/17404
- Use an insertion order preserving map in Value::MAP by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17389
- Implement
json_each/json_treeby @lnkuiper in https://github.com/duckdb/duckdb/pull/17406 - Fix [#16552]: adjust join condition sequence by @flashmouse in https://github.com/duckdb/duckdb/pull/16943
- WAL replay index fixes by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17409
- ZSTD: use a high penalty when min size is exceeded instead of disabling compression to allow force compression to work by @Mytherin in https://github.com/duckdb/duckdb/pull/17412
- Internal [#4723]: PWMJ Inequality Pushdown by @hawkfish in https://github.com/duckdb/duckdb/pull/17400
- Move all httplib code to HTTPUtil class by @Mytherin in https://github.com/duckdb/duckdb/pull/17420
- Avoid generating default views and macros in the temporary catalog by @Mytherin in https://github.com/duckdb/duckdb/pull/17408
- unittest: improve detection of whether or not we can run
--force-restarttests by @Mytherin in https://github.com/duckdb/duckdb/pull/17419 - Give tasks a
TaskTypewith a name by @Mytherin in https://github.com/duckdb/duckdb/pull/17421 - Use argparse in scripts/format.py by @adsharma in https://github.com/duckdb/duckdb/pull/17360
- Add missing commas by @szarnyasg in https://github.com/duckdb/duckdb/pull/17424
- Internal [#4830]: IEJoin Inequality Pushdown by @hawkfish in https://github.com/duckdb/duckdb/pull/17422
- Add conn.query_progress() method by @nickzoic in https://github.com/duckdb/duckdb/pull/16927
- Fixes filter pruning use the statistics updated by the same filter by @Damon07 in https://github.com/duckdb/duckdb/pull/17425
- Fix JSON extension compilation on Ubuntu 22.04 by @staticlibs in https://github.com/duckdb/duckdb/pull/17434
- Use pytest in SQLLogic Python test runner by @Flogex in https://github.com/duckdb/duckdb/pull/16685
- On COPY TO/FROM check the format during binding. by @pdet in https://github.com/duckdb/duckdb/pull/17381
- BUGFIX: DELIM_JOINS should reflect functionality of NULL filtering conditions in joins with DELIM_GETS by @Tmonster in https://github.com/duckdb/duckdb/pull/16910
- Allow directly attaching of Parquet/CSV/JSON files by @Mytherin in https://github.com/duckdb/duckdb/pull/17415
- Force errors when trying lines as early as possible by @pdet in https://github.com/duckdb/duckdb/pull/17427
- Enable
SYSTEM_PEAK_BUFFER_MEMORYandSYSTEM_PEAK_TEMP_DIR_SIZEprofiling by default by @lnkuiper in https://github.com/duckdb/duckdb/pull/17407 - [C API] Expose the client context, connection id and scalar function bind data by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17449
- [CSV Sniffer] Proper type replacement in header only files by @pdet in https://github.com/duckdb/duckdb/pull/17447
- Recurse into
MAPandLISTwith theremap_structand the MFR ColumnMapper by @Tishj in https://github.com/duckdb/duckdb/pull/17448 - Fix: pyproject.toml does not contain a tool.setuptools_scm section by @YUKI2eN3e in https://github.com/duckdb/duckdb/pull/17443
- [Fix] Macro binding with unknown parameters in list_has_all and some other code tidying by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17450
- Generalize HTTP interface and use the new HTTP interface in
httpfsby @Mytherin in https://github.com/duckdb/duckdb/pull/17464 - [Fix] Switch between constant and flat vector in C API by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17465
- Fix TIMETZ cast in example by @szarnyasg in https://github.com/duckdb/duckdb/pull/17468
- Remove duplicated arrow fetch test by @emmanuel-ferdman in https://github.com/duckdb/duckdb/pull/17476
- Multi File Reader Rework (Part 19): Make
MultiFileReaderInterfacevirtual, and move reading methods to theBaseFileReaderby @Mytherin in https://github.com/duckdb/duckdb/pull/17475 - [Serializer] Lambda Compatibilty Fix by @maiadegraaf in https://github.com/duckdb/duckdb/pull/17428
- fix parsing bool values in JSON by @ccfelius in https://github.com/duckdb/duckdb/pull/17460
- Emit dictionary vectors with unaligned start index by @OmidAfroozeh in https://github.com/duckdb/duckdb/pull/17471
- Add release version by @hannes in https://github.com/duckdb/duckdb/pull/17479
- Expose qualified table names in GetTableNames and add duckdb_get_table_names to C API by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17472
- Bump avro, httpfs, mysql, postgres and sqlite by @Mytherin in https://github.com/duckdb/duckdb/pull/17482
- Fix GeoParquet ExpressionColumnReader schema by @Maxxen in https://github.com/duckdb/duckdb/pull/17481
- add regression_threshold_seconds argument to
regression/test_runner.pyby @hmeriann in https://github.com/duckdb/duckdb/pull/17485 - DROP of missing entry should fail in binding by @jeewonhh in https://github.com/duckdb/duckdb/pull/17474
- HTTPFS Parameters fix by @Mytherin in https://github.com/duckdb/duckdb/pull/17486
- HTTPUtil Fix: correctly pass in on_retry by @Mytherin in https://github.com/duckdb/duckdb/pull/17494
- Bump spatial & vss by @Maxxen in https://github.com/duckdb/duckdb/pull/17492
- Add support for altering structs (drop, add, rename field) inside
LISTandMAPcolumns. by @Tishj in https://github.com/duckdb/duckdb/pull/17462 - [Python Dev] Guard against python exceptions when interacting with the
currentframeobject by @Tishj in https://github.com/duckdb/duckdb/pull/17490 - If distinct count from stats is 0, do not use it in Join Order Optimizer by @Tmonster in https://github.com/duckdb/duckdb/pull/17466
- Make the encodings extension a core extension, and make it auto-loadable. by @pdet in https://github.com/duckdb/duckdb/pull/17206
- Allow passing down rc-style version also via OVERRIDE_GIT_DESCRIBE by @carlopi in https://github.com/duckdb/duckdb/pull/17501
- Allow DUCKDB_EXPLICIT_VERSION to be propagated by @carlopi in https://github.com/duckdb/duckdb/pull/17498
- Minor nightly fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/17500
- Add FileSystem::TryRemoveFile - that only removes a file if it exists by @Mytherin in https://github.com/duckdb/duckdb/pull/17502
- Add OperatorFinalize callback to operators - which is called after a pipeline is finished by @Mytherin in https://github.com/duckdb/duckdb/pull/17503
- Apply dynamic filter pushdown of TopN optimizer also to existing TopN nodes by @Mytherin in https://github.com/duckdb/duckdb/pull/17504
- Fix: Optional Probe Selection by @gropaul in https://github.com/duckdb/duckdb/pull/17505
- FileHandle Logging by @samansmink in https://github.com/duckdb/duckdb/pull/16758
- Fix typos by @szarnyasg in https://github.com/duckdb/duckdb/pull/17478
- Remove spatial from OSX Relassert by @carlopi in https://github.com/duckdb/duckdb/pull/17509
- Update more extensions by @Maxxen in https://github.com/duckdb/duckdb/pull/17510
- Bump HTTPFS again by @Mytherin in https://github.com/duckdb/duckdb/pull/17511
- feat: include catalog and schema names in function serialization by @rustyconover in https://github.com/duckdb/duckdb/pull/17512
- Fix encodings by @carlopi in https://github.com/duckdb/duckdb/pull/17514
- Fix python nightly build by @Tishj in https://github.com/duckdb/duckdb/pull/17515
- Use Catalog::TryAutoLoad for encodings extension by @pdet in https://github.com/duckdb/duckdb/pull/17520
- [Python Dev] Using
reinterpret_stealbreaks the refcount of the passed-in object by @Tishj in https://github.com/duckdb/duckdb/pull/17525 - Fix update extensions by @carlopi in https://github.com/duckdb/duckdb/pull/17527
- Minor fixes to exception error messages by @carlopi in https://github.com/duckdb/duckdb/pull/17528
- [Python Dev] Fix failing tests for the Python SQLLogicTester by @Tishj in https://github.com/duckdb/duckdb/pull/17529
- Resolve GitHub workflow
set-outputdeprecation warnings by @kurtmckee in https://github.com/duckdb/duckdb/pull/17516 - [CSV Reader] Detect SQLNULL types for schema merging, use schema merging in csv relations, add files_to_sniff option. by @pdet in https://github.com/duckdb/duckdb/pull/17467
- Fix extension test by @carlopi in https://github.com/duckdb/duckdb/pull/17536
- [Dev] Fix crash when describing a table with a virtual column by @Tishj in https://github.com/duckdb/duckdb/pull/17544
- [HTTPUtil] Let requests made through the
HTTPUtilinterface accept URI's without a scheme. by @Tishj in https://github.com/duckdb/duckdb/pull/17545 - Attach after setting database type by @Mytherin in https://github.com/duckdb/duckdb/pull/17546
- Pass MultiFileGlobalState to InitializeReader, and pass file list to CreateMapping instead of eagerly getting the first file by @Mytherin in https://github.com/duckdb/duckdb/pull/17553
- [Dev] Fix
allowed_directoriescrash by @Tishj in https://github.com/duckdb/duckdb/pull/17548 - [Fix] duplicate filters during index scans by @taniabogatsch in https://github.com/duckdb/duckdb/pull/17547
- Generate data for tpch sf100 in steps by @Tmonster in https://github.com/duckdb/duckdb/pull/17539
- Issue [#17537]: Fractional Second Padding by @hawkfish in https://github.com/duckdb/duckdb/pull/17556
- Make MultiFileList::Copy a virtual method by @Mytherin in https://github.com/duckdb/duckdb/pull/17566
- [Dev] Can't use
USING COMPRESSIONwith a deprecated compression type by @Tishj in https://github.com/duckdb/duckdb/pull/17542 - Add (de)serialization for ExtraOperatorInfo by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/17563
- Fix issue with
ExternalFileCachewhen data is evicted by @lnkuiper in https://github.com/duckdb/duckdb/pull/17567 - Remote Reads: allocate correct buffer size for prefetch by @Mytherin in https://github.com/duckdb/duckdb/pull/17557
- Remove patch and bump httpfs by @carlopi in https://github.com/duckdb/duckdb/pull/17558
- [Dev] Fix Arrow fixed size binary reading by @Tishj in https://github.com/duckdb/duckdb/pull/17573
- Fix setup.py to correctly handle OVERRIDE_GIT_DESCRIBE by @carlopi in https://github.com/duckdb/duckdb/pull/17580
Full Changelog: https://github.com/duckdb/duckdb/compare/v1.2.2...v1.3.0