dev/changelog/44.0.0.md
This release consists of 332 commits from 94 contributors. See credits at the end of this changelog for more information.
Breaking changes:
full_qualified_col option for the unparser dialect #13241 (goldmedal)Eq, PartialEq, Hash for dyn PhysicalExpr #13005 (peter-toth)schema_infer_max_rec config to use Option<usize> rather than usize #13250 (alihan-synnada)LogicalPlan::Statement #13311 (jonahgao)nth_value builtIn function to User Defined Window Function #13201 (buraksenn)DocumentationBuilder::build infallable #12822 (comphead)execution_mode with emission_type and boundedness #13823 (jayzhan-synnada)Implemented enhancements:
Time/Interval/Decimal/Utf8View in aggregate fuzz testing #13226 (LeslieKid)DEALLOCATE to remove prepared statements #13327 (jonahgao)stringview support to encode and decode and bit_length #13332 (jonathanc-n)GroupColumn) for Date/Time/Timestamp types #13457 (jonathanc-n)Boolean Column Support for Window Functions #13577 (jonathanc-n)Decimal128Array #13564 (jonathanc-n)parse_float_as_decimal supports scientific notation and Decimal256 #13806 (jonahgao)least function #13786 (rluvaton)Fixed bugs:
array_prepend #13367 (jonathanc-n)null_string to array_to_string + string_to_array #13397 (jonathanc-n)UNNEST as lateral #13695 (rkrishn7)null_buffer length check to StringArrayBuilder/LargeStringArrayBuilder #13758 (jdockerty)Documentation updates:
regen.sh #13321 (jonathanc-n)requirements.txt for python3.12 #13339 (AnthonyZhOon)window_functions_new docs #13395 (jonathanc-n)date_bin #13390 (alamb)invoke to invoke_batch #13491 (joseph-isaacs)cherry-picking to release branch #13565 (alamb)Analyzer docs #13798 (alamb)Signature and comparison_coercion documentation #13840 (alamb)SHOW FUNCTIONS #13868 (alamb)initcap function #13752 (tlm365)recursive-protection feature flag #13887 (alamb)Other:
OnceAsync #13223 (alamb)Expr clones from SortExprs #13258 (peter-toth)LexOrderingRef and LexRequirementRef #13233 (jatin510)Statistics::projection to avoid a clone #13225 (alamb)... LIKE '%' simplification with NULLs #13259 (findepi)PhysicalSortRequirement::from_sort_exprs and PhysicalSortRequirement::to_sort_exprs #13222 (alamb)Numeric and String, Coercible #13240 (jayzhan211)OptimizeAggregateOrder from core to optimizer crate #13284 (jonathanc-n)INFORMATION_SCHEMA.ROUTINES table #13255 (goldmedal)LogicalPlanBuilder::join_with_expr_keys docs #13276 (alamb)\ escape #13288 (findepi)clone_on_ref_ptr clippy lint on physical-expr-common crate #13295 (getChan)CoalesceBatches from core to optimizer crate #13283 (jonathanc-n)slt / sqllogictests #13215 (alamb)NULL pattern/expression and constant #13260 (findepi)Utf8View for string function bit_length() #13221 (austin362667)replace_params_with_values #13308 (askalt)scalar_functions.md for CI #13340 (goldmedal)instant with web-time #13355 (crepererum)information_schema.parameters table #13341 (goldmedal)clone_on_ref_ptr clippy lint on core crate #13338 (getChan)Expr::get_type() with recursive #13376 (peter-toth)join_partial phase #13369 (comphead)Unparser #13326 (blaginin)TypePlanner for customizing type planning #13294 (goldmedal)TypeCategory::Unknown #13350 (jayzhan211)bit_length testing #13336 (goldmedal)ExecutionPlan Properties #13409 (shehabgamin)BuiltInWindowFunction (LogicalPlans) #13393 (alamb)regex cache on pattern, less alloc, hash less often #13414 (Dimchikkk)concat simplifier for Utf8View types #13346 (timsaucer)struct ExternalSorter #13447 (2010YOUY01)expr_to_sql #13462 (phillipleblanc)Pruning into physical-optimizer crate #13485 (irenjj)Container trait and to simplify Expr and LogicalPlan apply and map methods #13467 (peter-toth)accumulate_indices #13451 (jayzhan211)53.3.0 #13508 (alamb)ScalarUDFImpl::invoke_with_args to support passing the return type created for the udf instance #13290 (joseph-isaacs)std::slice::from_ref to remove some clones #13518 (jonahgao)NullIf signature #13356 (jayzhan211)hashbrown RawTable uses to HashTable #13514 (crepererum)rowsort #13547 (2010YOUY01)\ #13312 (findepi)BuiltInWindow* to StandardWindow* #13536 (irenjj)decimal-cast test #13571 (blaginin)related_udf, alternative_syntax #13575 (comphead)adjust_output_array in favor of PrimitiveArray::with_data_type #13585 (alamb)num_cpus #13579 (Dandandan)get_available_parallelism function #13595 (alan910127)LogicalPlan::..._with_subqueries methods #13589 (peter-toth)IdentTaker #13609 (alamb)MemoryExec) #13540 (2010YOUY01)ArrayScalarBuilder for creating single element List arrays #13623 (alamb)hashbrown RawTable uses to HashTable (round 2) #13524 (crepererum)OnceLock with LazyLock #13641 (jonahgao)RuntimeConfig, update code to use new builder style #13635 (alamb)displayable to show ExecutionPlans #13636 (alamb)$1 in more types of queries. #13632 (davisp)OnceLock with LazyLock (round 2) #13674 (jonahgao)hashbrown RawTable uses to HashTable (round 3) #13658 (crepererum)ScalarFunctionArgs gets owned ColumnReference) #13637 (alamb)LazyLock in the user_doc macro #13684 (jonahgao)character_length function #13696 (tlm365)make_udf_function macro #13712 (jonahgao)Vec with IndexMap for expression mappings in ProjectionMapping and EquivalenceGroup #13675 (Weijun-H)EXTRACT AND date_part to their own file #13731 (alamb)UNNEST plan to UNNEST table factor SQL #13660 (goldmedal)nanosecond part a real (not internal) error #13733 (alamb)initcap function (~2x faster) #13691 (tlm365)JoinLeftData used in HashJoin #13751 (jayzhan-synnada)TypeSignatureClass for mixed type function signature #13372 (jayzhan211)ScalarValue::to_array_of_size for DenseUnion #13797 (kylebarron)array_distinct #13810 (cht42)BooleanArray::extend with append_n #13832 (comphead)TypeSignature::NullAry --> TypeSignature::Nullary and improve comments #13817 (alamb)with_reorder #13770 (gokselk)0.53.0 #13767 (alamb)resize instead of extend for static values in SMJ logic #13861 (comphead)downcast_arg method #13865 (comphead)SHOW FUNCTIONS #13799 (goldmedal)use of undeclared type ShowStatementFilter #13869 (alamb)futures-io feature #13875 (jonahgao)DocBuilder::new() to avoid breaking API change #13870 (alamb)swap_hash_join to be pub #13899 (alamb)Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor.
59 Andrew Lamb
35 Piotr Findeisen
16 Jonathan Chen
14 Jonah Gao
14 Oleks V
12 Jay Zhan
10 dependabot[bot]
9 Jax Liu
7 Mustafa Akur
6 Peter Toth
6 Yongting You
5 Bruce Ritchie
5 Dmitrii Blaginin
5 Qianqian
4 Adrian Garcia Badaracco
4 Marco Neumann
4 Tai Le Manh
4 Tim Saucer
4 zhuliquan
3 Andy Grove
3 Arttu
3 Berkay Şahin
3 Burak Şen
3 Onur Satici
3 Qi Zhu
3 Raz Luvaton
3 delamarch3
3 irenjj
2 Alex Kesling
2 Alihan Çelikcan
2 Daniel Hegberg
2 Daniël Heres
2 Dima
2 Eduard Karacharov
2 Filippo Rossi
2 Goksel Kabadayi
2 Jiashen Cao
2 Joe Isaacs
2 Leonardo Yvens
2 Namgung Chan
2 Phillip LeBlanc
2 Ruihang Xia
2 kamille
2 wiedld
1 Albert Skalt
1 Alex Huang
1 Alexander Huszagh
1 Andrew Kane
1 AnthonyZhOon
1 Ariana J Mann
1 Athul T R
1 Austin Liu
1 Brent Gardner
1 Costi Ciudatu
1 David Rauschenbach
1 Dmitrii Bu
1 Eason
1 Emil
1 Emil Ejbyfeldt
1 Hengfei Yang
1 Huaijin
1 Jack
1 Jack Park
1 Jagdish Parihar
1 Justin Zhu
1 Kezhu Wang
1 Kyle Barron
1 Leslie Su
1 Li-Lun Lin
1 Lordworms
1 Luca Fabbian
1 Marc Droogh
1 Marko Grujic
1 Matthew B White
1 Mehmet Ozan Kabak
1 NoeB
1 Paul J. Davis
1 Rohan Krishnaswamy
1 Sergei Grebnov
1 Shehab Amin
1 Sherin Jacob
1 UBarney
1 Victor Barua
1 Zhang Li
1 cht42
1 ding-young
1 glfeng
1 kosiew
1 mertak-synnada
1 niebayes
1 robtandy
1 theirix
1 xinlmain
1 zjregee
Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release.