dev/changelog/40.0.0.md
This release consists of 263 commits from 64 contributors. See credits at the end of this changelog for more information.
Breaking changes:
StringAgg to UDAF #10945 (lewiszlw)bool_and & bool_or to UDAF #11009 (jcsherin)&Arc reference to inner trait object #11103 (linhr)Filter::remove_aliases into Expr::unalias_nested #11001 (alamb)nth_value to UDAF #11287 (jcsherin)Implemented enhancements:
Binary/LargeBinary/Utf8/LargeUtf8 data types in data page statistics #11136 (PsiACE)Fixed bugs:
date_part #10833 (Weijun-H)NOT <field> IN (<subquery>) via anti join #10936 (akoshchiy)Documentation updates:
SessionContext::state docs #10847 (alamb)Transformed and TransformedResult #11003 (alamb)COPY TO #11174 (tshauck)Other:
SessionState #10818 (lewiszlw)PruningPredicate::prune, update StatisticsExtractor API #10802 (alamb)sum #10831 (jayzhan211)stddev and stddev_pop to UDAF #10834 (goldmedal)ParquetAccessPlan in ParquetExec, validation to ParquetAccessPlan::select #10813 (alamb)VariancePopulation to UDAF #10836 (mknaw)approx_median to UDAF #10840 (goldmedal)Window::try_new_with_schema constructor #10850 (sadboy)suffix: &str in pruning.rs's RequiredColumns #10863 (adriangb)unnest to SQL Reference #10839 (gloomweaver)ListingTable documentation #10854 (alamb)min_statistics and max_statistics to be helpers, update docs #10866 (alamb)Interval column test // parquet extraction #10888 (marvinlanhenke)Count to functions-aggregate, update MSRV to rust 1.75 #10484 (jayzhan211)bench.sh tpch data #10905 (alamb)Literal to physical-expr-common #10910 (lewiszlw)arrow_statistics tests #10927 (alamb)prefer_hash_join env variable for clickbench #10933 (jayzhan211)counts for missing columns #10946 (marvinlanhenke)ScalarValue::IntervalMonthDayNano to String #10956 (goldmedal)ScalarValue::TimestampNanosecond to String #10984 (goldmedal)file_stream_provider example compilation failure on windows #10975 (lewiszlw)CommonSubexprEliminate (2-3% planning speed improvement) #10835 (alamb)PhysicalOptimizerRule comment #11002 (Weijun-H)protoc minimum installed version #11006 (jcsherin)UTC and +00:00 to be the same #10960 (marvinlanhenke)OptimizerRule::try_optimize #11022 (lewiszlw)AT TIME ZONE for string vs. timestamp #11056 (appletreeisyellow)Count's name to lowercase #11028 (jayzhan211)function::Hint to datafusion-expr crate to avoid physical-expr dependency for datafusion-function crate #11061 (jayzhan211)advanced_parquet_index.rs example of index in into parquet files #10701 (alamb)OptimizerRule::try_optimize default implementation and cleanup duplicated custom implementations #11059 (lewiszlw)FormatOptions::CSV propagation #10912 (svranesevic)Expr::to_columns to Expr::column_refs #11067 (alamb)CommonSubexprEliminate identifier management (10% faster planning) #10473 (peter-toth)String to TableReference #11073 (linhr)SessionContext #11071 (linhr)UNION ALL for unparser #11082 (phillipleblanc)TimestampSecond and TimestampMicrosecond to String #11120 (goldmedal)OptimizerRule #11087 (alamb)gcd related tests #11164 (jonahgao)lib.rs to make it reusable #11154 (comphead)array @> array and array <@ array in sql_expr_to_logical_expr #11155 (jayzhan211)unnest #11062 (duongcongtoai)clone_on_ref_ptr clippy lint on execution crate #11239 (lewiszlw)CommonSubexprEliminate #11197 (peter-toth)SessionState constructor #11253 (dharanad)clone_on_ref_ptr clippy lint on expr crate #11238 (lewiszlw)rewrite_expr.rs example #11085 (alamb)clone_on_ref_ptr clippy lint on physical-expr crate #11240 (lewiszlw)AnalyzerRule example that implements row level access control #11089 (alamb)Expr::get_type() #11267 (jonahgao)ConstExpr::from and use in physical optimizer #11283 (alamb)PhysicalSortExpr::new #11310 (andygrove)create_struct & create_named_struct #11273 (dharanad)CommonSubexprEliminate #11265 (peter-toth)IS NULL and IS NOT NULL on Unions #11321 (samuelcolvin)clone_on_ref_ptr clippy lint on physical-plan crate #11241 (lewiszlw)Filter::try_new rather than erroring #11307 (samuelcolvin)DataFrame Users Guide #11324 (alamb)derive(Copy) from Operator (#11132)" #11341 (alamb)Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor.
41 Andrew Lamb
17 Jay Zhan
12 Lordworms
12 张林伟
10 Arttu
9 Jax Liu
9 Lorrens Pantelis
8 Piotr Findeisen
7 Dharan Aditya
7 Jonah Gao
7 Xin Li
6 Andy Grove
6 Marvin Lanhenke
6 Trent Hauck
5 Alex Huang
5 Eric Fredine
5 Mustafa Akur
5 Oleks V
5 dependabot[bot]
4 Adrian Garcia Badaracco
4 Berkay Şahin
4 Kevin Su
4 Peter Toth
4 Ruihang Xia
4 Samuel Colvin
3 Bruce Ritchie
3 Edmondo Porcu
3 Emil Ejbyfeldt
3 Heran Lin
3 Leonardo Yvens
3 jcsherin
3 tmi
2 Duong Cong Toai
2 Liang-Chi Hsieh
2 Max Burke
2 kamille
1 Albert Skalt
1 Andrey Koshchiy
1 Benjamin Bannier
1 Bo Lin
1 Chojan Shang
1 Chunchun Ye
1 Dan Harris
1 Devin D'Angelo
1 Eduardo Vega
1 Georgi Krastev
1 Hector Veiga
1 Jeffrey Smith II
1 Kirill Khramkov
1 Matt Nawara
1 Mohamed Abdeen
1 Nga Tran
1 Nishi
1 Phillip LeBlanc
1 R. Tyler Croy
1 RT_Enzyme
1 Sava Vranešević
1 Sergei Grebnov
1 Weston Pace
1 Xiangpeng Hao
1 advancedxy
1 c8ef
1 gstvg
1 yfu
Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release.