dev/changelog/47.0.0.md
This release consists of 364 commits from 94 contributors. See credits at the end of this changelog for more information.
Breaking changes:
version <= 40 #15027 (qazxcdswe123)FileGroup structure for Vec<PartitionedFile> #15379 (xudong963)EXPLAIN format in datafusion-cli to tree format #15427 (alamb)Performance related:
first_value by implementing special GroupsAccumulator #15266 (UBarney)sort_tpch benchmarks #15560 (geoffreyclaude)clone on uninitiated_partitions in SortPreservingMergeStream #15562 (rluvaton)AND and OR #15462 (acking-you)last_value by implementing special GroupsAccumulator #15542 (UBarney)x=x --> x IS NOT NULL OR NULL #15589 (ding-young)Implemented enhancements:
tree / pretty explain mode #14677 (irenjj)array_max function support #14470 (erenavsarogullari)ProjectionExec #15082 (Standing-Man)Diagnostic to more than one column errors in scalar_subquery and in_subquery #15143 (changsun20)JoinSetTracer trait for tracing context propagation in spawned tasks #14547 (geoffreyclaude)batch_size #15335 (westhide)max_temp_directory_size to limit max disk usage for spilling queries #15520 (2010YOUY01)Fixed bugs:
core_expressions feature flag broken, move overlay into core functions #15217 (shruti2522)SpillManager #15355 (2010YOUY01)Projection #15242 (rkrishn7)count-bug produce incorrect results #15281 (suibianwanwank)date_trunc and from_unixtime for the SQLite unparser #15630 (peasee)Documentation updates:
SessionStateBuilder::new documentation #14980 (alamb)insta / snapshot testing to CLI & set up AWS mock #13672 (blaginin)EXPLAIN ... FORMAT <indent | tree | json | graphviz > ... #15166 (alamb)data/sqlite link #15286 (sdht0)statistics_from_parquet_meta_calc method #15330 (xudong963)ARRAY_AGG #14413 (gabotechs)Run extended tests command #15463 (alamb)AggregateExprBuilder #15504 (Shreyaskr1409)nth_val , etc #15555 (Adez017)Other:
DataSourceExec, FileScanConfig, DataSource etc #14941 (alamb)Expr::Wildcard #14959 (linhr)AggregateMode #14946 (alamb)rustup changes #14990 (alamb)backtrace feature in datafusion-cli #14997 (2010YOUY01)SessionStateBuilder::with_default_features does not replace existing features #14935 (irenjj)create_ordering pub and add doc for it #14996 (xudong963)SessionStateBuilder::new_with_default_features() #14998 (shruti2522)tree explain for FilterExec #15001 (alamb)AtArrow and ArrowAt conversion to BinaryOperator #14968 (cetra3)ProjectionPushdown at last #15040 (xudong963)UnwrapCastInComparison into Simplifier #15012 (jayzhan211)ScalarValue::raw_data #15016 (qazxcdswe123)DataSourceExec #15029 (alamb)OptimizerRule::try_optimize #15051 (qazxcdswe123)EquivalenceProperties #14821 (wiedld)need_handle_count_bug #15050 (suibianwanwank)tree explain for HashJoinExec #15079 (irenjj)tree explain for SortExec #15077 (irenjj)46.0.0 release tweaks: changelog + instructions #15073 (alamb)NestedLoopJoinExec, CrossJoinExec, `So… #15081 (irenjj)tree explain for BoundedWindowAggExec and WindowAggExec #15084 (irenjj)extra_info in tree explain #15125 (irenjj)SessionContext::create_physical_expr #15034 (alamb)tree mode 🧹 #15132 (alamb)serde feature #15124 (vadimpiven)RepartitionExec and WorkTableExec #15137 (Standing-Man)prepare_select_exprs #15090 (jayzhan211)env_logger from 0.11.6 to 0.11.7 #15148 (mbrobbel)SortPreservingMergeExec #15140 (Standing-Man)tree explain for JsonSink #15185 (irenjj)datafusion-substrait and datafusion-proto CI feature checks, increase coverage #15156 (alamb)tree explain for CsvSink #15204 (irenjj)json feature #15172 (Owen-CH-Leung)EquivalenceProperties docs #15215 (alamb)tree explain for ArrowFileSink, fix original URL #15206 (irenjj)LocalLimitExec #15232 (shruti2522)DataFrame tests #15165 (blaginin)used_underscore_binding clippy lint #15189 (Shreyaskr1409)tree mode #15163 (irenjj)ListingTableUrl::try_new public #15250 (linhr)expr in tree mode #15249 (irenjj)datafusion and datafusion-functions #15203 (alamb)insta #15262 (jsai28)clippy::clone_on_ref_ptr in all crates #15284 (alamb)datasource to catalog, deprecate View::try_new #15260 (logan-keede)AggregateFunctionExpr, add Expr::sql_name #15253 (irenjj)release-nonlto build #15350 (2010YOUY01)any instead of for_each #15289 (xudong963)CteWorkTable, default_table_source a bunch of files out of core #15316 (logan-keede)insta (Part-1) #15313 (Shreyaskr1409)EmptyRelation #15159 (blaginin)insta (Part-2) #15364 (Shreyaskr1409)insta (Part-3 / Final) #15399 (Shreyaskr1409)Int64 vs UInt64, etc) #15341 (Omega359)array_has UDF to InList expr when haystack is constant #15354 (davidhewitt)DataSink to datasource and add session crate #15371 (jayzhan-synnada)PartitionMode::Auto in planner #15339 (Dandandan)downcast_to_source method for DataSourceExec #15416 (xudong963)FileGroupPartitioner #15448 (xudong963)Run extended tests #15101 (danila-b)equals_datatype to compare type when type coercion #15366 (goldmedal)FileScanConfigBuilder #15352 (blaginin)to_timestamp #15486 (jatin510)Memtable to catalog #15459 (logan-keede)get_files_with_limit method #15521 (xudong963)datafusion/sql tests to insta, part2 #15499 (qstommyshu)fetch field inside ExternalSorter #15525 (2010YOUY01)split_groups_by_statistics method #15473 (xudong963)JoinOn type #15590 (jayzhan211)row_count and skipped_row_count #15587 (jayzhan211)Precision combination code in favor of Precision::min/max/add #15659 (alamb)FileScanConfig #15671 (xudong963)object_store to 0.12.0 and pyo3 to 0.24.0 #15466 (alamb)RepartitionExec to tree explain #15717 (2010YOUY01)Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor.
48 dependabot[bot]
34 Andrew Lamb
16 xudong.w
15 Jay Zhan
15 Qi Zhu
15 irenjj
13 Chen Chongchen
13 Yongting You
10 Tommy shu
7 Shruti Sharma
6 Alan Tang
6 Arttu
6 Jiashu Hu
6 Shreyas (Lua)
6 logan-keede
6 zeb
5 Dmitrii Blaginin
5 Geoffrey Claude
5 Jax Liu
5 YuNing Chen
4 Bruce Ritchie
4 Christian
4 Eshed Schacham
4 Xiangpeng Hao
4 wiedld
3 Adrian Garcia Badaracco
3 Daniël Heres
3 Gabriel
3 LB7666
3 Namgung Chan
3 Ruihang Xia
3 Tim Saucer
3 jsai28
3 kosiew
3 suibianwanwan
2 Bryce Mecum
2 Carol (Nichols || Goulding)
2 Heran Lin
2 Jannik Steinmann
2 Jyotir Sai
2 Li-Lun Lin
2 Lía Adriana
2 Oleks V
2 Raz Luvaton
2 UBarney
2 aditya singh rathore
2 westhide
2 zjregee
1 @clflushopt
1 Adam Gutglick
1 Alex Huang
1 Alex Wilcoxson
1 Amos Aidoo
1 Andy Grove
1 Andy Yen
1 Berkay Şahin
1 Chang
1 Danila Baklazhenko
1 David Hewitt
1 Emily Matheys
1 Eren Avsarogullari
1 Hari Varsha
1 Ian Lai
1 Jack Kelly
1 Jagdish Parihar
1 Joseph Koshakow
1 Lokesh
1 LuQQiu
1 Matt Butrovich
1 Matt Friede
1 Matthew Kim
1 Matthijs Brobbel
1 Om Kenge
1 Owen Leung
1 Peter L
1 Piotr Findeisen
1 Rohan Krishnaswamy
1 Satyam018
1 Sava Vranešević
1 Siddhartha Sahu
1 Sile Zhou
1 Vadim Piven
1 Zaki
1 christophermcdermott
1 cht42
1 cjw
1 delamarch3
1 ding-young
1 haruband
1 jamxia155
1 oznur-synnada
1 peasee
1 pranavJibhakate
1 张林伟
Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release.