You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ag...@apache.org on 2023/01/07 23:04:56 UTC

[arrow-datafusion] branch master updated: DataFusion 16.0.0 release prep: Update version + add changelog (#4831)

This is an automated email from the ASF dual-hosted git repository.

agrove pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git


The following commit(s) were added to refs/heads/master by this push:
     new dcd52ee3d DataFusion 16.0.0 release prep: Update version + add changelog (#4831)
dcd52ee3d is described below

commit dcd52ee3d87c4dd9e2c176165e9e20644f66988b
Author: Andy Grove <an...@gmail.com>
AuthorDate: Sat Jan 7 16:04:52 2023 -0700

    DataFusion 16.0.0 release prep: Update version + add changelog (#4831)
    
    * run script to update version number
    
    * update CLI cargo lock file
    
    * change log
    
    Co-authored-by: Andrew Lamb <an...@nerdnetworks.org>
---
 benchmarks/Cargo.toml               |   6 +-
 datafusion-cli/Cargo.lock           |  44 ++---
 datafusion-cli/Cargo.toml           |   4 +-
 datafusion-examples/Cargo.toml      |   2 +-
 datafusion/CHANGELOG.md             | 331 ++++++++++++++++++++++++++++++++++++
 datafusion/common/Cargo.toml        |   2 +-
 datafusion/core/Cargo.toml          |  16 +-
 datafusion/expr/Cargo.toml          |   4 +-
 datafusion/jit/Cargo.toml           |   6 +-
 datafusion/optimizer/Cargo.toml     |  10 +-
 datafusion/physical-expr/Cargo.toml |   8 +-
 datafusion/proto/Cargo.toml         |   8 +-
 datafusion/row/Cargo.toml           |   6 +-
 datafusion/sql/Cargo.toml           |   6 +-
 14 files changed, 392 insertions(+), 61 deletions(-)

diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml
index 619fe973c..33fd436eb 100644
--- a/benchmarks/Cargo.toml
+++ b/benchmarks/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-benchmarks"
 description = "DataFusion Benchmarks"
-version = "15.0.0"
+version = "16.0.0"
 edition = "2021"
 authors = ["Apache Arrow <de...@arrow.apache.org>"]
 homepage = "https://github.com/apache/arrow-datafusion"
@@ -34,7 +34,7 @@ snmalloc = ["snmalloc-rs"]
 
 [dependencies]
 arrow = "29.0.0"
-datafusion = { path = "../datafusion/core", version = "15.0.0", features = ["scheduler"] }
+datafusion = { path = "../datafusion/core", version = "16.0.0", features = ["scheduler"] }
 env_logger = "0.10"
 futures = "0.3"
 mimalloc = { version = "0.1", optional = true, default-features = false }
@@ -51,4 +51,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 = "15.0.0" }
+datafusion-proto = { path = "../datafusion/proto", version = "16.0.0" }
diff --git a/datafusion-cli/Cargo.lock b/datafusion-cli/Cargo.lock
index 6db5a39d0..f9d3437f3 100644
--- a/datafusion-cli/Cargo.lock
+++ b/datafusion-cli/Cargo.lock
@@ -263,9 +263,9 @@ dependencies = [
 
 [[package]]
 name = "async-trait"
-version = "0.1.60"
+version = "0.1.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3"
+checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -386,9 +386,9 @@ checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
 
 [[package]]
 name = "bzip2"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0"
+checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
 dependencies = [
  "bzip2-sys",
  "libc",
@@ -653,7 +653,7 @@ dependencies = [
 
 [[package]]
 name = "datafusion"
-version = "15.0.0"
+version = "16.0.0"
 dependencies = [
  "ahash",
  "arrow",
@@ -698,7 +698,7 @@ dependencies = [
 
 [[package]]
 name = "datafusion-cli"
-version = "15.0.0"
+version = "16.0.0"
 dependencies = [
  "arrow",
  "clap",
@@ -714,7 +714,7 @@ dependencies = [
 
 [[package]]
 name = "datafusion-common"
-version = "15.0.0"
+version = "16.0.0"
 dependencies = [
  "arrow",
  "chrono",
@@ -726,7 +726,7 @@ dependencies = [
 
 [[package]]
 name = "datafusion-expr"
-version = "15.0.0"
+version = "16.0.0"
 dependencies = [
  "ahash",
  "arrow",
@@ -737,7 +737,7 @@ dependencies = [
 
 [[package]]
 name = "datafusion-optimizer"
-version = "15.0.0"
+version = "16.0.0"
 dependencies = [
  "arrow",
  "async-trait",
@@ -752,7 +752,7 @@ dependencies = [
 
 [[package]]
 name = "datafusion-physical-expr"
-version = "15.0.0"
+version = "16.0.0"
 dependencies = [
  "ahash",
  "arrow",
@@ -781,7 +781,7 @@ dependencies = [
 
 [[package]]
 name = "datafusion-row"
-version = "15.0.0"
+version = "16.0.0"
 dependencies = [
  "arrow",
  "datafusion-common",
@@ -791,7 +791,7 @@ dependencies = [
 
 [[package]]
 name = "datafusion-sql"
-version = "15.0.0"
+version = "16.0.0"
 dependencies = [
  "arrow-schema",
  "datafusion-common",
@@ -1092,9 +1092,9 @@ dependencies = [
 
 [[package]]
 name = "glob"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "h2"
@@ -1439,9 +1439,9 @@ checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb"
 
 [[package]]
 name = "libmimalloc-sys"
-version = "0.1.28"
+version = "0.1.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04d1c67deb83e6b75fa4fe3309e09cfeade12e7721d95322af500d3814ea60c9"
+checksum = "dd8c7cbf8b89019683667e347572e6d55a7df7ea36b0c4ce69961b0cde67b174"
 dependencies = [
  "cc",
  "libc",
@@ -1529,9 +1529,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
 
 [[package]]
 name = "mimalloc"
-version = "0.1.32"
+version = "0.1.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2374e2999959a7b583e1811a1ddbf1d3a4b9496eceb9746f1192a59d871eca"
+checksum = "9dcb174b18635f7561a0c6c9fc2ce57218ac7523cf72c50af80e2d79ab8f3ba1"
 dependencies = [
  "libmimalloc-sys",
 ]
@@ -2418,9 +2418,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
 
 [[package]]
 name = "tokio"
-version = "1.23.1"
+version = "1.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38a54aca0c15d014013256222ba0ebed095673f89345dd79119d912eb561b7a8"
+checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae"
 dependencies = [
  "autocfg",
  "bytes",
@@ -2522,9 +2522,9 @@ dependencies = [
 
 [[package]]
 name = "try-lock"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "twox-hash"
diff --git a/datafusion-cli/Cargo.toml b/datafusion-cli/Cargo.toml
index abe5afab2..d34e4b1d6 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 = "15.0.0"
+version = "16.0.0"
 authors = ["Apache Arrow <de...@arrow.apache.org>"]
 edition = "2021"
 keywords = [ "arrow", "datafusion", "query", "sql" ]
@@ -31,7 +31,7 @@ readme = "README.md"
 [dependencies]
 arrow = "29.0.0"
 clap = { version = "3", features = ["derive", "cargo"] }
-datafusion = { path = "../datafusion/core", version = "15.0.0" }
+datafusion = { path = "../datafusion/core", version = "16.0.0" }
 dirs = "4.0.0"
 env_logger = "0.9"
 mimalloc = { version = "0.1", default-features = false }
diff --git a/datafusion-examples/Cargo.toml b/datafusion-examples/Cargo.toml
index bdaa844c7..53b1826a9 100644
--- a/datafusion-examples/Cargo.toml
+++ b/datafusion-examples/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-examples"
 description = "DataFusion usage examples"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 authors = ["Apache Arrow <de...@arrow.apache.org>"]
diff --git a/datafusion/CHANGELOG.md b/datafusion/CHANGELOG.md
index 3a1648996..940a1c105 100644
--- a/datafusion/CHANGELOG.md
+++ b/datafusion/CHANGELOG.md
@@ -19,6 +19,337 @@
 
 # Changelog
 
+## [16.0.0](https://github.com/apache/arrow-datafusion/tree/16.0.0) (2023-01-06)
+
+[Full Changelog](https://github.com/apache/arrow-datafusion/compare/15.0.0-rc1...16.0.0)
+
+**Breaking changes:**
+
+- Enable PhysicalOptimizerRule lazily \(\#4806\) [\#4807](https://github.com/apache/arrow-datafusion/pull/4807) ([tustvold](https://github.com/tustvold))
+- Move ConfigOptions to core [\#4803](https://github.com/apache/arrow-datafusion/pull/4803) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([tustvold](https://github.com/tustvold))
+- remove Operator::{Like,NotLike,ILike,NotILike} [\#4792](https://github.com/apache/arrow-datafusion/pull/4792) ([unconsolable](https://github.com/unconsolable))
+- Move subquery alias assignment onto rules [\#4767](https://github.com/apache/arrow-datafusion/pull/4767) ([tustvold](https://github.com/tustvold))
+- Make SessionState members private [\#4764](https://github.com/apache/arrow-datafusion/pull/4764) ([tustvold](https://github.com/tustvold))
+- Deprecate SessionContext physical plan methods \(\#4617\) [\#4751](https://github.com/apache/arrow-datafusion/pull/4751) ([tustvold](https://github.com/tustvold))
+- Decouple physical optimizer from SessionConfig \(\#3887\) [\#4749](https://github.com/apache/arrow-datafusion/pull/4749) ([tustvold](https://github.com/tustvold))
+- Don't share ConfigOptions \(\#3886\) [\#4712](https://github.com/apache/arrow-datafusion/pull/4712) ([tustvold](https://github.com/tustvold))
+- Push SessionState into FileFormat \(\#4349\) [\#4699](https://github.com/apache/arrow-datafusion/pull/4699) ([tustvold](https://github.com/tustvold))
+- Make SessionContext members private [\#4698](https://github.com/apache/arrow-datafusion/pull/4698) ([tustvold](https://github.com/tustvold))
+- Make OptimizerConfig a trait \(\#4631\) \(\#4638\) [\#4645](https://github.com/apache/arrow-datafusion/pull/4645) ([tustvold](https://github.com/tustvold))
+- DataFrame owned SessionState [\#4633](https://github.com/apache/arrow-datafusion/pull/4633) ([tustvold](https://github.com/tustvold))
+-  Make LogicalPlanBuilder consuming \(\#4622\)  [\#4632](https://github.com/apache/arrow-datafusion/pull/4632) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([tustvold](https://github.com/tustvold))
+- Make DataFrame API consuming \(\#4621\) [\#4624](https://github.com/apache/arrow-datafusion/pull/4624) ([tustvold](https://github.com/tustvold))
+- Make execute\_stream functions sync [\#4608](https://github.com/apache/arrow-datafusion/pull/4608) ([tustvold](https://github.com/tustvold))
+- Remove ObjectStore from FileStream \(\#4533\) [\#4601](https://github.com/apache/arrow-datafusion/pull/4601) ([tustvold](https://github.com/tustvold))
+- Remove `AggregateState` wrapper [\#4582](https://github.com/apache/arrow-datafusion/pull/4582) ([alamb](https://github.com/alamb))
+- Fix querying and defining  table / view names with period [\#4530](https://github.com/apache/arrow-datafusion/pull/4530) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- refactor code about `subquery_alias` and `expr-alias`. [\#4451](https://github.com/apache/arrow-datafusion/pull/4451) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+
+**Implemented enhancements:**
+
+- Move the ExtractEquijoinPredicate behind the SubqueryFilterToJoin [\#4759](https://github.com/apache/arrow-datafusion/issues/4759)
+- Remove the config `datafusion.execution.coalesce_target_batch_size` [\#4756](https://github.com/apache/arrow-datafusion/issues/4756)
+- SimplifyExpressions will fail when rebuild equijoin with alias [\#4754](https://github.com/apache/arrow-datafusion/issues/4754)
+- Provide a constructor for the ConfigOptions with HashMap\<String, String\> [\#4752](https://github.com/apache/arrow-datafusion/issues/4752)
+- Non-deprecated support for planning SQL without DDL [\#4720](https://github.com/apache/arrow-datafusion/issues/4720)
+- Add regression tests for planning TPC-DS queries [\#4718](https://github.com/apache/arrow-datafusion/issues/4718)
+- Move  the extracting join keys logic to optimizer [\#4710](https://github.com/apache/arrow-datafusion/issues/4710)
+- Support compression in `IPCWriter` [\#4708](https://github.com/apache/arrow-datafusion/issues/4708)
+- Support prepared statement parameter type inference [\#4700](https://github.com/apache/arrow-datafusion/issues/4700)
+- PruningPredicate Use Physical not Logical Predicate [\#4695](https://github.com/apache/arrow-datafusion/issues/4695)
+- Support for executing infinite files [\#4692](https://github.com/apache/arrow-datafusion/issues/4692)
+- Add a sort rule to remove unnecessary SortExecs from physical plan [\#4686](https://github.com/apache/arrow-datafusion/issues/4686)
+- Install `protoc` automatically when building `datafusion/proto` crate [\#4684](https://github.com/apache/arrow-datafusion/issues/4684)
+- Make DfSchema wrap SchemaRef [\#4680](https://github.com/apache/arrow-datafusion/issues/4680)
+- Reorder the physical plan optimizer rules [\#4678](https://github.com/apache/arrow-datafusion/issues/4678)
+- Inconsistent behavior with PostgreSQL to decide Window Expressions ordering [\#4641](https://github.com/apache/arrow-datafusion/issues/4641)
+- Returns error too late when parsing invalid file compression type. [\#4636](https://github.com/apache/arrow-datafusion/issues/4636)
+- Make OptimizerConfig a Trait [\#4631](https://github.com/apache/arrow-datafusion/issues/4631)
+- Move Optimize onto DataFrame [\#4626](https://github.com/apache/arrow-datafusion/issues/4626)
+- Make LogicalPlanBuilder Consuming [\#4622](https://github.com/apache/arrow-datafusion/issues/4622)
+- Make DataFrame Consuming [\#4621](https://github.com/apache/arrow-datafusion/issues/4621)
+- rules don't need to recursion inside themselves [\#4613](https://github.com/apache/arrow-datafusion/issues/4613)
+- \[window function\] support min max with self define sliding window. [\#4603](https://github.com/apache/arrow-datafusion/issues/4603)
+- Add `try_optimize` for all\_rules [\#4598](https://github.com/apache/arrow-datafusion/issues/4598)
+- Refine the physical plan serialization and deserialization [\#4597](https://github.com/apache/arrow-datafusion/issues/4597)
+- Normalize datafusion configuration names [\#4595](https://github.com/apache/arrow-datafusion/issues/4595)
+- Add need\_data\_exchange in the ExecutionPlan to indicate whether a physical operator needs data exchange [\#4585](https://github.com/apache/arrow-datafusion/issues/4585)
+- Bump Datafusion sql-parser dependency to 0.28 [\#4573](https://github.com/apache/arrow-datafusion/issues/4573)
+- user-defined aggregate function as window function [\#4552](https://github.com/apache/arrow-datafusion/issues/4552)
+- Convert a Prepare Logical Plan into a Logical Plan with all parameters replaced with values [\#4550](https://github.com/apache/arrow-datafusion/issues/4550)
+- FileStream requires fake ObjectStore when ParquetFileReaderFactory is used [\#4533](https://github.com/apache/arrow-datafusion/issues/4533)
+- Avoid reading the entire file in ChunkedStore [\#4524](https://github.com/apache/arrow-datafusion/issues/4524)
+- Enrich filter statistics predictions with estimated column boundaries [\#4518](https://github.com/apache/arrow-datafusion/issues/4518)
+- Show window frame info in physical plan [\#4509](https://github.com/apache/arrow-datafusion/issues/4509)
+- Add sqllogictest auto labeler [\#4507](https://github.com/apache/arrow-datafusion/issues/4507)
+- Optimize `is_distinct_from` / `is_not_distinct_from` [\#4482](https://github.com/apache/arrow-datafusion/issues/4482)
+- Add window func related logic plan to proto ability. [\#4480](https://github.com/apache/arrow-datafusion/issues/4480)
+- Make window function related struct public.  [\#4479](https://github.com/apache/arrow-datafusion/issues/4479)
+- Improve partition file explain plan display to show groupings [\#4466](https://github.com/apache/arrow-datafusion/issues/4466)
+- Add support for non-column key for equijoin when eliminating cross join to inner join   [\#4442](https://github.com/apache/arrow-datafusion/issues/4442)
+- Remove the schema checking from `CrossJoinExec::try_new` [\#4431](https://github.com/apache/arrow-datafusion/issues/4431)
+- Initial support for prepared statement [\#4426](https://github.com/apache/arrow-datafusion/issues/4426)
+- Add support for NTILE built-in Window Function [\#4403](https://github.com/apache/arrow-datafusion/issues/4403)
+- Add Support for MIN, MAX Aggregate Functions when run with custom window frames [\#4402](https://github.com/apache/arrow-datafusion/issues/4402)
+- Support `INSERT INTO` statement [\#4397](https://github.com/apache/arrow-datafusion/issues/4397)
+- Proposal: Improve the join keys of logical plan [\#4389](https://github.com/apache/arrow-datafusion/issues/4389)
+- Add `MergeSubqueryAlias` rule [\#4383](https://github.com/apache/arrow-datafusion/issues/4383)
+- Optimizer rule support `subqueryAlias` [\#4381](https://github.com/apache/arrow-datafusion/issues/4381)
+- Rewrite simple regex expressions [\#4370](https://github.com/apache/arrow-datafusion/issues/4370)
+- Revisit get\_statistics\_with\_limit\(\) method in datasource mod [\#4323](https://github.com/apache/arrow-datafusion/issues/4323)
+- Support for type coercion for a \(Timestamp, Utf8\) pair [\#4311](https://github.com/apache/arrow-datafusion/issues/4311)
+- replace the operation about decimal to the arrow-rs kernel [\#4289](https://github.com/apache/arrow-datafusion/issues/4289)
+- change` date_part` return types to f64 [\#3997](https://github.com/apache/arrow-datafusion/issues/3997)
+- Better api for setting `ConfigOptions` from SessionContext [\#3908](https://github.com/apache/arrow-datafusion/issues/3908)
+- Make `ConfigOptions` easier to work with [\#3886](https://github.com/apache/arrow-datafusion/issues/3886)
+- An asynchronous version of `CatalogList`/`CatalogProvider`/`SchemaProvider` [\#3777](https://github.com/apache/arrow-datafusion/issues/3777)
+- Allow configs to be set with string values [\#3500](https://github.com/apache/arrow-datafusion/issues/3500)
+- support scientific notation for SQL literals [\#3448](https://github.com/apache/arrow-datafusion/issues/3448)
+- Adopt physical plan serde from arrow-ballista [\#3257](https://github.com/apache/arrow-datafusion/issues/3257)
+- Improve codebase readability and error messages by and consistently handle downcasting [\#3152](https://github.com/apache/arrow-datafusion/issues/3152)
+- Re-enable where\_clauses\_object\_safety [\#3081](https://github.com/apache/arrow-datafusion/issues/3081)
+- optimize/simplify the literal data type and remove unnecessary cast、try\_cast [\#3031](https://github.com/apache/arrow-datafusion/issues/3031)
+- Move `datafusion-substrait` crate into `arrow-datafusion` repo [\#2646](https://github.com/apache/arrow-datafusion/issues/2646)
+- \[enhancement\] rules don't need to recursion inside themselves [\#2620](https://github.com/apache/arrow-datafusion/issues/2620)
+- Add support for `GROUPING SETS` syntax in SQL planner [\#2469](https://github.com/apache/arrow-datafusion/issues/2469)
+- Optimize EXISTS subquery expressions by rewriting as semi-join [\#2351](https://github.com/apache/arrow-datafusion/issues/2351)
+- Add Delta Lake TableProvider [\#525](https://github.com/apache/arrow-datafusion/issues/525)
+- Support window functions with window frame [\#361](https://github.com/apache/arrow-datafusion/issues/361)
+
+**Fixed bugs:**
+
+- Physical Optimizer Config Mutation Doesn't Take Effect [\#4806](https://github.com/apache/arrow-datafusion/issues/4806)
+- cargo test failed `error: linking with `cc` failed: exit status: 1` [\#4790](https://github.com/apache/arrow-datafusion/issues/4790)
+- Parquet files generated by DataFusion cannot be read by Apache Spark [\#4782](https://github.com/apache/arrow-datafusion/issues/4782)
+- datafusion-physical-expr doesn't compile when blake3/traits-preview is enabled [\#4781](https://github.com/apache/arrow-datafusion/issues/4781)
+- Multiple ways to express `like` / `ilike` / `not like` / `not ilike`  [\#4765](https://github.com/apache/arrow-datafusion/issues/4765)
+- SessionState::optimize and SessionState::create\_physical\_plan Don't Update Query Start Time [\#4747](https://github.com/apache/arrow-datafusion/issues/4747)
+- Page Filtering Incorrectly Handles Pages with Different Row Counts [\#4744](https://github.com/apache/arrow-datafusion/issues/4744)
+- cargo test failing on master due to tpcds\_logical\_q41 stackoverflow [\#4728](https://github.com/apache/arrow-datafusion/issues/4728)
+- PruningPredicate Different Evaluation Context from Query [\#4693](https://github.com/apache/arrow-datafusion/issues/4693)
+- Skipping optimizer rule due to create\_name not supporting wildcard [\#4681](https://github.com/apache/arrow-datafusion/issues/4681)
+- Create physical plan bug: got Arrow schema with 1  and DataFusion schema with 0 [\#4677](https://github.com/apache/arrow-datafusion/issues/4677)
+- Timestamp \<-\> Date32 compare doesn't work [\#4672](https://github.com/apache/arrow-datafusion/issues/4672)
+- Wrongly use the function  `clamp` [\#4654](https://github.com/apache/arrow-datafusion/issues/4654)
+- Fix the clippy errors [\#4653](https://github.com/apache/arrow-datafusion/issues/4653)
+- Filter Null Keys Update Not Taking Effect [\#4638](https://github.com/apache/arrow-datafusion/issues/4638)
+- Should not generate duplicate sort keys from Window expr's partition by keys   [\#4635](https://github.com/apache/arrow-datafusion/issues/4635)
+- `common_sub_expression_eliminate`  exists bug [\#4575](https://github.com/apache/arrow-datafusion/issues/4575)
+- Confusing "Bare" in doesn't exist messages [\#4571](https://github.com/apache/arrow-datafusion/issues/4571)
+- `having` shouldn't include alias in projection [\#4556](https://github.com/apache/arrow-datafusion/issues/4556)
+- wrong comment about having [\#4554](https://github.com/apache/arrow-datafusion/issues/4554)
+- `drop view t1, t2, ...` and `drop table t1, t2, ...` silently ignores arguments past the first [\#4531](https://github.com/apache/arrow-datafusion/issues/4531)
+- Extract from timestamp doesn't support nanosecond [\#4528](https://github.com/apache/arrow-datafusion/issues/4528)
+- `prepare_select_exprs` don't need `outer_query_schema` [\#4526](https://github.com/apache/arrow-datafusion/issues/4526)
+- Table names with periods are not handled correctly [\#4513](https://github.com/apache/arrow-datafusion/issues/4513)
+- `Push_down_projection` push redundant column. [\#4486](https://github.com/apache/arrow-datafusion/issues/4486)
+- Planner don't generate `SubqueryAlias` [\#4483](https://github.com/apache/arrow-datafusion/issues/4483)
+- Planner generate replicated `Projection` | `SubqueryAlias` [\#4481](https://github.com/apache/arrow-datafusion/issues/4481)
+- `apply_table_alias` will ignore alias\_name when columns is empty. [\#4454](https://github.com/apache/arrow-datafusion/issues/4454)
+- Fix output\_ordering of WindowAggExec [\#4438](https://github.com/apache/arrow-datafusion/issues/4438)
+- Incorrect error for plus/minus operations over timestamps and dates  [\#4420](https://github.com/apache/arrow-datafusion/issues/4420)
+- Optimization rule `filter_push_down` causes `FieldNotFound` error [\#4401](https://github.com/apache/arrow-datafusion/issues/4401)
+- Should not convert a normal non-inner join to Cross Join when there are non-equal Join conditions  [\#4363](https://github.com/apache/arrow-datafusion/issues/4363)
+- MemoryConsumer::try\_grow Underflow  [\#4328](https://github.com/apache/arrow-datafusion/issues/4328)
+- Potential MemoryManager Deadlock [\#4325](https://github.com/apache/arrow-datafusion/issues/4325)
+- `create external table` should fail to parse if syntax is incorrect [\#4262](https://github.com/apache/arrow-datafusion/issues/4262)
+- Nullif func states support for Boolean type, but fails if this is attempted [\#4205](https://github.com/apache/arrow-datafusion/issues/4205)
+- `ProjectionPushDown` rule don't consider the alias in projection. [\#4174](https://github.com/apache/arrow-datafusion/issues/4174)
+- Stack overflow planning complex query [\#4065](https://github.com/apache/arrow-datafusion/issues/4065)
+- Can not use `extract <part>` on the value of `now()` [\#3980](https://github.com/apache/arrow-datafusion/issues/3980)
+- Bug with intervals and logical and/or [\#3944](https://github.com/apache/arrow-datafusion/issues/3944)
+- CoalesceBatches doesn't provide correct elapsed\_compute info in metrics [\#3894](https://github.com/apache/arrow-datafusion/issues/3894)
+- Paniced at to\_timestamp\_micros function when the timestamp is too large. [\#3832](https://github.com/apache/arrow-datafusion/issues/3832)
+- Optimizer casts decimals to different values on different platforms [\#3791](https://github.com/apache/arrow-datafusion/issues/3791)
+- CSV inference reads in the whole file to memory, regardless of row limit [\#3658](https://github.com/apache/arrow-datafusion/issues/3658)
+- after type coercion `CommonSubexprEliminate` will produce invalid projection [\#3635](https://github.com/apache/arrow-datafusion/issues/3635)
+- panic at `attempt to multiply with overflow` when doing math on Decimal128 columns [\#3437](https://github.com/apache/arrow-datafusion/issues/3437)
+- Precedence bug with date comparison to date plus interval [\#3408](https://github.com/apache/arrow-datafusion/issues/3408)
+- Median aggregation using DataFrame panics: "AggregateState is not a scalar aggregate" [\#3105](https://github.com/apache/arrow-datafusion/issues/3105)
+- `date_part` does't work for `now()` [\#3096](https://github.com/apache/arrow-datafusion/issues/3096)
+- hash\_join panics when join keys have different data types [\#2877](https://github.com/apache/arrow-datafusion/issues/2877)
+- Memory manager triggers unnecessary spills [\#2829](https://github.com/apache/arrow-datafusion/issues/2829)
+- Address performance/execution plan of TPCH query 9 [\#77](https://github.com/apache/arrow-datafusion/issues/77)
+
+**Documentation updates:**
+
+- Add a new open source project that is use DataFusion as query engine [\#4768](https://github.com/apache/arrow-datafusion/pull/4768) ([francis-du](https://github.com/francis-du))
+
+**Closed issues:**
+
+- Make it easier to update sqltestlogic test expected output \("test script completion mode"\) [\#4570](https://github.com/apache/arrow-datafusion/issues/4570)
+- Make ConfigOption names into an Enum  [\#4517](https://github.com/apache/arrow-datafusion/issues/4517)
+- Implement null / empty string handling for sqllogictest [\#4500](https://github.com/apache/arrow-datafusion/issues/4500)
+- Write a blog about parquet predicate pushdown [\#3464](https://github.com/apache/arrow-datafusion/issues/3464)
+- Ensure column names are equivalent with or without optimization [\#1123](https://github.com/apache/arrow-datafusion/issues/1123)
+
+**Merged pull requests:**
+
+- feat: use arrow row format for hash-group-by [\#4830](https://github.com/apache/arrow-datafusion/pull/4830) ([crepererum](https://github.com/crepererum))
+- minor: add some comments to row group pruning tests [\#4823](https://github.com/apache/arrow-datafusion/pull/4823) ([alamb](https://github.com/alamb))
+- Handle trailing tbl column in TPCH benchmarks [\#4821](https://github.com/apache/arrow-datafusion/pull/4821) ([tustvold](https://github.com/tustvold))
+- Fix clippy [\#4817](https://github.com/apache/arrow-datafusion/pull/4817) ([tustvold](https://github.com/tustvold))
+- Add test cases: row group filter with missing statistics for decimal data type [\#4810](https://github.com/apache/arrow-datafusion/pull/4810) ([liukun4515](https://github.com/liukun4515))
+- Move default catalog and schema onto ConfigOptions \(\#3887\) [\#4805](https://github.com/apache/arrow-datafusion/pull/4805) ([tustvold](https://github.com/tustvold))
+- remove duplicated test [\#4800](https://github.com/apache/arrow-datafusion/pull/4800) ([jackwener](https://github.com/jackwener))
+- Update sqlparser requirement from 0.29 to 0.30 [\#4799](https://github.com/apache/arrow-datafusion/pull/4799) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([dependabot[bot]](https://github.com/apps/dependabot))
+- rewrite the function `ensure_any_column_reference_is_unambiguous` [\#4797](https://github.com/apache/arrow-datafusion/pull/4797) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([HaoYang670](https://github.com/HaoYang670))
+- Uncomment nanoseconds tests after sql parser upgrade [\#4789](https://github.com/apache/arrow-datafusion/pull/4789) ([comphead](https://github.com/comphead))
+- fix: ListingSchemaProvider directory paths \(related: \#4204\) [\#4788](https://github.com/apache/arrow-datafusion/pull/4788) ([cfraz89](https://github.com/cfraz89))
+- Minimize stack space required to plan deeply nested binary expressions [\#4787](https://github.com/apache/arrow-datafusion/pull/4787) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- Minor: Refactor some sql planning code into functions [\#4785](https://github.com/apache/arrow-datafusion/pull/4785) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+-  Make datafusion-physical-expr compatible with blake3/traits-preview feature. [\#4784](https://github.com/apache/arrow-datafusion/pull/4784) ([BoredPerson](https://github.com/BoredPerson))
+- refactor: split expression pf planner into one part. [\#4783](https://github.com/apache/arrow-datafusion/pull/4783) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+- Fix Stack overflow in sql planning in debug builds [\#4779](https://github.com/apache/arrow-datafusion/pull/4779) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- Pipeline-friendly Bounded Memory Window Executor [\#4777](https://github.com/apache/arrow-datafusion/pull/4777) ([mustafasrepo](https://github.com/mustafasrepo))
+- Implement OptimizerConfig for SessionState [\#4775](https://github.com/apache/arrow-datafusion/pull/4775) ([tustvold](https://github.com/tustvold))
+- refactor: extract `parse_value` [\#4774](https://github.com/apache/arrow-datafusion/pull/4774) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+- Structify ConfigOptions \(\#4517\) [\#4771](https://github.com/apache/arrow-datafusion/pull/4771) ([tustvold](https://github.com/tustvold))
+- Update sqlparser to `29.0.0` [\#4770](https://github.com/apache/arrow-datafusion/pull/4770) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- Refactor extract\_join\_keys and move the ExtractEquijoinPredicate rule [\#4760](https://github.com/apache/arrow-datafusion/pull/4760) ([ygf11](https://github.com/ygf11))
+- Remove the config datafusion.execution.coalesce\_target\_batch\_size and use datafusion.execution.batch\_size instead [\#4757](https://github.com/apache/arrow-datafusion/pull/4757) ([yahoNanJing](https://github.com/yahoNanJing))
+- Add alias check for equijoin in from\_plan [\#4755](https://github.com/apache/arrow-datafusion/pull/4755) ([ygf11](https://github.com/ygf11))
+- Take the top level `schema` into account when creating `UnionExec` [\#4753](https://github.com/apache/arrow-datafusion/pull/4753) ([HaoYang670](https://github.com/HaoYang670))
+- Set query\_execution\_start\_time on snapshot from SessionContext \(\#4747\) [\#4750](https://github.com/apache/arrow-datafusion/pull/4750) ([tustvold](https://github.com/tustvold))
+- minor: Improve docstrings [\#4748](https://github.com/apache/arrow-datafusion/pull/4748) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- Append generated column to the schema instead of prepending for WindowAggExec [\#4746](https://github.com/apache/arrow-datafusion/pull/4746) ([mustafasrepo](https://github.com/mustafasrepo))
+- Minor: comments about coercion in physical planner [\#4745](https://github.com/apache/arrow-datafusion/pull/4745) ([alamb](https://github.com/alamb))
+- Simplify parquet filter predicate test, fix Page Filtering Incorrectly Handles Pages with Different Row Counts  [\#4743](https://github.com/apache/arrow-datafusion/pull/4743) ([tustvold](https://github.com/tustvold))
+- support byte array for decimal in parquet page and row group filters [\#4742](https://github.com/apache/arrow-datafusion/pull/4742) ([liukun4515](https://github.com/liukun4515))
+- revert some code for \#4726 / remove unnecessary coercion in physical plans [\#4741](https://github.com/apache/arrow-datafusion/pull/4741) ([liukun4515](https://github.com/liukun4515))
+- Cleanup InformationSchema plumbing [\#4740](https://github.com/apache/arrow-datafusion/pull/4740) ([tustvold](https://github.com/tustvold))
+- Minor: use a common method to check the validate of  equijoin predicate [\#4739](https://github.com/apache/arrow-datafusion/pull/4739) ([ygf11](https://github.com/ygf11))
+- minor: Support more data type for `null_counts` in the `PruningStatistics` [\#4738](https://github.com/apache/arrow-datafusion/pull/4738) ([liukun4515](https://github.com/liukun4515))
+- Extended datatypes & signatures support for `NULLIF` function [\#4737](https://github.com/apache/arrow-datafusion/pull/4737) ([korowa](https://github.com/korowa))
+- minor: improve debug logging for pruning predicates [\#4736](https://github.com/apache/arrow-datafusion/pull/4736) ([alamb](https://github.com/alamb))
+- refactor: parallelize `parquet_exec` test case `single_file` [\#4735](https://github.com/apache/arrow-datafusion/pull/4735) ([waynexia](https://github.com/waynexia))
+- fix: add one more projection to recover output schema [\#4733](https://github.com/apache/arrow-datafusion/pull/4733) ([waynexia](https://github.com/waynexia))
+- remove `SubqueryFilterToJoin` [\#4731](https://github.com/apache/arrow-datafusion/pull/4731) ([jackwener](https://github.com/jackwener))
+- Create writer with `arrow::ipc::IPCWriteOptions` [\#4730](https://github.com/apache/arrow-datafusion/pull/4730) ([askoa](https://github.com/askoa))
+- Implement cast between Date and Timestamp [\#4726](https://github.com/apache/arrow-datafusion/pull/4726) ([comphead](https://github.com/comphead))
+- Dynamic information\_schema configuration and port more tests [\#4722](https://github.com/apache/arrow-datafusion/pull/4722) ([alamb](https://github.com/alamb))
+- Add TPC-DS query planning regression tests [\#4719](https://github.com/apache/arrow-datafusion/pull/4719) ([andygrove](https://github.com/andygrove))
+- Minor: refactor streaming CSV inference code [\#4717](https://github.com/apache/arrow-datafusion/pull/4717) ([alamb](https://github.com/alamb))
+- Reorder the physical plan optimizer rules, extract `GlobalSortSelection`, make `Repartition` optional [\#4714](https://github.com/apache/arrow-datafusion/pull/4714) ([yahoNanJing](https://github.com/yahoNanJing))
+- Eagerly construct PagePruningPredicate [\#4713](https://github.com/apache/arrow-datafusion/pull/4713) ([tustvold](https://github.com/tustvold))
+- Move the extract\_join\_keys to optimizer [\#4711](https://github.com/apache/arrow-datafusion/pull/4711) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([ygf11](https://github.com/ygf11))
+- Avoid to bypass `try_new/new()` to build plan directly and cleanup filter [\#4702](https://github.com/apache/arrow-datafusion/pull/4702) ([jackwener](https://github.com/jackwener))
+- MINOR: Remove where\_clause\_object\_safety clippy ignore \(\#3081\) [\#4696](https://github.com/apache/arrow-datafusion/pull/4696) ([tustvold](https://github.com/tustvold))
+- Support for executing infinite files and boundedness-aware join reordering rule [\#4694](https://github.com/apache/arrow-datafusion/pull/4694) ([metesynnada](https://github.com/metesynnada))
+- Unnecessary SortExec removal rule from Physical Plan [\#4691](https://github.com/apache/arrow-datafusion/pull/4691) ([mustafasrepo](https://github.com/mustafasrepo))
+- minor: rename the github actions [\#4689](https://github.com/apache/arrow-datafusion/pull/4689) ([jackwener](https://github.com/jackwener))
+- FOLLOWUP: remove more recursion in optimizer rules. [\#4687](https://github.com/apache/arrow-datafusion/pull/4687) ([jackwener](https://github.com/jackwener))
+- Add line that prevents display\_name from being called on Wildcard [\#4682](https://github.com/apache/arrow-datafusion/pull/4682) ([andre-cc-natzka](https://github.com/andre-cc-natzka))
+- Deprecate SessionContext::create\_logical\_plan \(\#4617\) [\#4679](https://github.com/apache/arrow-datafusion/pull/4679) ([tustvold](https://github.com/tustvold))
+- Support `NTILE` window function [\#4676](https://github.com/apache/arrow-datafusion/pull/4676) ([berkaycpp](https://github.com/berkaycpp))
+- Support min max aggregates in window functions with sliding windows [\#4675](https://github.com/apache/arrow-datafusion/pull/4675) ([berkaycpp](https://github.com/berkaycpp))
+- Refactor Expr::AggregateFunction and Expr::WindowFunction to use struct [\#4671](https://github.com/apache/arrow-datafusion/pull/4671) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([Jefffrey](https://github.com/Jefffrey))
+- Support type coercion for equijoin [\#4666](https://github.com/apache/arrow-datafusion/pull/4666) ([ygf11](https://github.com/ygf11))
+- Add `--complete` auto completion mode to `sqllogictests` [\#4665](https://github.com/apache/arrow-datafusion/pull/4665) ([alamb](https://github.com/alamb))
+- Fix CoalesceBatches elasped\_compute metric [\#4664](https://github.com/apache/arrow-datafusion/pull/4664) ([Jefffrey](https://github.com/Jefffrey))
+- Refactor Expr::Sort to use struct [\#4663](https://github.com/apache/arrow-datafusion/pull/4663) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([Jefffrey](https://github.com/Jefffrey))
+- More descriptive error for plus/minus between timestamps/dates [\#4662](https://github.com/apache/arrow-datafusion/pull/4662) ([Jefffrey](https://github.com/Jefffrey))
+- Stream CSV file during schema inference [\#4661](https://github.com/apache/arrow-datafusion/pull/4661) ([Jefffrey](https://github.com/Jefffrey))
+- Refine the logical and physical plan serialization and deserialization [\#4659](https://github.com/apache/arrow-datafusion/pull/4659) ([yahoNanJing](https://github.com/yahoNanJing))
+- Use thiserror in sqllogictest erorr [\#4657](https://github.com/apache/arrow-datafusion/pull/4657) ([xudong963](https://github.com/xudong963))
+- fix `cargo clippy` warning [\#4652](https://github.com/apache/arrow-datafusion/pull/4652) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+- Improve group by hash performance: avoid group-key/-state clones for hash-groupby [\#4651](https://github.com/apache/arrow-datafusion/pull/4651) ([crepererum](https://github.com/crepererum))
+- remove recursion in optimizer rules [\#4650](https://github.com/apache/arrow-datafusion/pull/4650) ([jackwener](https://github.com/jackwener))
+- replace the arithmetic op for decimal array op decimal array using arrow kernel  [\#4648](https://github.com/apache/arrow-datafusion/pull/4648) ([liukun4515](https://github.com/liukun4515))
+- simplify regex expressions [\#4646](https://github.com/apache/arrow-datafusion/pull/4646) ([crepererum](https://github.com/crepererum))
+- Avoid generate duplicate sort Keys from Window Expressions, fix bug when decide Window Expressions ordering [\#4643](https://github.com/apache/arrow-datafusion/pull/4643) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([mingmwang](https://github.com/mingmwang))
+- Refactor Expr::TryCast to use a struct [\#4642](https://github.com/apache/arrow-datafusion/pull/4642) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([ygf11](https://github.com/ygf11))
+- add `ILIKE` support [\#4639](https://github.com/apache/arrow-datafusion/pull/4639) ([crepererum](https://github.com/crepererum))
+- Detect invalid \(unsupported\) compression types when parsing [\#4637](https://github.com/apache/arrow-datafusion/pull/4637) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([HaoYang670](https://github.com/HaoYang670))
+- unwrap\_cast\_in\_comparison.rs: support unint \<-\> decimal [\#4634](https://github.com/apache/arrow-datafusion/pull/4634) ([liukun4515](https://github.com/liukun4515))
+- MINOR: Fix incorrect config definitions [\#4623](https://github.com/apache/arrow-datafusion/pull/4623) ([andygrove](https://github.com/andygrove))
+- FOLLOWUP: remove `optimize()` [\#4619](https://github.com/apache/arrow-datafusion/pull/4619) ([jackwener](https://github.com/jackwener))
+- Optimizer: avoid every rule must recursive children in optimizer [\#4618](https://github.com/apache/arrow-datafusion/pull/4618) ([jackwener](https://github.com/jackwener))
+- fix: run logical optimizer rules for `TableScan` expressions [\#4614](https://github.com/apache/arrow-datafusion/pull/4614) ([crepererum](https://github.com/crepererum))
+- refactor: relax the signature of register\_\* in SessionContext [\#4612](https://github.com/apache/arrow-datafusion/pull/4612) ([waynexia](https://github.com/waynexia))
+- Remove the function `consume_token` from the parser [\#4609](https://github.com/apache/arrow-datafusion/pull/4609) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([HaoYang670](https://github.com/HaoYang670))
+- Make SchemaProvider::table async [\#4607](https://github.com/apache/arrow-datafusion/pull/4607) ([tustvold](https://github.com/tustvold))
+- Lazy system tables [\#4606](https://github.com/apache/arrow-datafusion/pull/4606) ([tustvold](https://github.com/tustvold))
+- Refactor: Change equijoin keys from column to expression in logical join [\#4602](https://github.com/apache/arrow-datafusion/pull/4602) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([ygf11](https://github.com/ygf11))
+- refactor: extract `assert_optimized_plan_eq` from UT. [\#4600](https://github.com/apache/arrow-datafusion/pull/4600) ([jackwener](https://github.com/jackwener))
+- add `try_optimize()` for all rules. [\#4599](https://github.com/apache/arrow-datafusion/pull/4599) ([jackwener](https://github.com/jackwener))
+- Normalize datafusion configuration names [\#4596](https://github.com/apache/arrow-datafusion/pull/4596) ([yahoNanJing](https://github.com/yahoNanJing))
+- Fix the bugs in parsing `COMPRESSION TYPE` [\#4590](https://github.com/apache/arrow-datafusion/pull/4590) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([HaoYang670](https://github.com/HaoYang670))
+- Minor: Remove datafusion-core dev dependency from datafusion-sql [\#4589](https://github.com/apache/arrow-datafusion/pull/4589) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- Improve error handling for array downcasting [\#4588](https://github.com/apache/arrow-datafusion/pull/4588) ([retikulum](https://github.com/retikulum))
+- Update to arrow v29 [\#4587](https://github.com/apache/arrow-datafusion/pull/4587) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([tustvold](https://github.com/tustvold))
+- Add need\_data\_exchange in the ExecutionPlan to indicate whether a physical operator needs data exchange [\#4586](https://github.com/apache/arrow-datafusion/pull/4586) ([yahoNanJing](https://github.com/yahoNanJing))
+- Move subset of select tests to sqllogic [\#4583](https://github.com/apache/arrow-datafusion/pull/4583) ([ajayaa](https://github.com/ajayaa))
+- bugfix: just allow having use expr in `groupby` or `aggr` [\#4579](https://github.com/apache/arrow-datafusion/pull/4579) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+- Output sqllogictests with arrow display rather than CSV writer [\#4578](https://github.com/apache/arrow-datafusion/pull/4578) ([alamb](https://github.com/alamb))
+- Minor: Add test case for reduce cross join [\#4577](https://github.com/apache/arrow-datafusion/pull/4577) ([ygf11](https://github.com/ygf11))
+- refactor: remove redundant `outer_query_schema` [\#4576](https://github.com/apache/arrow-datafusion/pull/4576) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+- Preserve the TryCast expression in columnize\_expr [\#4574](https://github.com/apache/arrow-datafusion/pull/4574) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([byteink](https://github.com/byteink))
+- Remove Confusing "Bare" in does not exist messages [\#4572](https://github.com/apache/arrow-datafusion/pull/4572) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- Minor: Add tests for date interval predicate handling [\#4569](https://github.com/apache/arrow-datafusion/pull/4569) ([alamb](https://github.com/alamb))
+- Update sqlparser requirement from 0.27 to 0.28 [\#4568](https://github.com/apache/arrow-datafusion/pull/4568) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- Avoid materializing local varaibles when creating `sortMergeJoinExec` [\#4566](https://github.com/apache/arrow-datafusion/pull/4566) ([HaoYang670](https://github.com/HaoYang670))
+- Minor: Fix logical conflict [\#4565](https://github.com/apache/arrow-datafusion/pull/4565) ([alamb](https://github.com/alamb))
+- feat: support nested loop join with the initial version [\#4562](https://github.com/apache/arrow-datafusion/pull/4562) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([liukun4515](https://github.com/liukun4515))
+- feat: prepare logical plan to logical plan without params/placeholders [\#4561](https://github.com/apache/arrow-datafusion/pull/4561) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([NGA-TRAN](https://github.com/NGA-TRAN))
+- Write faster kernel for is\_distinct [\#4560](https://github.com/apache/arrow-datafusion/pull/4560) ([comphead](https://github.com/comphead))
+- refactor code about `query -> plan` for subqueries [\#4559](https://github.com/apache/arrow-datafusion/pull/4559) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+- fix: remove wrong comment about `having` [\#4555](https://github.com/apache/arrow-datafusion/pull/4555) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+- feat: user-defined aggregate function\(UDAF\) as window function [\#4553](https://github.com/apache/arrow-datafusion/pull/4553) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([MichaelScofield](https://github.com/MichaelScofield))
+- Fix date\_part/extract functions to support now\(\) [\#4548](https://github.com/apache/arrow-datafusion/pull/4548) ([comphead](https://github.com/comphead))
+- bump sqllogictest to 0.9.0 [\#4547](https://github.com/apache/arrow-datafusion/pull/4547) ([xxchan](https://github.com/xxchan))
+- minor: Remove more clones from the planner  [\#4546](https://github.com/apache/arrow-datafusion/pull/4546) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- Add tests for coercion of timestamps to strings [\#4545](https://github.com/apache/arrow-datafusion/pull/4545) ([alamb](https://github.com/alamb))
+- MINOR: move sqllogictest to dev-dependencies [\#4544](https://github.com/apache/arrow-datafusion/pull/4544) ([alamb](https://github.com/alamb))
+- MINOR: add some comments about intended use of ChunkedStore [\#4541](https://github.com/apache/arrow-datafusion/pull/4541) ([alamb](https://github.com/alamb))
+- fix: remove TODOs linked to arrow\#3147 [\#4540](https://github.com/apache/arrow-datafusion/pull/4540) ([crepererum](https://github.com/crepererum))
+- refactor: remove redundant `build_join_schema()` [\#4538](https://github.com/apache/arrow-datafusion/pull/4538) ([jackwener](https://github.com/jackwener))
+- Move some create/drop tests to  `ddl.slt` [\#4535](https://github.com/apache/arrow-datafusion/pull/4535) ([alamb](https://github.com/alamb))
+- Minor: Avoid cloning as many `Ident` during SQL planning [\#4534](https://github.com/apache/arrow-datafusion/pull/4534) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([alamb](https://github.com/alamb))
+- shouldn't add `outer_query_schema` in `sql_select_to_rex` [\#4527](https://github.com/apache/arrow-datafusion/pull/4527) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+- Avoid reading the entire file in ChunkedStore [\#4525](https://github.com/apache/arrow-datafusion/pull/4525) ([metesynnada](https://github.com/metesynnada))
+- Simplify MemoryManager [\#4522](https://github.com/apache/arrow-datafusion/pull/4522) ([tustvold](https://github.com/tustvold))
+- Fix limited statistic collection accross files with no stats [\#4521](https://github.com/apache/arrow-datafusion/pull/4521) ([isidentical](https://github.com/isidentical))
+- refactor: make Ctes a struct to also store data types provided by prepare stmt [\#4520](https://github.com/apache/arrow-datafusion/pull/4520) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([NGA-TRAN](https://github.com/NGA-TRAN))
+- Enrich filter statistics with known column boundaries [\#4519](https://github.com/apache/arrow-datafusion/pull/4519) ([isidentical](https://github.com/isidentical))
+- Remove Option from window frame  [\#4516](https://github.com/apache/arrow-datafusion/pull/4516) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([mustafasrepo](https://github.com/mustafasrepo))
+- Make nightly clippy happy [\#4515](https://github.com/apache/arrow-datafusion/pull/4515) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([xudong963](https://github.com/xudong963))
+- Remove interior mutability of `MemTable` [\#4514](https://github.com/apache/arrow-datafusion/pull/4514) ([xudong963](https://github.com/xudong963))
+- Make window function related struct public for ballista. [\#4511](https://github.com/apache/arrow-datafusion/pull/4511) ([Ted-Jiang](https://github.com/Ted-Jiang))
+- minor: rename `push_down_limit` [\#4510](https://github.com/apache/arrow-datafusion/pull/4510) ([jackwener](https://github.com/jackwener))
+- Add get\_window\_frame in window\_expr, show frame info in window\_agg\_exec [\#4508](https://github.com/apache/arrow-datafusion/pull/4508) ([Ted-Jiang](https://github.com/Ted-Jiang))
+- Add sqllogictest auto labeler [\#4506](https://github.com/apache/arrow-datafusion/pull/4506) ([mvanschellebeeck](https://github.com/mvanschellebeeck))
+- Add some more aggregate sqllogictests and remove rust tests [\#4505](https://github.com/apache/arrow-datafusion/pull/4505) ([mvanschellebeeck](https://github.com/mvanschellebeeck))
+- Remove sqllogictests CI run [\#4504](https://github.com/apache/arrow-datafusion/pull/4504) ([mvanschellebeeck](https://github.com/mvanschellebeeck))
+- Refactor code for `insert` in sqllogictest [\#4503](https://github.com/apache/arrow-datafusion/pull/4503) ([xudong963](https://github.com/xudong963))
+- Add empty string normalization to sqllogictests [\#4501](https://github.com/apache/arrow-datafusion/pull/4501) ([alamb](https://github.com/alamb))
+- sqllogictest: A logging and command line filter [\#4497](https://github.com/apache/arrow-datafusion/pull/4497) ([alamb](https://github.com/alamb))
+- Support `insert into` statement in sqllogictest [\#4496](https://github.com/apache/arrow-datafusion/pull/4496) ([xudong963](https://github.com/xudong963))
+- Improve error handling for array downcasting [\#4493](https://github.com/apache/arrow-datafusion/pull/4493) ([retikulum](https://github.com/retikulum))
+- Unify most of `SessionConfig` settings into `ConfigOptions` [\#4492](https://github.com/apache/arrow-datafusion/pull/4492) ([alamb](https://github.com/alamb))
+- feat: support prepare statement [\#4490](https://github.com/apache/arrow-datafusion/pull/4490) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([NGA-TRAN](https://github.com/NGA-TRAN))
+- Minor: Update docstrings and comments to aggregate code [\#4489](https://github.com/apache/arrow-datafusion/pull/4489) ([alamb](https://github.com/alamb))
+- Fix panic in median "AggregateState is not a scalar aggregate" [\#4488](https://github.com/apache/arrow-datafusion/pull/4488) ([alamb](https://github.com/alamb))
+- fix `push_down_projection` push redundant columns. [\#4487](https://github.com/apache/arrow-datafusion/pull/4487) ([jackwener](https://github.com/jackwener))
+- Add window func related logic plan to proto ability. [\#4485](https://github.com/apache/arrow-datafusion/pull/4485) ([Ted-Jiang](https://github.com/Ted-Jiang))
+- fix `Planner` don't generate `SubqueryAlias` and generate duplicated `SubqueryAlias` [\#4484](https://github.com/apache/arrow-datafusion/pull/4484) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([jackwener](https://github.com/jackwener))
+- Improve parquet partition\_file output display [\#4467](https://github.com/apache/arrow-datafusion/pull/4467) ([alamb](https://github.com/alamb))
+- minor: remove redundant `unwrap()` [\#4463](https://github.com/apache/arrow-datafusion/pull/4463) ([jackwener](https://github.com/jackwener))
+- Fix `Cte` in `from` clause with duplicated cte name [\#4461](https://github.com/apache/arrow-datafusion/pull/4461) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([xudong963](https://github.com/xudong963))
+- Replace `&Option<T>` with `Option<&T>` part 2 [\#4458](https://github.com/apache/arrow-datafusion/pull/4458) ([askoa](https://github.com/askoa))
+- Fix output\_partitioning\(\), output\_ordering\(\), equivalence\_properties\(\) in WindowAggExec, shift the Column indexes [\#4455](https://github.com/apache/arrow-datafusion/pull/4455) ([mingmwang](https://github.com/mingmwang))
+- fix `push_down_filter` for pushing filters on grouping columns rather than aggregate columns [\#4447](https://github.com/apache/arrow-datafusion/pull/4447) ([jackwener](https://github.com/jackwener))
+- Add support for non-column key for equijoin when eliminating cross join to inner join [\#4443](https://github.com/apache/arrow-datafusion/pull/4443) [[sql](https://github.com/apache/arrow-datafusion/labels/sql)] ([ygf11](https://github.com/ygf11))
+- Remove the schema checking when creating `CrossJoinExec` [\#4432](https://github.com/apache/arrow-datafusion/pull/4432) ([HaoYang670](https://github.com/HaoYang670))
+- `date_part` support fractions of second [\#4385](https://github.com/apache/arrow-datafusion/pull/4385) ([comphead](https://github.com/comphead))
+- Minor: use upstream RowSelection code from arrow `intersect_row_selection` [\#4340](https://github.com/apache/arrow-datafusion/pull/4340) ([alamb](https://github.com/alamb))
+- Support type coercion for timestamp and utf8 [\#4312](https://github.com/apache/arrow-datafusion/pull/4312) ([andre-cc-natzka](https://github.com/andre-cc-natzka))
+
+## [15.0.0-rc1](https://github.com/apache/arrow-datafusion/tree/15.0.0-rc1) (2022-12-02)
+
+[Full Changelog](https://github.com/apache/arrow-datafusion/compare/15.0.0...15.0.0-rc1)
+
+
 ## [15.0.0](https://github.com/apache/arrow-datafusion/tree/15.0.0) (2022-12-01)
 
 [Full Changelog](https://github.com/apache/arrow-datafusion/compare/14.0.0-rc1...15.0.0)
diff --git a/datafusion/common/Cargo.toml b/datafusion/common/Cargo.toml
index cc93efa94..7445812a1 100644
--- a/datafusion/common/Cargo.toml
+++ b/datafusion/common/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-common"
 description = "Common functionality for DataFusion query engine"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 readme = "README.md"
diff --git a/datafusion/core/Cargo.toml b/datafusion/core/Cargo.toml
index 098c3099f..a1c9c463e 100644
--- a/datafusion/core/Cargo.toml
+++ b/datafusion/core/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion"
 description = "DataFusion is an in-memory query engine that uses Apache Arrow as the memory model"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 readme = "../../README.md"
@@ -64,13 +64,13 @@ bytes = "1.1"
 bzip2 = { version = "0.4.3", optional = true }
 chrono = { version = "0.4.23", default-features = false }
 dashmap = "5.4.0"
-datafusion-common = { path = "../common", version = "15.0.0", features = ["parquet", "object_store"] }
-datafusion-expr = { path = "../expr", version = "15.0.0" }
-datafusion-jit = { path = "../jit", version = "15.0.0", optional = true }
-datafusion-optimizer = { path = "../optimizer", version = "15.0.0" }
-datafusion-physical-expr = { path = "../physical-expr", version = "15.0.0" }
-datafusion-row = { path = "../row", version = "15.0.0" }
-datafusion-sql = { path = "../sql", version = "15.0.0" }
+datafusion-common = { path = "../common", version = "16.0.0", features = ["parquet", "object_store"] }
+datafusion-expr = { path = "../expr", version = "16.0.0" }
+datafusion-jit = { path = "../jit", version = "16.0.0", optional = true }
+datafusion-optimizer = { path = "../optimizer", version = "16.0.0" }
+datafusion-physical-expr = { path = "../physical-expr", version = "16.0.0" }
+datafusion-row = { path = "../row", version = "16.0.0" }
+datafusion-sql = { path = "../sql", version = "16.0.0" }
 flate2 = { version = "1.0.24", optional = true }
 futures = "0.3"
 glob = "0.3.0"
diff --git a/datafusion/expr/Cargo.toml b/datafusion/expr/Cargo.toml
index 39a950563..34adfda49 100644
--- a/datafusion/expr/Cargo.toml
+++ b/datafusion/expr/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-expr"
 description = "Logical plan and expression representation for DataFusion query engine"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 readme = "README.md"
@@ -37,6 +37,6 @@ path = "src/lib.rs"
 [dependencies]
 ahash = { version = "0.8", default-features = false, features = ["runtime-rng"] }
 arrow = { version = "29.0.0", default-features = false }
-datafusion-common = { path = "../common", version = "15.0.0" }
+datafusion-common = { path = "../common", version = "16.0.0" }
 log = "^0.4"
 sqlparser = "0.30"
diff --git a/datafusion/jit/Cargo.toml b/datafusion/jit/Cargo.toml
index 3df62c995..816cbf8f1 100644
--- a/datafusion/jit/Cargo.toml
+++ b/datafusion/jit/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-jit"
 description = "Just In Time (JIT) compilation support for DataFusion query engine"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 readme = "README.md"
@@ -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 = "15.0.0", features = ["jit"] }
-datafusion-expr = { path = "../expr", version = "15.0.0" }
+datafusion-common = { path = "../common", version = "16.0.0", features = ["jit"] }
+datafusion-expr = { path = "../expr", version = "16.0.0" }
 
 parking_lot = "0.12"
diff --git a/datafusion/optimizer/Cargo.toml b/datafusion/optimizer/Cargo.toml
index d0f94a7ef..ee8f3a5f2 100644
--- a/datafusion/optimizer/Cargo.toml
+++ b/datafusion/optimizer/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-optimizer"
 description = "DataFusion Query Optimizer"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 readme = "README.md"
@@ -40,14 +40,14 @@ unicode_expressions = []
 arrow = { version = "29.0.0", features = ["prettyprint"] }
 async-trait = "0.1.41"
 chrono = { version = "0.4.23", default-features = false }
-datafusion-common = { path = "../common", version = "15.0.0" }
-datafusion-expr = { path = "../expr", version = "15.0.0" }
-datafusion-physical-expr = { path = "../physical-expr", version = "15.0.0" }
+datafusion-common = { path = "../common", version = "16.0.0" }
+datafusion-expr = { path = "../expr", version = "16.0.0" }
+datafusion-physical-expr = { path = "../physical-expr", version = "16.0.0" }
 hashbrown = { version = "0.13", features = ["raw"] }
 log = "^0.4"
 regex-syntax = "0.6.28"
 
 [dev-dependencies]
 ctor = "0.1.22"
-datafusion-sql = { path = "../sql", version = "15.0.0" }
+datafusion-sql = { path = "../sql", version = "16.0.0" }
 env_logger = "0.10.0"
diff --git a/datafusion/physical-expr/Cargo.toml b/datafusion/physical-expr/Cargo.toml
index 5aede03fd..3fb632ebd 100644
--- a/datafusion/physical-expr/Cargo.toml
+++ b/datafusion/physical-expr/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-physical-expr"
 description = "Physical expression implementation for DataFusion query engine"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 readme = "README.md"
@@ -46,9 +46,9 @@ arrow-schema = "29.0.0"
 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 = "15.0.0" }
-datafusion-expr = { path = "../expr", version = "15.0.0" }
-datafusion-row = { path = "../row", version = "15.0.0" }
+datafusion-common = { path = "../common", version = "16.0.0" }
+datafusion-expr = { path = "../expr", version = "16.0.0" }
+datafusion-row = { path = "../row", version = "16.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 82538665e..245aa9e77 100644
--- a/datafusion/proto/Cargo.toml
+++ b/datafusion/proto/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-proto"
 description = "Protobuf serialization of DataFusion logical plan expressions"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 readme = "README.md"
@@ -42,9 +42,9 @@ json = ["pbjson", "serde", "serde_json"]
 [dependencies]
 arrow = "29.0.0"
 chrono = { version = "0.4", default-features = false }
-datafusion = { path = "../core", version = "15.0.0" }
-datafusion-common = { path = "../common", version = "15.0.0" }
-datafusion-expr = { path = "../expr", version = "15.0.0" }
+datafusion = { path = "../core", version = "16.0.0" }
+datafusion-common = { path = "../common", version = "16.0.0" }
+datafusion-expr = { path = "../expr", version = "16.0.0" }
 object_store = { version = "0.5.0" }
 parking_lot = { version = "0.12" }
 pbjson = { version = "0.5", optional = true }
diff --git a/datafusion/row/Cargo.toml b/datafusion/row/Cargo.toml
index bd75bf3a7..2ae8cb3c4 100644
--- a/datafusion/row/Cargo.toml
+++ b/datafusion/row/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-row"
 description = "Row backed by raw bytes for DataFusion query engine"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 readme = "README.md"
@@ -38,7 +38,7 @@ jit = ["datafusion-jit"]
 
 [dependencies]
 arrow = "29.0.0"
-datafusion-common = { path = "../common", version = "15.0.0" }
-datafusion-jit = { path = "../jit", version = "15.0.0", optional = true }
+datafusion-common = { path = "../common", version = "16.0.0" }
+datafusion-jit = { path = "../jit", version = "16.0.0", optional = true }
 paste = "^1.0"
 rand = "0.8"
diff --git a/datafusion/sql/Cargo.toml b/datafusion/sql/Cargo.toml
index 157189e06..4dfd9b97c 100644
--- a/datafusion/sql/Cargo.toml
+++ b/datafusion/sql/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion-sql"
 description = "DataFusion SQL Query Planner"
-version = "15.0.0"
+version = "16.0.0"
 homepage = "https://github.com/apache/arrow-datafusion"
 repository = "https://github.com/apache/arrow-datafusion"
 readme = "README.md"
@@ -38,7 +38,7 @@ unicode_expressions = []
 
 [dependencies]
 arrow-schema = "29.0.0"
-datafusion-common = { path = "../common", version = "15.0.0" }
-datafusion-expr = { path = "../expr", version = "15.0.0" }
+datafusion-common = { path = "../common", version = "16.0.0" }
+datafusion-expr = { path = "../expr", version = "16.0.0" }
 log = "^0.4"
 sqlparser = "0.30"