Back to Datafusion

Apache DataFusion 44.0.0 Changelog

dev/changelog/44.0.0.md

53.1.042.6 KB
Original Source
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->

Apache DataFusion 44.0.0 Changelog

This release consists of 332 commits from 94 contributors. See credits at the end of this changelog for more information.

Breaking changes:

  • Introduce full_qualified_col option for the unparser dialect #13241 (goldmedal)
  • Implement Eq, PartialEq, Hash for dyn PhysicalExpr #13005 (peter-toth)
  • Change schema_infer_max_rec config to use Option<usize> rather than usize #13250 (alihan-synnada)
  • refactor: move PREPARE/EXECUTE into LogicalPlan::Statement #13311 (jonahgao)
  • Convert nth_value builtIn function to User Defined Window Function #13201 (buraksenn)
  • Return int32 for integer type date part #13466 (jayzhan211)
  • User documentation: Generate docs from macros, makeDocumentationBuilder::build infallable #12822 (comphead)
  • Replace execution_mode with emission_type and boundedness #13823 (jayzhan-synnada)
  • feat(substrait): modular substrait consumer #13803 (vbarua)

Implemented enhancements:

  • feat: Add Time/Interval/Decimal/Utf8View in aggregate fuzz testing #13226 (LeslieKid)
  • feat: basic support for executing prepared statements #13242 (jonahgao)
  • feat: Updating flamegraph docs #13299 (jonathanc-n)
  • feat: Added Timestamp/Binary/Float to fuzz #13280 (jonathanc-n)
  • feat: support DEALLOCATE to remove prepared statements #13327 (jonahgao)
  • feat: Add boolean column to aggregate queries for fuzz testing #13331 (jonathanc-n)
  • feat: Add random timezone to aggregate fuzz test #13349 (jonathanc-n)
  • feat: Add stringview support to encode and decode and bit_length #13332 (jonathanc-n)
  • feat: Support faster multi-column grouping ( GroupColumn) for Date/Time/Timestamp types #13457 (jonathanc-n)
  • feat(substrait): replace SessionContext with a trait #13343 (notfilippo)
  • feat(function): add greatest function #12474 (rluvaton)
  • feat: Add Boolean Column Support for Window Functions #13577 (jonathanc-n)
  • feat(substrait): support-try-cast #13562 (eatthepear)
  • feat: Add GroupColumn Decimal128Array #13564 (jonathanc-n)
  • feat(substrait): remove dependency on datafusion default features #13594 (notfilippo)
  • feat: parse_float_as_decimal supports scientific notation and Decimal256 #13806 (jonahgao)
  • feat: support normalized expr in CSE #13315 (zhuliquan)
  • feat(function): add least function #13786 (rluvaton)

Fixed bugs:

  • fix: Fix stddev indeterministically producing NAN #13248 (eejbyfeldt)
  • fix: Fix failures caused by array_prepend #13367 (jonathanc-n)
  • fix: Fix documentation for null_string to array_to_string + string_to_array #13397 (jonathanc-n)
  • fix: serialize user-defined window functions to proto #13421 (jcsherin)
  • fix: Ignore names of technical inner fields (of List and Map types) when comparing datatypes for logical equivalence #13522 (Blizzara)
  • fix: CI build failed on main #13640 (jonahgao)
  • fix: cargo msrv check failed #13654 (jonahgao)
  • fix: repartitioned reads of CSV with custom line terminator #13677 (korowa)
  • fix: Implicitly plan UNNEST as lateral #13695 (rkrishn7)
  • fix: specify roottype in substrait fieldreference #13647 (mbwhite)
  • fix: add null_buffer length check to StringArrayBuilder/LargeStringArrayBuilder #13758 (jdockerty)
  • fix: Limit together with pushdown_filters #13788 (zhuqi-lucas)
  • fix: pruning by bloom filters for dictionary columns #13768 (korowa)
  • fix: Ignore empty files in ListingTable when listing files with or without partition filters, as well as when inferring schema #13750 (Blizzara)
  • fix: enable DF's nested_expressions feature by in datafusion-substrait tests to make them pass #13857 (Blizzara)

