From 6a65f6a7169189243f3492fa6496bd96346c7cfe Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Wed, 18 Mar 2026 09:01:57 -0400 Subject: [PATCH 1/2] [branch-52] Update version to 52.4.0 and update changelog (#21004) --- Cargo.lock | 84 +++++++++++++++---------------- Cargo.toml | 76 ++++++++++++++-------------- dev/changelog/52.4.0.md | 57 +++++++++++++++++++++ docs/source/user-guide/configs.md | 2 +- 4 files changed, 138 insertions(+), 81 deletions(-) create mode 100644 dev/changelog/52.4.0.md diff --git a/Cargo.lock b/Cargo.lock index 8101e2fe22d9..78183f78d67c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1737,7 +1737,7 @@ dependencies = [ [[package]] name = "datafusion" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "arrow-schema", @@ -1810,7 +1810,7 @@ dependencies = [ [[package]] name = "datafusion-benchmarks" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -1837,7 +1837,7 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -1860,7 +1860,7 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -1882,7 +1882,7 @@ dependencies = [ [[package]] name = "datafusion-cli" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -1913,7 +1913,7 @@ dependencies = [ [[package]] name = "datafusion-common" -version = "52.3.0" +version = "52.4.0" dependencies = [ "apache-avro", "arrow", @@ -1940,7 +1940,7 @@ dependencies = [ [[package]] name = "datafusion-common-runtime" -version = "52.3.0" +version = "52.4.0" dependencies = [ "futures", "log", @@ -1949,7 +1949,7 @@ dependencies = [ [[package]] name = "datafusion-datasource" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-compression", @@ -1984,7 +1984,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-arrow" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "arrow-ipc", @@ -2007,7 +2007,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-avro" -version = "52.3.0" +version = "52.4.0" dependencies = [ "apache-avro", "arrow", @@ -2026,7 +2026,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-csv" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2047,7 +2047,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2069,7 +2069,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-parquet" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2102,11 +2102,11 @@ dependencies = [ [[package]] name = "datafusion-doc" -version = "52.3.0" +version = "52.4.0" [[package]] name = "datafusion-examples" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "arrow-flight", @@ -2147,7 +2147,7 @@ dependencies = [ [[package]] name = "datafusion-execution" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "arrow-buffer", @@ -2170,7 +2170,7 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2193,7 +2193,7 @@ dependencies = [ [[package]] name = "datafusion-expr-common" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2204,7 +2204,7 @@ dependencies = [ [[package]] name = "datafusion-ffi" -version = "52.3.0" +version = "52.4.0" dependencies = [ "abi_stable", "arrow", @@ -2238,7 +2238,7 @@ dependencies = [ [[package]] name = "datafusion-functions" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "arrow-buffer", @@ -2272,7 +2272,7 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "criterion", @@ -2293,7 +2293,7 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate-common" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "criterion", @@ -2305,7 +2305,7 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "arrow-ord", @@ -2329,7 +2329,7 @@ dependencies = [ [[package]] name = "datafusion-functions-table" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2342,7 +2342,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "criterion", @@ -2358,7 +2358,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window-common" -version = "52.3.0" +version = "52.4.0" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -2366,7 +2366,7 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "52.3.0" +version = "52.4.0" dependencies = [ "datafusion-doc", "quote", @@ -2375,7 +2375,7 @@ dependencies = [ [[package]] name = "datafusion-optimizer" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2402,7 +2402,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "criterion", @@ -2427,7 +2427,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-adapter" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2440,7 +2440,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-common" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "chrono", @@ -2456,7 +2456,7 @@ dependencies = [ [[package]] name = "datafusion-physical-optimizer" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2477,7 +2477,7 @@ dependencies = [ [[package]] name = "datafusion-physical-plan" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "arrow-ord", @@ -2513,7 +2513,7 @@ dependencies = [ [[package]] name = "datafusion-proto" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2551,7 +2551,7 @@ dependencies = [ [[package]] name = "datafusion-proto-common" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2563,7 +2563,7 @@ dependencies = [ [[package]] name = "datafusion-pruning" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2581,7 +2581,7 @@ dependencies = [ [[package]] name = "datafusion-session" -version = "52.3.0" +version = "52.4.0" dependencies = [ "async-trait", "datafusion-common", @@ -2593,7 +2593,7 @@ dependencies = [ [[package]] name = "datafusion-spark" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "bigdecimal", @@ -2619,7 +2619,7 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "bigdecimal", @@ -2644,7 +2644,7 @@ dependencies = [ [[package]] name = "datafusion-sqllogictest" -version = "52.3.0" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2675,7 +2675,7 @@ dependencies = [ [[package]] name = "datafusion-substrait" -version = "52.3.0" +version = "52.4.0" dependencies = [ "async-recursion", "async-trait", @@ -2696,7 +2696,7 @@ dependencies = [ [[package]] name = "datafusion-wasmtest" -version = "52.3.0" +version = "52.4.0" dependencies = [ "bytes", "chrono", diff --git a/Cargo.toml b/Cargo.toml index 08d585d3ef90..2a072882c59c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -79,7 +79,7 @@ repository = "https://github.com/apache/datafusion" # Define Minimum Supported Rust Version (MSRV) rust-version = "1.88.0" # Define DataFusion version -version = "52.3.0" +version = "52.4.0" [workspace.dependencies] # We turn off default-features for some dependencies here so the workspaces which inherit them can @@ -109,43 +109,43 @@ chrono = { version = "0.4.44", default-features = false } criterion = "0.8" ctor = "0.6.3" dashmap = "6.0.1" -datafusion = { path = "datafusion/core", version = "52.3.0", default-features = false } -datafusion-catalog = { path = "datafusion/catalog", version = "52.3.0" } -datafusion-catalog-listing = { path = "datafusion/catalog-listing", version = "52.3.0" } -datafusion-common = { path = "datafusion/common", version = "52.3.0", default-features = false } -datafusion-common-runtime = { path = "datafusion/common-runtime", version = "52.3.0" } -datafusion-datasource = { path = "datafusion/datasource", version = "52.3.0", default-features = false } -datafusion-datasource-arrow = { path = "datafusion/datasource-arrow", version = "52.3.0", default-features = false } -datafusion-datasource-avro = { path = "datafusion/datasource-avro", version = "52.3.0", default-features = false } -datafusion-datasource-csv = { path = "datafusion/datasource-csv", version = "52.3.0", default-features = false } -datafusion-datasource-json = { path = "datafusion/datasource-json", version = "52.3.0", default-features = false } -datafusion-datasource-parquet = { path = "datafusion/datasource-parquet", version = "52.3.0", default-features = false } -datafusion-doc = { path = "datafusion/doc", version = "52.3.0" } -datafusion-execution = { path = "datafusion/execution", version = "52.3.0", default-features = false } -datafusion-expr = { path = "datafusion/expr", version = "52.3.0", default-features = false } -datafusion-expr-common = { path = "datafusion/expr-common", version = "52.3.0" } -datafusion-ffi = { path = "datafusion/ffi", version = "52.3.0" } -datafusion-functions = { path = "datafusion/functions", version = "52.3.0" } -datafusion-functions-aggregate = { path = "datafusion/functions-aggregate", version = "52.3.0" } -datafusion-functions-aggregate-common = { path = "datafusion/functions-aggregate-common", version = "52.3.0" } -datafusion-functions-nested = { path = "datafusion/functions-nested", version = "52.3.0", default-features = false } -datafusion-functions-table = { path = "datafusion/functions-table", version = "52.3.0" } -datafusion-functions-window = { path = "datafusion/functions-window", version = "52.3.0" } -datafusion-functions-window-common = { path = "datafusion/functions-window-common", version = "52.3.0" } -datafusion-macros = { path = "datafusion/macros", version = "52.3.0" } -datafusion-optimizer = { path = "datafusion/optimizer", version = "52.3.0", default-features = false } -datafusion-physical-expr = { path = "datafusion/physical-expr", version = "52.3.0", default-features = false } -datafusion-physical-expr-adapter = { path = "datafusion/physical-expr-adapter", version = "52.3.0", default-features = false } -datafusion-physical-expr-common = { path = "datafusion/physical-expr-common", version = "52.3.0", default-features = false } -datafusion-physical-optimizer = { path = "datafusion/physical-optimizer", version = "52.3.0" } -datafusion-physical-plan = { path = "datafusion/physical-plan", version = "52.3.0" } -datafusion-proto = { path = "datafusion/proto", version = "52.3.0" } -datafusion-proto-common = { path = "datafusion/proto-common", version = "52.3.0" } -datafusion-pruning = { path = "datafusion/pruning", version = "52.3.0" } -datafusion-session = { path = "datafusion/session", version = "52.3.0" } -datafusion-spark = { path = "datafusion/spark", version = "52.3.0" } -datafusion-sql = { path = "datafusion/sql", version = "52.3.0" } -datafusion-substrait = { path = "datafusion/substrait", version = "52.3.0" } +datafusion = { path = "datafusion/core", version = "52.4.0", default-features = false } +datafusion-catalog = { path = "datafusion/catalog", version = "52.4.0" } +datafusion-catalog-listing = { path = "datafusion/catalog-listing", version = "52.4.0" } +datafusion-common = { path = "datafusion/common", version = "52.4.0", default-features = false } +datafusion-common-runtime = { path = "datafusion/common-runtime", version = "52.4.0" } +datafusion-datasource = { path = "datafusion/datasource", version = "52.4.0", default-features = false } +datafusion-datasource-arrow = { path = "datafusion/datasource-arrow", version = "52.4.0", default-features = false } +datafusion-datasource-avro = { path = "datafusion/datasource-avro", version = "52.4.0", default-features = false } +datafusion-datasource-csv = { path = "datafusion/datasource-csv", version = "52.4.0", default-features = false } +datafusion-datasource-json = { path = "datafusion/datasource-json", version = "52.4.0", default-features = false } +datafusion-datasource-parquet = { path = "datafusion/datasource-parquet", version = "52.4.0", default-features = false } +datafusion-doc = { path = "datafusion/doc", version = "52.4.0" } +datafusion-execution = { path = "datafusion/execution", version = "52.4.0", default-features = false } +datafusion-expr = { path = "datafusion/expr", version = "52.4.0", default-features = false } +datafusion-expr-common = { path = "datafusion/expr-common", version = "52.4.0" } +datafusion-ffi = { path = "datafusion/ffi", version = "52.4.0" } +datafusion-functions = { path = "datafusion/functions", version = "52.4.0" } +datafusion-functions-aggregate = { path = "datafusion/functions-aggregate", version = "52.4.0" } +datafusion-functions-aggregate-common = { path = "datafusion/functions-aggregate-common", version = "52.4.0" } +datafusion-functions-nested = { path = "datafusion/functions-nested", version = "52.4.0", default-features = false } +datafusion-functions-table = { path = "datafusion/functions-table", version = "52.4.0" } +datafusion-functions-window = { path = "datafusion/functions-window", version = "52.4.0" } +datafusion-functions-window-common = { path = "datafusion/functions-window-common", version = "52.4.0" } +datafusion-macros = { path = "datafusion/macros", version = "52.4.0" } +datafusion-optimizer = { path = "datafusion/optimizer", version = "52.4.0", default-features = false } +datafusion-physical-expr = { path = "datafusion/physical-expr", version = "52.4.0", default-features = false } +datafusion-physical-expr-adapter = { path = "datafusion/physical-expr-adapter", version = "52.4.0", default-features = false } +datafusion-physical-expr-common = { path = "datafusion/physical-expr-common", version = "52.4.0", default-features = false } +datafusion-physical-optimizer = { path = "datafusion/physical-optimizer", version = "52.4.0" } +datafusion-physical-plan = { path = "datafusion/physical-plan", version = "52.4.0" } +datafusion-proto = { path = "datafusion/proto", version = "52.4.0" } +datafusion-proto-common = { path = "datafusion/proto-common", version = "52.4.0" } +datafusion-pruning = { path = "datafusion/pruning", version = "52.4.0" } +datafusion-session = { path = "datafusion/session", version = "52.4.0" } +datafusion-spark = { path = "datafusion/spark", version = "52.4.0" } +datafusion-sql = { path = "datafusion/sql", version = "52.4.0" } +datafusion-substrait = { path = "datafusion/substrait", version = "52.4.0" } doc-comment = "0.3" env_logger = "0.11" diff --git a/dev/changelog/52.4.0.md b/dev/changelog/52.4.0.md new file mode 100644 index 000000000000..04fba07cde9e --- /dev/null +++ b/dev/changelog/52.4.0.md @@ -0,0 +1,57 @@ + + +# Apache DataFusion 52.4.0 Changelog + +This release consists of 11 commits from 10 contributors. See credits at the end of this changelog for more information. + +See the [upgrade guide](https://datafusion.apache.org/library-user-guide/upgrading.html) for information on how to upgrade from previous versions. + +**Other:** + +- [branch-52] fix: maintain inner list nullability for (#19948) [#20878](https://github.com/apache/datafusion/pull/20878) (Jefffrey) +- [branch-52] fix: Ensure columns are casted to the correct names with Unions (#20146) [#20879](https://github.com/apache/datafusion/pull/20879) (nuno-faria) +- [branch-52] fix: interval analysis error when have two filterexec that inner filter proves zero selectivity (#20743) [#20880](https://github.com/apache/datafusion/pull/20880) (haohuaijin) +- [branch-52] fix: Return `probe_side.len()` for RightMark/Anti count(\*) queries (#20710) [#20881](https://github.com/apache/datafusion/pull/20881) (jonathanc-n) +- [branch-52] fix: disable dynamic filter pushdown for non min/max aggregates (#20279) [#20877](https://github.com/apache/datafusion/pull/20877) (notashes) +- [branch-52] Fix duplicate group keys after hash aggregation spill (#20724) (#20858) [#20917](https://github.com/apache/datafusion/pull/20917) (gboucher90) +- [branch-52] perf: Cache num_output_rows in sort merge join to avoid O(n) recount (#20478) [#20936](https://github.com/apache/datafusion/pull/20936) (andygrove) +- [branch-52] fix: SanityCheckPlan error with window functions and NVL filter (#20231) [#20931](https://github.com/apache/datafusion/pull/20931) (EeshanBembi) +- [branch-52] chore: Ignore RUSTSEC-2024-0014 (#20862) [#21020](https://github.com/apache/datafusion/pull/21020) (comphead) +- [branch-52] fix: InList Dictionary filter pushdown type mismatch (#20962) [#20997](https://github.com/apache/datafusion/pull/20997) (alamb) +- [branch-52] Update to use lz4_flex 0.12.1 and quinn-proto 0.11.14 [#21009](https://github.com/apache/datafusion/pull/21009) (alamb) + +## Credits + +Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor. + +``` + 2 Andrew Lamb + 1 Andy Grove + 1 EeshanBembi + 1 Guillaume Boucher + 1 Huaijin + 1 Jeffrey Vo + 1 Jonathan Chen + 1 Nuno Faria + 1 Oleks V + 1 notashes +``` + +Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release. diff --git a/docs/source/user-guide/configs.md b/docs/source/user-guide/configs.md index 6f6d5b205877..15831b23d9c6 100644 --- a/docs/source/user-guide/configs.md +++ b/docs/source/user-guide/configs.md @@ -101,7 +101,7 @@ The following configuration settings are available: | datafusion.execution.parquet.dictionary_page_size_limit | 1048576 | (writing) Sets best effort maximum dictionary page size, in bytes | | datafusion.execution.parquet.statistics_enabled | page | (writing) Sets if statistics are enabled for any column Valid values are: "none", "chunk", and "page" These values are not case sensitive. If NULL, uses default parquet writer setting | | datafusion.execution.parquet.max_row_group_size | 1048576 | (writing) Target maximum number of rows in each row group (defaults to 1M rows). Writing larger row groups requires more memory to write, but can get better compression and be faster to read. | -| datafusion.execution.parquet.created_by | datafusion version 52.3.0 | (writing) Sets "created by" property | +| datafusion.execution.parquet.created_by | datafusion version 52.4.0 | (writing) Sets "created by" property | | datafusion.execution.parquet.column_index_truncate_length | 64 | (writing) Sets column index truncate length | | datafusion.execution.parquet.statistics_truncate_length | 64 | (writing) Sets statistics truncate length. If NULL, uses default parquet writer setting | | datafusion.execution.parquet.data_page_row_count_limit | 20000 | (writing) Sets best effort maximum number of rows in data page | From 62158ca63b2e34083f5dff6c49072587ce8caa38 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Thu, 19 Mar 2026 10:29:07 -0400 Subject: [PATCH 2/2] Add `array-sort` to name --- dev/changelog/52.4.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/changelog/52.4.0.md b/dev/changelog/52.4.0.md index 04fba07cde9e..7ea1c8c29ea2 100644 --- a/dev/changelog/52.4.0.md +++ b/dev/changelog/52.4.0.md @@ -25,7 +25,7 @@ See the [upgrade guide](https://datafusion.apache.org/library-user-guide/upgradi **Other:** -- [branch-52] fix: maintain inner list nullability for (#19948) [#20878](https://github.com/apache/datafusion/pull/20878) (Jefffrey) +- [branch-52] fix: maintain inner list nullability for `array_sort` (#19948) [#20878](https://github.com/apache/datafusion/pull/20878) (Jefffrey) - [branch-52] fix: Ensure columns are casted to the correct names with Unions (#20146) [#20879](https://github.com/apache/datafusion/pull/20879) (nuno-faria) - [branch-52] fix: interval analysis error when have two filterexec that inner filter proves zero selectivity (#20743) [#20880](https://github.com/apache/datafusion/pull/20880) (haohuaijin) - [branch-52] fix: Return `probe_side.len()` for RightMark/Anti count(\*) queries (#20710) [#20881](https://github.com/apache/datafusion/pull/20881) (jonathanc-n)