From bd0eeb22e5e56f0c59fc0ef037f17adb30f40c25 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 17 Mar 2026 14:07:09 -0400 Subject: [PATCH 1/4] [branch-52] Update version to 52.4.0 and update changelog --- Cargo.lock | 84 +++++++++++++++---------------- Cargo.toml | 76 ++++++++++++++-------------- dev/changelog/52.4.0.md | 52 +++++++++++++++++++ docs/source/user-guide/configs.md | 2 +- 4 files changed, 133 insertions(+), 81 deletions(-) create mode 100644 dev/changelog/52.4.0.md diff --git a/Cargo.lock b/Cargo.lock index dc938853f3aad..3ab5b776eaac1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1767,7 +1767,7 @@ dependencies = [ [[package]] name = "datafusion" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "arrow-schema", @@ -1839,7 +1839,7 @@ dependencies = [ [[package]] name = "datafusion-benchmarks" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "clap", @@ -1864,7 +1864,7 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -1887,7 +1887,7 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -1909,7 +1909,7 @@ dependencies = [ [[package]] name = "datafusion-cli" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -1940,7 +1940,7 @@ dependencies = [ [[package]] name = "datafusion-common" -version = "52.3.0" +version = "52.3.4" dependencies = [ "ahash", "apache-avro", @@ -1967,7 +1967,7 @@ dependencies = [ [[package]] name = "datafusion-common-runtime" -version = "52.3.0" +version = "52.3.4" dependencies = [ "futures", "log", @@ -1976,7 +1976,7 @@ dependencies = [ [[package]] name = "datafusion-datasource" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-compression", @@ -2011,7 +2011,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-arrow" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "arrow-ipc", @@ -2034,7 +2034,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-avro" -version = "52.3.0" +version = "52.3.4" dependencies = [ "apache-avro", "arrow", @@ -2053,7 +2053,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-csv" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -2074,7 +2074,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -2094,7 +2094,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-parquet" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -2123,11 +2123,11 @@ dependencies = [ [[package]] name = "datafusion-doc" -version = "52.3.0" +version = "52.3.4" [[package]] name = "datafusion-examples" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "arrow-flight", @@ -2166,7 +2166,7 @@ dependencies = [ [[package]] name = "datafusion-execution" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -2187,7 +2187,7 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -2211,7 +2211,7 @@ dependencies = [ [[package]] name = "datafusion-expr-common" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "datafusion-common", @@ -2222,7 +2222,7 @@ dependencies = [ [[package]] name = "datafusion-ffi" -version = "52.3.0" +version = "52.3.4" dependencies = [ "abi_stable", "arrow", @@ -2256,7 +2256,7 @@ dependencies = [ [[package]] name = "datafusion-functions" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "arrow-buffer", @@ -2289,7 +2289,7 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate" -version = "52.3.0" +version = "52.3.4" dependencies = [ "ahash", "arrow", @@ -2310,7 +2310,7 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate-common" -version = "52.3.0" +version = "52.3.4" dependencies = [ "ahash", "arrow", @@ -2323,7 +2323,7 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "arrow-ord", @@ -2346,7 +2346,7 @@ dependencies = [ [[package]] name = "datafusion-functions-table" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -2360,7 +2360,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "datafusion-common", @@ -2376,7 +2376,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window-common" -version = "52.3.0" +version = "52.3.4" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -2384,7 +2384,7 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "52.3.0" +version = "52.3.4" dependencies = [ "datafusion-doc", "quote", @@ -2393,7 +2393,7 @@ dependencies = [ [[package]] name = "datafusion-optimizer" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -2420,7 +2420,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "52.3.0" +version = "52.3.4" dependencies = [ "ahash", "arrow", @@ -2447,7 +2447,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-adapter" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "datafusion-common", @@ -2460,7 +2460,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-common" -version = "52.3.0" +version = "52.3.4" dependencies = [ "ahash", "arrow", @@ -2475,7 +2475,7 @@ dependencies = [ [[package]] name = "datafusion-physical-optimizer" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "datafusion-common", @@ -2495,7 +2495,7 @@ dependencies = [ [[package]] name = "datafusion-physical-plan" -version = "52.3.0" +version = "52.3.4" dependencies = [ "ahash", "arrow", @@ -2531,7 +2531,7 @@ dependencies = [ [[package]] name = "datafusion-proto" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -2568,7 +2568,7 @@ dependencies = [ [[package]] name = "datafusion-proto-common" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "datafusion-common", @@ -2580,7 +2580,7 @@ dependencies = [ [[package]] name = "datafusion-pruning" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "datafusion-common", @@ -2598,7 +2598,7 @@ dependencies = [ [[package]] name = "datafusion-session" -version = "52.3.0" +version = "52.3.4" dependencies = [ "async-trait", "datafusion-common", @@ -2610,7 +2610,7 @@ dependencies = [ [[package]] name = "datafusion-spark" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "bigdecimal", @@ -2632,7 +2632,7 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "bigdecimal", @@ -2658,7 +2658,7 @@ dependencies = [ [[package]] name = "datafusion-sqllogictest" -version = "52.3.0" +version = "52.3.4" dependencies = [ "arrow", "async-trait", @@ -2689,7 +2689,7 @@ dependencies = [ [[package]] name = "datafusion-substrait" -version = "52.3.0" +version = "52.3.4" dependencies = [ "async-recursion", "async-trait", @@ -2710,7 +2710,7 @@ dependencies = [ [[package]] name = "datafusion-wasmtest" -version = "52.3.0" +version = "52.3.4" dependencies = [ "chrono", "console_error_panic_hook", diff --git a/Cargo.toml b/Cargo.toml index 9a0766efcb364..4b47c22f37087 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.3.4" [workspace.dependencies] # We turn off default-features for some dependencies here so the workspaces which inherit them can @@ -112,43 +112,43 @@ chrono = { version = "0.4.42", 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.3.4", default-features = false } +datafusion-catalog = { path = "datafusion/catalog", version = "52.3.4" } +datafusion-catalog-listing = { path = "datafusion/catalog-listing", version = "52.3.4" } +datafusion-common = { path = "datafusion/common", version = "52.3.4", default-features = false } +datafusion-common-runtime = { path = "datafusion/common-runtime", version = "52.3.4" } +datafusion-datasource = { path = "datafusion/datasource", version = "52.3.4", default-features = false } +datafusion-datasource-arrow = { path = "datafusion/datasource-arrow", version = "52.3.4", default-features = false } +datafusion-datasource-avro = { path = "datafusion/datasource-avro", version = "52.3.4", default-features = false } +datafusion-datasource-csv = { path = "datafusion/datasource-csv", version = "52.3.4", default-features = false } +datafusion-datasource-json = { path = "datafusion/datasource-json", version = "52.3.4", default-features = false } +datafusion-datasource-parquet = { path = "datafusion/datasource-parquet", version = "52.3.4", default-features = false } +datafusion-doc = { path = "datafusion/doc", version = "52.3.4" } +datafusion-execution = { path = "datafusion/execution", version = "52.3.4", default-features = false } +datafusion-expr = { path = "datafusion/expr", version = "52.3.4", default-features = false } +datafusion-expr-common = { path = "datafusion/expr-common", version = "52.3.4" } +datafusion-ffi = { path = "datafusion/ffi", version = "52.3.4" } +datafusion-functions = { path = "datafusion/functions", version = "52.3.4" } +datafusion-functions-aggregate = { path = "datafusion/functions-aggregate", version = "52.3.4" } +datafusion-functions-aggregate-common = { path = "datafusion/functions-aggregate-common", version = "52.3.4" } +datafusion-functions-nested = { path = "datafusion/functions-nested", version = "52.3.4", default-features = false } +datafusion-functions-table = { path = "datafusion/functions-table", version = "52.3.4" } +datafusion-functions-window = { path = "datafusion/functions-window", version = "52.3.4" } +datafusion-functions-window-common = { path = "datafusion/functions-window-common", version = "52.3.4" } +datafusion-macros = { path = "datafusion/macros", version = "52.3.4" } +datafusion-optimizer = { path = "datafusion/optimizer", version = "52.3.4", default-features = false } +datafusion-physical-expr = { path = "datafusion/physical-expr", version = "52.3.4", default-features = false } +datafusion-physical-expr-adapter = { path = "datafusion/physical-expr-adapter", version = "52.3.4", default-features = false } +datafusion-physical-expr-common = { path = "datafusion/physical-expr-common", version = "52.3.4", default-features = false } +datafusion-physical-optimizer = { path = "datafusion/physical-optimizer", version = "52.3.4" } +datafusion-physical-plan = { path = "datafusion/physical-plan", version = "52.3.4" } +datafusion-proto = { path = "datafusion/proto", version = "52.3.4" } +datafusion-proto-common = { path = "datafusion/proto-common", version = "52.3.4" } +datafusion-pruning = { path = "datafusion/pruning", version = "52.3.4" } +datafusion-session = { path = "datafusion/session", version = "52.3.4" } +datafusion-spark = { path = "datafusion/spark", version = "52.3.4" } +datafusion-sql = { path = "datafusion/sql", version = "52.3.4" } +datafusion-substrait = { path = "datafusion/substrait", version = "52.3.4" } 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 0000000000000..43923970047b8 --- /dev/null +++ b/dev/changelog/52.4.0.md @@ -0,0 +1,52 @@ + + +# Apache DataFusion 52.4.0 Changelog + +This release consists of 8 commits from 8 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) + +## Credits + +Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor. + +``` + 1 Andy Grove + 1 EeshanBembi + 1 Guillaume Boucher + 1 Huaijin + 1 Jeffrey Vo + 1 Jonathan Chen + 1 Nuno Faria + 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 8423480d53305..8f01d5b621a0d 100644 --- a/docs/source/user-guide/configs.md +++ b/docs/source/user-guide/configs.md @@ -99,7 +99,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.3.4 | (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 a3c61289a5930cb5faf1457e82b5143fa8d1c47b Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 17 Mar 2026 14:13:45 -0400 Subject: [PATCH 2/4] =?UTF-8?q?Fix=20version=20=F0=9F=A4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 84 +++++++++++++++---------------- Cargo.toml | 76 ++++++++++++++-------------- docs/source/user-guide/configs.md | 2 +- 3 files changed, 81 insertions(+), 81 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3ab5b776eaac1..b049959fba5e8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1767,7 +1767,7 @@ dependencies = [ [[package]] name = "datafusion" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "arrow-schema", @@ -1839,7 +1839,7 @@ dependencies = [ [[package]] name = "datafusion-benchmarks" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "clap", @@ -1864,7 +1864,7 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -1887,7 +1887,7 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -1909,7 +1909,7 @@ dependencies = [ [[package]] name = "datafusion-cli" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -1940,7 +1940,7 @@ dependencies = [ [[package]] name = "datafusion-common" -version = "52.3.4" +version = "52.4.0" dependencies = [ "ahash", "apache-avro", @@ -1967,7 +1967,7 @@ dependencies = [ [[package]] name = "datafusion-common-runtime" -version = "52.3.4" +version = "52.4.0" dependencies = [ "futures", "log", @@ -1976,7 +1976,7 @@ dependencies = [ [[package]] name = "datafusion-datasource" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-compression", @@ -2011,7 +2011,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-arrow" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "arrow-ipc", @@ -2034,7 +2034,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-avro" -version = "52.3.4" +version = "52.4.0" dependencies = [ "apache-avro", "arrow", @@ -2053,7 +2053,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-csv" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2074,7 +2074,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2094,7 +2094,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-parquet" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2123,11 +2123,11 @@ dependencies = [ [[package]] name = "datafusion-doc" -version = "52.3.4" +version = "52.4.0" [[package]] name = "datafusion-examples" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "arrow-flight", @@ -2166,7 +2166,7 @@ dependencies = [ [[package]] name = "datafusion-execution" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2187,7 +2187,7 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2211,7 +2211,7 @@ dependencies = [ [[package]] name = "datafusion-expr-common" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2222,7 +2222,7 @@ dependencies = [ [[package]] name = "datafusion-ffi" -version = "52.3.4" +version = "52.4.0" dependencies = [ "abi_stable", "arrow", @@ -2256,7 +2256,7 @@ dependencies = [ [[package]] name = "datafusion-functions" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "arrow-buffer", @@ -2289,7 +2289,7 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate" -version = "52.3.4" +version = "52.4.0" dependencies = [ "ahash", "arrow", @@ -2310,7 +2310,7 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate-common" -version = "52.3.4" +version = "52.4.0" dependencies = [ "ahash", "arrow", @@ -2323,7 +2323,7 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "arrow-ord", @@ -2346,7 +2346,7 @@ dependencies = [ [[package]] name = "datafusion-functions-table" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2360,7 +2360,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2376,7 +2376,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window-common" -version = "52.3.4" +version = "52.4.0" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -2384,7 +2384,7 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "52.3.4" +version = "52.4.0" dependencies = [ "datafusion-doc", "quote", @@ -2393,7 +2393,7 @@ dependencies = [ [[package]] name = "datafusion-optimizer" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2420,7 +2420,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "52.3.4" +version = "52.4.0" dependencies = [ "ahash", "arrow", @@ -2447,7 +2447,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-adapter" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2460,7 +2460,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-common" -version = "52.3.4" +version = "52.4.0" dependencies = [ "ahash", "arrow", @@ -2475,7 +2475,7 @@ dependencies = [ [[package]] name = "datafusion-physical-optimizer" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2495,7 +2495,7 @@ dependencies = [ [[package]] name = "datafusion-physical-plan" -version = "52.3.4" +version = "52.4.0" dependencies = [ "ahash", "arrow", @@ -2531,7 +2531,7 @@ dependencies = [ [[package]] name = "datafusion-proto" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2568,7 +2568,7 @@ dependencies = [ [[package]] name = "datafusion-proto-common" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2580,7 +2580,7 @@ dependencies = [ [[package]] name = "datafusion-pruning" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "datafusion-common", @@ -2598,7 +2598,7 @@ dependencies = [ [[package]] name = "datafusion-session" -version = "52.3.4" +version = "52.4.0" dependencies = [ "async-trait", "datafusion-common", @@ -2610,7 +2610,7 @@ dependencies = [ [[package]] name = "datafusion-spark" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "bigdecimal", @@ -2632,7 +2632,7 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "bigdecimal", @@ -2658,7 +2658,7 @@ dependencies = [ [[package]] name = "datafusion-sqllogictest" -version = "52.3.4" +version = "52.4.0" dependencies = [ "arrow", "async-trait", @@ -2689,7 +2689,7 @@ dependencies = [ [[package]] name = "datafusion-substrait" -version = "52.3.4" +version = "52.4.0" dependencies = [ "async-recursion", "async-trait", @@ -2710,7 +2710,7 @@ dependencies = [ [[package]] name = "datafusion-wasmtest" -version = "52.3.4" +version = "52.4.0" dependencies = [ "chrono", "console_error_panic_hook", diff --git a/Cargo.toml b/Cargo.toml index 4b47c22f37087..f8a1538358953 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.4" +version = "52.4.0" [workspace.dependencies] # We turn off default-features for some dependencies here so the workspaces which inherit them can @@ -112,43 +112,43 @@ chrono = { version = "0.4.42", default-features = false } criterion = "0.8" ctor = "0.6.3" dashmap = "6.0.1" -datafusion = { path = "datafusion/core", version = "52.3.4", default-features = false } -datafusion-catalog = { path = "datafusion/catalog", version = "52.3.4" } -datafusion-catalog-listing = { path = "datafusion/catalog-listing", version = "52.3.4" } -datafusion-common = { path = "datafusion/common", version = "52.3.4", default-features = false } -datafusion-common-runtime = { path = "datafusion/common-runtime", version = "52.3.4" } -datafusion-datasource = { path = "datafusion/datasource", version = "52.3.4", default-features = false } -datafusion-datasource-arrow = { path = "datafusion/datasource-arrow", version = "52.3.4", default-features = false } -datafusion-datasource-avro = { path = "datafusion/datasource-avro", version = "52.3.4", default-features = false } -datafusion-datasource-csv = { path = "datafusion/datasource-csv", version = "52.3.4", default-features = false } -datafusion-datasource-json = { path = "datafusion/datasource-json", version = "52.3.4", default-features = false } -datafusion-datasource-parquet = { path = "datafusion/datasource-parquet", version = "52.3.4", default-features = false } -datafusion-doc = { path = "datafusion/doc", version = "52.3.4" } -datafusion-execution = { path = "datafusion/execution", version = "52.3.4", default-features = false } -datafusion-expr = { path = "datafusion/expr", version = "52.3.4", default-features = false } -datafusion-expr-common = { path = "datafusion/expr-common", version = "52.3.4" } -datafusion-ffi = { path = "datafusion/ffi", version = "52.3.4" } -datafusion-functions = { path = "datafusion/functions", version = "52.3.4" } -datafusion-functions-aggregate = { path = "datafusion/functions-aggregate", version = "52.3.4" } -datafusion-functions-aggregate-common = { path = "datafusion/functions-aggregate-common", version = "52.3.4" } -datafusion-functions-nested = { path = "datafusion/functions-nested", version = "52.3.4", default-features = false } -datafusion-functions-table = { path = "datafusion/functions-table", version = "52.3.4" } -datafusion-functions-window = { path = "datafusion/functions-window", version = "52.3.4" } -datafusion-functions-window-common = { path = "datafusion/functions-window-common", version = "52.3.4" } -datafusion-macros = { path = "datafusion/macros", version = "52.3.4" } -datafusion-optimizer = { path = "datafusion/optimizer", version = "52.3.4", default-features = false } -datafusion-physical-expr = { path = "datafusion/physical-expr", version = "52.3.4", default-features = false } -datafusion-physical-expr-adapter = { path = "datafusion/physical-expr-adapter", version = "52.3.4", default-features = false } -datafusion-physical-expr-common = { path = "datafusion/physical-expr-common", version = "52.3.4", default-features = false } -datafusion-physical-optimizer = { path = "datafusion/physical-optimizer", version = "52.3.4" } -datafusion-physical-plan = { path = "datafusion/physical-plan", version = "52.3.4" } -datafusion-proto = { path = "datafusion/proto", version = "52.3.4" } -datafusion-proto-common = { path = "datafusion/proto-common", version = "52.3.4" } -datafusion-pruning = { path = "datafusion/pruning", version = "52.3.4" } -datafusion-session = { path = "datafusion/session", version = "52.3.4" } -datafusion-spark = { path = "datafusion/spark", version = "52.3.4" } -datafusion-sql = { path = "datafusion/sql", version = "52.3.4" } -datafusion-substrait = { path = "datafusion/substrait", version = "52.3.4" } +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/docs/source/user-guide/configs.md b/docs/source/user-guide/configs.md index 8f01d5b621a0d..ebd9ef728ae7b 100644 --- a/docs/source/user-guide/configs.md +++ b/docs/source/user-guide/configs.md @@ -99,7 +99,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.4 | (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 5d982b449cc510b9f724e198b2ee867683a8df03 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 17 Mar 2026 15:20:40 -0400 Subject: [PATCH 3/4] prettier --- dev/changelog/52.4.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/changelog/52.4.0.md b/dev/changelog/52.4.0.md index 43923970047b8..53708b467459a 100644 --- a/dev/changelog/52.4.0.md +++ b/dev/changelog/52.4.0.md @@ -25,10 +25,10 @@ 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 (#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: 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) From b76f1c36f2bc3b3feab39c7bb20beb218e3837c3 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Wed, 18 Mar 2026 08:19:02 -0400 Subject: [PATCH 4/4] Update changelog --- dev/changelog/52.4.0.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dev/changelog/52.4.0.md b/dev/changelog/52.4.0.md index 53708b467459a..04fba07cde9e6 100644 --- a/dev/changelog/52.4.0.md +++ b/dev/changelog/52.4.0.md @@ -19,7 +19,7 @@ under the License. # Apache DataFusion 52.4.0 Changelog -This release consists of 8 commits from 8 contributors. See credits at the end of this changelog for more information. +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. @@ -33,12 +33,16 @@ See the [upgrade guide](https://datafusion.apache.org/library-user-guide/upgradi - [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 @@ -46,6 +50,7 @@ Thank you to everyone who contributed to this release. Here is a breakdown of co 1 Jeffrey Vo 1 Jonathan Chen 1 Nuno Faria + 1 Oleks V 1 notashes ```