dev/changelog/46.0.0.md
This release consists of 288 commits from 79 contributors. See credits at the end of this changelog for more information.
Please see the Upgrade Guide for help updating to DataFusion 46.0.0
Breaking changes:
NullHandling enum to Signature #14289 (jkosh44)DataSourceExec for provided datasources, remove ParquetExec, CsvExec, etc #14224 (mertak-synnada)DataFusionError::Collection to return multiple DataFusionErrors #14439 (eliaperantoni)target to DmlStatement (to eliminate need for table lookup after deserialization) #14631 (milenkovicm)plan_aggregate and plan_window to planner #14689 (jayzhan211)FileSource::create_file_opener's signature #14798 (AdamGS)LogicalPlanBuilder or when building logical plans from Substrait #14860 (anlinc)Performance related:
median with no grouping by 2X #14399 (2010YOUY01)FIRST_VALUE / LAST_VALUE by not sort rows in FirstValueAccumulator #14402 (blaginin)uuid UDF (40x faster) #14675 (simonvandel)to_hex (~2x faster) #14686 (simonvandel)Implemented enhancements:
struct and named_struct using invoke_with_args #14276 (pepijnve)Fixed bugs:
List of FixedSizeList coercion issue in SQL #14468 (alan910127)Values node planning #14472 (rkrishn7)return_type_from_args and mark nullable if any of the input is nullable #14841 (rluvaton)Documentation updates:
Cargo.lock #14483 (mbrobbel)DataFusionErrorBuilder #14551 (alamb)statistics_truncate_length parquet writer config #14782 (akoshchiy)AND/OR conjunctions #14735 (clflushopt)Other:
DataFrame API #14387 (alamb)arrow/parquet 54.1.0 and fix clippy/ci #14415 (Weijun-H)array_concat for Utf8View #14378 (alamb)null input in map_keys/values #14401 (cht42)out ofdatafusion-catalog` #14441 (logan-keede)Utf8View to numeric coercion #14377 (alamb)once_cell::Lazy with std::sync::LazyLock #14480 (mbrobbel)cargo fmt to fix CI #14487 (alamb)datafusion-sqllogictest #14506 (mbrobbel)Dictionary and List types in scalar_to_sql #14346 (cetra3)parquet_options in datafusion-proto #14465 (blaginin)arrow_buffer & arrow_array and use reexport in arrow instead #14503 (Chen-Yuan-Lai)0.54.0 #14255 (alamb)45.0.0 and tweak CHANGELOG docs #14545 (alamb)FileScanConfig #14543 (logan-keede)StringViewArray as output of substr #14498 (Kev1n8)arrow_array and use reexport in arrow instead #14528 (Chen-Yuan-Lai)datafusion-catalog-listing #14555 (logan-keede)datafusion-sqllogictest #14578 (alamb)extended_tests) that are failing on runner #14604 (alamb)date_trunc (~20% time reduction) #14593 (simonvandel)prost and pbjson dependabot updates #14626 (mbrobbel) take_function_args in more places #14525 (lgingerich)AutoFinishBzEncoder #14630 (jonahgao)Dict(_, Utf8View) in type_union_resolution_coercion #14602 (jayzhan211)update_plan_from_children call from EnforceSorting #14650 (xudong963)FileScanConfig::new_exec to FileScanConfig::build #14670 (alamb)datafusion_expr_common crate #14696 (jayzhan211)TableSource and DefaultTableSource #14665 (alamb)downcast_value! macro #14683 (findepi)insert into cases #14572 (zhuqi-lucas)LogicalPlanBuilder::insert_into #14663 (alamb)AggregateUDFImpl::schema_name and AggregateUDFImpl::display_name for customizable name #14695 (jayzhan211)union_extract code #14640 (alamb)inovke_with_args #14722 (zjregee)chr UDF (~4x faster) #14700 (simonvandel)AggregateUDFImpl::window_function_schema_name and AggregateUDFImpl::window_function_display_name for window aggregate function #14750 (jayzhan211)doc_auto_cfg, logo and favicon for docs.rs #14746 (mbrobbel)DataSource to datafusion-datasource #14671 (logan-keede)FileSource-specific repartitioning #14754 (AdamGS)Dictionary to AST datatype in unparser #14783 (cetra3)range table function #14830 (simonvandel)return_type_from_args instead of return_type #14852 (rluvaton)FileSourceConfig and FileStream to the new datafusion-datasource #14838 (AdamGS)gcd for array and scalar case by avoiding make_scalar_function where has unnecessary conversion between scalar and array #14834 (jayzhan211)invoke_with_args for datetime functions #14876 (onlyjackfrost)regenerate_sqlite_files.sh due to changes in sqllogictests #14881 (alamb)FileFormat and related pieces to datafusion-datasource #14873 (AdamGS)StringView due to shared buffers #14823 (2010YOUY01)Debug for DataSource #14882 (alamb)RawTable to HashTable #14904 (Dandandan)DataSource and FileSource fields for consistency #14898 (alamb)update_coalesce_ctx_children. #14907 (wiedld)build_row_filter method #14933 (xudong963)sqlitetest on main / update datafusion-testing pin #14940 (alamb)DataSourceExec, FileScanConfig, DataSource etc #14941 (alamb)Expr::Wildcard #14959 (linhr)Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor.
38 Andrew Lamb
35 dependabot[bot]
14 Piotr Findeisen
10 Matthijs Brobbel
10 logan-keede
9 Bruce Ritchie
9 xudong.w
8 Jay Zhan
8 Qi Zhu
6 Adam Gutglick
6 Joseph Koshakow
5 Ian Lai
5 Lordworms
5 Simon Vandel Sillesen
5 wiedld
5 zjregee
4 Dmitrii Blaginin
4 Kristin Cowalcijk
4 Peter L
4 Yongting You
4 irenjj
4 oznur-synnada
3 Andy Yen
3 Jax Liu
3 Oleks V
3 Rohan Krishnaswamy
3 Tim Saucer
3 kosiew
3 niebayes
3 张林伟
2 @clflushopt
2 Amos Aidoo
2 Andrey Koshchiy
2 Berkay Şahin
2 Carol (Nichols || Goulding)
2 Christian
2 Dawei H.
2 Elia Perantoni
2 Georgi Krastev
2 Jonah Gao
2 Raz Luvaton
2 Sergey Zhukov
2 mertak-synnada
1 Adrian Garcia Badaracco
1 Alan Tang
1 Albert Skalt
1 Alex Huang
1 Anlin Chen
1 Artem Osipov
1 Daniel Hegberg
1 Daniël Heres
1 David Hewitt
1 Duong Cong Toai
1 Eduard Karacharov
1 Gabriel
1 Hussein Awala
1 Kaifeng Zheng
1 Landon Gingerich
1 Leonid Ryzhyk
1 Li-Lun Lin
1 Marko Milenković
1 Matthew Kim
1 Matthew Turner
1 Namgung Chan
1 Nelson Antunes
1 Owen Leung
1 Paul J. Davis
1 Pepijn Van Eeckhoudt
1 Sasha Syrotenko
1 Sergei Grebnov
1 UBarney
1 Yingwen
1 Zhen Wang
1 cht42
1 cjw
1 dentiny
1 gstvg
1 m09526
1 nuno-faria
Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release.