Impact Score: 5/10
DuckDB 1.2.0 "Histrionicus"
Source available โ automated, not human-reviewed
Component: duckdb ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
DuckDB v1.2.0. Source highlight: This release of DuckDB is named "Histrionicus" after the good-looking Harlequin duck (Histrionicus Histrionicus) that inhabits "cold fast moving streams in North America, Greenland, Iceland and eastern Russia".
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โจ New Features & Capabilities (6)
- Add cross join to Python Relational and PySpark API
- Add auto-loadable extension settings to duckdb_config_count and duckdb_get_config_flag
- Add `SMALLER_BINARY` flag to reduce binary size
- [Python] Add `set_default_connection` to the `duckdb` module
- add some RealNest benchmarks
- [Feature] Allow passing the catalog (database name) to appender
โก Performance & Enhancements (6)
- Improvement the speed of table sample systems
- remove superfluous comment
- proposed enhancements to the query graphs
- Improve SqlStatement::ToString for UPDATE and DELETE statement to include alias of RETURNING clause
- Top-N: Improve performance with large heaps, and correctly call Reduce
- Improve timestamp functionality
๐ง Bug Fixes & Patches (6)
- Fix #13805: throw a more descriptive error message when an on-disk file is referenced using a replacement scan for an unsupported file format
- Fix #13867: use 64-bit random numbers to generate random numbers for `random()`
- Fix #13769: when binding views, always first search in the schema that the view is defined in
- Fix #10961 - in the HAVING clause - in case of column name conflicts, bind to aliases instead of to ungrouped columns
- [Dev] Fix an issue causing ExecuteTask to do much more work than intended
- Fix #13064: offer more suggestions with same score
๐ View Raw Release Notes (Original Developer Log)
This release of DuckDB is named "Histrionicus" after the good-looking Harlequin duck (Histrionicus Histrionicus) that inhabits "cold fast moving streams in North America, Greenland, Iceland and eastern Russia".
Please also refer to the announcement blog post: https://duckdb.org/2025/02/05/announcing-duckdb-120
## What's Changed
* Optimise division by a constant at runtime for integer division by @JAicewizard in https://github.com/duckdb/duckdb/pull/10348
* Add cross join to Python Relational and PySpark API by @khalidmammadov in https://github.com/duckdb/duckdb/pull/13519
* Fix #13805: throw a more descriptive error message when an on-disk file is referenced using a replacement scan for an unsupported file format by @Mytherin in https://github.com/duckdb/duckdb/pull/13871
* Make sampling accept parameters at the parser/transformer layer by @Mytherin in https://github.com/duckdb/duckdb/pull/13903
* Fix #13867: use 64-bit random numbers to generate random numbers for `random()` by @Mytherin in https://github.com/duckdb/duckdb/pull/13920
* Fix #13769: when binding views, always first search in the schema that the view is defined in by @Mytherin in https://github.com/duckdb/duckdb/pull/13921
* Rework table bindings to be components (`catalog`, `schema`, `table`) instead of flat strings by @Mytherin in https://github.com/duckdb/duckdb/pull/14017
* Add auto-loadable extension settings to duckdb_config_count and duckdb_get_config_flag by @Mytherin in https://github.com/duckdb/duckdb/pull/14021
* Fix #10961 - in the HAVING clause - in case of column name conflicts, bind to aliases instead of to ungrouped columns by @Mytherin in https://github.com/duckdb/duckdb/pull/14023
* Enable filter pushdown through Logical Unnest by @Tmonster in https://github.com/duckdb/duckdb/pull/14008
* Allow duplicate table aliases in the table binder by @Mytherin in https://github.com/duckdb/duckdb/pull/14035
* Unify DESCRIBE [query] and DESCRIBE [table] by @Mytherin in https://github.com/duckdb/duckdb/pull/14039
* Support qualified identifiers in the `EXCLUDE` clause by @Mytherin in https://github.com/duckdb/duckdb/pull/14043
* Add `SMALLER_BINARY` flag to reduce binary size by @Mytherin in https://github.com/duckdb/duckdb/pull/14057
* Smaller Binary: remove more templates from arg_min_max by @Mytherin in https://github.com/duckdb/duckdb/pull/14071
* Unify entropy and mode aggregates - and skip specialized implementations for entropy with smaller binary by @Mytherin in https://github.com/duckdb/duckdb/pull/14080
* [Python] Add `set_default_connection` to the `duckdb` module by @Tishj in https://github.com/duckdb/duckdb/pull/13442
* Provide workaround for prefetching parquet files with incorrect page offsets by @samansmink in https://github.com/duckdb/duckdb/pull/13697
* Move `core_functions` to a separate extension by @Mytherin in https://github.com/duckdb/duckdb/pull/14149
* PySpark df.drop() to support expressions by @khalidmammadov in https://github.com/duckdb/duckdb/pull/14059
* add some RealNest benchmarks by @hmeriann in https://github.com/duckdb/duckdb/pull/13345
* feed table function into multifilereader initialization by @samansmink in https://github.com/duckdb/duckdb/pull/14112
* [Dev] Fix an issue causing ExecuteTask to do much more work than intended by @Tishj in https://github.com/duckdb/duckdb/pull/14034
* Overhaul Parquet dictionary handling by @hannes in https://github.com/duckdb/duckdb/pull/14194
* [Feature] Allow passing the catalog (database name) to appender by @taniabogatsch in https://github.com/duckdb/duckdb/pull/13692
* Add Taxi Dataset Benchmark by @pdet in https://github.com/duckdb/duckdb/pull/14197
* Feature #3036: Window Spooling by @hawkfish in https://github.com/duckdb/duckdb/pull/14181
* Small C Extension API changes by @samansmink in https://github.com/duckdb/duckdb/pull/13987
* Add HTML and Graphviz support for explain analyze by @abramk in https://github.com/duckdb/duckdb/pull/13942
* Fix #13064: offer more suggestions with same score by @Damon07 in https://github.com/duckdb/duckdb/pull/14048
* New Algorithm to find a new line on parallel execution by @pdet in https://github.com/duckdb/duckdb/pull/14260
* Making client context lock optional for relation binding by @pdet in https://github.com/duckdb/duckdb/pull/14093
* [Feature] Allow passing the catalog during C API appender creation by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14256
* Make test random output ordered by @Damon07 in https://github.com/duckdb/duckdb/pull/14267
* Skip test_window_distinct by @Mytherin in https://github.com/duckdb/duckdb/pull/14309
* Taxi Benchmark by @pdet in https://github.com/duckdb/duckdb/pull/14301
* Switch to shared pointer for multfilelists by @samansmink in https://github.com/duckdb/duckdb/pull/14291
* Push #14298 to feature branch by @flashmouse in https://github.com/duckdb/duckdb/pull/14311
* Implement PullUp Empty Results optimizer by @Tmonster in https://github.com/duckdb/duckdb/pull/13524
* [Export/Import] Use the DependencyManager to (stable) sort the entries before export by @Tishj in https://github.com/duckdb/duckdb/pull/14196
* Partitioning-Aware Aggregation and Partitioning-Aware Infrastructure by @Mytherin in https://github.com/duckdb/duckdb/pull/14329
* Add df.unionByName to PySpark API by @khalidmammadov in https://github.com/duckdb/duckdb/pull/14063
* Or filter pushdown into zone maps by @Tmonster in https://github.com/duckdb/duckdb/pull/14313
* Get the current setting in the database file opener by @Mytherin in https://github.com/duckdb/duckdb/pull/14361
* [Feature + Fix] Support ALTER TABLE tbl ALTER col TYPE USING and fix null handling in struct_insert by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14359
* [C API] Add table_description_create_ext and table_description_get_column_name by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14285
* Move _rtools platform to be equivalent to _mingw by @carlopi in https://github.com/duckdb/duckdb/pull/14368
* Fix for accidental like skip in the CSV Buffer by @pdet in https://github.com/duckdb/duckdb/pull/14380
* Table locks - always grab table locks through the transaction interface by @Mytherin in https://github.com/duckdb/duckdb/pull/14379
* Implementing array_slice and [] for BLOB by @hannes in https://github.com/duckdb/duckdb/pull/14358
* Rework settings handling and implement auto-generation for new ones by @Mytherin in https://github.com/duckdb/duckdb/pull/14383
* Rework settings handling and implement auto-generation for new ones by @chrisiou in https://github.com/duckdb/duckdb/pull/14018
* Arrow list buffer - suggest setting `arrow_large_buffer_size` to true when regular list buffer size is exceeded by @Mytherin in https://github.com/duckdb/duckdb/pull/14384
* Fix incorrect merge conflict resolution in workflow file by @Mytherin in https://github.com/duckdb/duckdb/pull/14390
* Update Parquet Thrift to latest version by @hannes in https://github.com/duckdb/duckdb/pull/14258
* Reformat list functions by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14372
* Tidy Check to do complete run also on feature by @carlopi in https://github.com/duckdb/duckdb/pull/14394
* [Python] Use an `ArrowQueryResult` in `FetchArrowTable` when possible. by @Tishj in https://github.com/duckdb/duckdb/pull/14319
* Make mysql_scanner auto-loadable, and add mysql/postgres secrets by @Mytherin in https://github.com/duckdb/duckdb/pull/14392
* Improvement the speed of table sample systems by @continue-revolution in https://github.com/duckdb/duckdb/pull/12631
* Support defining column names in CTAS by @douenergy in https://github.com/duckdb/duckdb/pull/14327
* Fix pointer indirection in pyrelation.cpp by @carlopi in https://github.com/duckdb/duckdb/pull/14403
* Fix idx_t to int64_t implicit conversion flagged by clang-tidy by @carlopi in https://github.com/duckdb/duckdb/pull/14402
* Storage: make `ROW_GROUP_SIZE` configurable by @Mytherin in https://github.com/duckdb/duckdb/pull/14406
* [Dev] Update vendored ZSTD to v1.5.6 by @Tishj in https://github.com/duckdb/duckdb/pull/14360
* Top-N: Rework to use heap of sort keys by @Mytherin in https://github.com/duckdb/duckdb/pull/14424
* reformat string functions by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14400
* Prefix Aliases in SQL by @hannes in https://github.com/duckdb/duckdb/pull/14436
* [Dev] Optimize `ValidityMask` when reading from a `ColumnDataCollection` by @Tishj in https://github.com/duckdb/duckdb/pull/14416
* [Dev] Further optimize the CDC ValidityMask deserialization by @Tishj in https://github.com/duckdb/duckdb/pull/14448
* Reformat date and map functions by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14425
* Reformat generic functions by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14423
* Push dynamically generated join filters through `UNION`, `UNNEST` and `AGGREGATE` by @Mytherin in https://github.com/duckdb/duckdb/pull/14453
* Try auto-casting for mismatching data chunks in the Appender API by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14433
* Implement `DELTA_BINARY_PACKED` compression in Parquet writer by @lnkuiper in https://github.com/duckdb/duckdb/pull/14257
* Eviction Queue Partitioning by @lnkuiper in https://github.com/duckdb/duckdb/pull/14375
* Implement `map_extract_first` by @lnkuiper in https://github.com/duckdb/duckdb/pull/14175
* RowGroup no longer lives in format namespace by @Mytherin in https://github.com/duckdb/duckdb/pull/14469
* Convert the shell from C to C++ by @Mytherin in https://github.com/duckdb/duckdb/pull/14473
* Fixing an issue with parquet dictionary reading by @hannes in https://github.com/duckdb/duckdb/pull/14438
* Strip down unused/unsupported options from the CLI by @Mytherin in https://github.com/duckdb/duckdb/pull/14478
* [PySpark] Add withColumns, withColumnsRenamed, cos, acos, any_value, approx_count_distinct and various array functions by @binste in https://github.com/duckdb/duckdb/pull/14347
* CLI Code Cleanup: move all shell functions into the ShellState by @Mytherin in https://github.com/duckdb/duckdb/pull/14483
* CLI Code Cleanup: Move rendering logic into separate Renderer classes by @Mytherin in https://github.com/duckdb/duckdb/pull/14485
* Reformat compressed materialization functions by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14470
* Internal #3273: Shared Window Expressions by @hawkfish in https://github.com/duckdb/duckdb/pull/14450
* CLI Code Cleanup: rework metadata commands in the shell by @Mytherin in https://github.com/duckdb/duckdb/pull/14503
* CSV Parallel Reading Validation by @pdet in https://github.com/duckdb/duckdb/pull/14439
* Avoid recompilations of duckdb when there are no actual changes by @carlopi in https://github.com/duckdb/duckdb/pull/14176
* Add `-safe` mode to shell which disables external access, and remove SQLite UDFs from the shell by @Mytherin in https://github.com/duckdb/duckdb/pull/14509
* [PySpark] Add functions covar_pop, covar_samp, call_functions, endswith, startswith, exp, factorial, log2, ln, degrees, radians, atan, atan2, tan, round, bround by @binste in https://github.com/duckdb/duckdb/pull/14454
* Reformat arithmetic operators by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14489
* add attach with default tables by @samansmink in https://github.com/duckdb/duckdb/pull/14118
* Add duckdb_param_logical_type by @Giorgi in https://github.com/duckdb/duckdb/pull/14515
* Remove most BUILD_ options for extensions, using CORE_EXTENSIONS by @carlopi in https://github.com/duckdb/duckdb/pull/14531
* CLI: more code clean-up by @Mytherin in https://github.com/duckdb/duckdb/pull/14551
* Reformat nested and sequence functions by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14495
* Parquet: Fixing selection vector calculation by @hannes in https://github.com/duckdb/duckdb/pull/14558
* CLI: Fix for .mode markdown rendering after refactor by @Mytherin in https://github.com/duckdb/duckdb/pull/14569
* Out-Of-Core Updates & Deletes by @Mytherin in https://github.com/duckdb/duckdb/pull/14559
* Manage `enable_external_access` at the FileSystem level, and add `allowed_paths` and `allowed_directories` option by @Mytherin in https://github.com/duckdb/duckdb/pull/14568
* feat(iejoin): use sort to replace binary search in iejoin by @my-vegetable-has-exploded in https://github.com/duckdb/duckdb/pull/14507
* Clean-up distinct statistics - add hashes cache add the Append and Vacuum layers, and remove unnecessary lock by @Mytherin in https://github.com/duckdb/duckdb/pull/14578
* [PySpark] Test Spark API with actual PySpark as backend by @binste in https://github.com/duckdb/duckdb/pull/14526
* Internal #3273: Shared Window Frames by @hawkfish in https://github.com/duckdb/duckdb/pull/14544
* Reformat aggregate functions by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14530
* Expose threshold argument of Jaro-Winkler similarity by @zmbc in https://github.com/duckdb/duckdb/pull/12079
* No pushing filters below projections that cast to a lower logical type id by @Tmonster in https://github.com/duckdb/duckdb/pull/13617
* Implement `left_projection_map` for joins by @lnkuiper in https://github.com/duckdb/duckdb/pull/13729
* remove superfluous comment by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14586
* [Dev] Make the `regression_test_runner` easier to replicate by @Tishj in https://github.com/duckdb/duckdb/pull/14557
* [PySpark] Add dataframe methods drop_duplicates, intersectAll, exceptAll, toArrow by @binste in https://github.com/duckdb/duckdb/pull/14458
* Internal #3381: Window Race Condition by @hawkfish in https://github.com/duckdb/duckdb/pull/14599
* Rework generated EnumUtil code by @Mytherin in https://github.com/duckdb/duckdb/pull/14391
* Force aggregate state to be `trivially_destructible`, unless `AggregateDestructorType::LEGACY` is used by @Mytherin in https://github.com/duckdb/duckdb/pull/14615
* AWS - remove expected error message by @Mytherin in https://github.com/duckdb/duckdb/pull/14633
* Temp directory compression by @lnkuiper in https://github.com/duckdb/duckdb/pull/14465
* Add support for SELECT * RENAME by @Mytherin in https://github.com/duckdb/duckdb/pull/14650
* [PySpark] Add autocompletion for column names to dataframes by @binste in https://github.com/duckdb/duckdb/pull/14577
* Force aggregate state to be `is_trivially_move_constructible` by @lnkuiper in https://github.com/duckdb/duckdb/pull/14640
* Correctly render EXPLAIN EXECUTE - use op.GetChildren() instead of hard-coding special cases by @Mytherin in https://github.com/duckdb/duckdb/pull/14651
* Buffer Manager - Make DestroyBufferUpon atomic by @Mytherin in https://github.com/duckdb/duckdb/pull/14656
* proposed enhancements to the query graphs by @peterboncz in https://github.com/duckdb/duckdb/pull/14637
* Sampling respects seed from random number generator if no seed is given. by @Tmonster in https://github.com/duckdb/duckdb/pull/14374
* Blockwise NL Join: Return control on every iteration in `ExecuteInternal` by @Mytherin in https://github.com/duckdb/duckdb/pull/14658
* feature(spark): add hex and unhex functions by @spenrose in https://github.com/duckdb/duckdb/pull/14573
* Support `SELECT * LIKE '%col%'` syntax by @Mytherin in https://github.com/duckdb/duckdb/pull/14662
* feature(spark): add base64 and unbase64 function by @spenrose in https://github.com/duckdb/duckdb/pull/14561
* Fix #14663: correctly propagate null values in list concat operator by @Mytherin in https://github.com/duckdb/duckdb/pull/14675
* `ALTER TABLE ADD PRIMARY KEY` by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14419
* Merge feature into main by @Mytherin in https://github.com/duckdb/duckdb/pull/14690
* Support for CSV Encoding (UTF-16 and Latin-1) by @pdet in https://github.com/duckdb/duckdb/pull/14560
* Fix #14699 - Correctly handle SHOW TABLES in views by @Mytherin in https://github.com/duckdb/duckdb/pull/14705
* Fix #14701 - avoid flattening in-place in ColumnData Append method by @Mytherin in https://github.com/duckdb/duckdb/pull/14708
* Use TryCastAs instead of DefaultTryCastAs in comparison_simplification by @Mytherin in https://github.com/duckdb/duckdb/pull/14711
* Value interface & serialization clean-up by @Mytherin in https://github.com/duckdb/duckdb/pull/14710
* Fix various nightly CI issues by @Mytherin in https://github.com/duckdb/duckdb/pull/14720
* CLI: Add support for `.thousand_sep` and `.decimal_sep` by @Mytherin in https://github.com/duckdb/duckdb/pull/14721
* Propagate collations through functions in a generic manner by @Mytherin in https://github.com/duckdb/duckdb/pull/14717
* Add functions for handling null duckdb_values by @Giorgi in https://github.com/duckdb/duckdb/pull/14687
* adaptive filters should not reorder filters that can throw by @Tmonster in https://github.com/duckdb/duckdb/pull/14672
* [Python] Add `LambdaExpression` to the Python Expression API by @Tishj in https://github.com/duckdb/duckdb/pull/14713
* Add fallback for thread count if jemalloc cannot identify by @lnkuiper in https://github.com/duckdb/duckdb/pull/14688
* csv: parse escape character in unquoted fields by @fanyang01 in https://github.com/duckdb/duckdb/pull/14464
* [Python][Expression API] Add the `between` method on the `Expression` class by @Tishj in https://github.com/duckdb/duckdb/pull/14726
* [Attach][Macro] Fix issues identified with an attached macro by @Tishj in https://github.com/duckdb/duckdb/pull/14715
* Dont quote strings on csv files if quote='' by @pdet in https://github.com/duckdb/duckdb/pull/14731
* sqlite3_api_wrapper: avoid nullptr dereference by @ProjectMutilation in https://github.com/duckdb/duckdb/pull/14748
* Rework `BlockHandle` to no longer have friend classes, and rework `ConvertToPersistent` so it fails if there are active outstanding pins by @Mytherin in https://github.com/duckdb/duckdb/pull/14746
* Revert "CMake: Avoid dependency-inducing codegeneration of extension headers" by @carlopi in https://github.com/duckdb/duckdb/pull/14723
* [PySpark] Add more functions such as ascii, asin, btrim, char, corr, ... and fix differences in ordering of null values between PySpark and DuckDB by @binste in https://github.com/duckdb/duckdb/pull/14738
* Added list value getters duckdb_get_list_child and duckdb_get_list_size by @prashanthellina in https://github.com/duckdb/duckdb/pull/14714
* [Python][Expression API] Add `collate` to create a `CollateExpression` by @Tishj in https://github.com/duckdb/duckdb/pull/14749
* copy to operator still write schema for empty rows by @wenjun93 in https://github.com/duckdb/duckdb/pull/14524
* [Python] Use nullable dtypes in Pandas `DataFrame` creation when possible by @Tishj in https://github.com/duckdb/duckdb/pull/14377
* Update metrics generation script and include it in CI run by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14756
* Add support for projection pushdown into struct fields by @Mytherin in https://github.com/duckdb/duckdb/pull/14750
* Optimistic writes: flush the last row group in all scenarios by @Mytherin in https://github.com/duckdb/duckdb/pull/14759
* Improve SqlStatement::ToString for UPDATE and DELETE statement to include alias of RETURNING clause by @HarshLunagariya in https://github.com/duckdb/duckdb/pull/14765
* Add JSON Logical Type metadata to parquet writer by @niger-prequel in https://github.com/duckdb/duckdb/pull/14747
* [Python] Add support for `Expression` to `values` to create a ValueRelation by @Tishj in https://github.com/duckdb/duckdb/pull/14757
* Add missing global options to Python's `write_parquet` by @fr3fou in https://github.com/duckdb/duckdb/pull/14766
* Add operator name to profiling output by @ywelsch in https://github.com/duckdb/duckdb/pull/14744
* Detect catalog changes on DROP IF EXISTS by @ywelsch in https://github.com/duckdb/duckdb/pull/14742
* Correctly deal with continued operation after reading a truncated WAL, and clean up WAL handling logic in storage manager by @Mytherin in https://github.com/duckdb/duckdb/pull/14785
* [Fix] Error message in transaction manager by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14788
* Initialize the grouping sets when there is a group by all to enable filter pushdown by @Tmonster in https://github.com/duckdb/duckdb/pull/14660
* Merge feature into main again by @Mytherin in https://github.com/duckdb/duckdb/pull/14793
* [Python][Expression API] Add `update` to `DuckDBPyRelation`, accepting `Expression` objects | Add `DefaultExpression` by @Tishj in https://github.com/duckdb/duckdb/pull/14780
* Fix #14540: fix unnest rewriter by @flashmouse in https://github.com/duckdb/duckdb/pull/14784
* [PySpark] Add approxCountDistinct, add_months, and various array functions by @binste in https://github.com/duckdb/duckdb/pull/14620
* Add syntax highlighting support for errors in the CLI by @Mytherin in https://github.com/duckdb/duckdb/pull/14799
* Implement #14787: allow expressions in the aggregate clause of a PIVOT statement, as long as the aggregate clause only modifies the aggregate result and does not contain other columns by @Mytherin in https://github.com/duckdb/duckdb/pull/14800
* When repeatable is set, set ParallelSink to false by @Tmonster in https://github.com/duckdb/duckdb/pull/14797
* [Catalog] Fix issue related to uncaught problems during a COMMIT by @Tishj in https://github.com/duckdb/duckdb/pull/14150
* [Upsert] Support non-distinct values in the inserted data by @Tishj in https://github.com/duckdb/duckdb/pull/14293
* Fix issue copying a TABLE that references a SEQUENCE by @Tishj in https://github.com/duckdb/duckdb/pull/14693
* fix duckdb_extension.h macros for C by @samansmink in https://github.com/duckdb/duckdb/pull/14808
* LTO CMake setting was not working anymore on MacOS, fixing that by @carlopi in https://github.com/duckdb/duckdb/pull/14811
* Add syntax highlighting support to the DuckBox query result by @Mytherin in https://github.com/duckdb/duckdb/pull/14820
* Avoiding unnecessary rebinding by @samansmink in https://github.com/duckdb/duckdb/pull/14616
* Support struct projection pushdown in Parquet files by @Mytherin in https://github.com/duckdb/duckdb/pull/14839
* Internal #3263: Window Distinct Deadlock by @hawkfish in https://github.com/duckdb/duckdb/pull/14775
* Issue #14737: DISTINCT ORDER Dependency by @hawkfish in https://github.com/duckdb/duckdb/pull/14840
* [Python][Dev] Skip `test_pandas_selection` on Python3.8 by @Tishj in https://github.com/duckdb/duckdb/pull/14851
* [Python][Dev] Fix issues with new/updated tests in the python sqllogictest implementation by @Tishj in https://github.com/duckdb/duckdb/pull/14850
* add function ends_with back by @Damon07 in https://github.com/duckdb/duckdb/pull/14859
* Require `capacity` in ValidityMask by @Mytherin in https://github.com/duckdb/duckdb/pull/14846
* Issue #11557: DECIMAL Downcast Rounding by @hawkfish in https://github.com/duckdb/duckdb/pull/14860
* Increase map inference threshold by @lnkuiper in https://github.com/duckdb/duckdb/pull/14848
* Output exception message on parse exception by @ackxolotl in https://github.com/duckdb/duckdb/pull/14852
* Use `LogicalTypeId::Unknown` instead of `LogicalTypeId::SQLNULL` for macro binding by @lnkuiper in https://github.com/duckdb/duckdb/pull/14809
* return InsertionOrderPreservingMap from TableFunction to_string by @samansmink in https://github.com/duckdb/duckdb/pull/14835
* Support default values when appending data chunks by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14733
* [PySpark] Add a lot more functions incl. some regexp ones by @binste in https://github.com/duckdb/duckdb/pull/14761
* Added getters for enum and struct type values by @prashanthellina in https://github.com/duckdb/duckdb/pull/14831
* Fix write partition columns false by @ykskb in https://github.com/duckdb/duckdb/pull/14871
* Generate In-Clause filters from hash joins by @Mytherin in https://github.com/duckdb/duckdb/pull/14864
* Move FTS extension out-of-tree by @lnkuiper in https://github.com/duckdb/duckdb/pull/14872
* [C API] More tests and nits by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14758
* Issue #14885: DATEPART Cache Bounds by @hawkfish in https://github.com/duckdb/duckdb/pull/14891
* Fix arrow table filters by @Tmonster in https://github.com/duckdb/duckdb/pull/14893
* [Python] Fix various issues uncovered by #12959 by @Tishj in https://github.com/duckdb/duckdb/pull/13149
* Remove some Snappy definitions by @lnkuiper in https://github.com/duckdb/duckdb/pull/14897
* [Fix] Binder exception when creating a foreign key on a view by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14882
* [C API] Implement AddColumn and ClearColumns for the Appender by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14880
* python: use PyUnicode_FromStringAndSize() by @methane in https://github.com/duckdb/duckdb/pull/14895
* Top-N: Improve performance with large heaps, and correctly call Reduce by @Mytherin in https://github.com/duckdb/duckdb/pull/14900
* Append to child column first in list column append by @Mytherin in https://github.com/duckdb/duckdb/pull/14902
* Update cardinality during limit pushdown by @jeewonhh in https://github.com/duckdb/duckdb/pull/14901
* Add `struct_concat` by @Maxxen in https://github.com/duckdb/duckdb/pull/14853
* [Compression] Add ZSTD compression by @Tishj in https://github.com/duckdb/duckdb/pull/14514
* Improve timestamp functionality by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14818
* Fix #14833: split_part follow pg by @flashmouse in https://github.com/duckdb/duckdb/pull/14875
* C API: Add Value Relation constructor with RelationContextWrapper and ParsedExpression as argument by @anshuldata in https://github.com/duckdb/duckdb/pull/14892
* Issue #14734: Wrap Parquet TIMETZ by @hawkfish in https://github.com/duckdb/duckdb/pull/14908
* [Fix] release shared connection pointer before it goes out of scope by @roj516 in https://github.com/duckdb/duckdb/pull/14926
* [Fix] Nightly async build by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14913
* [Tests] Re-enable test for vector verification run by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14911
* Return timestamp with timezone in `read_text`/`read_blob` by @Maxxen in https://github.com/duckdb/duckdb/pull/14925
* Fix several CLI issues by @Mytherin in https://github.com/duckdb/duckdb/pull/14929
* improve ReadAheadBuffer::AddReadHead error message by @stephaniewang526 in https://github.com/duckdb/duckdb/pull/14940
* Skip Dynamic Join Ordering Algorithm if there are many relations by @Tmonster in https://github.com/duckdb/duckdb/pull/14943
* remove failing benchmark by @hmeriann in https://github.com/duckdb/duckdb/pull/14945
* Typo in csv UnterminatedQuotesError how_to_fix_it by @bradleybuda in https://github.com/duckdb/duckdb/pull/14951
* Pullup empty results through delim joins as well by @Tmonster in https://github.com/duckdb/duckdb/pull/14920
* Fix getting named parameter type information. by @Giorgi in https://github.com/duckdb/duckdb/pull/14952
* Fix casting long to int via explicit cast in parquet by @carlopi in https://github.com/duckdb/duckdb/pull/14959
* Fix script/regression/benchmark.py rework by @carlopi in https://github.com/duckdb/duckdb/pull/14958
* Explicit install of pkg-config broke, removing it by @carlopi in https://github.com/duckdb/duckdb/pull/14965
* Improve code generation of storage and serialization version infos by @carlopi in https://github.com/duckdb/duckdb/pull/14947
* C API support for non-standard timestamp values by @jraymakers in https://github.com/duckdb/duckdb/pull/14954
* Implement Logical Compaction in Hash Join Operator by @YimingQiao in https://github.com/duckdb/duckdb/pull/14956
* Disable row group size bytes default initialization by @lnkuiper in https://github.com/duckdb/duckdb/pull/14974
* [Swift.yml] Bump to macos-14, and switch simulation targets by @carlopi in https://github.com/duckdb/duckdb/pull/14984
* Use IOException for failed fstat calls by @ywelsch in https://github.com/duckdb/duckdb/pull/14975
* Logical Sample requires child to have separate join order optimization by @Tmonster in https://github.com/duckdb/duckdb/pull/14969
* Properly register successful dialect runs by @pdet in https://github.com/duckdb/duckdb/pull/14977
* Run containerized builds requiring deprecatd ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION only on main/feature by @carlopi in https://github.com/duckdb/duckdb/pull/14998
* Fuzzer #3297: Nth Value Indexing by @hawkfish in https://github.com/duckdb/duckdb/pull/14997
* [Arrow] Filter pushdown decimal fix by @Tishj in https://github.com/duckdb/duckdb/pull/14995
* Support multiple function descriptions by @c-herrewijn in https://github.com/duckdb/duckdb/pull/14838
* Join Filter Pushdown does not push down in filters when nulls are present by @Tmonster in https://github.com/duckdb/duckdb/pull/14970
* [Fix] Throw on invalid MAP input in Value::MAP by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14916
* Rely on extension-ci-tools workflow to build linux_amd64_gcc4 extensions by @carlopi in https://github.com/duckdb/duckdb/pull/14987
* Rework Auto-Complete To Work Based On PEG grammar by @Mytherin in https://github.com/duckdb/duckdb/pull/15003
* for-loop-erase bugfix in filter pushdown by @peterboncz in https://github.com/duckdb/duckdb/pull/15008
* Internal #861: Window Code Refactoring by @hawkfish in https://github.com/duckdb/duckdb/pull/15007
* Internal #3574: INTERVAL Normlisation Carries by @hawkfish in https://github.com/duckdb/duckdb/pull/15009
* [Arrow] Fix scan of an object providing the PyCapsuleInterface when projection pushdown is possible. by @Tishj in https://github.com/duckdb/duckdb/pull/14993
* [PySpark] - Add extra str functions to pyspark api by @mariotaddeucci in https://github.com/duckdb/duckdb/pull/14921
* [PySpark] - Add .isNull and .isNotNull methods to Column class by @mariotaddeucci in https://github.com/duckdb/duckdb/pull/14960
* DuckDB Arrow Non Canonical Extensions to use arrow.opaque by @pdet in https://github.com/duckdb/duckdb/pull/15002
* Autocomplete test fix by @Mytherin in https://github.com/duckdb/duckdb/pull/15019
* Add check_peg_parser to extension_entries by @carlopi in https://github.com/duckdb/duckdb/pull/15021
* Re-enable jemalloc on ARM by @lnkuiper in https://github.com/duckdb/duckdb/pull/14810
* Dynamically decide whether to do a Perfect Hash Join by @lnkuiper in https://github.com/duckdb/duckdb/pull/14971
* No salt for Android by @lnkuiper in https://github.com/duckdb/duckdb/pull/14923
* Fixup linux_arm64 extension builds by @carlopi in https://github.com/duckdb/duckdb/pull/15016
* Issue #14834: INTERVAL Collations by @hawkfish in https://github.com/duckdb/duckdb/pull/15022
* SUM(x + C) rewrite by @Mytherin in https://github.com/duckdb/duckdb/pull/15017
* Spell NULL with uppercase in configuration description and comments by @szarnyasg in https://github.com/duckdb/duckdb/pull/15006
* Force download doesn't require to do a head request by @pdet in https://github.com/duckdb/duckdb/pull/14979
* CSV Reader - 4 byte delimiters by @pdet in https://github.com/duckdb/duckdb/pull/14670
* More regression tests by @lnkuiper in https://github.com/duckdb/duckdb/pull/14973
* [PySpark] Add more functions such as slice, split, standard deviations, etc. by @binste in https://github.com/duckdb/duckdb/pull/14863
* Fix extension entries by @Mytherin in https://github.com/duckdb/duckdb/pull/15027
* Speed up scans of RLE compressed data by @Mytherin in https://github.com/duckdb/duckdb/pull/15023
* Speed up scans of Uncompressed strings by @Mytherin in https://github.com/duckdb/duckdb/pull/15024
* Internal #3583: INGNORE NULLS Race by @hawkfish in https://github.com/duckdb/duckdb/pull/15032
* [Regression.yml] Add icu, needed for external regression tests by @carlopi in https://github.com/duckdb/duckdb/pull/15044
* Fix internal error of list_zip with only truncate argument provided by @Damon07 in https://github.com/duckdb/duckdb/pull/15039
* Avoid sum rewrite for hugeint/uhugeint since it could introduce overflow errors by @Mytherin in https://github.com/duckdb/duckdb/pull/15040
* BarScalarFunction needs to keep track of width != string.size() by @carlopi in https://github.com/duckdb/duckdb/pull/15041
* Add SUM(BOOL) overload by @Mytherin in https://github.com/duckdb/duckdb/pull/15042
* Add virtual callback to get dependency manager to the catalog by @Mytherin in https://github.com/duckdb/duckdb/pull/15043
* Flip OR filter comparison if constant is on the other side by @Mytherin in https://github.com/duckdb/duckdb/pull/15045
* Fix #15010: in map cast only access validity when child elements were not fully converted by @Mytherin in https://github.com/duckdb/duckdb/pull/15046
* Various fixes for vector size = 2 CI by @Mytherin in https://github.com/duckdb/duckdb/pull/15047
* Add `require ram` to test runner, and use to limit distinct_grouping_tpch.test by @Mytherin in https://github.com/duckdb/duckdb/pull/15048
* [pystubs] Fix type of `proto` parameter in `from_substrait` methods. by @ingomueller-net in https://github.com/duckdb/duckdb/pull/15004
* CLI: Add -f [FILE] argument that allows execution of a file by @Mytherin in https://github.com/duckdb/duckdb/pull/15050
* max_temp_directory_size - print "90% of available disk space" as value if temp directory is not initialized by @Mytherin in https://github.com/duckdb/duckdb/pull/15057
* Interrupt query on error in `ClientContext::Query` by @Mytherin in https://github.com/duckdb/duckdb/pull/15058
* Turn count_if into an actual aggregate function by @Mytherin in https://github.com/duckdb/duckdb/pull/15061
* CLI: Add .safe_mode as a dot command as well by @Mytherin in https://github.com/duckdb/duckdb/pull/15064
* Pushdown inequality filters by @Mytherin in https://github.com/duckdb/duckdb/pull/15059
* Restore support for DEBUG_STACKTRACE by @carlopi in https://github.com/duckdb/duckdb/pull/15053
* Shell: Provide a summary of numbers if we are rendering only a single row by @Mytherin in https://github.com/duckdb/duckdb/pull/15031
* Issue #15067: Postgres Age Compatibility by @hawkfish in https://github.com/duckdb/duckdb/pull/15070
* add duckdb_append_value to C API by @jraymakers in https://github.com/duckdb/duckdb/pull/15065
* Speed up Main CI workflow by @Mytherin in https://github.com/duckdb/duckdb/pull/15071
* [CSV Reader] Being more flexible with unescaped quotes in quoted values. by @pdet in https://github.com/duckdb/duckdb/pull/15018
* IEJoin GetProgress: Normalize to 0-100 by @carlopi in https://github.com/duckdb/duckdb/pull/15081
* Avoid building for Python 3.7 on Windows by @carlopi in https://github.com/duckdb/duckdb/pull/15085
* Allow inputting a base hash in Regression workflow by @lnkuiper in https://github.com/duckdb/duckdb/pull/15082
* Top-N: Perform global boundary checking before doing sort-key conversion by @Mytherin in https://github.com/duckdb/duckdb/pull/15087
* Fix aggregate regression by @lnkuiper in https://github.com/duckdb/duckdb/pull/15025
* Sum Rewriter: correctly match only Sum aggregations in sum rewriter by @Mytherin in https://github.com/duckdb/duckdb/pull/15088
* new answers for some JOIN benchmarks by @hmeriann in https://github.com/duckdb/duckdb/pull/15090
* Ensure checkpoint tasks complete on IO exceptions by @ywelsch in https://github.com/duckdb/duckdb/pull/15089
* Internal #3615: Quantile Cursor Allocation by @hawkfish in https://github.com/duckdb/duckdb/pull/15102
* Issue #15056: DISTINCT Insensitive Aggregation by @hawkfish in https://github.com/duckdb/duckdb/pull/15066
* Bloom Filter Support in Parquet Reader/Writer by @hannes in https://github.com/duckdb/duckdb/pull/14597
* Dynamically push table filters from Top-N operator by @Mytherin in https://github.com/duckdb/duckdb/pull/15099
* Fix for #15080 cgroup v2 memory limit not being read correctly by @nickzoic in https://github.com/duckdb/duckdb/pull/15103
* Provide support for continuous profiling by @ywelsch in https://github.com/duckdb/duckdb/pull/14972
* fix bundle-library step by @samansmink in https://github.com/duckdb/duckdb/pull/15093
* Internal #861: Value Function SubFrames by @hawkfish in https://github.com/duckdb/duckdb/pull/15100
* Parquet reader: correctly reset vector in between calls to read when skipping by @Mytherin in https://github.com/duckdb/duckdb/pull/15107
* Do not swap `RIGHT` joins to `LEFT` when `BuildProbeSideOptimizer` is disabled by @lnkuiper in https://github.com/duckdb/duckdb/pull/15105
* Fix CheckMarkToSemi conversion in FilterPushdown optimizer by @kryonix in https://github.com/duckdb/duckdb/pull/15104
* Setting `temp_directory` to `NULL` should be same as setting it to `''` by @lnkuiper in https://github.com/duckdb/duckdb/pull/15113
* Add make_date(INT) function, similar to make_timestamp(BIGINT) by @Mytherin in https://github.com/duckdb/duckdb/pull/15109
* Support unlimited precision in JSON by using yyjson "raw" values by @lnkuiper in https://github.com/duckdb/duckdb/pull/15112
* Avoid repartitioning out-of-core hash joins if very, very skewed by @lnkuiper in https://github.com/duckdb/duckdb/pull/15114
* Linux dockerized extensions: invoke script in right folder by @carlopi in https://github.com/duckdb/duckdb/pull/15122
* Operator's GetProgress to return ProgressData instead of double by @carlopi in https://github.com/duckdb/duckdb/pull/15084
* Skip building azure extension due to problems installing libxml by @carlopi in https://github.com/duckdb/duckdb/pull/15126
* Test now passes due to flexible quote on CSVs by @pdet in https://github.com/duckdb/duckdb/pull/15133
* Avoid cleaning up past releases if we have not just uploaded a new one by @carlopi in https://github.com/duckdb/duckdb/pull/15134
* Implement struct projection pushdown for JSON reads by @lnkuiper in https://github.com/duckdb/duckdb/pull/15116
* Update the `.clang-format` file to disable sorting includes by @Tishj in https://github.com/duckdb/duckdb/pull/15131
* `rowid` filter pushdown by @Maxxen in https://github.com/duckdb/duckdb/pull/15020
* Parquet Reader: use aligned unpack in RleBpDecoder when possible by @Mytherin in https://github.com/duckdb/duckdb/pull/15106
* Fixup deployment of extensions for build_extensions_dockerized by @carlopi in https://github.com/duckdb/duckdb/pull/15136
* Parquet reader: rename metadata cache setting to `parquet_metadata_cache`, and avoid using it for stats by @Mytherin in https://github.com/duckdb/duckdb/pull/15129
* Fix `BLOB` conversion in `parquet_metadata` by @lnkuiper in https://github.com/duckdb/duckdb/pull/15132
* Add explicit_cardinality to ParquetOptions [de]serialized fields by @carlopi in https://github.com/duckdb/duckdb/pull/15135
* Issue #15138: Friendlier ICU Settings by @hawkfish in https://github.com/duckdb/duckdb/pull/15139
* Execute test/sql/aggregate/aggregates/first_memory_usage.test_slow single threaded by @carlopi in https://github.com/duckdb/duckdb/pull/15146
* Store transactions that have deletes on a table with indexes by @Mytherin in https://github.com/duckdb/duckdb/pull/15144
* Only generate physical plan for LogicalPrepare when it is going to be used by @ywelsch in https://github.com/duckdb/duckdb/pull/15145
* [CSV Sniffer] Selecting file to sniff from Glob and List by @pdet in https://github.com/duckdb/duckdb/pull/13703
* Refactor signing linux extensions by @carlopi in https://github.com/duckdb/duckdb/pull/15159
* FileHandle should retain the FileOpenFlags it was opened with by @jkub in https://github.com/duckdb/duckdb/pull/15153
* transform modifiers in pivot with no columns by @Damon07 in https://github.com/duckdb/duckdb/pull/15155
* Fix wrong type append of base vector by @pdet in https://github.com/duckdb/duckdb/pull/15157
* Add cross-version testing CI by @carlopi in https://github.com/duckdb/duckdb/pull/15161
* Fix wrongly used github.ref to sha by @carlopi in https://github.com/duckdb/duckdb/pull/15167
* Fix Regression workflow running against itself by @lnkuiper in https://github.com/duckdb/duckdb/pull/15165
* Add dictionary size, and use dictionary/constant vectors in the aggregate hash table to speed up finding groups by @Mytherin in https://github.com/duckdb/duckdb/pull/15152
* Fix ci issues by @carlopi in https://github.com/duckdb/duckdb/pull/15169
* Do not assume constant comparison is compare equal by @Tmonster in https://github.com/duckdb/duckdb/pull/15164
* Read file in 100mb chunks in read_file/read_blob by @Maxxen in https://github.com/duckdb/duckdb/pull/15160
* [Compression] Add RoaringBitmap Compression by @Tishj in https://github.com/duckdb/duckdb/pull/14878
* bump spatial + VCPKG Commit by @Maxxen in https://github.com/duckdb/duckdb/pull/15158
* Fix various ci nightly by @carlopi in https://github.com/duckdb/duckdb/pull/15178
* Keep track of compression function in ColumnData, and add dedicated `select` call to compression function by @Mytherin in https://github.com/duckdb/duckdb/pull/15186
* Push dynamic Top-N filters for VARCHAR columns as well by @Mytherin in https://github.com/duckdb/duckdb/pull/15188
* Issue #15069: Postgres CURRENT_XXX Compatibility by @hawkfish in https://github.com/duckdb/duckdb/pull/15125
* Add DictionaryId that can be used to uniquely identify dictionaries, and use this in the aggregate HT to cache look-ups by @Mytherin in https://github.com/duckdb/duckdb/pull/15196
* NULL check for invalid result by @MonkeybreadSoftware in https://github.com/duckdb/duckdb/pull/15194
* Rework `TableFilterType::CONSTANT_COMPARISON` to work identically to constant comparisons in SQL by @Mytherin in https://github.com/duckdb/duckdb/pull/15197
* Fix spelling mistakes in some comments by @tomhanks2024 in https://github.com/duckdb/duckdb/pull/14982
* Move httpfs to external repository by @carlopi in https://github.com/duckdb/duckdb/pull/14727
* Review no_extension_autoloading requires in tests: either remove, add FIXME or add EXPECTED by @carlopi in https://github.com/duckdb/duckdb/pull/15191
* Fix for row-id pushdown, and remove unnecessarily complicated method by @Mytherin in https://github.com/duckdb/duckdb/pull/15216
* Fix deserialization of approx decimal quantile aggregate by @Mytherin in https://github.com/duckdb/duckdb/pull/15215
* LoadInfo::Copy needs to copy the version by @Mytherin in https://github.com/duckdb/duckdb/pull/15214
* RE2: reduce unnecessary allocations in BitState by @Mytherin in https://github.com/duckdb/duckdb/pull/15210
* Increase stale bot's timeout by @szarnyasg in https://github.com/duckdb/duckdb/pull/15224
* [Python][Dev] Remove noisy / faulty test by @Tishj in https://github.com/duckdb/duckdb/pull/15220
* Add dedicated `filter` method to compression algorithms by @Mytherin in https://github.com/duckdb/duckdb/pull/15209
* [Python][Dev] Fix `test_filter_pushdown.py` by @Tishj in https://github.com/duckdb/duckdb/pull/15225
* Rework Wasm extensions CI, and use out_of_tree_extensions.cmake by @carlopi in https://github.com/duckdb/duckdb/pull/15223
* Fix #15221: use TryCast when converting Parquet stats - and fallback to not having stats by @Mytherin in https://github.com/duckdb/duckdb/pull/15233
* Fix #15177 - detect corruption in dictionary compressed strings by @Mytherin in https://github.com/duckdb/duckdb/pull/15227
* Fix #15175 - use case-insensitive comparison when de-duplicating hive columns from files by @Mytherin in https://github.com/duckdb/duckdb/pull/15228
* CLI: only render large numbers if ALL values are large numbers by @Mytherin in https://github.com/duckdb/duckdb/pull/15229
* Fix several fuzzer issues by @Mytherin in https://github.com/duckdb/duckdb/pull/15226
* In Clause Rewriter: add mark column to the filter projection map to avoid projecting it upwards which can cause issues with set operations by @Mytherin in https://github.com/duckdb/duckdb/pull/15213
* Skip spatial on MinGW, given otherwise mingw extensions CI will fail by @carlopi in https://github.com/duckdb/duckdb/pull/15237
* Add filter on repository_dispatch to Regression nightly run by @carlopi in https://github.com/duckdb/duckdb/pull/15241
* Rework upload ci via reusable workflow by @carlopi in https://github.com/duckdb/duckdb/pull/15243
* Bump excel extension by @Maxxen in https://github.com/duckdb/duckdb/pull/15222
* `OR`/`IN` filter pushdown for `VARCHAR` by @lnkuiper in https://github.com/duckdb/duckdb/pull/15219
* Issue #15054: Windowed Aggregate Macros by @hawkfish in https://github.com/duckdb/duckdb/pull/15181
* feat: Add CHECK expression to error message on constraint failure by @rustyconover in https://github.com/duckdb/duckdb/pull/15148
* Linenoise: make Ctrl+G execute the query by @Mytherin in https://github.com/duckdb/duckdb/pull/15244
* Fix #15072 and #15073: propagate aliases correctly in * SIMILAR TO, and forbid `RENAME` as well by @Mytherin in https://github.com/duckdb/duckdb/pull/15247
* Fix #15051: support ORDER BY rowid in ARRAY by @Mytherin in https://github.com/duckdb/duckdb/pull/15248
* CLI: improve quote handling in syntax highlighting of errors and don't throw in shell renderer by @Mytherin in https://github.com/duckdb/duckdb/pull/15249
* Histogram: convert decimals to doubles for histogram binning function by @Mytherin in https://github.com/duckdb/duckdb/pull/15250
* Revert "RE2: reduce unnecessary allocations in BitState" by @Mytherin in https://github.com/duckdb/duckdb/pull/15252
* Grouped aggregation performance improvements by @lnkuiper in https://github.com/duckdb/duckdb/pull/15251
* Add run_benchmark.py script by @Mytherin in https://github.com/duckdb/duckdb/pull/15253
* Fix #15012: transform large literals in the range of > HUGEINT_MAX < UHUGEINT_MAX to uhugeint by @Mytherin in https://github.com/duckdb/duckdb/pull/15255
* Clang-tidy fixes in Parquet writer by @Mytherin in https://github.com/duckdb/duckdb/pull/15256
* Fix for VERIFY_VECTOR=Dictionary in Window Bounds by @Mytherin in https://github.com/duckdb/duckdb/pull/15257
* Fix #15239: detect subqueries in lateral join conditions and throw an explicit error when encountered by @Mytherin in https://github.com/duckdb/duckdb/pull/15260
* Implement #14513: implement support for (a, b) IN (SELECT ...) for uncorrelated subqueries by @Mytherin in https://github.com/duckdb/duckdb/pull/15259
* Various nightly CI fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/15258
* Fix #15261: turn AuxInfo into a safe optional_ptr instead of a raw pointer, and check whether or not enum is complete in pivot by @Mytherin in https://github.com/duckdb/duckdb/pull/15263
* Fix for JSONSerializer of BLOB by @Mytherin in https://github.com/duckdb/duckdb/pull/15274
* Do not exclude nulls when multiple mark join conditions by @Tmonster in https://github.com/duckdb/duckdb/pull/15275
* [Python] Fix an issue with double quotes in `getattr` of DuckDBPyRelation by @Tishj in https://github.com/duckdb/duckdb/pull/15277
* Fixup extension selection by @carlopi in https://github.com/duckdb/duckdb/pull/15272
* [Fix] Bind the ALTER TABLE ADD PK code into the duck catalog by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15231
* Realnest HEP benchmarks by @hmeriann in https://github.com/duckdb/duckdb/pull/14468
* Feature #12699: XXX_VALUE Secondary Sorts by @hawkfish in https://github.com/duckdb/duckdb/pull/15270
* Join order bugs by @Tmonster in https://github.com/duckdb/duckdb/pull/15230
* Various nightly CI test fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/15273
* Bugfixes by @lnkuiper in https://github.com/duckdb/duckdb/pull/15276
* Ungrouped aggregate gets cardinality of 1 by @jeewonhh in https://github.com/duckdb/duckdb/pull/15279
* More nightly tidy fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/15280
* bump vss by @Maxxen in https://github.com/duckdb/duckdb/pull/15283
* Fix #15183: correctly handle NULL values in generic GREATEST implementation by @Mytherin in https://github.com/duckdb/duckdb/pull/15287
* Issue #15246: Negative Nanosecond Timestamps by @hawkfish in https://github.com/duckdb/duckdb/pull/15289
* Don't decode special characters on redirect by @lcostantino in https://github.com/duckdb/duckdb/pull/15101
* remove O_SYNC from O_DIRECT by @jkub in https://github.com/duckdb/duckdb/pull/15294
* Fix #14938: when combining ENUM with SQLNULL/UNKNOWN types, preserve the ENUM type by @Mytherin in https://github.com/duckdb/duckdb/pull/15297
* allow positional access in named structs by @peterboncz in https://github.com/duckdb/duckdb/pull/15151
* Fix 2 unconnected small problems in CI by @carlopi in https://github.com/duckdb/duckdb/pull/15304
* Add value creation and accessor functions to the C API for VARINT, DECIMAL, BIT, and UUID by @jraymakers in https://github.com/duckdb/duckdb/pull/15212
* Only create information_schema/pg_catalog catalogs in the system catalog by @Mytherin in https://github.com/duckdb/duckdb/pull/15286
* Add `get_partition_stats` callback to TableFunction to get a list of all row group metadata, and use this to speed up `COUNT(*)` by @Mytherin in https://github.com/duckdb/duckdb/pull/15301
* Fix for bitstring_agg on empty result - only complain about missing stats when we actually process rows by @Mytherin in https://github.com/duckdb/duckdb/pull/15305
* Correctly propagate child-types in MAP to the internal struct values, and test httpfs in LATEST_STORAGE by @Mytherin in https://github.com/duckdb/duckdb/pull/15303
* remove conditional around fsync in single_file_block_manager by @jkub in https://github.com/duckdb/duckdb/pull/15306
* Move away from upload-artifacts@v3 / download-artifacts@v3 by @carlopi in https://github.com/duckdb/duckdb/pull/15309
* Fix update_extensions_ci test by @carlopi in https://github.com/duckdb/duckdb/pull/15310
* Addressing over-eager constraint checking with delete indexes by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15092
* Fix internal issue #3740 by @hannes in https://github.com/duckdb/duckdb/pull/15320
* EXPLAIN/EXPLAIN ANALYZE - limit max lines of each extra info element, instead of truncating the entire node by @Mytherin in https://github.com/duckdb/duckdb/pull/15317
* Minor nightly test fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/15318
* Bump Extension C API to stable by @samansmink in https://github.com/duckdb/duckdb/pull/14992
* Pass down DUCKDB_EXTENSION_SIGNING_PK as env by @carlopi in https://github.com/duckdb/duckdb/pull/15324
* Bump to latest sqlsmith and re-enable wasm by @carlopi in https://github.com/duckdb/duckdb/pull/15323
* Skipping lookups in `GroupedAggregateHashTable` if (almost) everything is unique by @lnkuiper in https://github.com/duckdb/duckdb/pull/15321
* Add automatic sampling regression fix 2 by @Tmonster in https://github.com/duckdb/duckdb/pull/14914
* [Dev] Fix Roaring compression bug on appending small vectors by @Tishj in https://github.com/duckdb/duckdb/pull/15326
* Fix JSON reader hang by @lnkuiper in https://github.com/duckdb/duckdb/pull/15328
* [Dev] Clean up `Dictionary` compression code by @Tishj in https://github.com/duckdb/duckdb/pull/15300
* Adjustments on test to bypass sniffing limitation on vector_size by @pdet in https://github.com/duckdb/duckdb/pull/15330
* Enable stack traces by default, split into getting the frame pointers and resolve symbols only when the error is finalized, and add support for demangling by @Mytherin in https://github.com/duckdb/duckdb/pull/15337
* Use correct element rename_list_el in grammar by @Mytherin in https://github.com/duckdb/duckdb/pull/15339
* Unified use of constant MainHeader: FLAG_COUNT by @guoxiangCN in https://github.com/duckdb/duckdb/pull/15338
* Append default to appender by @Giorgi in https://github.com/duckdb/duckdb/pull/15121
* add core functions make_timestamp_ns(nanos) and epoch_ns(timestamp_ts) by @andreimatei in https://github.com/duckdb/duckdb/pull/14930
* feat: support create_on_conflict in create_table_relation by @scgkiran in https://github.com/duckdb/duckdb/pull/15245
* Fix error message checking in test concurrent index by @Mytherin in https://github.com/duckdb/duckdb/pull/15340
* CI: Use mirror for Spark binaries by @szarnyasg in https://github.com/duckdb/duckdb/pull/15372
* Fix skip CSV Rejects test by @pdet in https://github.com/duckdb/duckdb/pull/15359
* Vectorize lookups in `GroupedAggregateHashTable` by @lnkuiper in https://github.com/duckdb/duckdb/pull/15368
* Bump azure and remove patches by @carlopi in https://github.com/duckdb/duckdb/pull/15382
* Fix conditional jump or move depends on uninitialised value(s) by @pdet in https://github.com/duckdb/duckdb/pull/15367
* Start encapsulating `BaseExpression` by @Maxxen in https://github.com/duckdb/duckdb/pull/15360
* [Python] Allow use of `DuckDBPyType` as child objects in implicit conversions by @Tishj in https://github.com/duckdb/duckdb/pull/15346
* [Dev] Made `reference<CompressionFunction> function` private in `ColumnSegment` by @Tishj in https://github.com/duckdb/duckdb/pull/15347
* [Dev] Fix erroneous assert in `ZSTD` scan for `LogicalTypeId::VARCHAR` by @Tishj in https://github.com/duckdb/duckdb/pull/15357
* [Dev] Reset to the vector cache so the vectors are clean for the scan by @Tishj in https://github.com/duckdb/duckdb/pull/15383
* Fix tests not to use compatibility version latest by @carlopi in https://github.com/duckdb/duckdb/pull/15361
* Fix Test introduced by new sampling by @Tmonster in https://github.com/duckdb/duckdb/pull/15378
* Feature #12699: RANK Secondary Sorts by @hawkfish in https://github.com/duckdb/duckdb/pull/15331
* [Fix] Uninitialised values in list_reverse by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15387
* [Dev] Check in `insert` if the InsertionOrderPreservingMap contains the key, do nothing in that case by @Tishj in https://github.com/duckdb/duckdb/pull/15385
* AFL++ Fuzzer Tests and Fixes by @pdet in https://github.com/duckdb/duckdb/pull/15329
* Fix RelationStatisticsHelper to estimate table filters correctly by @Tmonster in https://github.com/duckdb/duckdb/pull/15308
* [PySpark] - Add broadcast function by @mariotaddeucci in https://github.com/duckdb/duckdb/pull/15037
* feat: refactor getting tie_break_offset in SelectBestMatch by @stephaniewang526 in https://github.com/duckdb/duckdb/pull/15235
* Added dashes to test case csv_buffer_size_rejects.test_slow by @hannes in https://github.com/duckdb/duckdb/pull/15398
* [Dev] Split last part of `ColumnDataCheckpointer::Checkpoint` into `FinalizeCheckpoint` by @Tishj in https://github.com/duckdb/duckdb/pull/15388
* Fix JSON reader hang found by fuzzer by @lnkuiper in https://github.com/duckdb/duckdb/pull/15397
* Better partition selection for external hash joins by @lnkuiper in https://github.com/duckdb/duckdb/pull/15389
* fix arm extensions ci by @samansmink in https://github.com/duckdb/duckdb/pull/15400
* Feature #12699: ROW_NUMBER Secondary Sorts by @hawkfish in https://github.com/duckdb/duckdb/pull/15403
* Improve hash combining by @lnkuiper in https://github.com/duckdb/duckdb/pull/15408
* allow multifilereaders to delete entire chunks in FinalizeChunk by @samansmink in https://github.com/duckdb/duckdb/pull/15401
* Fix issue #14659 by @pdet in https://github.com/duckdb/duckdb/pull/15411
* Fix for issue #14648 by @pdet in https://github.com/duckdb/duckdb/pull/15409
* Re-enable some tests, removing `mode skip` or moving it later by @carlopi in https://github.com/duckdb/duckdb/pull/15488
* [Fix] Adjust reclaim space test to smaller block size nightly by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15414
* Feature #12699: CUME_DIST Secondary Sorts by @hawkfish in https://github.com/duckdb/duckdb/pull/15413
* Fix issue with cleanup of buffers when reading same file multiple times by @pdet in https://github.com/duckdb/duckdb/pull/15358
* [Fix] Track correct allocation size of evicted memory by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15433
* Fix internal issue 3813 by @lnkuiper in https://github.com/duckdb/duckdb/pull/15427
* Exploit RFC_4180 to be more strict with newline settings by @pdet in https://github.com/duckdb/duckdb/pull/15426
* Adds comment to Python Object + small adjustment do sniffer with comment detection. by @pdet in https://github.com/duckdb/duckdb/pull/15425
* Fix more nightly test errors due to sampling by @Tmonster in https://github.com/duckdb/duckdb/pull/15423
* Type mismatch set operation by @Tmonster in https://github.com/duckdb/duckdb/pull/15422
* Making the names option of CSV Files more restrictive when reading one file. by @pdet in https://github.com/duckdb/duckdb/pull/15431
* [Python][Dev] Lock `mypy` at 1.13 by @Tishj in https://github.com/duckdb/duckdb/pull/15448
* Fix InFilter::ToString, visible via EXPLAIN ANALYZE for example by @carlopi in https://github.com/duckdb/duckdb/pull/15487
* Mention configuration option that avoids total string size error in error message by @soerenwolfers in https://github.com/duckdb/duckdb/pull/15489
* Fix the seed of RandomLocalState to be 64bit instead of 32bits by @carlopi in https://github.com/duckdb/duckdb/pull/15482
* Fix ADBC Leak when reusing statements by @pdet in https://github.com/duckdb/duckdb/pull/15475
* chore: Add physical type translations for new timestamp types by @krlmlr in https://github.com/duckdb/duckdb/pull/15472
* [Dev] Slight cleanup of `assert.hpp` by @Tishj in https://github.com/duckdb/duckdb/pull/15453
* Retain join partition order by @lnkuiper in https://github.com/duckdb/duckdb/pull/15460
* Use system threads for parallelism on read_csv if reading from pipe by @pdet in https://github.com/duckdb/duckdb/pull/15461
* C API header generation for Go bindings by @taniabogatsch in https://github.com/duckdb/duckdb/pull/14944
* Move InitSegment into roaring namespace (nit) by @arjenpdevries in https://github.com/duckdb/duckdb/pull/15495
* chore: Add header for g++15 compatibility by @krlmlr in https://github.com/duckdb/duckdb/pull/15509
* Functions can throw errors by @Tmonster in https://github.com/duckdb/duckdb/pull/15166
* Improve candidate error message and relax constraint of rfc_4180 = false on quotes by @pdet in https://github.com/duckdb/duckdb/pull/15371
* Implement Union By Name on read csv relation by @pdet in https://github.com/duckdb/duckdb/pull/15452
* Add behaviour to remove unescaped quotes of unquoted values by @pdet in https://github.com/duckdb/duckdb/pull/15454
* [CSV Sniffer] If a column with Time/Date/Timestamp values encounter any other value, immediately go to VARCHAR by @pdet in https://github.com/duckdb/duckdb/pull/15494
* Introduce 2 new platforms: `musllinux_arm64` and `musllinux_amd64` by @carlopi in https://github.com/duckdb/duckdb/pull/15429
* 15128: failed to bind column reference for function under unnest. by @Tmonster in https://github.com/duckdb/duckdb/pull/15421
* Setting descriptions grammar by @szarnyasg in https://github.com/duckdb/duckdb/pull/15500
* Feature #12699: LEAD/LAG Secondary Sorts by @hawkfish in https://github.com/duckdb/duckdb/pull/15497
* Replace funcs copies with moves in sorted_aggregate_function.cpp by @ttsugriy in https://github.com/duckdb/duckdb/pull/15442
* Re-enable iceberg extension by @carlopi in https://github.com/duckdb/duckdb/pull/15456
* Fix a binder issue with type aliases and foreign key constraints by @Tishj in https://github.com/duckdb/duckdb/pull/15517
* Properly ignore empty spaces after end of quotes by @pdet in https://github.com/duckdb/duckdb/pull/15522
* Fix window/test_window_wide_frame.test_slow after random() changes by @carlopi in https://github.com/duckdb/duckdb/pull/15524
* Add atomic ptr class, use in ColumnData to protect Compression function by @Mytherin in https://github.com/duckdb/duckdb/pull/15518
* fix broken link by @alexravenna in https://github.com/duckdb/duckdb/pull/15532
* Various fuzzer fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/15531
* remove duplicate FastMem copies in binary by @xuke-hat in https://github.com/duckdb/duckdb/pull/15470
* [Julia] Improves Julia support for scalar UDFs by @tqml in https://github.com/duckdb/duckdb/pull/15430
* Update year in license file to 2025 by @szarnyasg in https://github.com/duckdb/duckdb/pull/15545
* [Python] Align the behavior between `sql` and `execute` for `.pl()` call by @Tishj in https://github.com/duckdb/duckdb/pull/15537
* Don't create config folder on extension listing by @lcostantino in https://github.com/duckdb/duckdb/pull/15530
* Add `ExtensionTypeInfo` to `ExtraTypeInfo` by @Maxxen in https://github.com/duckdb/duckdb/pull/15373
* Fix some external join benchmark specifications by @lnkuiper in https://github.com/duckdb/duckdb/pull/15561
* Update progress_bar.cpp / drop DUCKDB_DISABLE_PRINT macro by @meztez in https://github.com/duckdb/duckdb/pull/15560
* Fix answers for benchmarks containing `random()` function by @hmeriann in https://github.com/duckdb/duckdb/pull/15562
* Make `max_temp_directory_size` round-trip by @carlopi in https://github.com/duckdb/duckdb/pull/15549
* Allow databases with table_macros to be copyable via COPY FROM DATABASE by @carlopi in https://github.com/duckdb/duckdb/pull/15548
* Allow a variable type `rowid` pseudocolumn in tables by @rustyconover in https://github.com/duckdb/duckdb/pull/14674
* Internal #3860: Deserialise Secondary Orderings by @hawkfish in https://github.com/duckdb/duckdb/pull/15541
* Throw IO exception on 1.1.3 database file with incorrect dependency order by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15568
* Use ISNULL in conjunction or filters by @Tmonster in https://github.com/duckdb/duckdb/pull/15529
* Avoid fast fail: change defaults to run all tests in more cases by @carlopi in https://github.com/duckdb/duckdb/pull/15558
* Asof join adds rows in specific case by @Tmonster in https://github.com/duckdb/duckdb/pull/15567
* [Julia]: Auto-generate api.jl (requires duckdb v1.2?) by @tqml in https://github.com/duckdb/duckdb/pull/15474
* Implicit STRUCT to STRUCT cast for mismatching member names by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15477
* make test always fail in case of internal exception by @c-herrewijn in https://github.com/duckdb/duckdb/pull/15569
* CI: Bump container for Android build by @szarnyasg in https://github.com/duckdb/duckdb/pull/15577
* Fix #15526: CTE use operator type modified by intersect_all by @flashmouse in https://github.com/duckdb/duckdb/pull/15575
* [Julia]: Auto-generate api.jl with new order by @tqml in https://github.com/duckdb/duckdb/pull/15580
* [Dev] `ColumnDataCheckpointer` can now checkpoint column data and validity data together by @Tishj in https://github.com/duckdb/duckdb/pull/15566
* Feature #12699: Secondary Sort Framing by @hawkfish in https://github.com/duckdb/duckdb/pull/15523
* [Test] More STRUCT cast tests by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15578
* Making RFC4180=True more reestrisctive when it comes to newline delimiters by @pdet in https://github.com/duckdb/duckdb/pull/15581
* In PhysicalInsert call FinalFlush before merging row groups into local storage by @Mytherin in https://github.com/duckdb/duckdb/pull/15583
* HTTPFS test - no longer check for IS NOT NULL filter as this is no longer necessary by @Mytherin in https://github.com/duckdb/duckdb/pull/15585
* Clean-up stack traces on MacOS, fix demangling on Linux, and add `EXPORT_DYNAMIC_SYMBOLS` flag which enables stack traces on Linux by @Mytherin in https://github.com/duckdb/duckdb/pull/15587
* InternalException should only invalidate database when encountered during execution by @Mytherin in https://github.com/duckdb/duckdb/pull/15588
* DuckFuzz Fix on Null parameters for both read_csv and sniff_csv by @pdet in https://github.com/duckdb/duckdb/pull/15565
* Annotate errors in table macros with the call position of the table macro by @Mytherin in https://github.com/duckdb/duckdb/pull/15590
* Line dependent buffer by @pdet in https://github.com/duckdb/duckdb/pull/14512
* More bugfixes by @lnkuiper in https://github.com/duckdb/duckdb/pull/15605
* csv_scanner: fix order of evaluation of arguments to a function by @ProjectMutilation in https://github.com/duckdb/duckdb/pull/15609
* [Dev] Fix an unnecessary copy in Dictionary compression by @Tishj in https://github.com/duckdb/duckdb/pull/15594
* [Julia] Fix incorrect types by @tqml in https://github.com/duckdb/duckdb/pull/15612
* Update URLs by @szarnyasg in https://github.com/duckdb/duckdb/pull/15617
* [Compression] `Dictionary` compression data now also includes the validity data by @Tishj in https://github.com/duckdb/duckdb/pull/15591
* Issue #14996: Aggregate Secondary Orderings by @hawkfish in https://github.com/duckdb/duckdb/pull/15592
* Backport ENTRY_VISIBILITY from duckdb/extension-template-c by @carlopi in https://github.com/duckdb/duckdb/pull/15611
* Adjust list_reduce to use a 1-based indexing by @szarnyasg in https://github.com/duckdb/duckdb/pull/15614
* window: fix nullptr dereference by @ProjectMutilation in https://github.com/duckdb/duckdb/pull/15610
* Improve reading duplicate column names in JSON by @lnkuiper in https://github.com/duckdb/duckdb/pull/15615
* Build/test/distribute linux_amd64_musl core extensions by @carlopi in https://github.com/duckdb/duckdb/pull/15607
* Implement `simple_update` for `first` aggregate function by @lnkuiper in https://github.com/duckdb/duckdb/pull/15619
* Issue #15596: Infinite Value Checks by @hawkfish in https://github.com/duckdb/duckdb/pull/15620
* Issue #15610: Wide Secondary Ordering by @hawkfish in https://github.com/duckdb/duckdb/pull/15625
* Issue template updates by @szarnyasg in https://github.com/duckdb/duckdb/pull/15618
* [C API] Expose the DB instance cache in the C API by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15579
* File url scheme by @samansmink in https://github.com/duckdb/duckdb/pull/15563
* Fix an if statement that is always True by @cclauss in https://github.com/duckdb/duckdb/pull/15630
* Issue #15597: Temporal Error Messages by @hawkfish in https://github.com/duckdb/duckdb/pull/15635
* Parallel `union_by_name` for `read_json` by @lnkuiper in https://github.com/duckdb/duckdb/pull/15593
* [Tidy] create index info in static function for reusability by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15633
* [Arrow] Fix a bug related to ArrowArray lifetimes in the arrow scan code by @Tishj in https://github.com/duckdb/duckdb/pull/15632
* Not using Random Device in DuckDB Core by @pdet in https://github.com/duckdb/duckdb/pull/15540
* Initialize random_seed to silence warning on uninitialized variable by @carlopi in https://github.com/duckdb/duckdb/pull/15649
* Cleanup the GitHub Action for Python by @cclauss in https://github.com/duckdb/duckdb/pull/15643
* Added `weighted_avg` function using macro by @gropaul in https://github.com/duckdb/duckdb/pull/15616
* Skip tests, cleaning up known failures in CI by @carlopi in https://github.com/duckdb/duckdb/pull/15651
* Extension type modifier followup by @Maxxen in https://github.com/duckdb/duckdb/pull/15638
* Index scan on (dynamic) table filters by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15410
* Feature #12699: Windowed Aggregate Ordering by @hawkfish in https://github.com/duckdb/duckdb/pull/15634
* Make MemoryStream non-copyable by @Maxxen in https://github.com/duckdb/duckdb/pull/15656
* Implement `DELTA_LENGTH_BYTE_ARRAY` and `BYTE_STREAM_SPLIT` encodings for Parquet writer by @lnkuiper in https://github.com/duckdb/duckdb/pull/15653
* Arrow Extension Type to be registered in DuckDB Extensions by @pdet in https://github.com/duckdb/duckdb/pull/15285
* fix creating VARINT logical type in C API by @jraymakers in https://github.com/duckdb/duckdb/pull/15670
* Allow switching to a different catalog from a detached catalog by @jeewonhh in https://github.com/duckdb/duckdb/pull/15624
* Logging by @samansmink in https://github.com/duckdb/duckdb/pull/15119
* TableCatalogEntry instead of DuckTableEntry in TableScanBindData by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15668
* Throw on unknown logging_storage set by @carlopi in https://github.com/duckdb/duckdb/pull/15681
* Remove mention to not existing logging_disabled_thread_local.benchmark by @carlopi in https://github.com/duckdb/duckdb/pull/15680
* [Dev] Remove the `CompressionValidity::NO_VALIDITY_REQUIRED` from `Dictionary` by @Tishj in https://github.com/duckdb/duckdb/pull/15636
* [Dev] Fix wrong result reported by Roaring Compression `FinalAnalyze` by @Tishj in https://github.com/duckdb/duckdb/pull/15677
* Fix Python dictionary key is repeated by @cclauss in https://github.com/duckdb/duckdb/pull/15663
* Fix sign-compare compilation warning by @dentiny in https://github.com/duckdb/duckdb/pull/15672
* Deploy bundled static libraries for OSX arm64 and amd64 by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15682
* Varint to varchar optimization by @Damon07 in https://github.com/duckdb/duckdb/pull/15521
* Nightly Fixes by @pdet in https://github.com/duckdb/duckdb/pull/15690
* Reduce test size so CI is less likely to fail by @lnkuiper in https://github.com/duckdb/duckdb/pull/15689
* Clean up temporary test directory in `run_tests_one_by_one.py` even if test segfaults by @lnkuiper in https://github.com/duckdb/duckdb/pull/15688
* Late Materialization Optimizer by @Mytherin in https://github.com/duckdb/duckdb/pull/15692
* [Fix] Make next_batch_index atomic by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15699
* Add late_materialization_max_rows setting that allows you to configure the threshold at which late materialization is triggered by @Mytherin in https://github.com/duckdb/duckdb/pull/15697
* Default to BOOL on csv sniffer for files with only a header by @pdet in https://github.com/duckdb/duckdb/pull/15701
* DatabaseInstance's destructor: avoid throwing (and not cleaning up) by @carlopi in https://github.com/duckdb/duckdb/pull/15707
* Bugfixes by @lnkuiper in https://github.com/duckdb/duckdb/pull/15704
* Remove iceberg, again by @carlopi in https://github.com/duckdb/duckdb/pull/15716
* Allow shift-tab to be used to revert auto-complete suggestion, and implement SHOW [table] auto-completion by @Mytherin in https://github.com/duckdb/duckdb/pull/15708
* [Dev] Fix alignment issue in Roaring compression method by @Tishj in https://github.com/duckdb/duckdb/pull/15711
* Minor fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/15715
* Move the DatabaseCacheEntry into the DBConfig, and set it before the constructor is called by @Mytherin in https://github.com/duckdb/duckdb/pull/15714
* Patching comparison operators in ICU to actually return bool by @hannes in https://github.com/duckdb/duckdb/pull/15700
* Preserve stack trace information when re-throwing by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/15709
* [MultiFileReader] Extend support for column mapping from local -> global column by @Tishj in https://github.com/duckdb/duckdb/pull/15446
* Fix Arrow extension type Locks by @pdet in https://github.com/duckdb/duckdb/pull/15705
* Dont encode + on URL by @pdet in https://github.com/duckdb/duckdb/pull/15693
* Print an error when using "duckdb -f [file]" on a file that does not exist by @Mytherin in https://github.com/duckdb/duckdb/pull/15718
* Implement `parquet_version` parameter for Parquet writer by @lnkuiper in https://github.com/duckdb/duckdb/pull/15684
* [Testing] Temporarily skip tests by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15727
* Add NATIVE_ARCH option to compile using -march=native, and in the CLI time queries that are send through "-c" by @Mytherin in https://github.com/duckdb/duckdb/pull/15726
* Remove httpfs patch by @lnkuiper in https://github.com/duckdb/duckdb/pull/15729
* Fix #15659: VARCHAR parameters now count as STRING_LITERAL again by @Mytherin in https://github.com/duckdb/duckdb/pull/15724
* Parquet reader: fix for filter on file_row_number column by @Mytherin in https://github.com/duckdb/duckdb/pull/15736
* Scan validity from dictionary vectors directly, and skip scanning validity when we encounter a dictionary vector by @Mytherin in https://github.com/duckdb/duckdb/pull/15737
* Make entries field non-nullable for Arrow map type by @samansmink in https://github.com/duckdb/duckdb/pull/15733
* Properly set `external` flag again in `RadixPartitionedHashTable` by @lnkuiper in https://github.com/duckdb/duckdb/pull/15728
* Storage version 65 by @carlopi in https://github.com/duckdb/duckdb/pull/15702
* Enable index scan for dynamic IN filter by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15665
* Ignore pushes to version branches by @Mytherin in https://github.com/duckdb/duckdb/pull/15743
* Move changes in v1.2 to main by @Mytherin in https://github.com/duckdb/duckdb/pull/15744
* Initialize create_index_info.catalog by @philippmd in https://github.com/duckdb/duckdb/pull/15738
* Feature #15717: Window GROUPS by @hawkfish in https://github.com/duckdb/duckdb/pull/15739
* Fetch only required columns in physical delete by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15746
* Add duckdb secret types function by @samansmink in https://github.com/duckdb/duckdb/pull/15564
* First round of extension bumps by @Maxxen in https://github.com/duckdb/duckdb/pull/15655
* Move core_functions to use unity builds by @Mytherin in https://github.com/duckdb/duckdb/pull/15753
* Add `disabled_compression_methods` setting that can be used to disable certain compression methods by @Mytherin in https://github.com/duckdb/duckdb/pull/15754
* Add support for deserializing a list of SetOperations in the SetOperationNode by @Mytherin in https://github.com/duckdb/duckdb/pull/15755
* Feature #15717: Window GROUPS by @hawkfish in https://github.com/duckdb/duckdb/pull/15761
* Check for mark join indexes in aggregate and group by by @Tmonster in https://github.com/duckdb/duckdb/pull/15691
* Default end of binding to varchar and not bool in CSV Reader by @pdet in https://github.com/duckdb/duckdb/pull/15747
* If arrow extension is not registered, use format information instead of failing by @pdet in https://github.com/duckdb/duckdb/pull/15749
* Merge 1.2 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/15769
* Fix CI for Linux Release Building by @hannes in https://github.com/duckdb/duckdb/pull/15748
* Merge changes in main into v1.2 by @Mytherin in https://github.com/duckdb/duckdb/pull/15770
* When loading LogicalDependency from a database file or WAL file, modify the catalog to the catalog that we are loading into by @Mytherin in https://github.com/duckdb/duckdb/pull/15767
* Fix minor DuckDB-Wasm problem with stacktraces, that would be shown twice by @carlopi in https://github.com/duckdb/duckdb/pull/15765
* Move the instance cache entry when configuring by @Mytherin in https://github.com/duckdb/duckdb/pull/15768
* nitpick: Sequence Scan -> Sequential Scan by @Mytherin in https://github.com/duckdb/duckdb/pull/15772
* Bundle MingW static library with the default extension configuration by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15774
* [Fix] Fix truncate + FK internal exception and another index bug by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15771
* Switch logging to macros by @samansmink in https://github.com/duckdb/duckdb/pull/15751
* Add back Iceberg extension by @carlopi in https://github.com/duckdb/duckdb/pull/15780
* Internal #4002: SQLite EXCLUDE Tests by @hawkfish in https://github.com/duckdb/duckdb/pull/15785
* Skip 3 tests, to be reviewed on a side by @carlopi in https://github.com/duckdb/duckdb/pull/15790
* Add MD to autoload list by @Mytherin in https://github.com/duckdb/duckdb/pull/15797
* Connection manager: make count available without a lock by keeping track of it with an atomic by @Mytherin in https://github.com/duckdb/duckdb/pull/15798
* Add `STORAGE_VERSION` option that allows you to specify the target storage version when serializing a database by @Mytherin in https://github.com/duckdb/duckdb/pull/15794
* Fix some memory/storage issues in CI by @lnkuiper in https://github.com/duckdb/duckdb/pull/15795
* Fix map_extract backwards compatability by @Maxxen in https://github.com/duckdb/duckdb/pull/15799
* Fixes for vsize=2 tests by @Mytherin in https://github.com/duckdb/duckdb/pull/15809
* Fix tests for storage 65 by @carlopi in https://github.com/duckdb/duckdb/pull/15807
* Enable tests using no_alternative_verify by @ywelsch in https://github.com/duckdb/duckdb/pull/15806
* V1.2 histrionicus by @Mytherin in https://github.com/duckdb/duckdb/pull/15812
* Fix dependency conflict in PK FK benchmark by @taniabogatsch in https://github.com/duckdb/duckdb/pull/15800
* Remove shuffle from sampling by @Tmonster in https://github.com/duckdb/duckdb/pull/15703
* bump inet by @Maxxen in https://github.com/duckdb/duckdb/pull/15804
* Fix `map_inference_threshold` issue in JSON reader by @lnkuiper in https://github.com/duckdb/duckdb/pull/15802
* [CI] Invert operations for Linux CLI: first deploy, then test by @carlopi in https://github.com/duckdb/duckdb/pull/15820
* Fixup shell & autocomplete versioning information by @carlopi in https://github.com/duckdb/duckdb/pull/15823
* Skip end of test/sql/storage/parallel/insert_many_compressible_batches.test_slow by @carlopi in https://github.com/duckdb/duckdb/pull/15814
* Attempted parquet warning fix by @Mytherin in https://github.com/duckdb/duckdb/pull/15827
* Issue #15758: Streaming LEAD Buffering by @hawkfish in https://github.com/duckdb/duckdb/pull/15834
* Removing all core code and CI related to the substrait extension by @pdet in https://github.com/duckdb/duckdb/pull/15810
* CSV AFL Tests by @pdet in https://github.com/duckdb/duckdb/pull/15805
* improve error messages for mismatching versions of extensions by @samansmink in https://github.com/duckdb/duckdb/pull/15829
* dbgen: correctly join threads in case an error is thrown while generating data in parallel by @Mytherin in https://github.com/duckdb/duckdb/pull/15840
* Do not change type of empty files, if the types were manually set by @pdet in https://github.com/duckdb/duckdb/pull/15841
* Fix #15760 - when a SQL value function conflicts with an alias in the WHERE clause, prefer the alias by @Mytherin in https://github.com/duckdb/duckdb/pull/15842
* Fix #15570: preserve alias when using bind_replace in table functions by @Mytherin in https://github.com/duckdb/duckdb/pull/15843
* Fix CAPI chunk tests by @pdet in https://github.com/duckdb/duckdb/pull/15846
* fix: Fix compiler warning for uninitialized access by @krlmlr in https://github.com/duckdb/duckdb/pull/15849
* Relax RFC_4180=False a bit more flexible by @pdet in https://github.com/duckdb/duckdb/pull/15832
* More lenient test limits by @Mytherin in https://github.com/duckdb/duckdb/pull/15845
* bump delta, remove patches by @samansmink in https://github.com/duckdb/duckdb/pull/15824
* enable autoloading for iceberg and delta for storage by @samansmink in https://github.com/duckdb/duckdb/pull/15822
* Fix get_current_time, today, current_date backwards compatibility by @Maxxen in https://github.com/duckdb/duckdb/pull/15803
* Reset buffer before allocating a new one in `ResizableBuffer` by @lnkuiper in https://github.com/duckdb/duckdb/pull/15838
* V1.2 histrionicus by @Mytherin in https://github.com/duckdb/duckdb/pull/15851
* [tpch] dbgen: Avoid throwing interrupt that can't be caught by @carlopi in https://github.com/duckdb/duckdb/pull/15856
* Add CI run testing also slow tests on PRs by @carlopi in https://github.com/duckdb/duckdb/pull/15854
* More memory for external aggregate test by @Mytherin in https://github.com/duckdb/duckdb/pull/15861
* Fixes for nightly tests related to the CSV Parser by @pdet in https://github.com/duckdb/duckdb/pull/15855
* Fix latest storage tests CI by @Mytherin in https://github.com/duckdb/duckdb/pull/15863
* Fix duckdb_extensions() listing by @carlopi in https://github.com/duckdb/duckdb/pull/15858
* Use const T& and T instead of const T&& and T&& in (de)serializer by @Mytherin in https://github.com/duckdb/duckdb/pull/15866
* Make tests more lenient for smaller block sizes by @Mytherin in https://github.com/duckdb/duckdb/pull/15872
* Remove default in MultiFileReaderColumnDefinition constructor by @Mytherin in https://github.com/duckdb/duckdb/pull/15871
* Fix spurious test/sql/copy/partitioned/partitioned_write_tpch.test_slow:53 error by @pdet in https://github.com/duckdb/duckdb/pull/15869
* BindLogicalType should return a new type, instead of modifying an existing type in-place by @Mytherin in https://github.com/duckdb/duckdb/pull/15868
* V1.2 histrionicus by @Mytherin in https://github.com/duckdb/duckdb/pull/15875
* Issue #15877: CUME_DIST Moving Frame by @hawkfish in https://github.com/duckdb/duckdb/pull/15878
* Nightly CI fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/15885
* Disable the RealNest benchmark nightly by @hmeriann in https://github.com/duckdb/duckdb/pull/15839
* disable iceberg tests by @samansmink in https://github.com/duckdb/duckdb/pull/15883
* [Linux CI] Remove examples, already tested as part of OSX Release by @carlopi in https://github.com/duckdb/duckdb/pull/15879
* Fix fuzzer issue found by the DuckFuzzer by @pdet in https://github.com/duckdb/duckdb/pull/15886
* Avoid unnecessarily reading the string dictionary size when scanning uncompressed strings by @Mytherin in https://github.com/duckdb/duckdb/pull/15887
* GCC-4.8 fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/15884
* Several nightly CI fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/15889
* Merge main into v1.2 by @Mytherin in https://github.com/duckdb/duckdb/pull/15895
* When Deserializing, Sample Selection Vectors should be initialized to `FIXED_SAMPLE_SIZE` by @Tmonster in https://github.com/duckdb/duckdb/pull/15890
* Faster re-builds by @hannes in https://github.com/duckdb/duckdb/pull/15891
* Add missing ExpressionType::COMPARE_NOTEQUAL no arrow pushdown by @pdet in https://github.com/duckdb/duckdb/pull/15892
* Fix race/deadlock in `FixedSizebuffer::Get()` by @Maxxen in https://github.com/duckdb/duckdb/pull/15893
* Call ProcessError also for PendingQueries by @carlopi in https://github.com/duckdb/duckdb/pull/15899
* Removed unused variable in LoggingContext by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/15898
* CI: Handle 'fixed on nightly' label by @szarnyasg in https://github.com/duckdb/duckdb/pull/15900
* CheckMagicBytes: zero initialise buffer by @carlopi in https://github.com/duckdb/duckdb/pull/15902
* Rename RFC_4180 to STRICT_MODE. Change default to true. Use the same option in the sniffer as the parser. by @pdet in https://github.com/duckdb/duckdb/pull/15896
* Fix Arrow Type Registration on Extensions by @pdet in https://github.com/duckdb/duckdb/pull/15901
* V1.2 histrionicus by @Mytherin in https://github.com/duckdb/duckdb/pull/15909
* Use Arrow extension GetType() implementation when converting Arrow arrays by @paleolimbot in https://github.com/duckdb/duckdb/pull/15813
**Full Changelog**: https://github.com/duckdb/duckdb/compare/v1.1.3...v1.2.0