This is an automated email from the ASF dual-hosted git repository.
agrove pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new c825c84c22 Prepare 21.0.0 release (#5712)
c825c84c22 is described below
commit c825c84c223c78184dbd42b070adc1f38d975cf6
Author: Andy Grove <[email protected]>
AuthorDate: Fri Mar 24 07:59:46 2023 -0600
Prepare 21.0.0 release (#5712)
---
Cargo.toml | 2 +-
benchmarks/Cargo.toml | 6 +-
datafusion-cli/Cargo.lock | 150 ++++++++++++++++++++----------------
datafusion-cli/Cargo.toml | 4 +-
datafusion/CHANGELOG.md | 119 +++++++++++++++++++++++++++-
datafusion/core/Cargo.toml | 16 ++--
datafusion/execution/Cargo.toml | 4 +-
datafusion/expr/Cargo.toml | 2 +-
datafusion/jit/Cargo.toml | 4 +-
datafusion/optimizer/Cargo.toml | 8 +-
datafusion/physical-expr/Cargo.toml | 6 +-
datafusion/proto/Cargo.toml | 6 +-
datafusion/row/Cargo.toml | 4 +-
datafusion/sql/Cargo.toml | 4 +-
datafusion/substrait/Cargo.toml | 2 +-
15 files changed, 237 insertions(+), 100 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
index 84a60262da..643c88700e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -35,7 +35,7 @@ members = [
]
[workspace.package]
-version = "20.0.0"
+version = "21.0.0"
edition = "2021"
readme = "README.md"
authors = ["Apache Arrow <[email protected]>"]
diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml
index b7bd90b584..7487aef3a6 100644
--- a/benchmarks/Cargo.toml
+++ b/benchmarks/Cargo.toml
@@ -18,7 +18,7 @@
[package]
name = "datafusion-benchmarks"
description = "DataFusion Benchmarks"
-version = "20.0.0"
+version = "21.0.0"
edition = "2021"
authors = ["Apache Arrow <[email protected]>"]
homepage = "https://github.com/apache/arrow-datafusion"
@@ -34,7 +34,7 @@ snmalloc = ["snmalloc-rs"]
[dependencies]
arrow = { workspace = true }
-datafusion = { path = "../datafusion/core", version = "20.0.0", features =
["scheduler"] }
+datafusion = { path = "../datafusion/core", version = "21.0.0", features =
["scheduler"] }
env_logger = "0.10"
futures = "0.3"
mimalloc = { version = "0.1", optional = true, default-features = false }
@@ -48,4 +48,4 @@ test-utils = { path = "../test-utils/", version = "0.1.0" }
tokio = { version = "^1.0", features = ["macros", "rt", "rt-multi-thread",
"parking_lot"] }
[dev-dependencies]
-datafusion-proto = { path = "../datafusion/proto", version = "20.0.0" }
+datafusion-proto = { path = "../datafusion/proto", version = "21.0.0" }
diff --git a/datafusion-cli/Cargo.lock b/datafusion-cli/Cargo.lock
index 6fe28cabee..6f07f8355c 100644
--- a/datafusion-cli/Cargo.lock
+++ b/datafusion-cli/Cargo.lock
@@ -56,9 +56,9 @@ dependencies = [
[[package]]
name = "arrayref"
-version = "0.3.6"
+version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
[[package]]
name = "arrayvec"
@@ -338,13 +338,13 @@ dependencies = [
[[package]]
name = "async-trait"
-version = "0.1.66"
+version = "0.1.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b84f9ebcc6c1f5b8cb160f6990096a5c127f423fcb6e1ccc46c370cbdfb75dfc"
+checksum = "86ea188f25f0255d8f92797797c97ebf5631fa88178beb1a46fdf5622c9a00e4"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.8",
]
[[package]]
@@ -545,7 +545,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn",
+ "syn 1.0.109",
]
[[package]]
@@ -680,9 +680,9 @@ dependencies = [
[[package]]
name = "cxx"
-version = "1.0.92"
+version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a140f260e6f3f79013b8bfc65e7ce630c9ab4388c6a89c71e07226f49487b72"
+checksum = "a9c00419335c41018365ddf7e4d5f1c12ee3659ddcf3e01974650ba1de73d038"
dependencies = [
"cc",
"cxxbridge-flags",
@@ -692,9 +692,9 @@ dependencies = [
[[package]]
name = "cxx-build"
-version = "1.0.92"
+version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da6383f459341ea689374bf0a42979739dc421874f112ff26f829b8040b8e613"
+checksum = "fb8307ad413a98fff033c8545ecf133e3257747b3bae935e7602aab8aa92d4ca"
dependencies = [
"cc",
"codespan-reporting",
@@ -702,24 +702,24 @@ dependencies = [
"proc-macro2",
"quote",
"scratch",
- "syn",
+ "syn 2.0.8",
]
[[package]]
name = "cxxbridge-flags"
-version = "1.0.92"
+version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90201c1a650e95ccff1c8c0bb5a343213bdd317c6e600a93075bca2eff54ec97"
+checksum = "edc52e2eb08915cb12596d29d55f0b5384f00d697a646dbd269b6ecb0fbd9d31"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.92"
+version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b75aed41bb2e6367cae39e6326ef817a851db13c13e4f3263714ca3cfb8de56"
+checksum = "631569015d0d8d54e6c241733f944042623ab6df7bc3be7466874b05fcdb1c5f"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.8",
]
[[package]]
@@ -737,7 +737,7 @@ dependencies = [
[[package]]
name = "datafusion"
-version = "20.0.0"
+version = "21.0.0"
dependencies = [
"ahash",
"arrow",
@@ -783,7 +783,7 @@ dependencies = [
[[package]]
name = "datafusion-cli"
-version = "20.0.0"
+version = "21.0.0"
dependencies = [
"arrow",
"async-trait",
@@ -801,7 +801,7 @@ dependencies = [
[[package]]
name = "datafusion-common"
-version = "20.0.0"
+version = "21.0.0"
dependencies = [
"arrow",
"arrow-array 35.0.0",
@@ -814,7 +814,7 @@ dependencies = [
[[package]]
name = "datafusion-execution"
-version = "20.0.0"
+version = "21.0.0"
dependencies = [
"dashmap",
"datafusion-common",
@@ -830,7 +830,7 @@ dependencies = [
[[package]]
name = "datafusion-expr"
-version = "20.0.0"
+version = "21.0.0"
dependencies = [
"ahash",
"arrow",
@@ -840,7 +840,7 @@ dependencies = [
[[package]]
name = "datafusion-optimizer"
-version = "20.0.0"
+version = "21.0.0"
dependencies = [
"arrow",
"async-trait",
@@ -856,7 +856,7 @@ dependencies = [
[[package]]
name = "datafusion-physical-expr"
-version = "20.0.0"
+version = "21.0.0"
dependencies = [
"ahash",
"arrow",
@@ -885,7 +885,7 @@ dependencies = [
[[package]]
name = "datafusion-row"
-version = "20.0.0"
+version = "21.0.0"
dependencies = [
"arrow",
"datafusion-common",
@@ -895,7 +895,7 @@ dependencies = [
[[package]]
name = "datafusion-sql"
-version = "20.0.0"
+version = "21.0.0"
dependencies = [
"arrow-schema 34.0.0",
"datafusion-common",
@@ -1144,7 +1144,7 @@ checksum =
"3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 1.0.109",
]
[[package]]
@@ -1357,16 +1357,16 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.53"
+version = "0.1.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
+checksum = "0c17cc76786e99f8d2f055c11159e7f0091c42474dcc3189fbab96072e873e6d"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
- "winapi",
+ "windows",
]
[[package]]
@@ -1416,9 +1416,9 @@ checksum =
"8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02"
[[package]]
name = "io-lifetimes"
-version = "1.0.7"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76e86b86ae312accbf05ade23ce76b625e0e47a255712b7414037385a1c05380"
+checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb"
dependencies = [
"hermit-abi 0.3.1",
"libc",
@@ -1647,9 +1647,9 @@ dependencies = [
[[package]]
name = "mime"
-version = "0.3.16"
+version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "miniz_oxide"
@@ -1825,9 +1825,9 @@ dependencies = [
[[package]]
name = "os_str_bytes"
-version = "6.4.1"
+version = "6.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
[[package]]
name = "parking_lot"
@@ -1987,7 +1987,7 @@ dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
- "syn",
+ "syn 1.0.109",
"version_check",
]
@@ -2010,9 +2010,9 @@ checksum =
"dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
name = "proc-macro2"
-version = "1.0.52"
+version = "1.0.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224"
+checksum = "ba466839c78239c09faf015484e5cc04860f88242cff4d03eb038f04b4699b73"
dependencies = [
"unicode-ident",
]
@@ -2098,9 +2098,9 @@ dependencies = [
[[package]]
name = "regex"
-version = "1.7.1"
+version = "1.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
+checksum = "cce168fea28d3e05f158bda4576cf0c844d5045bc2cc3620fa0292ed5bb5814c"
dependencies = [
"aho-corasick",
"memchr",
@@ -2109,15 +2109,15 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.6.28"
+version = "0.6.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
[[package]]
name = "reqwest"
-version = "0.11.14"
+version = "0.11.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
+checksum = "0ba30cc2c0cd02af1222ed216ba659cdb2f879dfe3181852fe7c50b1d0005949"
dependencies = [
"base64",
"bytes",
@@ -2180,9 +2180,9 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.36.9"
+version = "0.36.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc"
+checksum = "db4165c9963ab29e422d6c26fbc1d37f15bace6b2810221f9d925023480fcf0e"
dependencies = [
"bitflags",
"errno",
@@ -2293,22 +2293,22 @@ checksum =
"e6b44e8fc93a14e66336d230954dda83d18b4605ccace8fe09bc7514a71ad0bc"
[[package]]
name = "serde"
-version = "1.0.156"
+version = "1.0.158"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "314b5b092c0ade17c00142951e50ced110ec27cea304b1037c6969246c2469a4"
+checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.156"
+version = "1.0.158"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7e29c4601e36bcec74a223228dce795f4cd3616341a4af93520ca1a837c087d"
+checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.8",
]
[[package]]
@@ -2385,7 +2385,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn",
+ "syn 1.0.109",
]
[[package]]
@@ -2428,7 +2428,7 @@ checksum =
"55fe75cb4a364c7f7ae06c7dbbc8d84bddd85d6cdf9975963c3935bc1991761e"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 1.0.109",
]
[[package]]
@@ -2465,7 +2465,7 @@ dependencies = [
"proc-macro2",
"quote",
"rustversion",
- "syn",
+ "syn 1.0.109",
]
[[package]]
@@ -2485,6 +2485,17 @@ dependencies = [
"unicode-ident",
]
+[[package]]
+name = "syn"
+version = "2.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcc02725fd69ab9f26eab07fad303e2497fad6fb9eba4f96c4d1687bdf704ad9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
[[package]]
name = "tempfile"
version = "3.4.0"
@@ -2515,22 +2526,22 @@ checksum =
"222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
[[package]]
name = "thiserror"
-version = "1.0.39"
+version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c"
+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.39"
+version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e"
+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.8",
]
[[package]]
@@ -2595,7 +2606,7 @@ checksum =
"d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 1.0.109",
]
[[package]]
@@ -2660,7 +2671,7 @@ checksum =
"4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 1.0.109",
]
[[package]]
@@ -2696,9 +2707,9 @@ checksum =
"497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "unicode-bidi"
-version = "0.3.11"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524b68aca1d05e03fdf03fcdce2c6c94b6daf6d16861ddaa7e4f2b6638a9052c"
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
[[package]]
name = "unicode-ident"
@@ -2812,7 +2823,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn",
+ "syn 1.0.109",
"wasm-bindgen-shared",
]
@@ -2846,7 +2857,7 @@ checksum =
"2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 1.0.109",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -2930,6 +2941,15 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+[[package]]
+name = "windows"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25"
+dependencies = [
+ "windows-targets",
+]
+
[[package]]
name = "windows-sys"
version = "0.42.0"
diff --git a/datafusion-cli/Cargo.toml b/datafusion-cli/Cargo.toml
index 1a84af10a5..29d31e2f25 100644
--- a/datafusion-cli/Cargo.toml
+++ b/datafusion-cli/Cargo.toml
@@ -18,7 +18,7 @@
[package]
name = "datafusion-cli"
description = "Command Line Client for DataFusion query engine."
-version = "20.0.0"
+version = "21.0.0"
authors = ["Apache Arrow <[email protected]>"]
edition = "2021"
keywords = ["arrow", "datafusion", "query", "sql"]
@@ -32,7 +32,7 @@ readme = "README.md"
arrow = "34.0.0"
async-trait = "0.1.41"
clap = { version = "3", features = ["derive", "cargo"] }
-datafusion = { path = "../datafusion/core", version = "20.0.0" }
+datafusion = { path = "../datafusion/core", version = "21.0.0" }
dirs = "4.0.0"
env_logger = "0.9"
mimalloc = { version = "0.1", default-features = false }
diff --git a/datafusion/CHANGELOG.md b/datafusion/CHANGELOG.md
index 38fccecb87..042792fe95 100644
--- a/datafusion/CHANGELOG.md
+++ b/datafusion/CHANGELOG.md
@@ -19,9 +19,126 @@
# Changelog
+## [21.0.0](https://github.com/apache/arrow-datafusion/tree/21.0.0)
(2023-03-24)
+
+[Full
Changelog](https://github.com/apache/arrow-datafusion/compare/20.0.0...21.0.0)
+
+**Breaking changes:**
+
+- Support arbitrary user defined partition column in `ListingTable` (rather
than assuming they are always Dictionary encoded)
[#5545](https://github.com/apache/arrow-datafusion/pull/5545) (crepererum)
+- Use TableReference for TableScan
[#5615](https://github.com/apache/arrow-datafusion/pull/5615) (alamb)
+- Update the type of `param_values` to `&[ScalarValue]` in function
`replace_params_with_values`
[#5640](https://github.com/apache/arrow-datafusion/pull/5640) (HaoYang670)
+
+**Implemented enhancements:**
+
+- feat: extract (epoch from col)
[#5555](https://github.com/apache/arrow-datafusion/pull/5555) (Weijun-H)
+- INSERT INTO support for MemTable
[#5520](https://github.com/apache/arrow-datafusion/pull/5520) (metesynnada)
+- Memory limited nested-loop join
[#5564](https://github.com/apache/arrow-datafusion/pull/5564) (korowa)
+- Timestamp subtraction and interval operations for `ScalarValue`
[#5603](https://github.com/apache/arrow-datafusion/pull/5603) (berkaysynnada)
+- Substrait: Add cast expression with bool, integers and decimal128 support
[#5137](https://github.com/apache/arrow-datafusion/pull/5137) (nseekhao)
+- Support `date_bin` with 2 arguments
[#5643](https://github.com/apache/arrow-datafusion/pull/5643) (Weijun-H)
+- improve: support combining multiple grouping expressions
[#5559](https://github.com/apache/arrow-datafusion/pull/5559) (yukkit)
+- Substrait: Add support for WindowFunction
[#5653](https://github.com/apache/arrow-datafusion/pull/5653) (nseekhao)
+- feat: `date_bin` supports MonthDayNano, microsecond and nanosecond units
[#5698](https://github.com/apache/arrow-datafusion/pull/5698) (stuartcarnie)
+- Handle serialization of TryCast
[#5692](https://github.com/apache/arrow-datafusion/pull/5692) (thinkharderdev)
+
+**Fixed bugs:**
+
+- fix: failed to execute sql with subquery
[#5542](https://github.com/apache/arrow-datafusion/pull/5542) (MichaelScofield)
+- fix: cast literal to timestamp
[#5517](https://github.com/apache/arrow-datafusion/pull/5517) (Weijun-H)
+- fix dataframe only boolean/binary column got error on describe
[#5585](https://github.com/apache/arrow-datafusion/pull/5585) (jiangzhx)
+- Median returns null on empty input instead of error
[#5624](https://github.com/apache/arrow-datafusion/pull/5624) (toppyy)
+- add CountWildcardRule to fix error on Count(Expr:Wildcard) with DataFrame
API [#5627](https://github.com/apache/arrow-datafusion/pull/5627) (jiangzhx)
+- fix: correct CountWildcardRule and move analyzer into a new directory.
[#5671](https://github.com/apache/arrow-datafusion/pull/5671) (jackwener)
+
+**Documentation updates:**
+
+- Minor: improve docstrings for `ObjectStoreRegistry` and
`ObjectStoreProvider`
[#5577](https://github.com/apache/arrow-datafusion/pull/5577) (alamb)
+- Clarify differences of DataFusion with other systems in README.md
[#5578](https://github.com/apache/arrow-datafusion/pull/5578) (alamb)
+- Minor: Document docs build process
[#5687](https://github.com/apache/arrow-datafusion/pull/5687) (alamb)
+
+**Merged pull requests:**
+
+- Refactor DecorrelateWhereExists and add back Distinct if needs
[#5345](https://github.com/apache/arrow-datafusion/pull/5345) (ygf11)
+- Simplify simplify test cases, support `^`, `&`, `|`, `<<` and `>>` operators
for building exprs
[#5511](https://github.com/apache/arrow-datafusion/pull/5511) (alamb)
+- minor: improve sqllogictest docs
[#5553](https://github.com/apache/arrow-datafusion/pull/5553) (alamb)
+- Remove unused dependencies found by cargo-machete
[#5552](https://github.com/apache/arrow-datafusion/pull/5552) (Jefffrey)
+- make AggregateStatistics return the same result whether optimizer disabled
or enabled [#5485](https://github.com/apache/arrow-datafusion/pull/5485)
(jiangzhx)
+- Avoid circular(ish) dependency parquet-test-utils on datafusion, try 2
[#5536](https://github.com/apache/arrow-datafusion/pull/5536) (alamb)
+- Enforce ambiguity check whilst normalizing columns
[#5509](https://github.com/apache/arrow-datafusion/pull/5509) (Jefffrey)
+- Generated changelog for 20.0.0
[#5563](https://github.com/apache/arrow-datafusion/pull/5563) (andygrove)
+- fix: failed to execute sql with subquery
[#5542](https://github.com/apache/arrow-datafusion/pull/5542) (MichaelScofield)
+- Revert describe count() workaround
[#5556](https://github.com/apache/arrow-datafusion/pull/5556) (Jefffrey)
+- fix: cast literal to timestamp
[#5517](https://github.com/apache/arrow-datafusion/pull/5517) (Weijun-H)
+- feat: extract (epoch from col)
[#5555](https://github.com/apache/arrow-datafusion/pull/5555) (Weijun-H)
+- Minor: improve docstrings for `ObjectStoreRegistry` and
`ObjectStoreProvider`
[#5577](https://github.com/apache/arrow-datafusion/pull/5577) (alamb)
+- Minor: Move RuntimeEnv to `datafusion_execution`
[#5580](https://github.com/apache/arrow-datafusion/pull/5580) (alamb)
+- INSERT INTO support for MemTable
[#5520](https://github.com/apache/arrow-datafusion/pull/5520) (metesynnada)
+- Minor: restore explicit match to help avoid subtle bugs in the future when
new `Expr` variants are added
[#5579](https://github.com/apache/arrow-datafusion/pull/5579) (alamb)
+- refactor: add more error info when array is empty
[#5560](https://github.com/apache/arrow-datafusion/pull/5560) (Weijun-H)
+- Memory limited nested-loop join
[#5564](https://github.com/apache/arrow-datafusion/pull/5564) (korowa)
+- Support catalog.schema.table.column in SQL SELECT and WHERE
[#5343](https://github.com/apache/arrow-datafusion/pull/5343) (Jefffrey)
+- Minor: clean up aggregates.slt tests
[#5599](https://github.com/apache/arrow-datafusion/pull/5599) (alamb)
+- Minor: Port more aggregate tests to sqllogictests
[#5574](https://github.com/apache/arrow-datafusion/pull/5574) (alamb)
+- Add a utility function to get all of the PartitionedFile for an
ExecutionPlan [#5572](https://github.com/apache/arrow-datafusion/pull/5572)
(yahoNanJing)
+- minor: port some join tests to sqllogictests
[#5567](https://github.com/apache/arrow-datafusion/pull/5567) (ygf11)
+- Support arbitrary user defined partition column in `ListingTable` (rather
than assuming they are always Dictionary encoded)
[#5545](https://github.com/apache/arrow-datafusion/pull/5545) (crepererum)
+- feat: add the similar optimization function for bitwise negative
[#5516](https://github.com/apache/arrow-datafusion/pull/5516) (izveigor)
+- Clarify differences of DataFusion with other systems in README.md
[#5578](https://github.com/apache/arrow-datafusion/pull/5578) (alamb)
+- Minor: Add more documentation about table_partition_columns
[#5576](https://github.com/apache/arrow-datafusion/pull/5576) (alamb)
+- Add Analyzer phase to DataFusion , add basic validation logic to Subquery
Plans and Expressions
[#5570](https://github.com/apache/arrow-datafusion/pull/5570) (mingmwang)
+- Use TableReference for TableScan
[#5615](https://github.com/apache/arrow-datafusion/pull/5615) (alamb)
+- Preserve casts in rewrite_sort_cols_by_aggs
[#5611](https://github.com/apache/arrow-datafusion/pull/5611)
(mpurins-coralogix)
+- Miscellaneous ArrayData Cleanup
[#5612](https://github.com/apache/arrow-datafusion/pull/5612) (tustvold)
+- Update substrait requirement from 0.4 to 0.5
[#5620](https://github.com/apache/arrow-datafusion/pull/5620) (dependabot[bot])
+- Do not break pipeline for window queries with GROUPS
[#5587](https://github.com/apache/arrow-datafusion/pull/5587) (mustafasrepo)
+- fix dataframe only boolean/binary column got error on describe
[#5585](https://github.com/apache/arrow-datafusion/pull/5585) (jiangzhx)
+- Minor: Add Documentation and Examples to `TableReference`
[#5616](https://github.com/apache/arrow-datafusion/pull/5616) (alamb)
+- [FOLLOWUP] eliminate the duplicated sort keys in Order By clause
[#5607](https://github.com/apache/arrow-datafusion/pull/5607) (mingmwang)
+- Update default behaviour of compression algorithms (support multistreams)
[#5629](https://github.com/apache/arrow-datafusion/pull/5629) (metesynnada)
+- Timestamp subtraction and interval operations for `ScalarValue`
[#5603](https://github.com/apache/arrow-datafusion/pull/5603) (berkaysynnada)
+- Use modulus dyn kernels for arithmetic expressions
[#5634](https://github.com/apache/arrow-datafusion/pull/5634) (viirya)
+- Minor: reduce cloning in `infer_placeholder_types`
[#5638](https://github.com/apache/arrow-datafusion/pull/5638) (alamb)
+- Move `SessionConfig` to `datafusion_execution`
[#5581](https://github.com/apache/arrow-datafusion/pull/5581) (alamb)
+- Update the type of `param_values` to `&[ScalarValue]` in function
`replace_params_with_values`
[#5640](https://github.com/apache/arrow-datafusion/pull/5640) (HaoYang670)
+- WITH ORDER support on CREATE EXTERNAL TABLE
[#5618](https://github.com/apache/arrow-datafusion/pull/5618) (metesynnada)
+- Median returns null on empty input instead of error
[#5624](https://github.com/apache/arrow-datafusion/pull/5624) (toppyy)
+- feat: Memory limited merge join
[#5632](https://github.com/apache/arrow-datafusion/pull/5632) (korowa)
+- Update rstest requirement from 0.16.0 to 0.17.0
[#5648](https://github.com/apache/arrow-datafusion/pull/5648) (dependabot[bot])
+- add CountWildcardRule to fix error on Count(Expr:Wildcard) with DataFrame
API [#5627](https://github.com/apache/arrow-datafusion/pull/5627) (jiangzhx)
+- Add OuterReferenceColumn to Expr to represent correlated expression
[#5593](https://github.com/apache/arrow-datafusion/pull/5593) (mingmwang)
+- Minor: Simplify `Result<T, DataFusionError>`
[#5659](https://github.com/apache/arrow-datafusion/pull/5659) (comphead)
+- minor: remove redundant `DataFusionError` and fix `clippy`
[#5669](https://github.com/apache/arrow-datafusion/pull/5669) (jackwener)
+- Substrait: Add cast expression with bool, integers and decimal128 support
[#5137](https://github.com/apache/arrow-datafusion/pull/5137) (nseekhao)
+- Support `date_bin` with 2 arguments
[#5643](https://github.com/apache/arrow-datafusion/pull/5643) (Weijun-H)
+- Add LogicalPlanSignature and use in the optimizer loop
[#5623](https://github.com/apache/arrow-datafusion/pull/5623) (mslapek)
+- fix: correct CountWildcardRule and move analyzer into a new directory.
[#5671](https://github.com/apache/arrow-datafusion/pull/5671) (jackwener)
+- refactoring: added tests and fixed comments in "math_expressions"
[#5656](https://github.com/apache/arrow-datafusion/pull/5656) (izveigor)
+- improve: support combining multiple grouping expressions
[#5559](https://github.com/apache/arrow-datafusion/pull/5559) (yukkit)
+- community: polish issue template
[#5668](https://github.com/apache/arrow-datafusion/pull/5668) (jackwener)
+- minor: correct issue template
[#5679](https://github.com/apache/arrow-datafusion/pull/5679) (jackwener)
+- Change ObjectStoreRegistry from struct to trait to provide polymorphism
[#5543](https://github.com/apache/arrow-datafusion/pull/5543) (yahoNanJing)
+- Minor: Add `Extensions::new()`
[#5676](https://github.com/apache/arrow-datafusion/pull/5676) (alamb)
+- minor: add with_plan for Subquery
[#5680](https://github.com/apache/arrow-datafusion/pull/5680) (jackwener)
+- minor: reduce replication in `date_bin` implementation
[#5673](https://github.com/apache/arrow-datafusion/pull/5673) (alamb)
+- Fixes #5500 - Add a GitHub Actions workflow that builds the docs
[#5670](https://github.com/apache/arrow-datafusion/pull/5670) (martin-g)
+- Minor: port some content to the docs
[#5684](https://github.com/apache/arrow-datafusion/pull/5684) (alamb)
+- Docs: Add logo back to sidebar
[#5688](https://github.com/apache/arrow-datafusion/pull/5688) (alamb)
+- Substrait: Add support for WindowFunction
[#5653](https://github.com/apache/arrow-datafusion/pull/5653) (nseekhao)
+- Add -o option to all e2e benches
[#5658](https://github.com/apache/arrow-datafusion/pull/5658) (jaylmiller)
+- create table default to null
[#5606](https://github.com/apache/arrow-datafusion/pull/5606) (Weijun-H)
+- Minor: Document docs build process
[#5687](https://github.com/apache/arrow-datafusion/pull/5687) (alamb)
+- Minor: change doc formatting to force a republish
[#5702](https://github.com/apache/arrow-datafusion/pull/5702) (alamb)
+- Move `TaskContext` to datafusion-execution
[#5677](https://github.com/apache/arrow-datafusion/pull/5677) (alamb)
+- feat: `date_bin` supports MonthDayNano, microsecond and nanosecond units
[#5698](https://github.com/apache/arrow-datafusion/pull/5698) (stuartcarnie)
+- Return plan error when adding utf8 and timestamp
[#5696](https://github.com/apache/arrow-datafusion/pull/5696) (Weijun-H)
+- Handle serialization of TryCast
[#5692](https://github.com/apache/arrow-datafusion/pull/5692) (thinkharderdev)
+- analyzer: move InlineTableScan into Analyzer.
[#5683](https://github.com/apache/arrow-datafusion/pull/5683) (jackwener)
+- minor: Add doc comments to clarify what Analyzer is for
[#5705](https://github.com/apache/arrow-datafusion/pull/5705) (alamb)
+
## [20.0.0](https://github.com/apache/arrow-datafusion/tree/20.0.0)
(2023-03-10)
-[Full
Changelog](https://github.com/apache/arrow-datafusion/compare/19.0.0...20.0.0-rc1)
+[Full
Changelog](https://github.com/apache/arrow-datafusion/compare/19.0.0...20.0.0
**Breaking changes:**
diff --git a/datafusion/core/Cargo.toml b/datafusion/core/Cargo.toml
index f0544db1d9..72490e7b80 100644
--- a/datafusion/core/Cargo.toml
+++ b/datafusion/core/Cargo.toml
@@ -67,14 +67,14 @@ bytes = "1.4"
bzip2 = { version = "0.4.3", optional = true }
chrono = { version = "0.4.23", default-features = false }
dashmap = "5.4.0"
-datafusion-common = { path = "../common", version = "20.0.0", features =
["parquet", "object_store"] }
-datafusion-execution = { path = "../execution", version = "20.0.0" }
-datafusion-expr = { path = "../expr", version = "20.0.0" }
-datafusion-jit = { path = "../jit", version = "20.0.0", optional = true }
-datafusion-optimizer = { path = "../optimizer", version = "20.0.0",
default-features = false }
-datafusion-physical-expr = { path = "../physical-expr", version = "20.0.0",
default-features = false }
-datafusion-row = { path = "../row", version = "20.0.0" }
-datafusion-sql = { path = "../sql", version = "20.0.0" }
+datafusion-common = { path = "../common", version = "21.0.0", features =
["parquet", "object_store"] }
+datafusion-execution = { path = "../execution", version = "21.0.0" }
+datafusion-expr = { path = "../expr", version = "21.0.0" }
+datafusion-jit = { path = "../jit", version = "21.0.0", optional = true }
+datafusion-optimizer = { path = "../optimizer", version = "21.0.0",
default-features = false }
+datafusion-physical-expr = { path = "../physical-expr", version = "21.0.0",
default-features = false }
+datafusion-row = { path = "../row", version = "21.0.0" }
+datafusion-sql = { path = "../sql", version = "21.0.0" }
flate2 = { version = "1.0.24", optional = true }
futures = "0.3"
glob = "0.3.0"
diff --git a/datafusion/execution/Cargo.toml b/datafusion/execution/Cargo.toml
index e6fa6efc43..7957b6bf01 100644
--- a/datafusion/execution/Cargo.toml
+++ b/datafusion/execution/Cargo.toml
@@ -34,8 +34,8 @@ path = "src/lib.rs"
[dependencies]
dashmap = "5.4.0"
-datafusion-common = { path = "../common", version = "20.0.0" }
-datafusion-expr = { path = "../expr", version = "20.0.0" }
+datafusion-common = { path = "../common", version = "21.0.0" }
+datafusion-expr = { path = "../expr", version = "21.0.0" }
hashbrown = { version = "0.13", features = ["raw"] }
log = "^0.4"
object_store = "0.5.4"
diff --git a/datafusion/expr/Cargo.toml b/datafusion/expr/Cargo.toml
index dc0d98157b..eb0a3e7d5e 100644
--- a/datafusion/expr/Cargo.toml
+++ b/datafusion/expr/Cargo.toml
@@ -37,7 +37,7 @@ path = "src/lib.rs"
[dependencies]
ahash = { version = "0.8", default-features = false, features =
["runtime-rng"] }
arrow = { workspace = true, default-features = false }
-datafusion-common = { path = "../common", version = "20.0.0" }
+datafusion-common = { path = "../common", version = "21.0.0" }
sqlparser = "0.32"
[dev-dependencies]
diff --git a/datafusion/jit/Cargo.toml b/datafusion/jit/Cargo.toml
index 109a16a8fa..2966baf3d4 100644
--- a/datafusion/jit/Cargo.toml
+++ b/datafusion/jit/Cargo.toml
@@ -41,7 +41,7 @@ cranelift = "0.89.0"
cranelift-jit = "0.89.0"
cranelift-module = "0.89.0"
cranelift-native = "0.89.0"
-datafusion-common = { path = "../common", version = "20.0.0", features =
["jit"] }
-datafusion-expr = { path = "../expr", version = "20.0.0" }
+datafusion-common = { path = "../common", version = "21.0.0", features =
["jit"] }
+datafusion-expr = { path = "../expr", version = "21.0.0" }
parking_lot = "0.12"
diff --git a/datafusion/optimizer/Cargo.toml b/datafusion/optimizer/Cargo.toml
index 5d5b998b63..d647a5a13b 100644
--- a/datafusion/optimizer/Cargo.toml
+++ b/datafusion/optimizer/Cargo.toml
@@ -43,9 +43,9 @@ unicode_expressions =
["datafusion-physical-expr/unicode_expressions"]
arrow = { workspace = true }
async-trait = "0.1.41"
chrono = { version = "0.4.23", default-features = false }
-datafusion-common = { path = "../common", version = "20.0.0" }
-datafusion-expr = { path = "../expr", version = "20.0.0" }
-datafusion-physical-expr = { path = "../physical-expr", version = "20.0.0",
default-features = false }
+datafusion-common = { path = "../common", version = "21.0.0" }
+datafusion-expr = { path = "../expr", version = "21.0.0" }
+datafusion-physical-expr = { path = "../physical-expr", version = "21.0.0",
default-features = false }
hashbrown = { version = "0.13", features = ["raw"] }
itertools = "0.10"
log = "^0.4"
@@ -53,5 +53,5 @@ regex-syntax = "0.6.28"
[dev-dependencies]
ctor = "0.1.22"
-datafusion-sql = { path = "../sql", version = "20.0.0" }
+datafusion-sql = { path = "../sql", version = "21.0.0" }
env_logger = "0.10.0"
diff --git a/datafusion/physical-expr/Cargo.toml
b/datafusion/physical-expr/Cargo.toml
index e21569ce83..c99b07077b 100644
--- a/datafusion/physical-expr/Cargo.toml
+++ b/datafusion/physical-expr/Cargo.toml
@@ -49,9 +49,9 @@ arrow-schema = { workspace = true }
blake2 = { version = "^0.10.2", optional = true }
blake3 = { version = "1.0", optional = true }
chrono = { version = "0.4.23", default-features = false }
-datafusion-common = { path = "../common", version = "20.0.0" }
-datafusion-expr = { path = "../expr", version = "20.0.0" }
-datafusion-row = { path = "../row", version = "20.0.0" }
+datafusion-common = { path = "../common", version = "21.0.0" }
+datafusion-expr = { path = "../expr", version = "21.0.0" }
+datafusion-row = { path = "../row", version = "21.0.0" }
half = { version = "2.1", default-features = false }
hashbrown = { version = "0.13", features = ["raw"] }
indexmap = "1.9.2"
diff --git a/datafusion/proto/Cargo.toml b/datafusion/proto/Cargo.toml
index 35261bae5f..4129980bf7 100644
--- a/datafusion/proto/Cargo.toml
+++ b/datafusion/proto/Cargo.toml
@@ -42,9 +42,9 @@ json = ["pbjson", "serde", "serde_json"]
[dependencies]
arrow = { workspace = true }
chrono = { version = "0.4", default-features = false }
-datafusion = { path = "../core", version = "20.0.0" }
-datafusion-common = { path = "../common", version = "20.0.0" }
-datafusion-expr = { path = "../expr", version = "20.0.0" }
+datafusion = { path = "../core", version = "21.0.0" }
+datafusion-common = { path = "../common", version = "21.0.0" }
+datafusion-expr = { path = "../expr", version = "21.0.0" }
object_store = { version = "0.5.4" }
pbjson = { version = "0.5", optional = true }
prost = "0.11.0"
diff --git a/datafusion/row/Cargo.toml b/datafusion/row/Cargo.toml
index 117d7d7001..092bdedd91 100644
--- a/datafusion/row/Cargo.toml
+++ b/datafusion/row/Cargo.toml
@@ -38,7 +38,7 @@ jit = ["datafusion-jit"]
[dependencies]
arrow = { workspace = true }
-datafusion-common = { path = "../common", version = "20.0.0" }
-datafusion-jit = { path = "../jit", version = "20.0.0", optional = true }
+datafusion-common = { path = "../common", version = "21.0.0" }
+datafusion-jit = { path = "../jit", version = "21.0.0", optional = true }
paste = "^1.0"
rand = "0.8"
diff --git a/datafusion/sql/Cargo.toml b/datafusion/sql/Cargo.toml
index ac5ee38fd8..b5cb6aec57 100644
--- a/datafusion/sql/Cargo.toml
+++ b/datafusion/sql/Cargo.toml
@@ -38,8 +38,8 @@ unicode_expressions = []
[dependencies]
arrow-schema = { workspace = true }
-datafusion-common = { path = "../common", version = "20.0.0" }
-datafusion-expr = { path = "../expr", version = "20.0.0" }
+datafusion-common = { path = "../common", version = "21.0.0" }
+datafusion-expr = { path = "../expr", version = "21.0.0" }
log = "^0.4"
sqlparser = "0.32"
diff --git a/datafusion/substrait/Cargo.toml b/datafusion/substrait/Cargo.toml
index b132f280dd..6de2217dd8 100644
--- a/datafusion/substrait/Cargo.toml
+++ b/datafusion/substrait/Cargo.toml
@@ -30,7 +30,7 @@ rust-version = { workspace = true }
[dependencies]
async-recursion = "1.0"
chrono = "0.4.23"
-datafusion = { version = "20.0.0", path = "../core" }
+datafusion = { version = "21.0.0", path = "../core" }
itertools = "0.10.5"
object_store = "0.5.4"
prost = "0.11"