DuckDB v1.3.0stable Released May 21, 2025
Impact Score: 5/10

DuckDB 1.3.0 "Ossivalis"

Source available β€” automated, not human-reviewed

Component: duckdb Β· Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified β€” check source notes
πŸ“„ .MD
⚑ Executive Summary (TL;DR)

DuckDB v1.3.0. Source highlight: This release of DuckDB is named "Ossivalis" after Bucephala Ossivalis, an ancestor of the Goldeneye duck that lived Millions of years ago.

Who Does This Impact? (Role-Based Analysis)

πŸ’» Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

πŸ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

βš™οΈ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

✨ New Features & Capabilities (6)

  • Benchmark runner: catch and log errors + add support for `retry load N` syntax
  • [no-op] Add documentation for filesystem read behavior
  • Feature #16044: TimeZone Offset Seconds
  • [Julia] Add support for named params in prepared statements
  • Add uniq_ptr_cast for interpreted benchmark.
  • Add StackTraces to FatalExceptions

⚑ Performance & Enhancements (6)

  • Improve performance of `UNNEST/UNPIVOT` by using selection vectors to unnest multiple lists at once
  • Improve Parquet writer performance
  • Some more Parquet writer performance improvements
  • Parquet reader performance
  • Issue #16250: Window Range Performance
  • Improve error message on failure to install local extension

πŸ”§ Bug Fixes & Patches (6)

  • Fix #15466 Transform LIMIT or OFFSET first based on order specified in prepared statement
  • [Dev] Fix output (long lines > 333 characters) getting truncated in shell
  • [Dev] Fix issue related to unpacked columns and the NOT operator
  • Fix #16163: COLUMNS should not treat identifiers as strings
  • [fix] Use bigobj when building with MSVC
  • Fix Python 3 executable name on Windows
πŸ“„ View Raw Release Notes (Original Developer Log)
This release of DuckDB is named "Ossivalis" after Bucephala Ossivalis, an ancestor of the [Goldeneye duck](https://en.wikipedia.org/wiki/Common_goldeneye) 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 N` syntax 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.test` by @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 `CreateReader` into two separate stages - `ParseSchema` and `CreateReader` by @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.6` to `2.9` by @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_series` with 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-dir` is 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/UNPIVOT` by using selection vectors to unnest multiple lists at once by @Mytherin in https://github.com/duckdb/duckdb/pull/16210 * Add the `TRY` expression 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 `rowid` into the concept of virtual columns, and make `filename` a 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 `TRY` expression with `dictionary_expression` Vector verification by @Tishj in https://github.com/duckdb/duckdb/pull/16262 * [Python Dev] Add the correct variant of the `-std=c++11` flag 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 `MinMaxN` and skip `NULL`s 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 `MultiFileReaderFunction` that 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_indexes` for `file_row_number` by @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 `DeltaLengthByteArrayDecoder` and 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 `GetValueRefUnsafe` by @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 `memchr` on 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 `ClientContext` to 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.test` to 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_statements` by @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 `expr` function 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 `CreateWriterRecursive` into two methods, and use `ParquetColumnData` for 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_STATS` to `COPY` by @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::IsNull` and 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 `MultiFileReaderData` typesafe 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/VERSION` with `package_build.py` by @Tishj in https://github.com/duckdb/duckdb/pull/16683 * Add `-ui` to 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_bytes` and `contains_nan` in RETURN_STATS by @Mytherin in https://github.com/duckdb/duckdb/pull/16731 * Add support for `WRITE_EMPTY_FILE` option to `COPY` - 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_reduce` by @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 types` PR 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 `FROM` clause 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 `TemporaryMemoryManager` by @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::FinalizeChunk` to 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_CONCAT` by @maiadegraaf in https://github.com/duckdb/duckdb/pull/16870 * Fix several issues with vsize=2, and move vsize=2 tests to `Main.yml` by @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_FILE` in Parquet writer by @lnkuiper in https://github.com/duckdb/duckdb/pull/16928 * [Python] Fix annotation of `condition` argument in `join` so it accepts `Expression` by @MarcoGorelli in https://github.com/duckdb/duckdb/pull/16933 * Fix GCC 4.8 and add it back to `Main` workflow 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_VECTOR` and move to `Main.yml` by @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 ``shape`` and ``columns`` by @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_number` a 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_partial` that 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 `UnifiedVectorFormat` instead of a flattened `Vector` in `UpdateSegment::Update` by @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 `DeleteFilter` to the `BaseFileReader` by @Tishj in https://github.com/duckdb/duckdb/pull/17032 * Add optional `OVERRIDE_NEW_DELETE` build 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 `OpenFileInfo` struct by @Mytherin in https://github.com/duckdb/duckdb/pull/17071 * Fix httpfs patches: avoid `git log` since might contain unsanitised `error` word 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_value` by @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_json` schema 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 `FileSync` call 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_TYPES` instead 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_MEMORY` and `SYSTEM_PEAK_TEMP_DIRECTORY_SIZE` to 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 `ExternalFileCache` validation as option for `ExtendedOpenFileInfo` by @lnkuiper in https://github.com/duckdb/duckdb/pull/17205 * Explicitly flush the thread-local optimistic writer in `PhysicalBatchInsert` when 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.py` for 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 `BufferHandle` upon loading a destroyed `BlockHandle` by @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_cast` from NaN `double` to `decimal` by @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 `ListFilesExtended` that 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`, `include` and `load_only` options - 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 `NULL`s in lists using `list_position` by @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_FSST` compression 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 device` by @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_tree` by @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-restart` tests by @Mytherin in https://github.com/duckdb/duckdb/pull/17419 * Give tasks a `TaskType` with 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_MEMORY` and `SYSTEM_PEAK_TEMP_DIR_SIZE` profiling 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 `MAP` and `LIST` with the `remap_struct` and 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 `httpfs` by @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 `MultiFileReaderInterface` virtual, and move reading methods to the `BaseFileReader` by @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.py` by @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 `LIST` and `MAP` columns. by @Tishj in https://github.com/duckdb/duckdb/pull/17462 * [Python Dev] Guard against python exceptions when interacting with the `currentframe` object 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_steal` breaks 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-output` deprecation 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 `HTTPUtil` interface 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_directories` crash 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 COMPRESSION` with 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 `ExternalFileCache` when 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