Documentation updates:

  • chore: Prepare 43.0.0 release #13254 (andygrove)
  • minor: typo in command example for flamegraph docs #13269 (jonathanc-n)
  • Remove warning logs during the document build process #13324 (tlm365)
  • minor(docs): Add docs for regen.sh #13321 (jonathanc-n)
  • minor(docs): Correct array_prepend docs #13362 (NoeB)
  • Docs: Update dependencies in requirements.txt for python3.12 #13339 (AnthonyZhOon)
  • Docs: Add Content Library Page to the docs #13335 (alamb)
  • chore: Remove window_functions_new docs #13395 (jonathanc-n)
  • Minor: Add SQL example for date_bin #13390 (alamb)
  • Fix typo in concepts-readings-events.md #13400 (alamb)
  • fix docs of register_table to match implementation #13438 (adriangb)
  • Minor: Fix broken links for meetups in content library #13445 (alamb)
  • Clarify documentation about use of tokio tasks #13474 (alamb)
  • Include license and notice files in published crates #13512 (ankane)
  • Minor: clean up error entries #13521 (comphead)
  • Move many udf implementations from invoke to invoke_batch #13491 (joseph-isaacs)
  • chore: rename known project ZincObserve to OpenObserve #13587 (hengfeiyang)
  • Minor: Add example of backporting / cherry-picking to release branch #13565 (alamb)
  • [minor] Fix logo image path by using absolute url #13619 (A-JM)
  • Update governance page for 7 days of voting #13629 (alamb)
  • Doc gen: Migrate aggregate functions doc to attribute based. #13646 (comphead)
  • Minor: Rephrase MSRV policy to be more explanatory #13668 (comphead)
  • Improve documentation for TableProvider #13724 (alamb)
  • Minor: Add documentation explaining that initcap only works for ASCII #13749 (alamb)
  • Minor: improve the Deprecation / API health guidelines #13701 (alamb)
  • Minor: Add some more blog posts to the readings page #13761 (alamb)
  • docs: update GroupsAccumulator instead of GroupAccumulator #13787 (rluvaton)
  • Improve Deprecation Guidelines more #13776 (alamb)
  • Update documentation guidelines for contribution content #13703 (alamb)
  • Minor: improve Analyzer docs #13798 (alamb)
  • Add configurable normalization for configuration options and preserve case for S3 paths #13576 (blaginin)
  • ImproveSignature and comparison_coercion documentation #13840 (alamb)
  • Add documentation for SHOW FUNCTIONS #13868 (alamb)
  • Support unicode character for initcap function #13752 (tlm365)
  • [minor] make recursive package dependency optional #13778 (buraksenn)
  • Fix recursive-protection feature flag #13887 (alamb)

