From c37773b8fdae53410842865db26c25bdaec31027 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 20 Oct 2025 07:08:09 -0400 Subject: [PATCH 1/4] Update Changelog --- dev/changelog/50.3.0.md | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 dev/changelog/50.3.0.md diff --git a/dev/changelog/50.3.0.md b/dev/changelog/50.3.0.md new file mode 100644 index 000000000000..7313f9583035 --- /dev/null +++ b/dev/changelog/50.3.0.md @@ -0,0 +1,47 @@ + + +# Apache DataFusion 50.3.0 Changelog + +This release consists of 7 commits from 3 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-50] chore: Fix `no space left on device` [#18141](https://github.com/apache/datafusion/pull/18141) (comphead) +- [branch-50]: chore: cherry pick `concat` to 50.3.0 [#18128](https://github.com/apache/datafusion/pull/18128) (comphead) +- [branch-50] Backport Fix bug in LimitPushPastWindows (#18029) [#18107](https://github.com/apache/datafusion/pull/18107) (avantgardnerio) +- [branch-50] fix(SubqueryAlias): use maybe_project_redundant_column (#17478) [#18130](https://github.com/apache/datafusion/pull/18130) (hareshkh) +- [branch-50]: fix: Add overflow checks to SparkDateAdd/Sub to avoid panics (#18013) [#18131](https://github.com/apache/datafusion/pull/18131) (hareshkh) +- [branch-50] Fix ambiguous column names in substrait conversion #17299 [#18077](https://github.com/apache/datafusion/pull/18077) (hareshkh) +- [branch-50] Extend datatype semantic equality check to include timestamps (#17777) [#18129](https://github.com/apache/datafusion/pull/18129) (hareshkh) + +## Credits + +Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor. + +``` + 4 Haresh Khanna + 2 Oleks V + 1 Brent Gardner +``` + +Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release. + From 471b7aa9f8d040f85ec4aeb29e7415b8685ded9e Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 20 Oct 2025 07:11:13 -0400 Subject: [PATCH 2/4] Update version to 50.3.0 --- Cargo.lock | 82 +++++++++++++++---------------- Cargo.toml | 74 ++++++++++++++-------------- docs/source/user-guide/configs.md | 2 +- 3 files changed, 79 insertions(+), 79 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e48345ff713c..dac85fa0bad3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1845,7 +1845,7 @@ dependencies = [ [[package]] name = "datafusion" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "arrow-ipc", @@ -1918,7 +1918,7 @@ dependencies = [ [[package]] name = "datafusion-benchmarks" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "datafusion", @@ -1944,7 +1944,7 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -1968,7 +1968,7 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -1989,7 +1989,7 @@ dependencies = [ [[package]] name = "datafusion-cli" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "assert_cmd", @@ -2021,7 +2021,7 @@ dependencies = [ [[package]] name = "datafusion-common" -version = "50.2.0" +version = "50.3.0" dependencies = [ "ahash 0.8.12", "apache-avro", @@ -2049,7 +2049,7 @@ dependencies = [ [[package]] name = "datafusion-common-runtime" -version = "50.2.0" +version = "50.3.0" dependencies = [ "futures", "log", @@ -2058,7 +2058,7 @@ dependencies = [ [[package]] name = "datafusion-datasource" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-compression", @@ -2094,7 +2094,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-avro" -version = "50.2.0" +version = "50.3.0" dependencies = [ "apache-avro", "arrow", @@ -2119,7 +2119,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-csv" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -2142,7 +2142,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -2165,7 +2165,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-parquet" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -2198,11 +2198,11 @@ dependencies = [ [[package]] name = "datafusion-doc" -version = "50.2.0" +version = "50.3.0" [[package]] name = "datafusion-examples" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "arrow-flight", @@ -2236,7 +2236,7 @@ dependencies = [ [[package]] name = "datafusion-execution" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -2257,7 +2257,7 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -2280,7 +2280,7 @@ dependencies = [ [[package]] name = "datafusion-expr-common" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "datafusion-common", @@ -2291,7 +2291,7 @@ dependencies = [ [[package]] name = "datafusion-ffi" -version = "50.2.0" +version = "50.3.0" dependencies = [ "abi_stable", "arrow", @@ -2312,7 +2312,7 @@ dependencies = [ [[package]] name = "datafusion-functions" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "arrow-buffer", @@ -2341,7 +2341,7 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate" -version = "50.2.0" +version = "50.3.0" dependencies = [ "ahash 0.8.12", "arrow", @@ -2362,7 +2362,7 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate-common" -version = "50.2.0" +version = "50.3.0" dependencies = [ "ahash 0.8.12", "arrow", @@ -2375,7 +2375,7 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "arrow-ord", @@ -2397,7 +2397,7 @@ dependencies = [ [[package]] name = "datafusion-functions-table" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -2411,7 +2411,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "datafusion-common", @@ -2427,7 +2427,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window-common" -version = "50.2.0" +version = "50.3.0" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -2435,7 +2435,7 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "50.2.0" +version = "50.3.0" dependencies = [ "datafusion-expr", "quote", @@ -2444,7 +2444,7 @@ dependencies = [ [[package]] name = "datafusion-optimizer" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -2471,7 +2471,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "50.2.0" +version = "50.3.0" dependencies = [ "ahash 0.8.12", "arrow", @@ -2497,7 +2497,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-adapter" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "datafusion-common", @@ -2512,7 +2512,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-common" -version = "50.2.0" +version = "50.3.0" dependencies = [ "ahash 0.8.12", "arrow", @@ -2524,7 +2524,7 @@ dependencies = [ [[package]] name = "datafusion-physical-optimizer" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "datafusion-common", @@ -2545,7 +2545,7 @@ dependencies = [ [[package]] name = "datafusion-physical-plan" -version = "50.2.0" +version = "50.3.0" dependencies = [ "ahash 0.8.12", "arrow", @@ -2582,7 +2582,7 @@ dependencies = [ [[package]] name = "datafusion-proto" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "chrono", @@ -2605,7 +2605,7 @@ dependencies = [ [[package]] name = "datafusion-proto-common" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "datafusion-common", @@ -2618,7 +2618,7 @@ dependencies = [ [[package]] name = "datafusion-pruning" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "arrow-schema", @@ -2637,7 +2637,7 @@ dependencies = [ [[package]] name = "datafusion-session" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -2659,7 +2659,7 @@ dependencies = [ [[package]] name = "datafusion-spark" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "chrono", @@ -2680,7 +2680,7 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "bigdecimal", @@ -2704,7 +2704,7 @@ dependencies = [ [[package]] name = "datafusion-sqllogictest" -version = "50.2.0" +version = "50.3.0" dependencies = [ "arrow", "async-trait", @@ -2738,7 +2738,7 @@ dependencies = [ [[package]] name = "datafusion-substrait" -version = "50.2.0" +version = "50.3.0" dependencies = [ "async-recursion", "async-trait", @@ -2759,7 +2759,7 @@ dependencies = [ [[package]] name = "datafusion-wasmtest" -version = "50.2.0" +version = "50.3.0" dependencies = [ "chrono", "console_error_panic_hook", diff --git a/Cargo.toml b/Cargo.toml index 7ee683c767ea..1068fcf0a87f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -78,7 +78,7 @@ repository = "https://github.com/apache/datafusion" # Define Minimum Supported Rust Version (MSRV) rust-version = "1.86.0" # Define DataFusion version -version = "50.2.0" +version = "50.3.0" [workspace.dependencies] # We turn off default-features for some dependencies here so the workspaces which inherit them can @@ -110,42 +110,42 @@ chrono = { version = "0.4.41", default-features = false } criterion = "0.5.1" ctor = "0.4.3" dashmap = "6.0.1" -datafusion = { path = "datafusion/core", version = "50.2.0", default-features = false } -datafusion-catalog = { path = "datafusion/catalog", version = "50.2.0" } -datafusion-catalog-listing = { path = "datafusion/catalog-listing", version = "50.2.0" } -datafusion-common = { path = "datafusion/common", version = "50.2.0", default-features = false } -datafusion-common-runtime = { path = "datafusion/common-runtime", version = "50.2.0" } -datafusion-datasource = { path = "datafusion/datasource", version = "50.2.0", default-features = false } -datafusion-datasource-avro = { path = "datafusion/datasource-avro", version = "50.2.0", default-features = false } -datafusion-datasource-csv = { path = "datafusion/datasource-csv", version = "50.2.0", default-features = false } -datafusion-datasource-json = { path = "datafusion/datasource-json", version = "50.2.0", default-features = false } -datafusion-datasource-parquet = { path = "datafusion/datasource-parquet", version = "50.2.0", default-features = false } -datafusion-doc = { path = "datafusion/doc", version = "50.2.0" } -datafusion-execution = { path = "datafusion/execution", version = "50.2.0" } -datafusion-expr = { path = "datafusion/expr", version = "50.2.0" } -datafusion-expr-common = { path = "datafusion/expr-common", version = "50.2.0" } -datafusion-ffi = { path = "datafusion/ffi", version = "50.2.0" } -datafusion-functions = { path = "datafusion/functions", version = "50.2.0" } -datafusion-functions-aggregate = { path = "datafusion/functions-aggregate", version = "50.2.0" } -datafusion-functions-aggregate-common = { path = "datafusion/functions-aggregate-common", version = "50.2.0" } -datafusion-functions-nested = { path = "datafusion/functions-nested", version = "50.2.0" } -datafusion-functions-table = { path = "datafusion/functions-table", version = "50.2.0" } -datafusion-functions-window = { path = "datafusion/functions-window", version = "50.2.0" } -datafusion-functions-window-common = { path = "datafusion/functions-window-common", version = "50.2.0" } -datafusion-macros = { path = "datafusion/macros", version = "50.2.0" } -datafusion-optimizer = { path = "datafusion/optimizer", version = "50.2.0", default-features = false } -datafusion-physical-expr = { path = "datafusion/physical-expr", version = "50.2.0", default-features = false } -datafusion-physical-expr-adapter = { path = "datafusion/physical-expr-adapter", version = "50.2.0", default-features = false } -datafusion-physical-expr-common = { path = "datafusion/physical-expr-common", version = "50.2.0", default-features = false } -datafusion-physical-optimizer = { path = "datafusion/physical-optimizer", version = "50.2.0" } -datafusion-physical-plan = { path = "datafusion/physical-plan", version = "50.2.0" } -datafusion-proto = { path = "datafusion/proto", version = "50.2.0" } -datafusion-proto-common = { path = "datafusion/proto-common", version = "50.2.0" } -datafusion-pruning = { path = "datafusion/pruning", version = "50.2.0" } -datafusion-session = { path = "datafusion/session", version = "50.2.0" } -datafusion-spark = { path = "datafusion/spark", version = "50.2.0" } -datafusion-sql = { path = "datafusion/sql", version = "50.2.0" } -datafusion-substrait = { path = "datafusion/substrait", version = "50.2.0" } +datafusion = { path = "datafusion/core", version = "50.3.0", default-features = false } +datafusion-catalog = { path = "datafusion/catalog", version = "50.3.0" } +datafusion-catalog-listing = { path = "datafusion/catalog-listing", version = "50.3.0" } +datafusion-common = { path = "datafusion/common", version = "50.3.0", default-features = false } +datafusion-common-runtime = { path = "datafusion/common-runtime", version = "50.3.0" } +datafusion-datasource = { path = "datafusion/datasource", version = "50.3.0", default-features = false } +datafusion-datasource-avro = { path = "datafusion/datasource-avro", version = "50.3.0", default-features = false } +datafusion-datasource-csv = { path = "datafusion/datasource-csv", version = "50.3.0", default-features = false } +datafusion-datasource-json = { path = "datafusion/datasource-json", version = "50.3.0", default-features = false } +datafusion-datasource-parquet = { path = "datafusion/datasource-parquet", version = "50.3.0", default-features = false } +datafusion-doc = { path = "datafusion/doc", version = "50.3.0" } +datafusion-execution = { path = "datafusion/execution", version = "50.3.0" } +datafusion-expr = { path = "datafusion/expr", version = "50.3.0" } +datafusion-expr-common = { path = "datafusion/expr-common", version = "50.3.0" } +datafusion-ffi = { path = "datafusion/ffi", version = "50.3.0" } +datafusion-functions = { path = "datafusion/functions", version = "50.3.0" } +datafusion-functions-aggregate = { path = "datafusion/functions-aggregate", version = "50.3.0" } +datafusion-functions-aggregate-common = { path = "datafusion/functions-aggregate-common", version = "50.3.0" } +datafusion-functions-nested = { path = "datafusion/functions-nested", version = "50.3.0" } +datafusion-functions-table = { path = "datafusion/functions-table", version = "50.3.0" } +datafusion-functions-window = { path = "datafusion/functions-window", version = "50.3.0" } +datafusion-functions-window-common = { path = "datafusion/functions-window-common", version = "50.3.0" } +datafusion-macros = { path = "datafusion/macros", version = "50.3.0" } +datafusion-optimizer = { path = "datafusion/optimizer", version = "50.3.0", default-features = false } +datafusion-physical-expr = { path = "datafusion/physical-expr", version = "50.3.0", default-features = false } +datafusion-physical-expr-adapter = { path = "datafusion/physical-expr-adapter", version = "50.3.0", default-features = false } +datafusion-physical-expr-common = { path = "datafusion/physical-expr-common", version = "50.3.0", default-features = false } +datafusion-physical-optimizer = { path = "datafusion/physical-optimizer", version = "50.3.0" } +datafusion-physical-plan = { path = "datafusion/physical-plan", version = "50.3.0" } +datafusion-proto = { path = "datafusion/proto", version = "50.3.0" } +datafusion-proto-common = { path = "datafusion/proto-common", version = "50.3.0" } +datafusion-pruning = { path = "datafusion/pruning", version = "50.3.0" } +datafusion-session = { path = "datafusion/session", version = "50.3.0" } +datafusion-spark = { path = "datafusion/spark", version = "50.3.0" } +datafusion-sql = { path = "datafusion/sql", version = "50.3.0" } +datafusion-substrait = { path = "datafusion/substrait", version = "50.3.0" } doc-comment = "0.3" env_logger = "0.11" futures = "0.3" diff --git a/docs/source/user-guide/configs.md b/docs/source/user-guide/configs.md index 5f877cce4ac8..83b75ad915a3 100644 --- a/docs/source/user-guide/configs.md +++ b/docs/source/user-guide/configs.md @@ -97,7 +97,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 50.2.0 | (writing) Sets "created by" property | +| datafusion.execution.parquet.created_by | datafusion version 50.3.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 9f0b4d300d1cd46463bc2efe18b93c8a8b0447d6 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 20 Oct 2025 08:18:58 -0400 Subject: [PATCH 3/4] Prettier --- dev/changelog/50.3.0.md | 1 - 1 file changed, 1 deletion(-) diff --git a/dev/changelog/50.3.0.md b/dev/changelog/50.3.0.md index 7313f9583035..ad7bb96c079b 100644 --- a/dev/changelog/50.3.0.md +++ b/dev/changelog/50.3.0.md @@ -44,4 +44,3 @@ Thank you to everyone who contributed to this release. Here is a breakdown of co ``` Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release. - From 795681ffea8f1b39e2a8e40a0cfaf193f29feca9 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 20 Oct 2025 13:50:54 -0400 Subject: [PATCH 4/4] Update release --- dev/changelog/50.3.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/dev/changelog/50.3.0.md b/dev/changelog/50.3.0.md index ad7bb96c079b..49950e00c282 100644 --- a/dev/changelog/50.3.0.md +++ b/dev/changelog/50.3.0.md @@ -32,6 +32,7 @@ See the [upgrade guide](https://datafusion.apache.org/library-user-guide/upgradi - [branch-50]: fix: Add overflow checks to SparkDateAdd/Sub to avoid panics (#18013) [#18131](https://github.com/apache/datafusion/pull/18131) (hareshkh) - [branch-50] Fix ambiguous column names in substrait conversion #17299 [#18077](https://github.com/apache/datafusion/pull/18077) (hareshkh) - [branch-50] Extend datatype semantic equality check to include timestamps (#17777) [#18129](https://github.com/apache/datafusion/pull/18129) (hareshkh) +- [branch-50] perf: Fix NLJ slow join with condition `array_has` (#18161) [#18179](https://github.com/apache/datafusion/pull/18179) (alamb) ## Credits