Sourced from duckdb's releases.
DuckDB 1.2.0 "Histrionicus"
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 duckdb/duckdb#10348- Add cross join to Python Relational and PySpark API by
@khalidmammadov
in duckdb/duckdb#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 duckdb/duckdb#13871- Make sampling accept parameters at the parser/transformer layer by
@Mytherin
in duckdb/duckdb#13903- Fix #13867: use 64-bit random numbers to generate random numbers for
random()
by@Mytherin
in duckdb/duckdb#13920- Fix #13769: when binding views, always first search in the schema that the view is defined in by
@Mytherin
in duckdb/duckdb#13921- Rework table bindings to be components (
catalog
,schema
,table
) instead of flat strings by@Mytherin
in duckdb/duckdb#14017- Add auto-loadable extension settings to duckdb_config_count and duckdb_get_config_flag by
@Mytherin
in duckdb/duckdb#14021- Fix #10961 - in the HAVING clause - in case of column name conflicts, bind to aliases instead of to ungrouped columns by
@Mytherin
in duckdb/duckdb#14023- Enable filter pushdown through Logical Unnest by
@Tmonster
in duckdb/duckdb#14008- Allow duplicate table aliases in the table binder by
@Mytherin
in duckdb/duckdb#14035- Unify DESCRIBE [query] and DESCRIBE [table] by
@Mytherin
in duckdb/duckdb#14039- Support qualified identifiers in the
EXCLUDE
clause by@Mytherin
in duckdb/duckdb#14043- Add
SMALLER_BINARY
flag to reduce binary size by@Mytherin
in duckdb/duckdb#14057- Smaller Binary: remove more templates from arg_min_max by
@Mytherin
in duckdb/duckdb#14071- Unify entropy and mode aggregates - and skip specialized implementations for entropy with smaller binary by
@Mytherin
in duckdb/duckdb#14080- [Python] Add
set_default_connection
to theduckdb
module by@Tishj
in duckdb/duckdb#13442- Provide workaround for prefetching parquet files with incorrect page offsets by
@samansmink
in duckdb/duckdb#13697- Move
core_functions
to a separate extension by@Mytherin
in duckdb/duckdb#14149- PySpark df.drop() to support expressions by
@khalidmammadov
in duckdb/duckdb#14059- add some RealNest benchmarks by
@hmeriann
in duckdb/duckdb#13345- feed table function into multifilereader initialization by
@samansmink
in duckdb/duckdb#14112- [Dev] Fix an issue causing ExecuteTask to do much more work than intended by
@Tishj
in duckdb/duckdb#14034- Overhaul Parquet dictionary handling by
@hannes
in duckdb/duckdb#14194- [Feature] Allow passing the catalog (database name) to appender by
@taniabogatsch
in duckdb/duckdb#13692- Add Taxi Dataset Benchmark by
@pdet
in duckdb/duckdb#14197- Feature #3036: Window Spooling by
@hawkfish
in duckdb/duckdb#14181- Small C Extension API changes by
@samansmink
in duckdb/duckdb#13987- Add HTML and Graphviz support for explain analyze by
@abramk
in duckdb/duckdb#13942- Fix #13064: offer more suggestions with same score by
@Damon07
in duckdb/duckdb#14048- New Algorithm to find a new line on parallel execution by
@pdet
in duckdb/duckdb#14260- Making client context lock optional for relation binding by
@pdet
in duckdb/duckdb#14093- [Feature] Allow passing the catalog during C API appender creation by
@taniabogatsch
in duckdb/duckdb#14256- Make test random output ordered by
@Damon07
in duckdb/duckdb#14267- Skip test_window_distinct by
@Mytherin
in duckdb/duckdb#14309- Taxi Benchmark by
@pdet
in duckdb/duckdb#14301- Switch to shared pointer for multfilelists by
@samansmink
in duckdb/duckdb#14291- Push #14298 to feature branch by
@flashmouse
in duckdb/duckdb#14311- Implement PullUp Empty Results optimizer by
@Tmonster
in duckdb/duckdb#13524- [Export/Import] Use the DependencyManager to (stable) sort the entries before export by
@Tishj
in duckdb/duckdb#14196- Partitioning-Aware Aggregation and Partitioning-Aware Infrastructure by
@Mytherin
in duckdb/duckdb#14329- Add df.unionByName to PySpark API by
@khalidmammadov
in duckdb/duckdb#14063- Or filter pushdown into zone maps by
@Tmonster
in duckdb/duckdb#14313- Get the current setting in the database file opener by
@Mytherin
in duckdb/duckdb#14361
... (truncated)
a9bf7ad
[Julia] Fixes a a bug that the database is not properly closed even
after clo...0bee8ed
Fix spawn process4332964
Check if the file was writtend5a97a8
Format fixec0906d
Adds a fix that a database wasnt closed until GCba1ff79
[chore] Python's SQLLogic: skip 3 more tests2fe0db4
Pyodide: skip spark test9e1f147
[Python][Spark] Fix datetime functions test failures (#15983)0e2e057
there is no difference in the result anymore7c623b5
we shouldnt use timestamp tz here