โ ๏ธ Breaking Change
Impact Score: 7/10
DuckDB v2.0.0 "Cyanoptera"
Source available โ automated, not human-reviewed
Component: duckdb ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
Breaking-change evidence from the source
More missing includes breaking non-unity builds by @evertlammerts in https://github.com/duckdb/duckdb/pull/23837
โก Executive Summary (TL;DR)
DuckDB v2.0.0. Source highlight: This release of DuckDB is named "Cyanoptera" after Spatula Cyanoptera, a species of duck found in western North and South America.
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.
โ ๏ธ Breaking Changes & Deprecations (1)
- More missing includes breaking non-unity builds by @evertlammerts in https://github.com/duckdb/duckdb/pull/23837
โจ New Features & Capabilities (6)
- Expand aggregate state export to work with lists (`StateListType`) and sort keys (`StateSortKey`), and add aggregate state export to `list`, `any_value/first/last`, `arg_min/arg_max`
- Add row group count to parquet RETURN_STATS
- Add `decimal_average` aggregate function
- Add `JSONBench` to the benchmark suite
- Add support for static linking C-API extensions
- Add `vertex_extract` function to get coordinates out of point-geometries
โก Performance & Enhancements (6)
- Optimize single-key hash group partitioning performance
- Improve cache memory estimation on filepath cache object
- Improve connect integration
- Improve TPC-H dbgen progress reporting, ETA stability, and generation performance
- Improve TPC-DS dsdgen progress reporting and generation performance
- Improve pruning via string stats
๐ง Bug Fixes & Patches (6)
- Fix null sentinel for keys in dict vector (Arrow)
- fix out-of-bounds read in strict time parsing
- Dead node counting fixes
- Fix flaky `AsyncFileWriter` test
- [Variant] Fix crash for variant_extract on non-object shredded column
- Fix flaky `AsyncFileWriter` test
๐ View Raw Release Notes (Original Developer Log)
This release of DuckDB is named "Cyanoptera" after Spatula Cyanoptera, a species of duck found in western North and South America.
Please also refer to the announcement blog post: https://duckdb.org/2026/10/21/announcing-duckdb-200.html
## What's Changed
* Make `Identifier` a class instead of using string everywhere by @Mytherin in https://github.com/duckdb/duckdb/pull/23161
* Move to tidy-check diff again by @Mytherin in https://github.com/duckdb/duckdb/pull/23196
* Step 3: Make duplicate eliminator optimizer logic work for CTE rewrite by @kryonix in https://github.com/duckdb/duckdb/pull/23187
* Allow `MERGE INTO` in triggers by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23179
* RETURNING support for tables with triggers by @krleonid in https://github.com/duckdb/duckdb/pull/23153
* Remove special formatting code for main CMakeLists.txt by @Mytherin in https://github.com/duckdb/duckdb/pull/23211
* Expand aggregate state export to work with lists (`StateListType`) and sort keys (`StateSortKey`), and add aggregate state export to `list`, `any_value/first/last`, `arg_min/arg_max` by @Mytherin in https://github.com/duckdb/duckdb/pull/23199
* Initial implementation of `variant_array_length` processing function by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/23167
* Add row group count to parquet RETURN_STATS by @pdet in https://github.com/duckdb/duckdb/pull/23218
* Unify `ProfilerPrintFormat` and `ExplainFormat` , remove special casing and move towards pluggable tree renderers by @Mytherin in https://github.com/duckdb/duckdb/pull/23222
* Rework `quantile` to use `list` infrastructure by @Mytherin in https://github.com/duckdb/duckdb/pull/23228
* Add `decimal_average` aggregate function by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23097
* Step 4: Make unnest rewriter recognize CTE-based plans by @kryonix in https://github.com/duckdb/duckdb/pull/23240
* Rework ordered aggregates to use the `list` infrastructure by @Mytherin in https://github.com/duckdb/duckdb/pull/23231
* Pluggable combine types rules by @yan-alex in https://github.com/duckdb/duckdb/pull/23173
* Auto generate `select.gram` by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23236
* Unify quantile `update/combine` callbacks with the list aggregate by @Mytherin in https://github.com/duckdb/duckdb/pull/23247
* Add `JSONBench` to the benchmark suite by @Mytherin in https://github.com/duckdb/duckdb/pull/23265
* Add support for static linking C-API extensions by @Maxxen in https://github.com/duckdb/duckdb/pull/22251
* Add `vertex_extract` function to get coordinates out of point-geometries by @Maxxen in https://github.com/duckdb/duckdb/pull/23252
* [Dev] Resolve `DEFAULT`s for INSERT/UPDATE/MERGE_INTO at bind-time rather than plan-time by @Tishj in https://github.com/duckdb/duckdb/pull/23033
* Consistent ordering for gen files in package_build by @staticlibs in https://github.com/duckdb/duckdb/pull/23267
* Transform type literals into unbound logical types by @d-justen in https://github.com/duckdb/duckdb/pull/23237
* Remove UnaryAggregateDestructor, and instead fold it into UnaryAggregate by @Mytherin in https://github.com/duckdb/duckdb/pull/23268
* Add comment policy for bots by @Mytherin in https://github.com/duckdb/duckdb/pull/23272
* Fix null sentinel for keys in dict vector (Arrow) by @evertlammerts in https://github.com/duckdb/duckdb/pull/22648
* Parquet: add expression stats pruning for arithmetic filters by @Damon07 in https://github.com/duckdb/duckdb/pull/23264
* Add `init_local_state_finalize` callback to aggregate functions which allows them to create a `FunctionLocalState` that is persisted across `Finalize` calls, and use this to speed up ordered aggregates by @Mytherin in https://github.com/duckdb/duckdb/pull/23270
* fix out-of-bounds read in strict time parsing by @jmestwa-coder in https://github.com/duckdb/duckdb/pull/23266
* Add support for `string_agg` to export its state by making separators part of the signature by @Mytherin in https://github.com/duckdb/duckdb/pull/23271
* Remove redundancies in join filter creation by @d-justen in https://github.com/duckdb/duckdb/pull/23250
* Add setting `force_update_to_del_and_insert ` which forces updates to always be converted to delete and inserts by @Mytherin in https://github.com/duckdb/duckdb/pull/23281
* [Variant] Implement `SetVectorType` for `ShreddedVectorBuffer` by @Tishj in https://github.com/duckdb/duckdb/pull/23280
* Commits on top of PR #20859 by @lnkuiper in https://github.com/duckdb/duckdb/pull/23282
* Dead node counting fixes by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/23289
* Add support for `quantile`, `median`, `mad` to aggregate state export by @Mytherin in https://github.com/duckdb/duckdb/pull/23285
* Optimize rollup / cube / grouping sets queries by folding them into CTEs to allow for cascading aggregation by @Mytherin in https://github.com/duckdb/duckdb/pull/23287
* Async Parquet Writes by @lnkuiper in https://github.com/duckdb/duckdb/pull/23283
* Step 5: Make Mark to Semi join conversion more stable by @kryonix in https://github.com/duckdb/duckdb/pull/23296
* Add setting: SET dialect_compatibility_mode='spark' by @yan-alex in https://github.com/duckdb/duckdb/pull/23251
* Remove stale PR workflow by @DinosL in https://github.com/duckdb/duckdb/pull/23301
* Fix flaky `AsyncFileWriter` test by @lnkuiper in https://github.com/duckdb/duckdb/pull/23300
* [Variant] Fix crash for variant_extract on non-object shredded column by @Tishj in https://github.com/duckdb/duckdb/pull/23303
* Add Parquet ASYNC I/O for local files by @pdet in https://github.com/duckdb/duckdb/pull/23290
* Fix flaky `AsyncFileWriter` test by @lnkuiper in https://github.com/duckdb/duckdb/pull/23309
* Simplify subquery planning for provably single-row subqueries by @lnkuiper in https://github.com/duckdb/duckdb/pull/23306
* Add `variant_comparator` which ensures variants are ordered / compared in the same manner as native DuckDB values by @Mytherin in https://github.com/duckdb/duckdb/pull/23307
* Add missing import / fix non-unity builds by @evertlammerts in https://github.com/duckdb/duckdb/pull/23308
* Pass `ParserOptions` in default macro generation by @nicholasjng in https://github.com/duckdb/duckdb/pull/23288
* [Dev] Refactor `MultiFileReader::GetVirtualColumnExpression` and `BaseFileReader::expression_map` by @Tishj in https://github.com/duckdb/duckdb/pull/22928
* Allow slicing of shredded vectors, and fix issue with shredded vectors being fed into `StructVector::GetEntries` by @Mytherin in https://github.com/duckdb/duckdb/pull/23312
* Auto generate transform `expression.gram` (Part 8) by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23310
* Add `VariantIterator` which allows traversal of variant values without unshredding by @Mytherin in https://github.com/duckdb/duckdb/pull/23317
* Remove specialized variant comparison code by @Mytherin in https://github.com/duckdb/duckdb/pull/23319
* Internal #9655: Test Vector DOUBLE[3] by @hawkfish in https://github.com/duckdb/duckdb/pull/23320
* Add export/import callbacks for aggregates with non-standard state, and support `approx_top_k` / `approx_quantile` by @Mytherin in https://github.com/duckdb/duckdb/pull/23304
* Avoid unnecessary call to ToUnifiedFormat in ColumnSegment filter by @Mytherin in https://github.com/duckdb/duckdb/pull/23324
* CMake: Set the extension base directory to the duckdb module dir by @nicholasjng in https://github.com/duckdb/duckdb/pull/23328
* Handle exceptions thrown while recovering from a failed commit by @Huey97 in https://github.com/duckdb/duckdb/pull/23298
* Use optional semantic values for generated transformer rules by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23332
* [Parquet] Fix corrupted file invalidating the database by @Tishj in https://github.com/duckdb/duckdb/pull/23331
* Report <eof> in check_peg_parser parse errors by @fallintoplace in https://github.com/duckdb/duckdb/pull/22975
* Step 6: Flip the switch and have delim join as CTEs by default by @kryonix in https://github.com/duckdb/duckdb/pull/23333
* Add invoke scalar function by @feichai0017 in https://github.com/duckdb/duckdb/pull/23185
* Allow empty STRUCT types by @Maxxen in https://github.com/duckdb/duckdb/pull/23273
* Fix uninitialized TransactionContext::invalidation_policy and auto_rollback members by @evertlammerts in https://github.com/duckdb/duckdb/pull/23321
* Propagate shredded stats through `variant_comparator` by @Mytherin in https://github.com/duckdb/duckdb/pull/23336
* AGENTS.md: Drop in-process by @szarnyasg in https://github.com/duckdb/duckdb/pull/23345
* Clean-up VariantIterator API and unify it with vector iterator infrastructure by @Mytherin in https://github.com/duckdb/duckdb/pull/23346
* Support AFTER INSERT FOR EACH ROW triggers by @EtgarDev in https://github.com/duckdb/duckdb/pull/23284
* Add `shredded_vector` option to `debug_verify_vector` by @Mytherin in https://github.com/duckdb/duckdb/pull/23343
* Fix state export finalize with non-zero offset, and update list of skipped tests by @Mytherin in https://github.com/duckdb/duckdb/pull/23349
* Propagate stats in `structured type -> variant` casts by @Mytherin in https://github.com/duckdb/duckdb/pull/23347
* Deprecate Implicit Table-Function Identifier String Conversion by @kryonix in https://github.com/duckdb/duckdb/pull/23350
* Support submodules in extensions patching process by @staticlibs in https://github.com/duckdb/duckdb/pull/23191
* Nicer variable syntax by @Dtenwolde in https://github.com/duckdb/duckdb/pull/21194
* Remove `TransformEnum` by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23355
* Quote special object keys in json_each/json_tree fullkey and path by @truffle-dev in https://github.com/duckdb/duckdb/pull/23206
* New `debug_local_file_system_delay_ms` setting and asynchronous file initialization/finalization by @lnkuiper in https://github.com/duckdb/duckdb/pull/23353
* Fix leak on pending query close by @evertlammerts in https://github.com/duckdb/duckdb/pull/23344
* Allow table functions to propagate the query return type by @Mytherin in https://github.com/duckdb/duckdb/pull/23358
* `CompressedMaterialization` and `JoinFilterPushdown` for `VARIANT` by @lnkuiper in https://github.com/duckdb/duckdb/pull/23356
* Use the new `VariantIterator` to unshred instead of first decomposing into `VariantValue` followed by re-constructing the variant by @Mytherin in https://github.com/duckdb/duckdb/pull/23359
* In variant_extract correctly traverse child stats during stats propagation by @Mytherin in https://github.com/duckdb/duckdb/pull/23361
* Make list aggregate append work on batches of rows instead of per rows and implement cluster update function by @Mytherin in https://github.com/duckdb/duckdb/pull/23380
* [SqllogicTester] Add `--stdin` option to read statements from stdin by @Tishj in https://github.com/duckdb/duckdb/pull/23381
* Add support for state export to ordered aggregates by @Mytherin in https://github.com/duckdb/duckdb/pull/23376
* Clean up examples folder by @d-justen in https://github.com/duckdb/duckdb/pull/23378
* Allow triggering internal join types by @hannes in https://github.com/duckdb/duckdb/pull/23339
* CLI: mode .trash should not force result materialization by @Teggy in https://github.com/duckdb/duckdb/pull/23377
* Fix sleep overflow by @dentiny in https://github.com/duckdb/duckdb/pull/23395
* Add Parquet variant of JSONBench by @Mytherin in https://github.com/duckdb/duckdb/pull/23397
* Fix metadata reader offset advancement by @wufengwind in https://github.com/duckdb/duckdb/pull/23392
* Add support for compressed materialization for geometry points by @Maxxen in https://github.com/duckdb/duckdb/pull/23393
* Enable parser tools (bison) for musl main extensions by @smvv in https://github.com/duckdb/duckdb/pull/23401
* Replace slow 'dd bs=1' calls and verify extensions concurrently by @smvv in https://github.com/duckdb/duckdb/pull/23402
* Add support for pushing collations into lists using `lambda_transform`, and add support for collations to `list_contains / list_position` by @Mytherin in https://github.com/duckdb/duckdb/pull/23400
* Merge `v1.5-variegata` into main by @Mytherin in https://github.com/duckdb/duckdb/pull/23403
* Rework parquet variant reading to use `ParquetVariantIterator` and remove `VariantValue` class by @Mytherin in https://github.com/duckdb/duckdb/pull/23399
* Add dictionary surviving hash join by @ahmetkarapinar in https://github.com/duckdb/duckdb/pull/23360
* Infer geometry type based on WKB string stats by @Maxxen in https://github.com/duckdb/duckdb/pull/23394
* Feature/ilike constant pattern fastpath by @krleonid in https://github.com/duckdb/duckdb/pull/23406
* `PhysicalCopyToFile` async fixes and improvements by @lnkuiper in https://github.com/duckdb/duckdb/pull/23418
* Fix connection_id regression in EndQueryInternal logging by @rustyconover in https://github.com/duckdb/duckdb/pull/21884
* Use github script to add member label and move PR to draft by @smvv in https://github.com/duckdb/duckdb/pull/23417
* Fix client ctx ref cycle by @evertlammerts in https://github.com/duckdb/duckdb/pull/23372
* Add managed async task queue by @guillesd in https://github.com/duckdb/duckdb/pull/23404
* check for interrupt state in ExecuteTaskInternal by @evertlammerts in https://github.com/duckdb/duckdb/pull/23379
* Fix stale projection maps in ProjectionPullup by @DinosL in https://github.com/duckdb/duckdb/pull/23424
* Skip caching when no version metadata available by @dentiny in https://github.com/duckdb/duckdb/pull/23427
* Clean async tasks after schedule by @dentiny in https://github.com/duckdb/duckdb/pull/23410
* fix: skip deduplication for volatile aggregates and window expressions by @Pratzz1202 in https://github.com/duckdb/duckdb/pull/23413
* Test and fix single-thread async draining by @lnkuiper in https://github.com/duckdb/duckdb/pull/23436
* Fix type inconsistency for thread count variables by @c-herrewijn in https://github.com/duckdb/duckdb/pull/23438
* fix out-of-bounds read in substring with negative offset by @jmestwa-coder in https://github.com/duckdb/duckdb/pull/23429
* Internal #9375: TIME_BUCKET For TIME by @hawkfish in https://github.com/duckdb/duckdb/pull/23411
* Add dictionary-aware cache operator by @ahmetkarapinar in https://github.com/duckdb/duckdb/pull/23447
* Support AFTER DELETE FOR EACH ROW triggers with OLD.col references by @krleonid in https://github.com/duckdb/duckdb/pull/23452
* Bump postgres_scanner, remove patches by @carlopi in https://github.com/duckdb/duckdb/pull/23451
* Sort unordered delete return IDs to stabilize test by @smvv in https://github.com/duckdb/duckdb/pull/23450
* Add support for partial shredded stats emission for parquet variants by @Mytherin in https://github.com/duckdb/duckdb/pull/23439
* Clear stale projection maps after CTE rewrite pass by @kryonix in https://github.com/duckdb/duckdb/pull/23456
* Add `QualifiedName` usage to Function/Type/Window expression, and add hash / equality by @Mytherin in https://github.com/duckdb/duckdb/pull/23455
* Preserve original chunk cardinality in TryProbeConstant by @smvv in https://github.com/duckdb/duckdb/pull/23431
* Emit shredded vectors from Parquet when reading variant columns by @Mytherin in https://github.com/duckdb/duckdb/pull/23454
* Make regex operators match PostgreSQL behaviour by @lnkuiper in https://github.com/duckdb/duckdb/pull/23432
* Implement cryptographic hash functions in `EncryptionUtil` by @lnkuiper in https://github.com/duckdb/duckdb/pull/23461
* Add `QualifiedName` usage to `DropInfo` / `AlterInfo` / `CopyInfo` by @Mytherin in https://github.com/duckdb/duckdb/pull/23460
* Add a fast path for reading all-NULL columns in Parquet by @Mytherin in https://github.com/duckdb/duckdb/pull/23464
* Refactor Multi-File Scan for ASYNC I/O by @pdet in https://github.com/duckdb/duckdb/pull/23419
* fix: raise error on invalid `regexp_replace` replacement strings by @Vallabh-1504 in https://github.com/duckdb/duckdb/pull/23422
* Add `QualifiedName` usage to CreateInfo by @Mytherin in https://github.com/duckdb/duckdb/pull/23467
* Make profiling printers pluggable through a `ProfilerExtension`, and use this in the CLI to add syntax highlighting to `EXPLAIN (ANALYZE)` output by @Mytherin in https://github.com/duckdb/duckdb/pull/23470
* Issue #23441: Distinct Self Join by @hawkfish in https://github.com/duckdb/duckdb/pull/23446
* Optimize single-key hash group partitioning performance by @lnkuiper in https://github.com/duckdb/duckdb/pull/23449
* Move `BaseTableRef` to `QualifiedName` by @Mytherin in https://github.com/duckdb/duckdb/pull/23471
* Add a JSON API and use that instead of calling `yyjson` directly by @Mytherin in https://github.com/duckdb/duckdb/pull/23466
* Copy table_filters to LHS scan in late materialization by @baolinhuang in https://github.com/duckdb/duckdb/pull/23453
* fix integer overflow when sizing the DELTA_BYTE_ARRAY length buffer by @jmestwa-coder in https://github.com/duckdb/duckdb/pull/23420
* More `QualifiedName`, and preserve qualified names as much as possible instead of going back to catalog/schema/name by @Mytherin in https://github.com/duckdb/duckdb/pull/23474
* Fix eviction node memleak when external file cache disabled by @dentiny in https://github.com/duckdb/duckdb/pull/23444
* Add I/O metrics test harness, and fix many places where the `QueryContext` was not passed in correctly by @Mytherin in https://github.com/duckdb/duckdb/pull/23477
* [ASYNC I/O] Refactor Multifile Scan for Read Ahead by @pdet in https://github.com/duckdb/duckdb/pull/23472
* Push down type casts to file readers by @myrrc in https://github.com/duckdb/duckdb/pull/22788
* Finalize hash groups early in `PartitionedCopy` by @lnkuiper in https://github.com/duckdb/duckdb/pull/23481
* Optimize flat contiguous string appends to `ColumnDataCollection` by @lnkuiper in https://github.com/duckdb/duckdb/pull/23485
* Push `QualifiedName` into `EntryLookupInfo` in Catalog look-ups, and use QualifiedName directly in more places by @Mytherin in https://github.com/duckdb/duckdb/pull/23478
* Fix partial join filter pushdown through projections by @ted-wq-x in https://github.com/duckdb/duckdb/pull/23484
* Transformer trampoline skeleton by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23414
* More `QualifiedName` clean-up, preserve `QualifiedName` as much as possible by @Mytherin in https://github.com/duckdb/duckdb/pull/23487
* Avoid using `INVALID_CATALOG` / `DEFAULT_SCHEMA` in identifiers in `QualifiedName` by @Mytherin in https://github.com/duckdb/duckdb/pull/23488
* Attached database invalidation scope by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/23468
* Rework `query_tree` profiler renderer - and add syntax highlighting to it in the CLI by @Mytherin in https://github.com/duckdb/duckdb/pull/23475
* Make `QualifiedName` immutable and instead override the entire qualified name when modified by @Mytherin in https://github.com/duckdb/duckdb/pull/23490
* [WIP] Add support for creating nested schemas by @Mytherin in https://github.com/duckdb/duckdb/pull/23492
* Generate WAL serialization code, instead of manually writing it by @Mytherin in https://github.com/duckdb/duckdb/pull/23495
* Fix time duration calculation by @dentiny in https://github.com/duckdb/duckdb/pull/23293
* [WIP] Add support for dropping nested schemas by @Mytherin in https://github.com/duckdb/duckdb/pull/23497
* Query Profiler: Rework `FORMAT HTML` to an interactive display, and add `.web` and `FORMAT WEB` to automatically open in a web browser by @Mytherin in https://github.com/duckdb/duckdb/pull/23494
* Make LogicalGet SupportSerialization check more robust by @kryonix in https://github.com/duckdb/duckdb/pull/23476
* Fix JSON COPY date/time formatting for nested values by @OlexG in https://github.com/duckdb/duckdb/pull/23329
* Internal #9813: dtime_t Type Safety by @hawkfish in https://github.com/duckdb/duckdb/pull/23493
* Improve cache memory estimation on filepath cache object by @dentiny in https://github.com/duckdb/duckdb/pull/23482
* Allow non-"list" LIST child name in remap_struct by @regadas in https://github.com/duckdb/duckdb/pull/23437
* Fix DISTINCT window aggregate ordering by @mohsinsurani in https://github.com/duckdb/duckdb/pull/23491
* Make sure chunks are tightly packed when bypassing the sort by @lnkuiper in https://github.com/duckdb/duckdb/pull/23502
* Fix test runner encoding problem and format julia code on main by @smvv in https://github.com/duckdb/duckdb/pull/23505
* Httplib backport security issues by @ProjectMutilation in https://github.com/duckdb/duckdb/pull/23440
* Add `LogicalType::TUPLE` by @Maxxen in https://github.com/duckdb/duckdb/pull/23465
* Collect source-based code coverage for fast tests by @smvv in https://github.com/duckdb/duckdb/pull/23486
* Add error handling around `export` option by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23508
* autocheckpoint error propagation by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/23510
* bound multi-byte reads in UTF8ToCodepoint by @jmestwa-coder in https://github.com/duckdb/duckdb/pull/23459
* Upload codecov as github artifacts by @smvv in https://github.com/duckdb/duckdb/pull/23509
* Add eager aggregation to PartialAggregatePushdown by @ywelsch in https://github.com/duckdb/duckdb/pull/23506
* Bump aws extension, remove deprecated function by @yan-alex in https://github.com/duckdb/duckdb/pull/23503
* Fuzzer pivot issue with `ConstructConstantFromExpression` by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23511
* Allow more expressions in PositionExpression by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23523
* make unittest cli/config parsing lenient with lists by @benfleis in https://github.com/duckdb/duckdb/pull/23525
* Fix FORCE INSTALL being ignored by new PEG parser by @mlafeldt in https://github.com/duckdb/duckdb/pull/23524
* Add ICU date_diff support for TIMESTAMPTZ_NS by @jingdaws in https://github.com/duckdb/duckdb/pull/23302
* Don't push down CAST if there's a TRY_CAST by @myrrc in https://github.com/duckdb/duckdb/pull/23535
* Address test warning by @dentiny in https://github.com/duckdb/duckdb/pull/23546
* Add helper iterators around SQLStatements (either from the parser or post pre-processing) by @carlopi in https://github.com/duckdb/duckdb/pull/23291
* Rename columns to original names before passing to reader if they were aliased by @myrrc in https://github.com/duckdb/duckdb/pull/23548
* Add windows_undefs to a multi-file reader header by @staticlibs in https://github.com/duckdb/duckdb/pull/23541
* Add `FETCH FIRST/NEXT` syntax by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23533
* Rewrite `LEFT` to `ANTI` if there is a `IS NULL` filter on the null-extended side by @lnkuiper in https://github.com/duckdb/duckdb/pull/23550
* Dont special-case geometry stats pruning, pass child stats to filter callback by @Maxxen in https://github.com/duckdb/duckdb/pull/23540
* Issue #18039: Nested Comparison Semantics by @hawkfish in https://github.com/duckdb/duckdb/pull/23539
* Fold empty list contains filters to EMPTY_RESULT by @dentiny in https://github.com/duckdb/duckdb/pull/23543
* Polish, no reference<ClientContext> but ClientContext& by @carlopi in https://github.com/duckdb/duckdb/pull/23554
* Bump aws to cloudformation_create_stack by @carlopi in https://github.com/duckdb/duckdb/pull/23558
* Don't allow empty identifiers by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23553
* Fix typo in UNNEST error message (#23532) "at lease" โ "at least" by @tempewda in https://github.com/duckdb/duckdb/pull/23538
* Codename 'Cyanoptera' by @carlopi in https://github.com/duckdb/duckdb/pull/23056
* Add ClientContext::BindStatement by @evertlammerts in https://github.com/duckdb/duckdb/pull/23526
* [MultiFileReader] Add virtual `GetMetadata` function by @Tishj in https://github.com/duckdb/duckdb/pull/23571
* Implement `CONNECT '<uri>' [(OPTS...)]` as ephemeral attach by @carlopi in https://github.com/duckdb/duckdb/pull/23555
* Optimizer: use UTF-8 successor for LIKE prefix pushdown by @wufengwind in https://github.com/duckdb/duckdb/pull/23559
* Improve connect integration by @carlopi in https://github.com/duckdb/duckdb/pull/23576
* Propagate client context for stats fetch by @dentiny in https://github.com/duckdb/duckdb/pull/23582
* Fix ART iterator crash on empty table close range scan (#23064) by @preksha-kamalesh in https://github.com/duckdb/duckdb/pull/23573
* Make `chains_longer_than_one` in `JoinHashTable` an `atomic` by @lnkuiper in https://github.com/duckdb/duckdb/pull/23597
* Add regression test for foreign key violation message by @kalyanamdewri in https://github.com/duckdb/duckdb/pull/23584
* Configurable approximate join order threshold by @jonaskr8 in https://github.com/duckdb/duckdb/pull/23530
* Add parquet as ducklake dep by @smvv in https://github.com/duckdb/duckdb/pull/23598
* Disable function coverage in report to remove 5k HTML pages by @smvv in https://github.com/duckdb/duckdb/pull/23600
* bump sqlsmith by @c-herrewijn in https://github.com/duckdb/duckdb/pull/23632
* Fix stats collection for dictionary encoding by @dentiny in https://github.com/duckdb/duckdb/pull/23634
* unittest: emit event w/ stats for harnesses (pytest) by @benfleis in https://github.com/duckdb/duckdb/pull/23572
* Fix row group pruning based on rowid filters by @dentiny in https://github.com/duckdb/duckdb/pull/23628
* Bump Postgres, MySQL and SQLite by @staticlibs in https://github.com/duckdb/duckdb/pull/23621
* Address test warning by @dentiny in https://github.com/duckdb/duckdb/pull/23620
* Detect regressions in PRs using larger TPC-H and TPC-DS benchmarks by @smvv in https://github.com/duckdb/duckdb/pull/23638
* Allow `UNNEST` in `GROUP BY` by @lnkuiper in https://github.com/duckdb/duckdb/pull/23644
* Fix TRY_CAST to BIGNUM for invalid strings by @Schwarf in https://github.com/duckdb/duckdb/pull/22450
* Fix regressions caused by Expression Table Filter Rework by @lnkuiper in https://github.com/duckdb/duckdb/pull/23642
* Heap-based transformer (Trampoline) script by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23578
* Fix check in clustered aggregation by @lnkuiper in https://github.com/duckdb/duckdb/pull/23647
* Use all hardware threads during benchmarks by @smvv in https://github.com/duckdb/duckdb/pull/23643
* Create alpha releases on main CI run by @smvv in https://github.com/duckdb/duckdb/pull/23649
* Revive #23561 by @lnkuiper in https://github.com/duckdb/duckdb/pull/23657
* Issue #23640: Window Value EXCLUDE by @hawkfish in https://github.com/duckdb/duckdb/pull/23650
* Packrat parsing by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23646
* Fix missing traversal for (correlated) subqueries in non-inner join conditions by @kryonix in https://github.com/duckdb/duckdb/pull/23599
* Introduce debug filesystem by @dentiny in https://github.com/duckdb/duckdb/pull/23473
* fix negative count over reversed window frames by @DinosL in https://github.com/duckdb/duckdb/pull/23637
* Fix string length stats propagation by @dentiny in https://github.com/duckdb/duckdb/pull/23615
* Pushdown prefix query by @dentiny in https://github.com/duckdb/duckdb/pull/23604
* Fix named window inheriting from an earlier window in the same WINDOW clause by @vismaytiwari in https://github.com/duckdb/duckdb/pull/23569
* Convert left function to prefix comparison by @dentiny in https://github.com/duckdb/duckdb/pull/23624
* Propagate stats for least/greatest by @dentiny in https://github.com/duckdb/duckdb/pull/23618
* Monotone stats pruning by @carlopi in https://github.com/duckdb/duckdb/pull/23609
* Implement unary minus rule by @dentiny in https://github.com/duckdb/duckdb/pull/23608
* Monotone preimage by @carlopi in https://github.com/duckdb/duckdb/pull/23610
* Prefetch DuckDB header on attach to cut redundant reads by @carlopi in https://github.com/duckdb/duckdb/pull/23613
* Improve TPC-H dbgen progress reporting, ETA stability, and generation performance by @kryonix in https://github.com/duckdb/duckdb/pull/23665
* unittest: support harnessed (unit)test: add controls for TEMP_DIR (and related) by @benfleis in https://github.com/duckdb/duckdb/pull/23574
* Fix ROW_NUMBER() OVER () over read_duckdb returning file-local row numbers by @vismaytiwari in https://github.com/duckdb/duckdb/pull/23667
* fix hanging test runner by @benfleis in https://github.com/duckdb/duckdb/pull/23673
* Add `make parser-grammar` and check for diff in CI by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23666
* Fix TRY_CAST throw exception for interval type by @dentiny in https://github.com/duckdb/duckdb/pull/23682
* Fix TRY_CAST throw exception for floating point by @dentiny in https://github.com/duckdb/duckdb/pull/23684
* Check staged extensions in CI by @smvv in https://github.com/duckdb/duckdb/pull/23671
* Task executor use notification to block wait completion by @dentiny in https://github.com/duckdb/duckdb/pull/23690
* Skip compression detection when specified by @dentiny in https://github.com/duckdb/duckdb/pull/23612
* Add `.manual` to shell by @Maxxen in https://github.com/duckdb/duckdb/pull/23636
* Fix duplicate MAP entries by @dentiny in https://github.com/duckdb/duckdb/pull/23695
* Storage: reject invalid DICT_FSST symbol tables by @wufengwind in https://github.com/duckdb/duckdb/pull/23627
* Cleanup include graph by @carlopi in https://github.com/duckdb/duckdb/pull/23579
* Improve TPC-DS dsdgen progress reporting and generation performance by @kryonix in https://github.com/duckdb/duckdb/pull/23696
* Round decimal strings consistently when casting VARCHAR to BIGNUM by @EshwarCVS in https://github.com/duckdb/duckdb/pull/23689
* APPLY_PATCHES back in mysql_scanner, postgres_scanner, sqlite_scanner and sqlsmith by @carlopi in https://github.com/duckdb/duckdb/pull/23717
* make extension-patch-check by @carlopi in https://github.com/duckdb/duckdb/pull/23718
* [Async I/O] Read Ahead Interface + Parquet by @pdet in https://github.com/duckdb/duckdb/pull/23662
* Collect exact rowgroup stats when possible by @dentiny in https://github.com/duckdb/duckdb/pull/23557
* Move type pushdown after filter pushdown, don't push it filter is present by @myrrc in https://github.com/duckdb/duckdb/pull/23734
* Fix BETWEEN by @dentiny in https://github.com/duckdb/duckdb/pull/23699
* Make DataChunk::size() and optional_idx accessors inlineable by @carlopi in https://github.com/duckdb/duckdb/pull/23738
* Internal #9890: ENUM::VARCHAR Compare Constant by @hawkfish in https://github.com/duckdb/duckdb/pull/23751
* Implement stats propagation callback for `prefix` by @dentiny in https://github.com/duckdb/duckdb/pull/23749
* Push down scalar functions to file readers by @myrrc in https://github.com/duckdb/duckdb/pull/23528
* delta/uc ext: update ref, remove patches by @benfleis in https://github.com/duckdb/duckdb/pull/23711
* Bump Iceberg by @Tmonster in https://github.com/duckdb/duckdb/pull/23754
* Partial revert of #23649, this can still be triggered explicitly by @carlopi in https://github.com/duckdb/duckdb/pull/23755
* Preserve verbatim ATTACH path via AttachedDatabase::GetOriginalPath() by @carlopi in https://github.com/duckdb/duckdb/pull/23759
* Split up `LogicalSimple` into separate classes by @Mytherin in https://github.com/duckdb/duckdb/pull/23756
* Convert TIMETZ to UTC on parquet write by @dentiny in https://github.com/duckdb/duckdb/pull/23767
* Propagate architecture flags to C dependencies when compiling with NATIVE_ARCH=1 by @krenzland in https://github.com/duckdb/duckdb/pull/23784
* Avoid CI failing randomly depending on CI machine config by @carlopi in https://github.com/duckdb/duckdb/pull/23783
* Remove patches, bump postgres to include CONNECT fixes (redshift + DDL fixing return) by @carlopi in https://github.com/duckdb/duckdb/pull/23777
* Fixup some bugs in recent dsdgen parallelization work by @carlopi in https://github.com/duckdb/duckdb/pull/23761
* Fix INTERNAL error casting pre-epoch TIMESTAMP_NS to TIME_NS by @apoorva-01 in https://github.com/duckdb/duckdb/pull/23781
* Fix CLI JSON rendering for nested VARIANT by @souvikDevloper in https://github.com/duckdb/duckdb/pull/23765
* Fix external file cache crash on insertion by @dentiny in https://github.com/duckdb/duckdb/pull/23779
* Fix/lambda interrupt check by @krleonid in https://github.com/duckdb/duckdb/pull/23706
* Propagate stats for floating points for `abs` function by @dentiny in https://github.com/duckdb/duckdb/pull/23747
* fix: VARCHAR to DECIMAL scientific-notation rounding truncation by @Functionhx in https://github.com/duckdb/duckdb/pull/23773
* Bump azure, delta, unity_catalog extensions to main/HEAD by @benfleis in https://github.com/duckdb/duckdb/pull/23799
* Accumulate probe match count thread-locally by @gropaul in https://github.com/duckdb/duckdb/pull/23771
* Validity fixes for reading arrow into a dictionary vector by @evertlammerts in https://github.com/duckdb/duckdb/pull/23797
* Fix IsComplete for Decimal by @evertlammerts in https://github.com/duckdb/duckdb/pull/23802
* Storage: validate dictionary string indexes by @wufengwind in https://github.com/duckdb/duckdb/pull/23630
* Bugfix: ALTER TYPE rewrite could materialize stale values when another transaction pinned an older snapshot by @Liuzw1998 in https://github.com/duckdb/duckdb/pull/23791
* Add binom function by @hacoobamatata in https://github.com/duckdb/duckdb/pull/23764
* SQLLogic Tester: Add support for `init_sqllogic` / `cleanup_sqllogic` which allows for running sqllogictest statements before and after a test in test configs by @Mytherin in https://github.com/duckdb/duckdb/pull/23807
* Add external resource type registry + SQL level (and C++ level) `create_external_resource` by @carlopi in https://github.com/duckdb/duckdb/pull/23731
* Build fix by @pdet in https://github.com/duckdb/duckdb/pull/23814
* Fix DICT_FSST filter by @dentiny in https://github.com/duckdb/duckdb/pull/23815
* Handle infinite timestamp for parquet timestamp by @dentiny in https://github.com/duckdb/duckdb/pull/23822
* Fix timestamp_tz_ns_t -> timestamp_ns_t conversion deadloop by @dentiny in https://github.com/duckdb/duckdb/pull/23817
* Add missing include by @evertlammerts in https://github.com/duckdb/duckdb/pull/23812
* Fix: reset empty_range in the TIMESTAMP range() table function by @wmTJc9IK0Q in https://github.com/duckdb/duckdb/pull/23811
* Fix quoting rules in QualifiedName::ParseComponents by @JelteF in https://github.com/duckdb/duckdb/pull/23798
* Bump aws, adding cloudformation listing and resource type by @carlopi in https://github.com/duckdb/duckdb/pull/23830
* Expression filter handle NOT IN NULL by @dentiny in https://github.com/duckdb/duckdb/pull/23825
* Parquet: validate bloom filter payload length by @wufengwind in https://github.com/duckdb/duckdb/pull/23826
* Fix canonical bindings for nested common subplans by @kryonix in https://github.com/duckdb/duckdb/pull/23839
* More missing includes breaking non-unity builds by @evertlammerts in https://github.com/duckdb/duckdb/pull/23837
* Enable DICT_FSST by default by @dentiny in https://github.com/duckdb/duckdb/pull/23733
* Implement TIMESTAMP_NS -> TIMESTAMPTZ_NS by @dentiny in https://github.com/duckdb/duckdb/pull/23832
* Fix epoch_ns for infinity timestamp by @dentiny in https://github.com/duckdb/duckdb/pull/23834
* Validate catalog entry read by @dentiny in https://github.com/duckdb/duckdb/pull/23836
* Fix Parquet bloom filter pruning for blobs by @kryonix in https://github.com/duckdb/duckdb/pull/23829
* Add guard to prevent exception in `test_vector_types` by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/23831
* Support `ANALYSE` where we support `ANALYZE` by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23843
* Row-group pruning on boolean columns via NumericStats zonemap by @dentiny in https://github.com/duckdb/duckdb/pull/23726
* Improve pruning via string stats by @dentiny in https://github.com/duckdb/duckdb/pull/23728
* Add json_set(), json_insert(), json_replace() and json_remove() scalar functions by @mustafahasankhan in https://github.com/duckdb/duckdb/pull/23786
* Fix for new extension build when used from within extensions by @Mytherin in https://github.com/duckdb/duckdb/pull/23862
* Inline Value::IsNan by @dentiny in https://github.com/duckdb/duckdb/pull/23852
* Preserve NULL semantics in CTE deliminator by @kryonix in https://github.com/duckdb/duckdb/pull/23753
* Defer setting cardinality set for appender by @dentiny in https://github.com/duckdb/duckdb/pull/23850
* Storage: validate dictionary bitpacking width by @wufengwind in https://github.com/duckdb/duckdb/pull/23827
* Add regression test to ensure default DICT_FSST by @dentiny in https://github.com/duckdb/duckdb/pull/23847
* Fix `median` for INTERVAL type by @dentiny in https://github.com/duckdb/duckdb/pull/23701
* Implement TRY_CAST for time-related types by @dentiny in https://github.com/duckdb/duckdb/pull/23708
* Cache Vector::size by @dentiny in https://github.com/duckdb/duckdb/pull/23851
* Optimize stats writer for DICT_FSST by @dentiny in https://github.com/duckdb/duckdb/pull/23846
* Prune row group for `contains` via string stats by @dentiny in https://github.com/duckdb/duckdb/pull/23876
* Prune row group for suffix function with string stats by @dentiny in https://github.com/duckdb/duckdb/pull/23878
* Fix file handle lifecycle for external file cache with async IO by @dentiny in https://github.com/duckdb/duckdb/pull/23881
* Rewrite `substring`, `substr`, `array_slice`, `list_slice`, `s[:]` for `VARCHAR` to prefix by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/23869
* Use output column name in EXPLAIN for ORDER BY and TOP N by @Hespian in https://github.com/duckdb/duckdb/pull/23801
* `SHOW ALL` make `TABLES` optional by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23845
* [ASYNC IO] CSV Reader Refactor by @pdet in https://github.com/duckdb/duckdb/pull/23868
* Add missing row group prune via pruned string min by @dentiny in https://github.com/duckdb/duckdb/pull/23871
* Prune row group for `strlen` function via string length stats by @dentiny in https://github.com/duckdb/duckdb/pull/23873
* Handle row group pruning with NULL by @dentiny in https://github.com/duckdb/duckdb/pull/23902
* Add missing AOC benchmark queries and fix LEFT JOIN issue by @kryonix in https://github.com/duckdb/duckdb/pull/23895
* Expose destructors, so they are callable module boundaries by @carlopi in https://github.com/duckdb/duckdb/pull/23954
* Rewrite `instr` function to prefix if possible by @dentiny in https://github.com/duckdb/duckdb/pull/23931
* Fix staged install check and alpha release versioning by @smvv in https://github.com/duckdb/duckdb/pull/23897
* Support CTAs for GetTableNames API by @mengdilin in https://github.com/duckdb/duckdb/pull/23760
* Internal #9925: TimeZone 2026c Update by @hawkfish in https://github.com/duckdb/duckdb/pull/23928
* storage: validate metadata block indexes by @wufengwind in https://github.com/duckdb/duckdb/pull/23950
* Add NOT conjunction simplification rule by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/23886
* Fix recursive file read in shell by @dentiny in https://github.com/duckdb/duckdb/pull/23942
* Add more missing includes by @evertlammerts in https://github.com/duckdb/duckdb/pull/23893
* In TableDescription, resolve catalog, schema, and table names through the catalog by @evertlammerts in https://github.com/duckdb/duckdb/pull/23866
* Optimizer: restrict equal-or-null rewrite to predicates by @wufengwind in https://github.com/duckdb/duckdb/pull/23947
* Implement stats callback for sign by @dentiny in https://github.com/duckdb/duckdb/pull/23904
* Implement stats for INTERVAL type by @dentiny in https://github.com/duckdb/duckdb/pull/23923
* [Secret] Add `TRANSACTION` persist-type for SECRET, added to the `MetaTransaction` by @Tishj in https://github.com/duckdb/duckdb/pull/23882
* Add LoongArch64 support with 16KB page size by @wojiushixiaobai in https://github.com/duckdb/duckdb/pull/19962
* Prune date type for parquet by @dentiny in https://github.com/duckdb/duckdb/pull/23915
* Simplify boolean wrappers around comparisons by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/23948
* [WIP] Add support for creating and dropping tables in nested schemas by @Mytherin in https://github.com/duckdb/duckdb/pull/23809
* Add streaming fanout execution for materialized CTEs by @kryonix in https://github.com/duckdb/duckdb/pull/23750
* Fix SEMI/ANTI join mishandling duplicate equality keys with residual predicate by @EslamAhmed171 in https://github.com/duckdb/duckdb/pull/23952
* Add monotonicity properties to scalar math functions by @hacoobamatata in https://github.com/duckdb/duckdb/pull/23926
* Capi add allocation handlers by @ProjectMutilation in https://github.com/duckdb/duckdb/pull/23945
* Add verify compression to test FSST without regressing relassert by @smvv in https://github.com/duckdb/duckdb/pull/23967
* Fix remote pushdown arguments post function binding rework by @Mytherin in https://github.com/duckdb/duckdb/pull/23973
* Bump Postgres extension on main by @staticlibs in https://github.com/duckdb/duckdb/pull/23968
* Skip win32 tests (if requested) in CI and consider alpha version as a (pre)release by @smvv in https://github.com/duckdb/duckdb/pull/23960
* Fix extra semicolon on export by @dentiny in https://github.com/duckdb/duckdb/pull/23977
* Add `lttb` aggregate function by @Maxxen in https://github.com/duckdb/duckdb/pull/23660
* [MultiFileReader][Parquet] Add `variant_extract` pushdown by @Tishj in https://github.com/duckdb/duckdb/pull/22478
* Reduce test time (2+ sec) for some fast tests by @smvv in https://github.com/duckdb/duckdb/pull/23974
* Fix TIME_NS read/write with parquet by @dentiny in https://github.com/duckdb/duckdb/pull/23958
* Improve pretty printing for logging to CLI by @carlopi in https://github.com/duckdb/duckdb/pull/23912
* Prune row group for empty string concatenation by @dentiny in https://github.com/duckdb/duckdb/pull/23992
* EXTERNAL RESOURCES: external resources via table functions by @carlopi in https://github.com/duckdb/duckdb/pull/23910
* Apply bloom filter for parquet UUID type by @dentiny in https://github.com/duckdb/duckdb/pull/24018
* Support OLD transition table for AFTER UPDATE triggers by @krleonid in https://github.com/duckdb/duckdb/pull/23840
* [ASYNC I/O] Add on-demand ASYNC I/O for the CSV Reader by @pdet in https://github.com/duckdb/duckdb/pull/23961
* Prune parquet row group for equal between by @dentiny in https://github.com/duckdb/duckdb/pull/24011
* StorageLock: wait on a condition variable instead of busy-spinning by @ywelsch in https://github.com/duckdb/duckdb/pull/24009
* Propagate statistics for power expressions by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/23922
* Fix missing trigger assignments on schema evolution by @dentiny in https://github.com/duckdb/duckdb/pull/23855
* [ASYNC I/O] CSV Read Ahead by @pdet in https://github.com/duckdb/duckdb/pull/24022
* Parse constant JSON paths once at bind time by @mustafahasankhan in https://github.com/duckdb/duckdb/pull/24002
* Initial implementation of `variant_type` processing function by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/23286
* Call release dispatch in summary for (pre)releases by @smvv in https://github.com/duckdb/duckdb/pull/24023
* Optimize GLOB using string stats for row group pruning by @sdk011 in https://github.com/duckdb/duckdb/pull/23920
* Add explicit user agent to avoid r2's 403 forbidden by @smvv in https://github.com/duckdb/duckdb/pull/24032
* Add accessor to get constant function arguments by @Maxxen in https://github.com/duckdb/duckdb/pull/24025
* Use optimized checkout action and simplify CI workflows by @smvv in https://github.com/duckdb/duckdb/pull/24035
* Internal #9937: AsOf Cardinality Estimates by @hawkfish in https://github.com/duckdb/duckdb/pull/24029
* Support bloom filter for NOT DISTINCT FROM for parquet by @dentiny in https://github.com/duckdb/duckdb/pull/24005
* Fix date parsing by @dentiny in https://github.com/duckdb/duckdb/pull/23939
* Fix bloom filter pruning for DECIMAL types by @sdk011 in https://github.com/duckdb/duckdb/pull/23919
* Add assert_true macro by @carlopi in https://github.com/duckdb/duckdb/pull/24019
* Shrink the in-memory footprint of deleted rows by @ywelsch in https://github.com/duckdb/duckdb/pull/23964
* Use fixed length for commit sha abbreviation by @smvv in https://github.com/duckdb/duckdb/pull/24057
* Issue #23927: Nested Inequality NULLS by @hawkfish in https://github.com/duckdb/duckdb/pull/24037
* Pass bind data to aggregate state size/init callbacks and batch state init by @evertlammerts in https://github.com/duckdb/duckdb/pull/24028
* Storage: validate deprecated FSST metadata by @wufengwind in https://github.com/duckdb/duckdb/pull/24016
* Throw descriptive error for chained operators by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23863
* Packrat parsing stack overflow fix by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23705
* Bump httpfs on `main` and remove patches by @lnkuiper in https://github.com/duckdb/duckdb/pull/24059
* Fix monotonicity annotations for floating-point numeric functions by @hacoobamatata in https://github.com/duckdb/duckdb/pull/24046
* Add SetVal by @maiadegraaf in https://github.com/duckdb/duckdb/pull/24061
* Convert `BoundCastExpression` into a `BoundFunctionExpression` by @Mytherin in https://github.com/duckdb/duckdb/pull/24008
* [WIP] Add support for inserting data into tables in nested schemas by @Mytherin in https://github.com/duckdb/duckdb/pull/24076
* Rewrite DISTINCT aggregates as CTEs by @kryonix in https://github.com/duckdb/duckdb/pull/24055
* Fix warnings and support alpha release version in extensions by @smvv in https://github.com/duckdb/duckdb/pull/24083
* Default vacuuming in the presence of indexes by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/23653
* Bump DuckLake by @pdet in https://github.com/duckdb/duckdb/pull/24082
* Set OVERRIDE_GIT_DESCRIBE in extensions.yml by @smvv in https://github.com/duckdb/duckdb/pull/24106
* Optimize row group pruning for substr by @dentiny in https://github.com/duckdb/duckdb/pull/23990
* unbound index buffering refactor by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/24038
* Parallelize `UNION ALL` branches when `preserve_insertion_order` is false by @DinosL in https://github.com/duckdb/duckdb/pull/24117
* Prune row group via castable types by @dentiny in https://github.com/duckdb/duckdb/pull/24074
* [main] Remove Julia client in favor of duckdb/DuckDB.jl by @evertlammerts in https://github.com/duckdb/duckdb/pull/24126
* Replace old lambda syntax in micro-extended benchmark by @nantiamak in https://github.com/duckdb/duckdb/pull/24129
* [main] Replace the C API spec and code generation by @evertlammerts in https://github.com/duckdb/duckdb/pull/24135
* Make benchmark runner output/regressions easier to read by @smvv in https://github.com/duckdb/duckdb/pull/24134
* Arena allocate the memory for each aggregate state in TDigest by @maiadegraaf in https://github.com/duckdb/duckdb/pull/24125
* Fix INSTEAD OF triggers being silently accepted on base tables by @krleonid in https://github.com/duckdb/duckdb/pull/24163
* Fix Mark Join Null Handling by @d-justen in https://github.com/duckdb/duckdb/pull/22683
* Windows CLI: opt into the Segment Heap via application manifest (~2.2x faster multi-threaded materialization) by @BragaD in https://github.com/duckdb/duckdb/pull/24036
* Fix validity column update check in zonemap by @dentiny in https://github.com/duckdb/duckdb/pull/24181
* Internal #5184: Nested Equality by @hawkfish in https://github.com/duckdb/duckdb/pull/24162
* Update thread pin by @dentiny in https://github.com/duckdb/duckdb/pull/24154
* Introduce data corruption exception type by @dentiny in https://github.com/duckdb/duckdb/pull/24152
* Actually block when no tasks available by @Maxxen in https://github.com/duckdb/duckdb/pull/24132
* CSV: report empty multi-file schemas as input errors by @wufengwind in https://github.com/duckdb/duckdb/pull/24140
* Prune Parquet row groups for IN filters by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/24101
* Fix small CI issues on main by @smvv in https://github.com/duckdb/duckdb/pull/24190
* Fix vector operations deprecation warning by @smvv in https://github.com/duckdb/duckdb/pull/24195
* Fix quoting around extension semantic version pattern by @jokasimr in https://github.com/duckdb/duckdb/pull/24176
* [Parquet] Add BYTE_STREAM_SPLIT support for INT32 and INT64 by @hertelukas in https://github.com/duckdb/duckdb/pull/24175
* Alternate benchmark runs for old and new by @smvv in https://github.com/duckdb/duckdb/pull/24184
* Automatically promote `DECIMAL` past the `BIGINT` boundary by @lnkuiper in https://github.com/duckdb/duckdb/pull/24185
* Internal #9925: Tiny Buffer Suballocation by @hawkfish in https://github.com/duckdb/duckdb/pull/24124
* Throw on HUGEINT SUM/AVG overflow in aggregate Combine by @Vamsi-klu in https://github.com/duckdb/duckdb/pull/24168
* Skip Parquet bloom pruning for NaN by @souvikDevloper in https://github.com/duckdb/duckdb/pull/23944
* Connect + detach race and add missing InvokeCloseIfLastReference's by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/24202
* Add support for `enable_optimistic_write` setting which disables optimistic writing by @Mytherin in https://github.com/duckdb/duckdb/pull/24194
* Perf regression: ValidateDictionaryIndex in hot loop and shared_ptr access by @gropaul in https://github.com/duckdb/duckdb/pull/24014
* Track full source span of parsed nodes, not just offset by @Maxxen in https://github.com/duckdb/duckdb/pull/24159
* Parquet: validate flat column value counts by @wufengwind in https://github.com/duckdb/duckdb/pull/24104
* push down scalar functions for queries with LIMIT by @myrrc in https://github.com/duckdb/duckdb/pull/24122
* Fix NightlyTests by @smvv in https://github.com/duckdb/duckdb/pull/24198
* Make `COPY` usable in CTEs by @lnkuiper in https://github.com/duckdb/duckdb/pull/24217
* Add `NEAREST BY` join support by @Maxxen in https://github.com/duckdb/duckdb/pull/24137
* Define UPDATE ... FROM and MERGE behavior for multi-matched target rows by @krleonid in https://github.com/duckdb/duckdb/pull/24058
* Override git hash in release cli by @smvv in https://github.com/duckdb/duckdb/pull/24216
* Correlated non-`INNER` joins by @lnkuiper in https://github.com/duckdb/duckdb/pull/23658
* [WIP] Add support for querying from nested schemas by @Mytherin in https://github.com/duckdb/duckdb/pull/24222
* Fix bench runs by @smvv in https://github.com/duckdb/duckdb/pull/24224
* EXTERNAL RESOURCES: Improved interface for listing arbitrary ones by @carlopi in https://github.com/duckdb/duckdb/pull/24024
* [MultiFileReader] Add column indexes to `DynamicFilterPushdown` parameters by @Tishj in https://github.com/duckdb/duckdb/pull/24226
* Bump avro, aws, iceberg by @Tmonster in https://github.com/duckdb/duckdb/pull/24026
* Make sure dictionary vectors don't contain invalid values by @hannes in https://github.com/duckdb/duckdb/pull/24223
* Feature: Implement Extremum Rewrite for ANY Inequalities by @sdk011 in https://github.com/duckdb/duckdb/pull/24090
* EXTERNAL RESOURCES: SQL surface for CREATE / DESTROY / SHOW / REGISTER by @carlopi in https://github.com/duckdb/duckdb/pull/24056
* Fix errors in microbenchmarks by @nantiamak in https://github.com/duckdb/duckdb/pull/24227
* Fix rowid row group prune by @dentiny in https://github.com/duckdb/duckdb/pull/24100
* Prune row group for parquet LIST type with bloom filter by @dentiny in https://github.com/duckdb/duckdb/pull/24150
* Fix table filter canonicalization in common subplan optimizer by @jingdaws in https://github.com/duckdb/duckdb/pull/24258
* Add `Value::GetValue<Identifier>()` by @JelteF in https://github.com/duckdb/duckdb/pull/24238
* Bump bwc-test-utils to latest main by @smvv in https://github.com/duckdb/duckdb/pull/24229
* Fix #23979 by @lnkuiper in https://github.com/duckdb/duckdb/pull/24235
* Remove unintended files by @dentiny in https://github.com/duckdb/duckdb/pull/24262
* CSV: remove unreachable type check by @wufengwind in https://github.com/duckdb/duckdb/pull/24219
* Add a `StartsWith` helper to `Identifier` by @JelteF in https://github.com/duckdb/duckdb/pull/24267
* [MultiFileReader] Add optional `extra_columns` to `MultiFileReaderData` by @Tishj in https://github.com/duckdb/duckdb/pull/24234
* Leverage bloom filter to prune parquet struct by @dentiny in https://github.com/duckdb/duckdb/pull/24266
* Re-enable clangd-tidy check in CI by @smvv in https://github.com/duckdb/duckdb/pull/24242
* Rework `PreparedStatement` in the C++ API to no longer hold state, and to instead unify with `PREPARE, EXECUTE, DEALLOCATE` workflows by @Mytherin in https://github.com/duckdb/duckdb/pull/24273
* Allow passing an Identifier to SQLQuotedIdentifier directly by @JelteF in https://github.com/duckdb/duckdb/pull/24274
* Re-enable MERGE for composite row ids by @lnkuiper in https://github.com/duckdb/duckdb/pull/24271
* Only define EXT_VERSION_<NAME> for the sources that read it by @JelteF in https://github.com/duckdb/duckdb/pull/24248
* Merge `v1.5-variegata` into main by @Mytherin in https://github.com/duckdb/duckdb/pull/24275
* Fix struct field with default renaming by @dentiny in https://github.com/duckdb/duckdb/pull/24211
* Deduplicate JSON object keys in VARIANT casts by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/24041
* Fix https://github.com/duckdb/duckdb/discussions/24315 by @rpbouman in https://github.com/duckdb/duckdb/pull/24316
* Fix encrytion util access by @dentiny in https://github.com/duckdb/duckdb/pull/24312
* Do not export temp catalog by @dentiny in https://github.com/duckdb/duckdb/pull/24300
* Bump FTS extension to latest main by @kryonix in https://github.com/duckdb/duckdb/pull/24095
* Push down safe ILIKE prefix ranges by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/24063
* Add batch index support to PhysicalColumnDataScan by @kryonix in https://github.com/duckdb/duckdb/pull/24084
* Reconstruct in-memory index for read-only database by @dentiny in https://github.com/duckdb/duckdb/pull/24105
* Handle hive NULL in string format by @dentiny in https://github.com/duckdb/duckdb/pull/24318
* Enable mold implicitly for linux release builds by @smvv in https://github.com/duckdb/duckdb/pull/24230
* Propagate ARRAY statistics through LIST casts by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/24290
* Remove deprecated workflow dispatch calls by @smvv in https://github.com/duckdb/duckdb/pull/24323
* Avoid passing in `const string &query` in ClientContext methods, instead get the string from the SQLStatement by @Mytherin in https://github.com/duckdb/duckdb/pull/24324
* Bump httpfs by @lnkuiper in https://github.com/duckdb/duckdb/pull/24325
* Skip flaky CTE order preservation test by @smvv in https://github.com/duckdb/duckdb/pull/24340
* Nested schemas: support the remaining catalog entry types by @Mytherin in https://github.com/duckdb/duckdb/pull/24322
* Optimize unittest startup and reduce fast test runtime by @smvv in https://github.com/duckdb/duckdb/pull/24331
* Make `AtClause::Unit()` return an `Identifier` by @JelteF in https://github.com/duckdb/duckdb/pull/24236
* Fix: segfauly in url_decode with TRY() on dictionary-encoded columns by @Ansh2004P in https://github.com/duckdb/duckdb/pull/24332
* Harden recursive CTE execution and optimize `USING KEY` joins by @kryonix in https://github.com/duckdb/duckdb/pull/24031
* Fix pipeline-dependent CTE metadata in EXPLAIN ANALYZE by @kryonix in https://github.com/duckdb/duckdb/pull/24349
* [Bug] Fix issue with worker thread yielding in Async I/O by @pdet in https://github.com/duckdb/duckdb/pull/24352
* Avoid mutating input buffers in decode(..., 'replace') by @u70b3 in https://github.com/duckdb/duckdb/pull/24353
* Prune parquet row group for IS NOT DISTINCT FROM by @dentiny in https://github.com/duckdb/duckdb/pull/24338
* Make all `PreparedStatement` members private by @Mytherin in https://github.com/duckdb/duckdb/pull/24351
* Split main extensions to lower CI critical path by @smvv in https://github.com/duckdb/duckdb/pull/24345
* Use `Identifier` for COPY and scan option names by @JelteF in https://github.com/duckdb/duckdb/pull/24269
* Fix failed checkpoint marker recovery by @p1p1bear in https://github.com/duckdb/duckdb/pull/24260
* test harness: LOCAL_{TEMP,DATA}_DIR, add --env-passthrough, remote temp-dir fixes by @HendrikLambert in https://github.com/duckdb/duckdb/pull/24355
* Fix export with quoted string by @dentiny in https://github.com/duckdb/duckdb/pull/24382
* Un-skip 75 stale entries across 15 test configs by @carlopi in https://github.com/duckdb/duckdb/pull/24372
* Fix false corruption error when reading FSST string segments for Clickbench Q11 by @gropaul in https://github.com/duckdb/duckdb/pull/24365
* Fix wrong results and an out-of-bounds read in the LIST->ARRAY cast by @carlopi in https://github.com/duckdb/duckdb/pull/24367
* Restructure `DUCKDB_SMALLER_BINARY` into a preprocessor macro that allows granular attribution by @carlopi in https://github.com/duckdb/duckdb/pull/24364
* [ASYNC I/O] Refactor in preparation for ASYNC in native files by @pdet in https://github.com/duckdb/duckdb/pull/24360
* Remove multi-benchmark support and split CTE jobs by @smvv in https://github.com/duckdb/duckdb/pull/24356
* Use unimplemented exception over internal one by @dentiny in https://github.com/duckdb/duckdb/pull/24388
* Reset batch indexes between recursive CTE iterations by @kryonix in https://github.com/duckdb/duckdb/pull/24358
* Fix ranking functions over empty or reversed frames by @DinosL in https://github.com/duckdb/duckdb/pull/24348
* Check meaningless suffix characters after parsing by @dentiny in https://github.com/duckdb/duckdb/pull/24390
* Initial implementation of `variant_contains` processing function by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/24343
* bump iceberg by @Tmonster in https://github.com/duckdb/duckdb/pull/24264
* Fix fill() interpolation for large DOUBLE ordering spans by @alexprabhat99 in https://github.com/duckdb/duckdb/pull/24179
* Prune row groups for Parquet INTERVAL columns with bloom filters by @u70b3 in https://github.com/duckdb/duckdb/pull/24277
* Regenerate iceberg 0003 patch against the bumped pin by @carlopi in https://github.com/duckdb/duckdb/pull/24397
* Make `BaseQueryResult` members private, and turn names into `vector<Identifier>` (instead of `vector<string>`) by @Mytherin in https://github.com/duckdb/duckdb/pull/24357
* Trim sort key layout specializations under `SMALLER_BINARY` by @carlopi in https://github.com/duckdb/duckdb/pull/24394
* Implement collations without ICU dependency by @Mytherin in https://github.com/duckdb/duckdb/pull/24403
* remove flaky test by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/24408
* Reject non-integer index for variant by @dentiny in https://github.com/duckdb/duckdb/pull/24420
* Fix monotonic clock usage by @dentiny in https://github.com/duckdb/duckdb/pull/24423
* Reject invalid imported approx_quantile states by @u70b3 in https://github.com/duckdb/duckdb/pull/24425
* Checks inline - throws out of line by @carlopi in https://github.com/duckdb/duckdb/pull/24404
* Range check float => int casts on the rounded value by @carlopi in https://github.com/duckdb/duckdb/pull/24393
* Propagate parquet min/max len if possible by @dentiny in https://github.com/duckdb/duckdb/pull/24384
* Prune row group for IN operator and parquet read by @dentiny in https://github.com/duckdb/duckdb/pull/24374
* EXTERNAL RESOURCES: Unskip discovery tests now that the dependency landed by @carlopi in https://github.com/duckdb/duckdb/pull/24371
* Add a warning when using OFFSET on result set without defined ordering by @hannes in https://github.com/duckdb/duckdb/pull/24354
* Use smaller instance for extension load/install checks and skip a ducklake test on musl by @smvv in https://github.com/duckdb/duckdb/pull/24426
* add debug_ds extension to the benchmark runner by @Tmonster in https://github.com/duckdb/duckdb/pull/24430
* Optimize `BLOB` sort key construction by using vectorize-friendly code by @Mytherin in https://github.com/duckdb/duckdb/pull/24432
* Unify C-API symbol versioning (on main) by @Maxxen in https://github.com/duckdb/duckdb/pull/24435
* Remove `icu` dependency, instead implement TimeZone and Calendar functionality ourselves by @Mytherin in https://github.com/duckdb/duckdb/pull/24463
* Fix two wrong-results bugs in the expression rewriter by @carlopi in https://github.com/duckdb/duckdb/pull/24368
* Use a bitmask instead of modulo when decoding bitpacked hugeints by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/24468
* Fix integer underflow in VariantMetadata by @DinosL in https://github.com/duckdb/duckdb/pull/24469
* Optimize LRU cache by @dentiny in https://github.com/duckdb/duckdb/pull/24472
* Add null check for `json_execute_serialized` by @DinosL in https://github.com/duckdb/duckdb/pull/24470
* unittest: allow require-env for passed-through variables by @HendrikLambert in https://github.com/duckdb/duckdb/pull/24459
* Fix crash in enum_first/enum_last on empty ENUM types by @DinosL in https://github.com/duckdb/duckdb/pull/24480
* Preserve recursive CTE parallelism at high thread counts by @kryonix in https://github.com/duckdb/duckdb/pull/24466
* Improve string literal casting by @Dtenwolde in https://github.com/duckdb/duckdb/pull/24436
* Check time bucker operation overflow by @dentiny in https://github.com/duckdb/duckdb/pull/24489
* Cast to common argument types for array_value by @dentiny in https://github.com/duckdb/duckdb/pull/24490
* Only enable mold --icf=safe when the linker supports it by @h4nsmuller in https://github.com/duckdb/duckdb/pull/24492
* Preserve trailing UTF-8 bytes in StringUtil::RTrim by @fallintoplace in https://github.com/duckdb/duckdb/pull/24482
* Propagate validity statistics through `lower` and `upper` by @vvvdwbvvv in https://github.com/duckdb/duckdb/pull/24478
* Switch Calendar / TZ code from using `double` to using `int64_t` by @Mytherin in https://github.com/duckdb/duckdb/pull/24471
* Fix VARIANT field extraction in index fetch by @u70b3 in https://github.com/duckdb/duckdb/pull/24428
* Concurrent non-positional writes by @lnkuiper in https://github.com/duckdb/duckdb/pull/24500
* Add `SET SCHEMA` grammar support by @Dtenwolde in https://github.com/duckdb/duckdb/pull/23709
* Throw an internal error when functions are incorrectly labeled as infallible, and fix this for many functions by @Mytherin in https://github.com/duckdb/duckdb/pull/24389
* Improve the performance of timezone function by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/24437
* Check entry type before cast by @dentiny in https://github.com/duckdb/duckdb/pull/24487
* Initial implementation of `variant_group_array` processing function by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/24347
* Compress FSST input directly instead of copying it in 511-byte chunks by @gropaul in https://github.com/duckdb/duckdb/pull/24496
* Fix FIRST_VALUE streaming eligibility for framed windows by @u70b3 in https://github.com/duckdb/duckdb/pull/24497
* Rewrite IS DISTINCT FROM NULL by @dentiny in https://github.com/duckdb/duckdb/pull/24411
* Skip unnecessary payloads during WAL checkpoint prescan by @p1p1bear in https://github.com/duckdb/duckdb/pull/24434
* Fix dedimal width overflow by @dentiny in https://github.com/duckdb/duckdb/pull/24509
* Fix quantile hugeint precision by @Vihaan275 in https://github.com/duckdb/duckdb/pull/24511
* Avoid array with brackets creating an extra demension by @Dtenwolde in https://github.com/duckdb/duckdb/pull/24515
* Split linux test configs in more CI jobs by @smvv in https://github.com/duckdb/duckdb/pull/24510
* Propagate Parquet expression reader statistics by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/24505
* Fix projected types for missing columns by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/24508
* Fix histogram overflow counts with duplicate bins by @u70b3 in https://github.com/duckdb/duckdb/pull/24486
* Fix stale projection ids in LogicalGet after pushdown extract by @gulugulubing in https://github.com/duckdb/duckdb/pull/24484
* Fix compilation on Windows by @staticlibs in https://github.com/duckdb/duckdb/pull/24334
* Add checked cast helper to `HTTPUtil` by @lnkuiper in https://github.com/duckdb/duckdb/pull/24517
* Add reusable relation statistics extraction by @lnkuiper in https://github.com/duckdb/duckdb/pull/24512
* improve `PartitionedExecution` coverage by @lnkuiper in https://github.com/duckdb/duckdb/pull/24520
* Bump httpfs version by @okruitho in https://github.com/duckdb/duckdb/pull/24518
* Take `vector<Identifier>` in the table function bind callbacks by @JelteF in https://github.com/duckdb/duckdb/pull/24278
* Kill process group when retrying hanged command in CI by @smvv in https://github.com/duckdb/duckdb/pull/24523
* Fix escape strings being incorrectly tokenized by @Dtenwolde in https://github.com/duckdb/duckdb/pull/24519
* Improved tokenization for nested comments by @Dtenwolde in https://github.com/duckdb/duckdb/pull/24522
* Maintain better compatibility with older DuckDB versions in SETOF returning functions by @Mytherin in https://github.com/duckdb/duckdb/pull/24501
* Return Identifier from GetDefaultSchema/Table/TableSchema by @JelteF in https://github.com/duckdb/duckdb/pull/24498
* Scan the full child span for Arrow ListView arrays by @fallintoplace in https://github.com/duckdb/duckdb/pull/24483
* fix: incorrect join order of joins without ON clause by @jokasimr in https://github.com/duckdb/duckdb/pull/24228
* `COPY` with `ORDER_BY` without `PARTITION_BY` by @lnkuiper in https://github.com/duckdb/duckdb/pull/24525
* Issue #24288: Join Predicate Binding by @hawkfish in https://github.com/duckdb/duckdb/pull/24526
* bump avro and remove patches by @Tishj in https://github.com/duckdb/duckdb/pull/24545
* Produce valid JSON for fractional VARIANT decimals by @matthiasgoergens in https://github.com/duckdb/duckdb/pull/24554
* Preserve regex semantics for collated strings by @matthiasgoergens in https://github.com/duckdb/duckdb/pull/24558
* Fix NUL escape handling in `LIKE`/`ILIKE` operators by @matthiasgoergens in https://github.com/duckdb/duckdb/pull/24550
* Iterative benchmark runs and make report easier to understand by @smvv in https://github.com/duckdb/duckdb/pull/24503
* Compress fully-visible partial deletes into a bitmask by @baolinhuang in https://github.com/duckdb/duckdb/pull/24336
* Use logical ordering for VARIANT min/max by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/24531
* Terminate the dead end chain when the build side uses dictionary emission by @erwinzhang7 in https://github.com/duckdb/duckdb/pull/24539
* Internal #10187: Volatile Window Inputs by @hawkfish in https://github.com/duckdb/duckdb/pull/24577
* Internal #10053: IEJoin Key Reset by @hawkfish in https://github.com/duckdb/duckdb/pull/24572
* Fix NULL handling in ASOF join prefix comparisons by @williampsouza in https://github.com/duckdb/duckdb/pull/24199
* Fix heap overflow in `string_agg` by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/24582
* Make SetDefaultDatabase take an Identifer by @JelteF in https://github.com/duckdb/duckdb/pull/24583
* Add CIEndsWith and Identifier::EndsWith by @JelteF in https://github.com/duckdb/duckdb/pull/24566
* Replace benchmark TPC-DS with SF=10, fix mold version check by @smvv in https://github.com/duckdb/duckdb/pull/24567
* Parallelize ordered buffered CTE scans by @kryonix in https://github.com/duckdb/duckdb/pull/24361
* Recursive runtime invocation metrics by @kryonix in https://github.com/duckdb/duckdb/pull/24565
* Fix `DECIMAL` syntax silently accepting non-integral parameters by @tempewda in https://github.com/duckdb/duckdb/pull/24606
* Add data_page_size_limit option to Parquet COPY by @djouallah in https://github.com/duckdb/duckdb/pull/24645
* Fix UB for ALP by @dentiny in https://github.com/duckdb/duckdb/pull/24640
* Fix grouped printf formats for signed integer arguments by @AbhinavPandey01 in https://github.com/duckdb/duckdb/pull/24601
* Require 16GB RAM for string_agg overflow test by @yohaku999 in https://github.com/duckdb/duckdb/pull/24643
* fix: avoid int64 overflow in generic InterpolateOperator for fill() by @ybapat in https://github.com/duckdb/duckdb/pull/24571
* Make configs and secrets use Identifiers by @JelteF in https://github.com/duckdb/duckdb/pull/24589
* Fix external file cache seek when uncache read by @dentiny in https://github.com/duckdb/duckdb/pull/24585
* Add bounds check for roaring container_count by @Pyolar in https://github.com/duckdb/duckdb/pull/23796
* Initial implementation of `variant_extract_string` processing function by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/24060
* Fix CREATE SEQUENCE throwing INTERNAL error on NULL option values by @alwaysprince05 in https://github.com/duckdb/duckdb/pull/24614
* Fix INTERNAL error from EXPLAIN (FORMAT) and EXPLAIN (FORMAT default) by @carlopi in https://github.com/duckdb/duckdb/pull/24369
* Bugfix connected to round-tripping identifiers by @carlopi in https://github.com/duckdb/duckdb/pull/24370
* Fixes (#24115) : Use single-column ART index scan for IS NOT DISTINCT FROM by @kid-ye in https://github.com/duckdb/duckdb/pull/24146
* Fix#24303 date_trunc comparisons with infinite timestamps by @idle-lab in https://github.com/duckdb/duckdb/pull/24409
* Allow fitting integer literals as typed macro defaults by @matthiasgoergens in https://github.com/duckdb/duckdb/pull/24548
* Reject filename and Hive partition collisions by @matthiasgoergens in https://github.com/duckdb/duckdb/pull/24555
* Re-enable five stale mode-skips, including two fuzzer regression tests by @carlopi in https://github.com/duckdb/duckdb/pull/24392
* Fixup test_not_distinct_index_scan.test to actually be forced to be a Sequence Scan (vs optimized after checkpoint Column Data Scan) by @carlopi in https://github.com/duckdb/duckdb/pull/24671
* Disable flaky FSST test by @Tishj in https://github.com/duckdb/duckdb/pull/24688
* Removed patches for delta. updated sha by @okruitho in https://github.com/duckdb/duckdb/pull/24699
* Fix: `RANK/PERCENT_RANK/CUME_DIST` peers when the argument `ORDER BY` is a prefix of the window `ORDER BY` by @alonfaraj in https://github.com/duckdb/duckdb/pull/24693
* [Extension] Add mapping in `extension_entries.hpp` for Storage Extensions by @Tishj in https://github.com/duckdb/duckdb/pull/24684
* bump aws and delete patches by @Tishj in https://github.com/duckdb/duckdb/pull/24682
* Omit external extensions because both are manually disabled by @smvv in https://github.com/duckdb/duckdb/pull/24658
* Add Aggregate Reuse Optimizer to reduce redundant aggregation across joins by @kryonix in https://github.com/duckdb/duckdb/pull/24543
* Issue #24617: ICU TRY_CAST Throws by @hawkfish in https://github.com/duckdb/duckdb/pull/24705
* Fix correlation detection for nested dependent joins by @kryonix in https://github.com/duckdb/duckdb/pull/24683
* Fix recursive outer nested loop join state reuse by @kryonix in https://github.com/duckdb/duckdb/pull/24700
* Fix race condition in reclaiming file cache blocks by @smvv in https://github.com/duckdb/duckdb/pull/24729
* Issue #24450: DatePart Binary Doubles by @hawkfish in https://github.com/duckdb/duckdb/pull/24573
* Fix an issue where a collated null caused crashes in groups by @hannes in https://github.com/duckdb/duckdb/pull/24730
* Fix clang tidy errors in json variant cast file by @smvv in https://github.com/duckdb/duckdb/pull/24723
* Make `LogicalType` immutable by @Maxxen in https://github.com/duckdb/duckdb/pull/24738
* Fix missing catalog dependency registration for index_key by @gulugulubing in https://github.com/duckdb/duckdb/pull/24249
* Spill aggregate states when the aggregation goes external by @mustafahasankhan in https://github.com/duckdb/duckdb/pull/24499
* Fix indexed DELETE column resolution by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/24203
* Issue #24455: Windowed Distinct MODE by @hawkfish in https://github.com/duckdb/duckdb/pull/24674
* Rewrite mode and entropy as multi-stage aggregates by @kryonix in https://github.com/duckdb/duckdb/pull/24359
* Make `Value` immutable by @Maxxen in https://github.com/duckdb/duckdb/pull/24746
* Issue #24455: ApproxTopK Constant Binding by @hawkfish in https://github.com/duckdb/duckdb/pull/24673
* Buffer managed indexes, Pt. 1 by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/21458
* Add guards to TPC-H and TPC-DS generators by @DinosL in https://github.com/duckdb/duckdb/pull/24664
* Fix stale table statistics in prepared statements by @kryonix in https://github.com/duckdb/duckdb/pull/24696
* bump azure && remove the patch by @benfleis in https://github.com/duckdb/duckdb/pull/24732
* Use IO exception for invalid variant input by @dentiny in https://github.com/duckdb/duckdb/pull/24763
* Prune struct segment by @dentiny in https://github.com/duckdb/duckdb/pull/24726
* Fix dictionary validity checks in Parquet variant shredding by @dentiny in https://github.com/duckdb/duckdb/pull/24718
* Remove unused function by @dentiny in https://github.com/duckdb/duckdb/pull/24734
* Add test case for incorrect `EXPLAIN FORMAT` by @Dtenwolde in https://github.com/duckdb/duckdb/pull/24656
* Internal #10053: Postgres Nested Semantics by @hawkfish in https://github.com/duckdb/duckdb/pull/24504
* Prune row group for greatest/least with same boundary by @dentiny in https://github.com/duckdb/duckdb/pull/24015
* Fix NULL dynamic ROWS window frame boundaries by @idle-lab in https://github.com/duckdb/duckdb/pull/24727
* Fix schema conflict in TPC-H `dbgen` by @tempewda in https://github.com/duckdb/duckdb/pull/24712
* Fix interval comparison when carrying left leaves a negative field by @kid-ye in https://github.com/duckdb/duckdb/pull/24704
* Fix `INTERNAL Error`: Mark `regexp_full_match` as fallible by @tempewda in https://github.com/duckdb/duckdb/pull/24701
* Fix list_reduce raising INTERNAL error when its lambda throws by @alwaysprince05 in https://github.com/duckdb/duckdb/pull/24663
* Compare window partitions as sets by @m0g3r in https://github.com/duckdb/duckdb/pull/24685
* [Sequence] Disable parallel insert for tables with column(s) with `nextval(...)` in them by @Tishj in https://github.com/duckdb/duckdb/pull/24724
* [ASYNC-IO] On Demand ASYNC IO for native DuckDB Tables by @pdet in https://github.com/duckdb/duckdb/pull/24654
* Buffer managed indexes, Pt.2 by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/23605
* Propagate stats in materialized CTEs and array distance/similarity functions by @Maxxen in https://github.com/duckdb/duckdb/pull/24600
* EXTERNAL RESOURCE: give the create params their own grammar rule by @carlopi in https://github.com/duckdb/duckdb/pull/24771
* Add support for GeoJSON in the `json` extension by @Maxxen in https://github.com/duckdb/duckdb/pull/24646
* Fix ASOF join over EXCEPT ALL / INTERSECT ALL children by @RagamuffinCat in https://github.com/duckdb/duckdb/pull/24760
* Fix `PARTITION BY` syntax for `COPY TO` on multiple columns by @Dtenwolde in https://github.com/duckdb/duckdb/pull/24770
* Add typed_value column to duckdb_settings() by @lghavami in https://github.com/duckdb/duckdb/pull/24774
* [Dev] Refactor `BaseTokenizer`, and rename to `Tokenizer` by @Tishj in https://github.com/duckdb/duckdb/pull/24772
* Bump duckdb-httpfs to main and shrink its patch by @carlopi in https://github.com/duckdb/duckdb/pull/24803
* Fold trivial any-joins back into cross products by @Maxxen in https://github.com/duckdb/duckdb/pull/24788
* Fix unused residual collection consuming must-apply cost predicates by @gulugulubing in https://github.com/duckdb/duckdb/pull/24784
* Don't dlopen an extension that is already linked in by @GavinPizza in https://github.com/duckdb/duckdb/pull/24800
* Fix case restoration for mismatched case column references by @tempewda in https://github.com/duckdb/duckdb/pull/24776
* Use __restrict actually in MacOS by @flashmouse in https://github.com/duckdb/duckdb/pull/24681
* Prune segment for nested types on validity check by @dentiny in https://github.com/duckdb/duckdb/pull/24768
* Prune row groups when an IN-list covers the whole zonemap rangend add by @vvvdwbvvv in https://github.com/duckdb/duckdb/pull/24521
* Handle infinite dates in timestamp comparison optimization by @jaiswalvikas9991 in https://github.com/duckdb/duckdb/pull/24669
* Fix checkpoint Analyze handling for explicit compression method by @Liuzw1998 in https://github.com/duckdb/duckdb/pull/24429
* Make External Pipeline Input Dependency-Aware by @kryonix in https://github.com/duckdb/duckdb/pull/24754
* Fix ICU calendar differences across era boundaries by @HendrikLambert in https://github.com/duckdb/duckdb/pull/24756
* Expand multi-file UNION columns for Parquet nested remap by @Vamsi-klu in https://github.com/duckdb/duckdb/pull/24172
* Add agent instruction for time limiting queries by @hannes in https://github.com/duckdb/duckdb/pull/24649
* update security.md by @samansmink in https://github.com/duckdb/duckdb/pull/24815
* Unify and optimize scalar executor infrastructure by @kryonix in https://github.com/duckdb/duckdb/pull/24564
* Fix precision loss in FLOAT to DECIMAL casts by @xuke-hat in https://github.com/duckdb/duckdb/pull/24814
* Flush and fsync optimistically written blocks before the WAL lock at commit by @ywelsch in https://github.com/duckdb/duckdb/pull/24193
* Do not use file statistics for overridden hive partitioning columns by @h4nsmuller in https://github.com/duckdb/duckdb/pull/24752
* [Dev][Parser] Preliminary work for overridable/extensible `MatcherFactory` by @Tishj in https://github.com/duckdb/duckdb/pull/24818
* Initial boilerplate for `DialectExtension` by @Tishj in https://github.com/duckdb/duckdb/pull/24801
* Reset default database after detachment by @dentiny in https://github.com/duckdb/duckdb/pull/24822
* Cast to common argument types for unpivot_list by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/24819
* [Dev][Parser] `Identifier` match logic clean up by @Tishj in https://github.com/duckdb/duckdb/pull/24812
* Fix partitioned COPY losing rows on __HIVE_DEFAULT_PARTITION__ collision by @carlopi in https://github.com/duckdb/duckdb/pull/24816
* A fix to common_subplan_optimizer by @staticlibs in https://github.com/duckdb/duckdb/pull/24824
* Erase `Function::EraseArgument` by @Maxxen in https://github.com/duckdb/duckdb/pull/24594
* Do not assert which of three equal intervals becomes the group key by @h4nsmuller in https://github.com/duckdb/duckdb/pull/24832
* Fix join order reconstruction for cross products spanning three or more relations by @ishan121028 in https://github.com/duckdb/duckdb/pull/24786
* Preserve case-sensitive VARIANT fields during shredding by @matthiasgoergens in https://github.com/duckdb/duckdb/pull/24716
* Fix Parquet interval millisecond overflow by @idle-lab in https://github.com/duckdb/duckdb/pull/24821
* Validate encryption key before parquet metadata cache leveraged by @dentiny in https://github.com/duckdb/duckdb/pull/24721
* Fix duckbox rendering of case-sensitive ENUM types by @mattyy-k in https://github.com/duckdb/duckdb/pull/24735
* Optionally spill evicted external file cache blocks to the temporary directory by @mustafahasankhan in https://github.com/duckdb/duckdb/pull/24062
* Allow deserializing a parquet scan whose files were all pruned away by @h4nsmuller in https://github.com/duckdb/duckdb/pull/24834
* Do not push down an extract on an already extracted column by @fvaleye in https://github.com/duckdb/duckdb/pull/24660
* Resolve partition columns for non-pushdown table functions by @matthiasgoergens in https://github.com/duckdb/duckdb/pull/24557
* Prune map extraction row group by @dentiny in https://github.com/duckdb/duckdb/pull/24836
* Add 'connection' secret storage, for connection scoped contexts by @carlopi in https://github.com/duckdb/duckdb/pull/23527
* Publish linked extensions on the config, so an extension can load them too by @carlopi in https://github.com/duckdb/duckdb/pull/24823
* Use compressed tarballs for CLI and shared libraries by @smvv in https://github.com/duckdb/duckdb/pull/24773
* Auto-detect ISO-8601 timestamps with offsets as TIMESTAMPTZ in JSON by @Vamsi-klu in https://github.com/duckdb/duckdb/pull/24171
* [Dev][Parser] Move `Matcher` implementations + `MatcherFactory` to separate files by @Tishj in https://github.com/duckdb/duckdb/pull/24838
* [Dev][Parser] Add `TokenIterator` abstraction by @Tishj in https://github.com/duckdb/duckdb/pull/24753
* Add support for `SECURE` views by @Mytherin in https://github.com/duckdb/duckdb/pull/24842
* [Dev][Parser] Add `optional_ptr<ClientContext>` to `ParserCache::GetMatcher` by @Tishj in https://github.com/duckdb/duckdb/pull/24865
* [Dev][Parser] Put the `PEGKeywordHelper` into the `CompiledGrammar` by @Tishj in https://github.com/duckdb/duckdb/pull/24844
* [Dev][Parser] Put the `Tokenizer` into the `CompiledGrammar` by @Tishj in https://github.com/duckdb/duckdb/pull/24864
* Remote Pushdown Optimizer: Add support for `CREATE`, `ALTER`, `DROP` and `MERGE INTO` by @Mytherin in https://github.com/duckdb/duckdb/pull/24854
* fix geometry row group pruning with nulls/empty (on main) by @Maxxen in https://github.com/duckdb/duckdb/pull/24849
* Parallelize merge of small collections in PhysicalInsert by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/24584
* Keep the list_aggregate bind data unambiguous by @carlopi in https://github.com/duckdb/duckdb/pull/24856
* Fix non-constant map switch bug by @maiadegraaf in https://github.com/duckdb/duckdb/pull/24868
* Assorted bugfixes tied to conversion errors by @carlopi in https://github.com/duckdb/duckdb/pull/24860
* No rtti build by @carlopi in https://github.com/duckdb/duckdb/pull/24858
* Add multiplicity-aware combine support and fix LIST state combination by @Alignyx in https://github.com/duckdb/duckdb/pull/24817
* Issue #24826: Stale MODE Ties by @hawkfish in https://github.com/duckdb/duckdb/pull/24890
* Give USING KEY ... UNION changed-key delta semantics by @kryonix in https://github.com/duckdb/duckdb/pull/24647
* Fix pathological scan memory for NULLs trailing an overflow string (#24897) by @mdlavin in https://github.com/duckdb/duckdb/pull/24898
* Fix percentile_cont/disc(0) with descending order by @hawkfish in https://github.com/duckdb/duckdb/pull/24896
* Fix percentile_cont/disc(0) with descending order by @apoorva-01 in https://github.com/duckdb/duckdb/pull/23782
* Always quote identifiers in error messages by @JelteF in https://github.com/duckdb/duckdb/pull/24878
* Don't narrow a pushed-down filter constant to the file's physical type by @GavinPizza in https://github.com/duckdb/duckdb/pull/24901
* Fix top_n_window_elimination late materialization corrupting try-cast and nested-cast payloads by @alwaysprince05 in https://github.com/duckdb/duckdb/pull/24846
* Remove default database by @dentiny in https://github.com/duckdb/duckdb/pull/24837
* Use container in regression CI jobs by @smvv in https://github.com/duckdb/duckdb/pull/24889
* Prune row groups with cross-column comparisons by @Andrewtangtang in https://github.com/duckdb/duckdb/pull/24805
* Support SHOW <setting> by @JelteF in https://github.com/duckdb/duckdb/pull/23732
* Add utf8_validation (strict, ignore, replace) to Parquet reader by @xproblematique in https://github.com/duckdb/duckdb/pull/24743
* Checkpoint on detach description correction by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/24887
* Add ToString SQLIdentifier::ToString for Identifier too by @JelteF in https://github.com/duckdb/duckdb/pull/24851
* [Dev][Parser] Add `ParsedGrammar` intermediate to `CompiledGrammar` creation by @Tishj in https://github.com/duckdb/duckdb/pull/24866
* Use Identifier for CSV/JSON column names in the COPY FROM bind path by @JelteF in https://github.com/duckdb/duckdb/pull/24839
* ARM64 portability hardening: mechanical UB fixes without behavior change by @u70b3 in https://github.com/duckdb/duckdb/pull/24884
* Fix qualified name APIs to correctly handle nested schemas by @Mytherin in https://github.com/duckdb/duckdb/pull/24910
* Restore static linking behaviour for C API by @ThijsDreef in https://github.com/duckdb/duckdb/pull/24913
* Make `preserve_identifier_case` a three-state setting by @dataders in https://github.com/duckdb/duckdb/pull/24375
* Make `FunctionSet` and `Bound*Function` contain `shared_ptr<const Function>`s by @Maxxen in https://github.com/duckdb/duckdb/pull/24964
* Abandon() and any_abandoned by @carlopi in https://github.com/duckdb/duckdb/pull/24947
* Avoid plan-time partial precomputation when not complete by @carlopi in https://github.com/duckdb/duckdb/pull/24962
* re-enable art prefix test by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/24930
* Allow some archs like musl to fail (for alpha releases) by @smvv in https://github.com/duckdb/duckdb/pull/24928
* Parquet writer: write ColumnMetaData.encoding_stats by @djouallah in https://github.com/duckdb/duckdb/pull/24957
* Fix async writer flaky test by @dentiny in https://github.com/duckdb/duckdb/pull/24952
* Use main container in more CI jobs by @smvv in https://github.com/duckdb/duckdb/pull/24917
* C-API-V2: Part 1 by @Maxxen in https://github.com/duckdb/duckdb/pull/24702
* Preserve projection maps during column pruning by @kryonix in https://github.com/duckdb/duckdb/pull/24909
* [Parquet Stats] Return parquet string stats exactness by @pdet in https://github.com/duckdb/duckdb/pull/24886
* Add overload: regexp_extract('string', 'pattern', 'options') by @lghavami in https://github.com/duckdb/duckdb/pull/24857
* Honor the comment option when quoting CSV output by @simi in https://github.com/duckdb/duckdb/pull/23669
* Allocation connected bugs by @carlopi in https://github.com/duckdb/duckdb/pull/24893
* Add CompressionSegmentReader for fixed-size uncompressed segments by @HendrikLambert in https://github.com/duckdb/duckdb/pull/24895
* Fix INTERNAL error when the invoke() lambda throws by @saime428 in https://github.com/duckdb/duckdb/pull/24668
* Arena allocate per-group buffers in bitstring_agg, bit_and/bit_or/bit_xor, and mode by @maiadegraaf in https://github.com/duckdb/duckdb/pull/24855
* [ASYNC I/O] Read Ahead Refactor by @pdet in https://github.com/duckdb/duckdb/pull/24778
* Unify `Match` and `MatchParseResult` by @Dtenwolde in https://github.com/duckdb/duckdb/pull/24912
* Fix `Value::ToSQLString` nested type round-tripping by @dentiny in https://github.com/duckdb/duckdb/pull/24975
* Mark `last_day` function fallible by @dentiny in https://github.com/duckdb/duckdb/pull/24974
* GetDefaultSchema returns optional<Identifier> by @Tmonster in https://github.com/duckdb/duckdb/pull/24979
* Issue #24449: MINMAX Constant N by @hawkfish in https://github.com/duckdb/duckdb/pull/24986
* Fix TIMETZ formatting by @dentiny in https://github.com/duckdb/duckdb/pull/24988
* Propagate stats for timestamp conversion by @dentiny in https://github.com/duckdb/duckdb/pull/24995
* [Serialization][Parquet][Variant] Fix bug related to `ShreddingType` equality operator by @Tishj in https://github.com/duckdb/duckdb/pull/24982
* Dont remove lambda expressions from functions by @Maxxen in https://github.com/duckdb/duckdb/pull/24970
* Internal #10417: AsOf Hive Partitioning by @hawkfish in https://github.com/duckdb/duckdb/pull/24891
* Fix trigger dependency tracking so DROP TABLE respects trigger bodies by @EtgarDev in https://github.com/duckdb/duckdb/pull/24591
* Allow TablaAliasColon for subqueries by @Dtenwolde in https://github.com/duckdb/duckdb/pull/24524
* Propagate stats for devision operator by @dentiny in https://github.com/duckdb/duckdb/pull/24959
* Propagate stats for coalesce operator by @dentiny in https://github.com/duckdb/duckdb/pull/24958
* Propagate case conversion stats for row group prune by @dentiny in https://github.com/duckdb/duckdb/pull/24954
* Prune row group for prefix functions by @dentiny in https://github.com/duckdb/duckdb/pull/24953
* Propagate stats for `left` function to prune row group by @dentiny in https://github.com/duckdb/duckdb/pull/24951
* Try -march x86-64-v3 for CLI and v2 for extensions by @smvv in https://github.com/duckdb/duckdb/pull/24391
* Prune row group for string contains on equal strings by @dentiny in https://github.com/duckdb/duckdb/pull/24940
* Implement date time row group pruning by @dentiny in https://github.com/duckdb/duckdb/pull/24943
* Fix COPY FROM with statement triggers by @sakshichitnis27 in https://github.com/duckdb/duckdb/pull/23896
* Avoid busyloop on task cancellation by @dentiny in https://github.com/duckdb/duckdb/pull/24544
* Optimize StringUtil::Replace by @jprafael in https://github.com/duckdb/duckdb/pull/24990
* Prune row groups for length()/char_length() filters via code-point lower bound by @JaySon-Huang in https://github.com/duckdb/duckdb/pull/24999
* Use unchecked casts for proven integer ranges by @kryonix in https://github.com/duckdb/duckdb/pull/24916
* Allow extension to register custom compression filesystem by @dentiny in https://github.com/duckdb/duckdb/pull/24968
* In nested schema resolution - avoid hardcoding the DuckDB catalog by @Mytherin in https://github.com/duckdb/duckdb/pull/25005
* [Dev][Parser] Fix `MatchParseResult` regression by @Tishj in https://github.com/duckdb/duckdb/pull/25007
* Raise an error on integer division by zero instead of returning NULL by @hannes in https://github.com/duckdb/duckdb/pull/25004
* [JSON] Fix `DECIMAL` value roundtrip bug that was caused by lossy `json_read` behavior by @Tishj in https://github.com/duckdb/duckdb/pull/25006
* Correctly handle nested schemas in remote pushdown optimizer by @Mytherin in https://github.com/duckdb/duckdb/pull/25009
* Upload latest alpha version file to staging bucket by @smvv in https://github.com/duckdb/duckdb/pull/24894
* Fix wrong results when constant folding MAX_INT by @hannes in https://github.com/duckdb/duckdb/pull/24998
* Internal #10417: AsOf Hive Partitioning by @hawkfish in https://github.com/duckdb/duckdb/pull/25016
* Internal #10514: AsOf Progress by @hawkfish in https://github.com/duckdb/duckdb/pull/25020
* Fix ALTER TYPE dropping concurrently committed updates by @ywelsch in https://github.com/duckdb/duckdb/pull/25008
* Prune row group for no-op replace by @dentiny in https://github.com/duckdb/duckdb/pull/24044
* Preserve selected domains during delim join rewriting by @kryonix in https://github.com/duckdb/duckdb/pull/24915
* Fix mixed path separators for extension/loader in amalgamation by @mlafeldt in https://github.com/duckdb/duckdb/pull/25025
* Use -march=haswell for windows_amd64_mingw (GCC 10 breaks) by @smvv in https://github.com/duckdb/duckdb/pull/25029
* Fix typed NULL value stringification bug that loses type information by @Tishj in https://github.com/duckdb/duckdb/pull/25002
* Clean up files created by `COPY` if query aborts by @lnkuiper in https://github.com/duckdb/duckdb/pull/24840
* Resolve decimal to double cast benchmark regression by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/24922
* Preserve filter rewrites across pushdown and statistics propagation by @kryonix in https://github.com/duckdb/duckdb/pull/24907
* Fix COUNT(x) still reading the counted column after the COUNT(*) rewrite by @fvaleye in https://github.com/duckdb/duckdb/pull/24607
* Fix incorrect filtered MAD window results by correctly counting rows across excluded subframes by @Alignyx in https://github.com/duckdb/duckdb/pull/24847
* Fix with argument ordering to correctly handle frames that exclude the current row by @Alignyx in https://github.com/duckdb/duckdb/pull/24875
* Add value-level tests for window self-join ROWS framing (close #21592) by @Vamsi-klu in https://github.com/duckdb/duckdb/pull/24164
* Unify linux release builds by @smvv in https://github.com/duckdb/duckdb/pull/25023
* Propagate column renames to trigger UPDATE OF lists by @krleonid in https://github.com/duckdb/duckdb/pull/24578
* [Dev] Fix `PhysicalIEJoin` out-of-bounds access on `completed` by @Tishj in https://github.com/duckdb/duckdb/pull/25042
* [Dev] Fix unity build + remove third-party include from public-facing header by @Tishj in https://github.com/duckdb/duckdb/pull/25043
* Adjacent string fixes by @Dtenwolde in https://github.com/duckdb/duckdb/pull/25034
* Fix #25018: Throw user-facing error when thread settings are NULL by @c0d3l0v3r-HeHe in https://github.com/duckdb/duckdb/pull/25021
* Avoid reconstructing CountZeros lookup tables by @p1p1bear in https://github.com/duckdb/duckdb/pull/25032
* Prune row group for `list_contains` function by @dentiny in https://github.com/duckdb/duckdb/pull/24876
* Propagate stats for aggregate functions by @dentiny in https://github.com/duckdb/duckdb/pull/24997
* Avoid overwriting streaming NTH_VALUE result on NULL rows by @jaiswalvikas9991 in https://github.com/duckdb/duckdb/pull/24861
* Do not retry non-idempotent HTTP requests by @lnkuiper in https://github.com/duckdb/duckdb/pull/25047
* Implement HTTP cache control by @dentiny in https://github.com/duckdb/duckdb/pull/24587
* Use clang for most CI jobs by @smvv in https://github.com/duckdb/duckdb/pull/25053
* Prune numeric comparison for NOTEQUAL operation by @dentiny in https://github.com/duckdb/duckdb/pull/25061
* Prune row group on FALSE_OR_NULL by @dentiny in https://github.com/duckdb/duckdb/pull/25063
* Prune segment on FALSE_OR_NULL by @dentiny in https://github.com/duckdb/duckdb/pull/25064
* FinalizeScan() for MultiFileReader by @myrrc in https://github.com/duckdb/duckdb/pull/25036
* Merge static libs jobs into Linux, macOS and Windows release CI jobs by @smvv in https://github.com/duckdb/duckdb/pull/25067
* [CAPI][Extension] Improve inline docs of extension loading API (V1 and V2) by @Tishj in https://github.com/duckdb/duckdb/pull/25055
* Fix foreign key side effects in `CREATE TABLE IF NOT EXISTS` by @dentiny in https://github.com/duckdb/duckdb/pull/25044
* External Extension Repositories by @hannes in https://github.com/duckdb/duckdb/pull/24777
* Expand on #25006, type recursion is also needed by @carlopi in https://github.com/duckdb/duckdb/pull/25077
* tighten rclone ext push, avoid pre-PUT HEAD call by @benfleis in https://github.com/duckdb/duckdb/pull/25080
* Prune row group for `list_position` function by @dentiny in https://github.com/duckdb/duckdb/pull/25079
* `Index` lifetime refactor by @sebastiaan-dev in https://github.com/duckdb/duckdb/pull/23570
* Validate block allocation sizes and validity masks by @HendrikLambert in https://github.com/duckdb/duckdb/pull/25076
* Run osx workflow in main CI based on changed files by @smvv in https://github.com/duckdb/duckdb/pull/25073
* ISSUE-21492: Optimizer: fold `struct_extract(struct_pack(...))` for table subscripts by @herbenderbler in https://github.com/duckdb/duckdb/pull/25059
**Full Changelog**: https://github.com/duckdb/duckdb/compare/v1.5.6...v2.0.0
โ Older Version
DuckDB v1.5.6
Newer Version โ
Latest Tracked Version โ