dev/changelog/50.0.0.md
This release consists of 315 commits from 79 contributors. See credits at the end of this changelog for more information.
See the upgrade guide for information on how to upgrade from previous versions.
Breaking changes:
array_agg aggregations #16625 (findepi)AsyncScalarUDFImpl::invoke_async_with_args consistent with ScalarUDFImpl::invoke_with_args #16902 (geetanshjuneja)WindowUDFImpl equality, hash from Eq, Hash traits #17081 (findepi)plan from extension's check_invariants #17199 (findepi)Performance related:
(a=1 AND b=1) OR (a=2 AND b=3) #16762 (haohuaijin)initcap function by avoiding memory allocation #16878 (waynexia)date_trunc (~7x faster) in some cases #16859 (waynexia)Implemented enhancements:
string function luhn_check #16848 (Standing-Man)ScalarValue::{new_one,new_zero,new_ten,distance} support for Decimal128 and Decimal256 #16831 (theirix)next_day function #16780 (petern48)Arc<ConfigOptions> to ScalarFunctionArgs, don't copy ConfigOptions on each query #16970 (Omega359)isodow (ISO day-of-week) support to date_part (Monday = 0) #17112 (ayemjay)datafusion-physical-adapter, implement predicate adaptation missing fields of structs #16589 (adriangb)spawn/spawn_blocking on a provided runtime in RecordBatchReceiverStreamBuilder #17239 (rluvaton)bitmap function bitmap_count #17179 (SparkApplicationMaster)width_bucket function #17331 (davidlghellin)FILTER clause in aggregate window functions #17378 (geoffreyclaude)SortMergeJoin on clause #17431 (stuartcarnie)Fixed bugs:
TableProvider docs #16830 (jcsherin)PlaceholderRowExec::partition_statistics #16851 (crepererum)ComposedPhysicalExtensionCodec does not use the same codec as encoding when decoding #16986 (Thearas)datafusion.execution.parquet.cache_metadata config #17062 (jonathanc-n)datafusion-physical-expr-adapter version to 49.0.1in Cargo.lock #17209 (miroim)FilterExec (predicates with inlist) #17224 (haohuaijin)batch_size rows #17244 (rluvaton)array_has null buffer for scalar #17272 (comphead)Cargo.toml #17310 (Weijun-H)CrossJoin unparsing #17382 (jonathanc-n)EquivalenceProperties::constants #17404 (crepererum)map_keys nullability flag #17454 (comphead)Documentation updates:
temp_directory and max_temp_directory_size runtime config variables #16934 (delamarch3)sql_parser.default_null_ordering config option to customize the default null ordering #16963 (goldmedal)Statistical Functions in Docs #16927 (Adez017)centroids config for approx_percentile_cont_with_weight #17003 (liamzwbao)AggregateUDFImpl equality, hash from Eq, Hash traits #17130 (findepi)EmptyRelation description #17157 (comphead)approx_percentile_cont and approx_percentile_cont_with_weight #16999 (alamb)ScalarUDFImpl equality, hash from Eq, Hash traits #17164 (findepi)generate_series in datafusion-proto #17200 (cetra3)Date32 to string given timestamp specifiers #15361 (friendlymatthew)49.0.2 version and changelog (#17277) #17287 (alamb)cfg(feature = "avro") attribute to Avro example in SQL API docs #17142 (kosiew)swap_inputs() interface in join executors #17373 (2010YOUY01)-- properly in profiling docs #17430 (petern48)Other:
equals_datatype for BinaryExpr #16813 (comphead)binary/tests #16782 (kosiew)parquet_embedded_index.rs #16825 (jcsherin)arrow-ipc/zstd dep under compression feature #16844 (chrisvander)SessionState::sql_to_expr_with_alias does not consume all input #16811 (pepijnve)schema_adapter integration tests not running #16835 (kosiew)next_up and next_down behavior for zero float values #16745 (liamzwbao)insta in print_format.rs #16993 (Thearas)SpillManager::read_spill_as_stream #16616 (ding-young)From<Option<String>>' for ScalarValue` #17043 (findepi)array function array #16936 (Standing-Man)is_not_null expression #17056 (davidhewitt)url function parse_url #16937 (Standing-Man)object_store crate via DataFusion Core and Common #17070 (kosiew)NULL IN () optimization #17092 (findepi)prettier to the devcontainer (GitHub codespaces) #17019 (alamb)character_length impl by unifying null handling logic #16877 (waynexia)datafusion-testing pin #17176 (alamb)ScalarUDF::display_name #17168 (findepi)datafusion-testing submodule #17187 (2010YOUY01)NUL to \0 in sqllogictests #17181 (Jefffrey)GetFieldFunc's display_name, schema_name #17167 (findepi)datafusion-cli #17205 (2010YOUY01)stats_projection #17154 (alamb)distinct and ignore_nulls in window expressions during proto serde #17235 (cetra3)UserDefinedFunctionPlanner #17247 (alamb)DFParquetMetadata #17127 (alamb)avg(distinct) for float64 type #17255 (Jefffrey)partition_statistics API for RepartitionExec #17061 (liamzwbao)SortMergeJoin into multiple modules #17304 (jonathanc-n)SchemaMapping #17344 (rluvaton)StringViewArray #17315 (ding-young)PartialOrd for TDigest's Centroid #17440 (findepi)PartialEq, PartialOrd from ToRepartition, RePartition #17441 (findepi)BufferedBatchState enum for SMJ spilling #17429 (jonathanc-n)Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor.
51 dependabot[bot]
31 Piotr Findeisen
24 Adrian Garcia Badaracco
21 Andrew Lamb
14 Yongting You
11 Chen Chongchen
9 Berkay Şahin
9 Ruihang Xia
7 Jeffrey Vo
7 Nuno Faria
6 Oleks V
6 Pepijn Van Eeckhoudt
6 Qi Zhu
5 ding-young
4 Adam Reeve
4 Alan Tang
4 Jonathan Chen
4 Liam Bao
4 Peter Nguyen
4 Raz Luvaton
4 kosiew
3 Adam Gutglick
3 Cancai Cai
3 Huaijin
3 Peter L
3 lorenarosati
3 wiedld
2 Brent Gardner
2 Bruce Ritchie
2 Marco Neumann
2 Matthew Kim
2 Sherin Jacob
2 Thearas
2 Tim Saucer
2 miro
2 xudong.w
2 张林伟
1 Ajeeta Asthana
1 Alex Huang
1 Andrey Koshchiy
1 Andy Grove
1 Blake Orth
1 Christian van der Loo
1 Colin Marc
1 Corwin Joy
1 David Hewitt
1 David López
1 Dima
1 Eugene Tolbakov
1 Evgenii Glotov
1 GPK
1 Gabriel
1 Geetansh Juneja
1 Geoffrey Claude
1 Haresh Khanna
1 Jack Kleeman
1 Jax Liu
1 Jensen
1 LB7666
1 Loakesh Indiran
1 Marko Milenković
1 Matt Matravers
1 Nga Tran
1 Parth Chandra
1 Ronit Thummaluru
1 Shehab Amin
1 Shiv Bhatia
1 Shruti Sharma
1 Simon Vandel Sillesen
1 Stuart Carnie
1 Tobias Schwarzinger
1 Yuhan Wang
1 ZC
1 Zhen Wang
1 aditya singh rathore
1 ayemjay
1 delamarch3
1 mwish
1 theirix
Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release.