Other:

  • Minor: Improve documentation about OnceAsync #13223 (alamb)
  • Introduce HashMap and HashSet type aliases #13236 (drauschenbach)
  • Remove Expr clones from SortExprs #13258 (peter-toth)
  • Update substrait requirement from 0.45 to 0.46 #13257 (dependabot[bot])
  • Deprecate LexOrderingRef and LexRequirementRef #13233 (jatin510)
  • Optimize Statistics::projection to avoid a clone #13225 (alamb)
  • Migrate invoke_no_args to invoke_batch #13246 (findepi)
  • fix bugs explain with non-correlated query #13210 (Lordworms)
  • Example: FFI Table Provider as dynamic module loading #13183 (timsaucer)
  • Fix incorrect ... LIKE '%' simplification with NULLs #13259 (findepi)
  • allow passing in metadata_size_hint on a per-file basis #13213 (adriangb)
  • Deprecate PhysicalSortRequirement::from_sort_exprs and PhysicalSortRequirement::to_sort_exprs #13222 (alamb)
  • Ensure schema and data have the same size #13264 (blaginin)
  • Update thiserror requirement from 1.0.44 to 2.0.0 #13273 (dependabot[bot])
  • Support vectorized append and compare for multi group by #12996 (Rachelint)
  • Use LogicalType for TypeSignature Numeric and String, Coercible #13240 (jayzhan211)
  • Minor: Clarify use of infallable APIs #13217 (alamb)
  • chore: Move OptimizeAggregateOrder from core to optimizer crate #13284 (jonathanc-n)
  • Fix license header #12008 (waynexia)
  • Introduce INFORMATION_SCHEMA.ROUTINES table #13255 (goldmedal)
  • minor: doc fixes in fuzz testing #13281 (jonathanc-n)
  • Minor: improve LogicalPlanBuilder::join_with_expr_keys docs #13276 (alamb)
  • Test LIKE with implicit \ escape #13288 (findepi)
  • Enable clone_on_ref_ptr clippy lint on physical-expr-common crate #13295 (getChan)
  • chore: Move CoalesceBatches from core to optimizer crate #13283 (jonathanc-n)
  • Minor: Document how to test for trailing whitespace in slt / sqllogictests #13215 (alamb)
  • Improve documentation on start_demuxer_task and file_extension #13216 (alamb)
  • Expand LIKE simplification: cover NULL pattern/expression and constant #13260 (findepi)
  • join_with_expr_keys to support expressions with both unqualified and qualified column names #13182 (onursatici)
  • Derive Eq, Hash, Ord for ResolvedTableReference to be capable of map key #13303 (kezhuw)
  • chore: Post 43.0.0 release fixes #13319 (andygrove)
  • Implement get_possible_types for Uniform, Coercible, Variadic, Numeric and String #13313 (delamarch3)
  • Support Utf8View for string function bit_length() #13221 (austin362667)
  • Optimize replace_params_with_values #13308 (askalt)
  • minor: include datafusion-ffi in publishing instructions #13333 (alamb)
  • Update dev script to publish FFI crate #13322 (timsaucer)
  • Fix scalar_functions.md for CI #13340 (goldmedal)
  • Fix ExprSchema extraction of metadata for Cast expressions. #13305 (wiedld)
  • refactor: replace instant with web-time #13355 (crepererum)
  • Add stacker and recursive #13310 (peter-toth)
  • Introduce information_schema.parameters table #13341 (goldmedal)
  • support recursive CTEs logical plans in datafusion-proto #13314 (leoyvens)
  • Update substrait requirement from 0.46 to 0.47 #13374 (dependabot[bot])
  • Enable clone_on_ref_ptr clippy lint on core crate #13338 (getChan)
  • Support TypeSignature::Nullary #13354 (jayzhan211)
  • improve performance of regexp_count #13364 (Dimchikkk)
  • Annotate Expr::get_type() with recursive #13376 (peter-toth)
  • Add utf8view support in nullif #13380 (Omega359)
  • Split the GroupColumn Implementations into smaller modules #13352 (jiashenC)
  • Move filtered SMJ Full filtered join out of join_partial phase #13369 (comphead)
  • Remove uses of #[allow(dead_code)] in favor of _identifier #13328 (ding-young)
  • Allow aggregation without projection in Unparser #13326 (blaginin)
  • Introduce TypePlanner for customizing type planning #13294 (goldmedal)
  • Minor: SortMergeJoin small refactoring #13398 (comphead)
  • Add Utf8View to TypeCategory::Unknown #13350 (jayzhan211)
  • refactor: Consolidate single group by column code into sub modules #13392 (Rachelint)
  • Update sqlparser requirement from 0.51.0 to 0.52.0 #13373 (dependabot[bot])
  • chore: expose TypeCoercionRewriter::new and add examples for type coerce expressions #13387 (niebayes)
  • Migrate code from invoke to invoke_batch. #13345 (irenjj)
  • Improve the coverage of bit_length testing #13336 (goldmedal)
  • Consolidate dataframe example #13410 (alamb)
  • parquet:Add file_extension for specify file_extension of ParquetReadOptions #13353 (glfeng318)
  • Add getters to ExecutionPlan Properties #13409 (shehabgamin)
  • Have DefaultTableSource return the correct TableType #13416 (leoyvens)
  • Remove BuiltInWindowFunction (LogicalPlans) #13393 (alamb)
  • Fix regex cache on pattern, less alloc, hash less often #13414 (Dimchikkk)
  • Fix record batch memory size double counting #13377 (2010YOUY01)
  • Make DFSchema::datatype_is_semantically_equal public #13429 (Sevenannn)
  • Add support for utf8view to nvl function #13382 (Omega359)
  • Add support for Utf8View to crypto functions #13407 (Omega359)
  • Fix concat simplifier for Utf8View types #13346 (timsaucer)
  • Add sort integration benchmark #13306 (2010YOUY01)
  • Minor: Remove MOVED file #13442 (alamb)
  • Deduplicate and standardize deserialization logic for streams #13412 (alihan-synnada)
  • Minor: Doc and organize fields in struct ExternalSorter #13447 (2010YOUY01)
  • Support unparsing Array plan to SQL string #13418 (goldmedal)
  • Fix test query results even for quick test execution #13453 (findepi)
  • [MINOR]: fix min max accumulator nan bug #13432 (akurmustafa)
  • Evaluate cheaper condition first in join selection and physical planner #13435 (findepi)
  • Fix duckdb & sqlite character_length scalar unparsing #13428 (Sevenannn)
  • chore: remove unnecessary test helpers #13317 (findepi)
  • Produce informative error on physical schema mismatch #13434 (findepi)
  • Fix invalid swap for LeftMark nested loops join #13426 (findepi)
  • Fix redundant data copying in unnest #13441 (demetribu)
  • Add docs on TableProvider::statistics() #13454 (avantgardnerio)
  • Update sqllogictest requirement from 0.22.0 to 0.23.0 #13464 (dependabot[bot])
  • Improve documentation (and ASCII art) about streaming execution, and thread pools #13423 (alamb)
  • Fix Binary & Binary View Unparsing #13427 (Sevenannn)
  • Support Utf8View in Unparser expr_to_sql #13462 (phillipleblanc)
  • Unparse inner join with no conditions as a cross join #13460 (phillipleblanc)
  • Remove unreachable filter logic in final grouping stage #13463 (jayzhan211)
  • MINOR: remove one duplicated inparam in TopK #13479 (waynexia)
  • Fix join on arrays of unhashable types and allow hash join on all types supported at run-time #13388 (findepi)
  • Remove redundant dead_code check suppressions #13490 (findepi)
  • chore: try make Setup Rust CI step immune to network hang #13495 (findepi)
  • Move Pruning into physical-optimizer crate #13485 (irenjj)
  • Add Container trait and to simplify Expr and LogicalPlan apply and map methods #13467 (peter-toth)
  • Chunk based iteration in accumulate_indices #13451 (jayzhan211)
  • Fix DataFusionError use in schema_err macro #13488 (findepi)
  • Fixed issue with md5 not support LargeUtf8 correctly #13502 (Omega359)
  • Coerce Array inner types #13452 (blaginin)
  • Update arrow/parquet to arrow/parquet 53.3.0 #13508 (alamb)
  • Minor: Add debug log message for creating GroupValuesRows #13506 (alamb)
  • Unparse struct to sql #13493 (delamarch3)
  • Add ScalarUDFImpl::invoke_with_args to support passing the return type created for the udf instance #13290 (joseph-isaacs)
  • Update substrait requirement from 0.47 to 0.48 #13480 (dependabot[bot])
  • Add support for Utf8View to string_to_array and array_to_string #13403 (Omega359)
  • refactor: use std::slice::from_ref to remove some clones #13518 (jonahgao)
  • Introduce TypeSignature::Comparable and update NullIf signature #13356 (jayzhan211)
  • refactor: change some hashbrown RawTable uses to HashTable #13514 (crepererum)
  • Avoid pushdown of volatile functions to tablescan #13475 (theirix)
  • Unparse map to sql #13532 (delamarch3)
  • Minor: add version to RuntimeEnv::new deprecation message #13537 (alamb)
  • [bug]: Fix wrong order by removal from plan #13497 (akurmustafa)
  • Fix panic when hashing empty FixedSizeList Array #13533 (findepi)
  • Minor: Fix two test cases causing CI failures by adding rowsort #13547 (2010YOUY01)
  • chore: add version to deprecation messages #13543 (findepi)
  • Set timezone for group column timestamp type #13535 (jayzhan211)
  • Support Unnest in Subqueries #13523 (kosiew)
  • Support LIKE with ESCAPE \ #13312 (findepi)
  • chore: Remove redundant assert_starts_with test helper #13542 (findepi)
  • Preserve field name when casting List #13468 (timsaucer)
  • Rename BuiltInWindow* to StandardWindow* #13536 (irenjj)
  • test: allow external_access_plan run on windows #13531 (zhuliquan)
  • chore: Remove unused dependencies #13541 (findepi)
  • Update tests and resolve TODOs after arrow update #13538 (findepi)
  • Added documentation for SortMergeJoin #13469 (athultr1997)
  • Fixed imports in custom_datasource.rs example #13561 (lucafabbian)
  • Update substrait requirement from 0.48 to 0.49 #13556 (dependabot[bot])
  • [minor] Update Doc of required_indices.rs #13555 (xinlmain)
  • Add zero-decimal-cast test #13571 (blaginin)
  • Fix Duplicated filters within (filter(TableScan)) plan for unparser #13422 (Sevenannn)
  • chore(deps): update bigdecimal from 0.4.1 to 0.4.6 #13569 (jonahgao)
  • Doc gen: Attributes to support related_udf, alternative_syntax #13575 (comphead)
  • Deprecate adjust_output_array in favor of PrimitiveArray::with_data_type #13585 (alamb)
  • Remove redundant type constraints from ScalarUDF from #13578 (findepi)
  • Supplement as_*_array functions #13580 (findepi)
  • [Minor] Use std::thread::available_parallelism instead of num_cpus #13579 (Dandandan)
  • Temporarily pin toolchain version to avoid clippy #13598 (findepi)
  • Apply clippy fixes for Rust 1.83 #13596 (findepi)
  • refactor: add get_available_parallelism function #13595 (alan910127)
  • Test sort merge join on TPC-H benchmark #13572 (Dandandan)
  • Tidy up join test code #13604 (ozankabak)
  • [minor]: Update median implementation #13554 (akurmustafa)
  • Add SimpleScalarUDF::new_with_signature #13592 (findepi)
  • Use // for unparsing DuckDB division operator #13509 (Sevenannn)
  • Fix LogicalPlan::..._with_subqueries methods #13589 (peter-toth)
  • chore: exposing ArraySize and ArrayFlatten #13600 (Groennbeck)
  • support unknown col expr in proto #13603 (onursatici)
  • Improve unsupported compound identifier message #13605 (alamb)
  • Minor: Simplify IdentTaker #13609 (alamb)
  • Add generate_series() udtf (and introduce 'lazy' MemoryExec) #13540 (2010YOUY01)
  • [refactor]: Convert Vec<PhysicalExpr> to HashSet<PhysicalExpr> #13612 (akurmustafa)
  • Increase minimum supported Rust version (MSRV) to 1.80 #13622 (findepi)
  • [minor] Consolidate construction of the list field #13627 (gruuya)
  • Create ArrayScalarBuilder for creating single element List arrays #13623 (alamb)
  • [minor]: Introduce IndexSet and IndexMap aliases. #13611 (akurmustafa)
  • Improve unparsing after optimize_projections optimization #13599 (sgrebnov)
  • allow http in datafusion-cli http object store #13626 (adriangb)
  • Report current operation when coercion fails #13628 (findepi)
  • refactor: change some hashbrown RawTable uses to HashTable (round 2) #13524 (crepererum)
  • refactor: replace OnceLock with LazyLock #13641 (jonahgao)
  • Allow ColumnarValue to array conversion with less copying #13644 (findepi)
  • Deprecate RuntimeConfig, update code to use new builder style #13635 (alamb)
  • Report current function name when invoke result length wrong #13643 (findepi)
  • Minor: add examples for using displayable to show ExecutionPlans #13636 (alamb)
  • Allow place holders like $1 in more types of queries. #13632 (davisp)
  • test: support run filter_pushdown on windows machine #13610 (zhuliquan)
  • Add csv loading benchmarks. #13544 (dhegberg)
  • Retract IndexSet, IndexMap type alias #13655 (akurmustafa)
  • chore: Minor code improvements suggested by newer clippy #13666 (findepi)
  • Increase minimum supported Rust version (MSRV) to 1.80.1 #13667 (findepi)
  • refactor: replace OnceLock with LazyLock (round 2) #13674 (jonahgao)
  • refactor: change some hashbrown RawTable uses to HashTable (round 3) #13658 (crepererum)
  • Minor: Comment temporary function for documentation migration #13669 (comphead)
  • chore: macros crate cleanup #13685 (findepi)
  • Refactor regexplike signature #13394 (jiashenC)
  • Performance: enable array allocation reuse (ScalarFunctionArgs gets owned ColumnReference) #13637 (alamb)
  • Temporary fix for CI #13689 (jonahgao)
  • refactor: use LazyLock in the user_doc macro #13684 (jonahgao)
  • Unlock lexical-write-integer version. #13693 (Alexhuszagh)
  • [minor]: Simplifications #13697 (akurmustafa)
  • Fix hash join with sort push down #13560 (haohuaijin)
  • Improve substr() performance by avoiding using owned string #13688 (richox)
  • chore: reinstate down_cast_any_ref #13705 (andygrove)
  • Optimize performance of character_length function #13696 (tlm365)
  • Update prost-build requirement from =0.13.3 to =0.13.4 #13698 (dependabot[bot])
  • Minor: Output elapsed time for sql logic test #13718 (comphead)
  • refactor: simplify the make_udf_function macro #13712 (jonahgao)
  • refactor: replace Vec with IndexMap for expression mappings in ProjectionMapping and EquivalenceGroup #13675 (Weijun-H)
  • Handle alias when parsing sql(parse_sql_expr) #12939 (Eason0729)
  • Reveal implementing type and return type in simple UDF implementations #13730 (findepi)
  • minor: Extract tests for EXTRACT AND date_part to their own file #13731 (alamb)
  • Support unparsing UNNEST plan to UNNEST table factor SQL #13660 (goldmedal)
  • Update to apache-avro 0.17, fix compatibility changes schema handling #13727 (mdroogh)
  • Minor: Add doc example to RecordBatchStreamAdapter #13725 (alamb)
  • Implement GroupsAccumulator for corr(x,y) aggregate function #13581 (2010YOUY01)
  • fix union serialisation order in proto #13709 (onursatici)
  • Minor: make unsupported nanosecond part a real (not internal) error #13733 (alamb)
  • Add tests for date_part on columns + timestamps with / without timezones #13732 (alamb)
  • Optimize performance of initcap function (~2x faster) #13691 (tlm365)
  • Support sqllogictest --complete with postgres #13746 (findepi)
  • doc-gen: migrate window functions documentation to attribute based #13739 (zjregee)
  • Minor: Remove memory reservation in JoinLeftData used in HashJoin #13751 (jayzhan-synnada)
  • Update to bigdecimal 0.4.7 #13747 (findepi)
  • chore: clean up dependencies #13728 (comphead)
  • Simplify type signatures using TypeSignatureClass for mixed type function signature #13372 (jayzhan211)
  • Revert the removal of reservation in HashJoin #13792 (jayzhan-synnada)
  • [minor] add missing slt tests for count(partitioned,aggregated, aggregated cube) #13790 (buraksenn)
  • Add Round trip tests for Array <--> ScalarValue #13777 (alamb)
  • Minor: cargo update in datafusion-cli #13801 (alamb)
  • Fix ScalarValue::to_array_of_size for DenseUnion #13797 (kylebarron)
  • Handle empty rows for array_distinct #13810 (cht42)
  • Fix get_type for higher-order array functions #13756 (findepi)
  • Chore: Do not return empty record batches from streams #13794 (mertak-synnada)
  • Handle possible overflows in StringArrayBuilder / LargeStringArrayBuilder #13802 (wiedld)
  • Support 'NULL' as Null in csv parser. #13228 (dhegberg)
  • Minor: Extend ScalarValue::new_zero() #13828 (berkaysynnada)
  • chore: temporarily disable Windows Rust flow #13833 (comphead)
  • Minor: Replace BooleanArray::extend with append_n #13832 (comphead)
  • Rename TypeSignature::NullAry --> TypeSignature::Nullary and improve comments #13817 (alamb)
  • [bugfix] ScalarFunctionExpr does not preserve the nullable flag on roundtrip #13830 (ccciudatu)
  • Add example of interacting with a remote catalog #13722 (alamb)
  • Update substrait requirement from 0.49 to 0.50 #13808 (dependabot[bot])
  • typo: remove extraneous "`" in doc comment, fix header #13848 (akesling)
  • MINOR: typo -- remove extra "`" interfering with doc formatting #13847 (akesling)
  • Support n-ary monotonic functions in ordering equivalence #13841 (gokselk)
  • Preserve ordering equivalencies on with_reorder #13770 (gokselk)
  • replace CASE expressions in predicate pruning with boolean algebra #13795 (adriangb)
  • Upgrade to sqlparser 0.53.0 #13767 (alamb)
  • Minor: Use resize instead of extend for static values in SMJ logic #13861 (comphead)
  • Improve SortPreservingMerge::enable_round_robin_repartition docs #13826 (alamb)
  • Minor: Unify downcast_arg method #13865 (comphead)
  • Implement SHOW FUNCTIONS #13799 (goldmedal)
  • Update bzip2 requirement from 0.4.3 to 0.5.0 #13740 (dependabot[bot])
  • Fix build use of undeclared type ShowStatementFilter #13869 (alamb)
  • Minor: fix: Include FetchRel when producing LogicalPlan from Sort #13862 (robtandy)
  • Minor: improve error message when ARRAY literals can not be planned #13859 (alamb)
  • Minor: remove unused async-compression futures-io feature #13875 (jonahgao)
  • Consolidate Example: dataframe_output.rs into dataframe.rs #13877 (zhuqi-lucas)
  • Restore DocBuilder::new() to avoid breaking API change #13870 (alamb)
  • Improve error messages for incorrect zero argument signatures #13881 (alamb)
  • chore: Consolidate Example: simplify_udwf_expression.rs into advanced_udwf.rs #13883 (xarus01)
  • minor: fix typos in comments / structure names #13879 (zhuliquan)
  • Support 1 or 3 arg in generate_series() UDTF #13856 (UBarney)
  • Support (order by / sort) for DataFrameWriteOptions #13874 (zhuqi-lucas)
  • Minor: change the sort merge join emission as incremental #13894 (berkaysynnada)
  • Minor: change visibility of hash join utils #13893 (berkaysynnada)
  • Fix visibility of swap_hash_join to be pub #13899 (alamb)

Credits

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.