dev/changelog/43.0.0.md
This release consists of 403 commits from 96 contributors. See credits at the end of this changelog for more information.
Breaking changes:
Arc #12477 (findepi)field trait method to WindowUDFImpl, remove return_type/nullable #12374 (jcsherin)Debug for AnalyzerRule, FunctionRewriter, and OptimizerRule #12556 (alamb)Debug for TableProvider, TableProviderFactory and PartitionStream #12557 (alamb)Debug for PhysicalOptimizerRule #12624 (AnthonyZhOon)register_table functions args to take Into<TableReference> #12630 (JasonLi-cn)Debug for SessionStateBuilder, adding Debug requirements to fields #12632 (AnthonyZhOon)PartitionEvaluatorArgs to WindowUDFImpl::partition_evaluator #12804 (jcsherin)rank / dense_rank and percent_rank builtin functions to UDWF #12718 (jatin510)BuiltInWindowFunction::{Lead, Lag} to a user defined window function #12857 (jcsherin)unnest options API #12836 (duongcongtoai)LIMIT plan #13028 (jonahgao)LogicalPlan::CrossJoin as it is unused #13076 (buraksenn)Expr::volatile infallible #13206 (alamb)type to struct. #13146 (ngli-me)Implemented enhancements:
0.45.0 #12863 (tokoko)Date32/Date64 in aggregate fuzz testing #13041 (LeslieKid)EXECUTE statement #13194 (jonahgao)Fixed bugs:
NotExpr::evaluate_bounds #13082 (crepererum)Documentation updates:
GroupsAccumulator docs #12501 (alamb)GroupsAccumulatorAdapter docs #12502 (alamb)DataFrame method examples #12564 (Eason0729)time_elapsed_opening #12585 (progval)kurtosis_pop to datafusion-functions-extra and out of core #12647 (dharanad)blaze project #12577 (liyuance)DocumentationBuilder::with_standard_argument to reduce copy/paste #12747 (alamb)WindowUDF #12757 (jcsherin)VarianceSample and VariancePopulation #12742 (alamb)MemoryPool module #12849 (2010YOUY01)regr* aggregate functions to code #12871 (alamb)cot #13069 (alamb)binary_as_string parquet option, upgrade to arrow/parquet 53.2.0 #12816 (goldmedal)ntile builtIn function to UDWF #13040 (jatin510)alternative_syntax function for docs #13140 (jonathanc-n)cargo nextest #13160 (alamb)skip_physical_aggregate_schema_check #13176 (alamb)StringViewArray by default from Parquet (8% improvement for entire ClickBench suite) #13101 (alamb)42.2.0 release (#13191) #13193 (alamb)Other:
convert_to_state for GroupsAccumulatorAdapter (faster median for high cardinality aggregates) #11827 (Rachelint)sqlparse-rs #12222 (samuelcolvin)CREATE TABLE and CREATE VIEW syntax #12450 (alamb)array_has #12460 (samuelcolvin)prost-build to 0.13.2 #12483 (dependabot[bot])required_guarantees output to be deterministic #12484 (austin362667)row_hash.rs #12530 (Rachelint)Expr::to_field with Expr::qualified_name #12522 (jonahgao)RuntimeEnv::try_new and deprecate RuntimeEnv::new #12566 (OussamaSaoudi)Debug for MemoryExec prettier #12582 (samuelcolvin)SessionStateBuilder::with_object_store method #12578 (OussamaSaoudi)PhysicalSortExpr #12589 (alamb)Display impl to EquivalenceProperties #12590 (alamb)Date32 for date_trunc function #12603 (goldmedal)trim for string view (10%) #12395 (Rachelint)update_skip_aggregation_probe method #12332 (lewiszlw)WindowUDFImpl::reverse_exprtrait method + Support for IGNORE NULLS #12662 (jcsherin)Debug fields for SessionState #12663 (AnthonyZhOon)MaybeNullBufferBuilder #12623 (alamb)value_from_statisics to AggregateUDFImpl, remove special case for min/max/count aggregate statistics #12296 (edmondop)ByteGroupValueBuilder to use MaybeNullBufferBuilder #12681 (alamb)transform_to_states #12707 (jayzhan211)PrimitiveGroupValueBuilder with const generics #12703 (alamb)LIMIT Push-down logical plan optimization for Extension nodes #12685 (austin362667)WindowUDF and WindowFunction expression #12693 (jcsherin)type_union_resolution to array and values #12753 (jayzhan211)equal_to in PrimitiveGroupValueBuilder #12758 (Rachelint)equal_to in ByteGroupValueBuilder #12770 (alamb)round scalar function unparsing for Postgres #12744 (sgrebnov)53.1.0 / fix clippy #12724 (alamb)strpos is integer #12751 (jayzhan211)DependencyMap and Dependencies into structs #12761 (alamb)DFSchema::check_ambiguous_name #12805 (jonahgao)ParquetExec to ParquetExecBuilder #12799 (alamb)NullState #12791 (alamb)aggregate statistics optimizer test from core to optimizer crate #12783 (jayzhan211)FixedSizeList column (e.g. a int[3]) #12810 (jandremarais)GroupsAccumulatorAdapter #12834 (alamb)type_union_resolution #12839 (jayzhan211)iszero function (3-5x faster) #12881 (simonvandel)select_to_plan #12887 (jonahgao)signum function (3-25x faster) #12890 (simonvandel)math_expressions.rs #12917 (jonahgao)isnan (2-5x faster) #12889 (simonvandel)GroupColumn support for StringView / ByteView (faster grouping performance) #12809 (Rachelint)REGEXP_LIKE #12897 (tlm365)util module #12885 (loloxwg)expr % 1 simplification #12913 (eejbyfeldt)math::cot (~2x faster) #12910 (tlm365)now() #12951 (wiedld)math::trunc (~2.5x faster) #12909 (tlm365)DISTINCT ON with wildcard #12968 (alamb)SubqueryAlias without projections to SQL #12896 (goldmedal)ORDER BY, UNION, Windows functions with Aggregation #12946 (sgrebnov)datafusion_common #13002 (peter-toth)VALUES clause #13029 (findepi)AggregateFuzz testing: generate random queries #12847 (alamb)join_partial phase #13053 (comphead)hash_array_primitive #13070 (jonahgao)Values and add struct coercion to coalesce #12864 (jayzhan211)cargo nextest for running tests #13045 (alamb)SchemaAdapterFactory, make record_batch "hygenic" #13063 (alamb)join_partial phase #13111 (comphead)unnest unparsing #13129 (sgrebnov)modulus operation in substrait #13108 (LatrecheYasser)negate arithmetic expression in substrait #13112 (LatrecheYasser)DictionaryArray in OVER clause #13153 (adriangb)Clone for more ExecutionPlans #13203 (alamb)Statistics in FilterExec #13187 (alamb)Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor.
68 Andrew Lamb
34 Piotr Findeisen
24 Jonathan Chen
19 Emil Ejbyfeldt
17 Jax Liu
12 Bruce Ritchie
11 Jonah Gao
9 Jay Zhan
8 Mustafa Akur
8 kamille
7 Sergei Grebnov
7 Tornike Gurgenidze
6 JasonLi
6 Oleks V
6 Val Lorentz
6 jcsherin
5 Burak Şen
5 Samuel Colvin
5 Yongting You
5 dependabot[bot]
4 HuSen
4 Jagdish Parihar
4 Simon Vandel Sillesen
4 wiedld
3 Alihan Çelikcan
3 Andy Grove
3 AnthonyZhOon
3 Austin Liu
3 Berkay Şahin
3 Daniel Hegberg
3 Daniël Heres
3 Lordworms
3 Michael J Ward
3 OussamaSaoudi
3 Qianqian
3 Tai Le Manh
3 Victor Barua
3 doupache
3 ngli-me
3 yi wang
2 Adrian Garcia Badaracco
2 Alex Huang
2 Brent Gardner
2 Dharan Aditya
2 Dmitrii Blaginin
2 Duong Cong Toai
2 Filippo Rossi
2 Georgi Krastev
2 June
2 Max Norfolk
2 Peter Toth
2 Tim Saucer
2 Yasser Latreche
2 peasee
2 waruto
1 Abdullah Sabaa Allil
1 Agaev Guseyn
1 Albert Skalt
1 Andrey Koshchiy
1 Arttu
1 Baris Palaska
1 Bruno Volpato
1 Bryce Mecum
1 Daniel Mesejo
1 Dmitry Bugakov
1 Eason
1 Edmondo Porcu
1 Eduard Karacharov
1 Frederic Branczyk
1 Fredrik Meringdal
1 Haile
1 Jan
1 JonasDev1
1 Justus Flerlage
1 Leslie Su
1 Marco Neumann
1 Marko Milenković
1 Martin Hilton
1 Matthew Turner
1 Nick Cameron
1 Paul
1 Smith Cruise
1 Tomoaki Kawada
1 WeblWabl
1 Weston Pace
1 Xiangpeng Hao
1 Xwg
1 Yuance.Li
1 epsio-banay
1 iamthinh
1 juroberttyb
1 mertak-synnada
1 neyama
1 smarticen
1 zhuliquan
1 张林伟
Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release.