1.3.0
DuckDB 1.3.0 "Ossivalis"
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 i
These notes run past the length kept in the archive. The rest is on the publisher’s page.