Skip to content

Commit

Permalink
Prepare for arrow-rs 13.0.0 release (#1624)
Browse files Browse the repository at this point in the history
* Update version to 13.0.0

* Draft changelog

* updates

* moar

* cleanup

* remove duplicated entry, update for #1589

* Final updates
  • Loading branch information
alamb committed Apr 29, 2022
1 parent d8d6499 commit 7d00e3c
Show file tree
Hide file tree
Showing 15 changed files with 88 additions and 25 deletions.
67 changes: 65 additions & 2 deletions CHANGELOG.md
Expand Up @@ -19,6 +19,71 @@

# Changelog

## [13.0.0](https://github.com/apache/arrow-rs/tree/13.0.0) (2022-04-29)

[Full Changelog](https://github.com/apache/arrow-rs/compare/12.0.0...13.0.0)

**Breaking changes:**

- Update `parquet::basic::LogicalType` to be more idomatic [\#1612](https://github.com/apache/arrow-rs/pull/1612) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)] ([tfeda](https://github.com/tfeda))
- Fix Null Mask Handling in `ArrayData`, `UnionArray`, and `MapArray` [\#1589](https://github.com/apache/arrow-rs/pull/1589) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([tustvold](https://github.com/tustvold))
- Replace `&Option<T>` with `Option<&T>` in several `arrow` and `parquet` APIs [\#1571](https://github.com/apache/arrow-rs/pull/1571) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)] [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([tfeda](https://github.com/tfeda))

**Implemented enhancements:**

- Read/write nested dictionary under fixed size list in ipc stream reader/write [\#1609](https://github.com/apache/arrow-rs/issues/1609) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Add support for `BinaryArray` in `substring` kernel [\#1593](https://github.com/apache/arrow-rs/issues/1593) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Read/write nested dictionary under large list in ipc stream reader/write [\#1584](https://github.com/apache/arrow-rs/issues/1584) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Read/write nested dictionary under map in ipc stream reader/write [\#1582](https://github.com/apache/arrow-rs/issues/1582) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Implement `Clone` for JSON `DecoderOptions` [\#1580](https://github.com/apache/arrow-rs/issues/1580) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Add utf-8 validation checking to `substring` kernel [\#1575](https://github.com/apache/arrow-rs/issues/1575) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Support casting to/from `DataType::Null` in `cast` kernel [\#1572](https://github.com/apache/arrow-rs/pull/1572) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([WinkerDu](https://github.com/WinkerDu))

**Fixed bugs:**

- Parquet schema should allow scale == precision for decimal type [\#1606](https://github.com/apache/arrow-rs/issues/1606) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
- ListArray::from\(ArrayData\) dereferences invalid pointer when offsets are empty [\#1601](https://github.com/apache/arrow-rs/issues/1601) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- ArrayData Equality Incorrect Null Mask Offset Handling [\#1599](https://github.com/apache/arrow-rs/issues/1599)
- Filtering UnionArray Incorrect Handles Runs [\#1598](https://github.com/apache/arrow-rs/issues/1598)
- \[Safety\] Filtering Dense UnionArray Produces Invalid Offsets [\#1596](https://github.com/apache/arrow-rs/issues/1596)
- \[Safety\] UnionBuilder Doesn't Check Types [\#1591](https://github.com/apache/arrow-rs/issues/1591)
- Union Layout Should Not Support Separate Validity Mask [\#1590](https://github.com/apache/arrow-rs/issues/1590)
- Incorrect nullable flag when reading maps \( test\_read\_maps fails when `force_validate` is active\) [\#1587](https://github.com/apache/arrow-rs/issues/1587) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
- Output of `ipc::reader::tests::projection_should_work` fails validation [\#1548](https://github.com/apache/arrow-rs/issues/1548) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Incorrect min/max statistics for decimals with byte-array notation [\#1532](https://github.com/apache/arrow-rs/issues/1532)

**Documentation updates:**

- Minor: Clarify docs on `UnionBuilder::append_null` [\#1628](https://github.com/apache/arrow-rs/pull/1628) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([alamb](https://github.com/alamb))

**Closed issues:**

- Dense UnionArray Offsets Are i32 not i8 [\#1597](https://github.com/apache/arrow-rs/issues/1597) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Replace `&Option<T>` with `Option<&T>` in some APIs [\#1556](https://github.com/apache/arrow-rs/issues/1556) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)] [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Improve ergonomics of `parquet::basic::LogicalType` [\#1554](https://github.com/apache/arrow-rs/issues/1554) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
- Mark the current `substring` function as `unsafe` and rename it. [\#1541](https://github.com/apache/arrow-rs/issues/1541) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
- Requirements for Async Parquet API [\#1473](https://github.com/apache/arrow-rs/issues/1473) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)]

**Merged pull requests:**

- Nit: use the standard function `div_ceil` [\#1629](https://github.com/apache/arrow-rs/pull/1629) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([HaoYang670](https://github.com/HaoYang670))
- Update flatbuffers requirement from =2.1.1 to =2.1.2 [\#1622](https://github.com/apache/arrow-rs/pull/1622) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([dependabot[bot]](https://github.com/apps/dependabot))
- Fix decimals min max statistics [\#1621](https://github.com/apache/arrow-rs/pull/1621) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)] ([atefsawaed](https://github.com/atefsawaed))
- Add example readme [\#1615](https://github.com/apache/arrow-rs/pull/1615) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([alamb](https://github.com/alamb))
- Improve docs and examples links on main readme [\#1614](https://github.com/apache/arrow-rs/pull/1614) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([alamb](https://github.com/alamb))
- Read/Write nested dictionaries under FixedSizeList in IPC [\#1610](https://github.com/apache/arrow-rs/pull/1610) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([viirya](https://github.com/viirya))
- Add `substring` support for binary [\#1608](https://github.com/apache/arrow-rs/pull/1608) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([HaoYang670](https://github.com/HaoYang670))
- Parquet: schema validation should allow scale == precision for decimal type [\#1607](https://github.com/apache/arrow-rs/pull/1607) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)] ([sunchao](https://github.com/sunchao))
- Don't access and validate offset buffer in ListArray::from\(ArrayData\) [\#1602](https://github.com/apache/arrow-rs/pull/1602) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([jhorstmann](https://github.com/jhorstmann))
- Fix map nullable flag in `ParquetTypeConverter` [\#1592](https://github.com/apache/arrow-rs/pull/1592) [[parquet](https://github.com/apache/arrow-rs/labels/parquet)] ([viirya](https://github.com/viirya))
- Read/write nested dictionary under large list in ipc stream reader/writer [\#1585](https://github.com/apache/arrow-rs/pull/1585) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([viirya](https://github.com/viirya))
- Read/write nested dictionary under map in ipc stream reader/writer [\#1583](https://github.com/apache/arrow-rs/pull/1583) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([viirya](https://github.com/viirya))
- Derive `Clone` and `PartialEq` for json `DecoderOptions` [\#1581](https://github.com/apache/arrow-rs/pull/1581) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([alamb](https://github.com/alamb))
- Add utf-8 validation checking for `substring` [\#1577](https://github.com/apache/arrow-rs/pull/1577) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([HaoYang670](https://github.com/HaoYang670))
- Use `Option<T>` rather than `Option<&T>` for copy types in substring kernel [\#1576](https://github.com/apache/arrow-rs/pull/1576) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([tustvold](https://github.com/tustvold))
- Use littleendian arrow files for `projection_should_work` [\#1573](https://github.com/apache/arrow-rs/pull/1573) [[arrow](https://github.com/apache/arrow-rs/labels/arrow)] ([viirya](https://github.com/viirya))


## [12.0.0](https://github.com/apache/arrow-rs/tree/12.0.0) (2022-04-15)

[Full Changelog](https://github.com/apache/arrow-rs/compare/11.1.0...12.0.0)
Expand Down Expand Up @@ -1102,6 +1167,4 @@

For older versions, see [apache/arrow/CHANGELOG.md](https://github.com/apache/arrow/blob/master/CHANGELOG.md)



\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
4 changes: 2 additions & 2 deletions arrow-flight/Cargo.toml
Expand Up @@ -18,7 +18,7 @@
[package]
name = "arrow-flight"
description = "Apache Arrow Flight"
version = "12.0.0"
version = "13.0.0"
edition = "2021"
rust-version = "1.57"
authors = ["Apache Arrow <dev@arrow.apache.org>"]
Expand All @@ -27,7 +27,7 @@ repository = "https://github.com/apache/arrow-rs"
license = "Apache-2.0"

[dependencies]
arrow = { path = "../arrow", version = "12.0.0" }
arrow = { path = "../arrow", version = "13.0.0" }
base64 = "0.13"
tonic = "0.7"
bytes = "1"
Expand Down
4 changes: 2 additions & 2 deletions arrow-pyarrow-integration-testing/Cargo.toml
Expand Up @@ -18,7 +18,7 @@
[package]
name = "arrow-pyarrow-integration-testing"
description = ""
version = "12.0.0"
version = "13.0.0"
homepage = "https://github.com/apache/arrow-rs"
repository = "https://github.com/apache/arrow-rs"
authors = ["Apache Arrow <dev@arrow.apache.org>"]
Expand All @@ -32,7 +32,7 @@ name = "arrow_pyarrow_integration_testing"
crate-type = ["cdylib"]

[dependencies]
arrow = { path = "../arrow", version = "12.0.0", features = ["pyarrow"] }
arrow = { path = "../arrow", version = "13.0.0", features = ["pyarrow"] }
pyo3 = { version = "0.16", features = ["extension-module"] }

[package.metadata.maturin]
Expand Down
2 changes: 1 addition & 1 deletion arrow/Cargo.toml
Expand Up @@ -17,7 +17,7 @@

[package]
name = "arrow"
version = "12.0.0"
version = "13.0.0"
description = "Rust implementation of Apache Arrow"
homepage = "https://github.com/apache/arrow-rs"
repository = "https://github.com/apache/arrow-rs"
Expand Down
2 changes: 1 addition & 1 deletion arrow/README.md
Expand Up @@ -32,7 +32,7 @@ This crate is tested with the latest stable version of Rust. We do not currently

The arrow crate follows the [SemVer standard](https://doc.rust-lang.org/cargo/reference/semver.html) defined by Cargo and works well within the Rust crate ecosystem.

However, for historical reasons, this crate uses versions with major numbers greater than `0.x` (e.g. `12.0.0`), unlike many other crates in the Rust ecosystem which spend extended time releasing versions `0.x` to signal planned ongoing API changes. Minor arrow releases contain only compatible changes, while major releases may contain breaking API changes.
However, for historical reasons, this crate uses versions with major numbers greater than `0.x` (e.g. `13.0.0`), unlike many other crates in the Rust ecosystem which spend extended time releasing versions `0.x` to signal planned ongoing API changes. Minor arrow releases contain only compatible changes, while major releases may contain breaking API changes.

## Features

Expand Down
2 changes: 1 addition & 1 deletion arrow/test/dependency/default-features/Cargo.toml
Expand Up @@ -25,6 +25,6 @@ rust-version = "1.57"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
arrow = { path = "../../../../arrow", version = "12.0.0" }
arrow = { path = "../../../../arrow", version = "13.0.0" }

[workspace]
2 changes: 1 addition & 1 deletion arrow/test/dependency/no-default-features/Cargo.toml
Expand Up @@ -25,6 +25,6 @@ rust-version = "1.57"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
arrow = { path = "../../../../arrow", version = "12.0.0", default-features = false }
arrow = { path = "../../../../arrow", version = "13.0.0", default-features = false }

[workspace]
2 changes: 1 addition & 1 deletion arrow/test/dependency/simd/Cargo.toml
Expand Up @@ -25,6 +25,6 @@ rust-version = "1.57"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
arrow = { path = "../../../../arrow", version = "12.0.0", features = ["simd"]}
arrow = { path = "../../../../arrow", version = "13.0.0", features = ["simd"]}

[workspace]
4 changes: 2 additions & 2 deletions dev/release/update_change_log.sh
Expand Up @@ -40,5 +40,5 @@ docker run -it --rm -e CHANGELOG_GITHUB_TOKEN=$CHANGELOG_GITHUB_TOKEN -v "$(pwd)
--cache-log=.githubchangeloggenerator.cache.log \
--http-cache \
--max-issues=300 \
--since-tag 11.1.0 \
--future-release 12.0.0
--since-tag 12.0.0 \
--future-release 13.0.0
2 changes: 1 addition & 1 deletion integration-testing/Cargo.toml
Expand Up @@ -18,7 +18,7 @@
[package]
name = "arrow-integration-testing"
description = "Binaries used in the Arrow integration tests"
version = "12.0.0"
version = "13.0.0"
homepage = "https://github.com/apache/arrow-rs"
repository = "https://github.com/apache/arrow-rs"
authors = ["Apache Arrow <dev@arrow.apache.org>"]
Expand Down
6 changes: 3 additions & 3 deletions parquet/Cargo.toml
Expand Up @@ -17,7 +17,7 @@

[package]
name = "parquet"
version = "12.0.0"
version = "13.0.0"
license = "Apache-2.0"
description = "Apache Parquet implementation in Rust"
homepage = "https://github.com/apache/arrow-rs"
Expand All @@ -41,7 +41,7 @@ zstd = { version = "0.11.1", optional = true, default-features = false }
chrono = { version = "0.4", default-features = false }
num = "0.4"
num-bigint = "0.4"
arrow = { path = "../arrow", version = "12.0.0", optional = true, default-features = false, features = ["ipc"] }
arrow = { path = "../arrow", version = "13.0.0", optional = true, default-features = false, features = ["ipc"] }
base64 = { version = "0.13", optional = true }
clap = { version = "3", optional = true, features = ["derive", "env"] }
serde_json = { version = "1.0", features = ["preserve_order"], optional = true }
Expand All @@ -58,7 +58,7 @@ brotli = "3.3"
flate2 = "1.0"
lz4 = "1.23"
serde_json = { version = "1.0", features = ["preserve_order"] }
arrow = { path = "../arrow", version = "12.0.0", default-features = false, features = ["test_utils", "prettyprint"] }
arrow = { path = "../arrow", version = "13.0.0", default-features = false, features = ["test_utils", "prettyprint"] }

[features]
default = ["arrow", "snap", "brotli", "flate2", "lz4", "zstd", "base64"]
Expand Down
4 changes: 2 additions & 2 deletions parquet_derive/Cargo.toml
Expand Up @@ -17,7 +17,7 @@

[package]
name = "parquet_derive"
version = "12.0.0"
version = "13.0.0"
license = "Apache-2.0"
description = "Derive macros for the Rust implementation of Apache Parquet"
homepage = "https://github.com/apache/arrow-rs"
Expand All @@ -35,4 +35,4 @@ proc-macro = true
proc-macro2 = "1.0"
quote = "1.0"
syn = { version = "1.0", features = ["full", "extra-traits"] }
parquet = { path = "../parquet", version = "12.0.0" }
parquet = { path = "../parquet", version = "13.0.0" }
4 changes: 2 additions & 2 deletions parquet_derive/README.md
Expand Up @@ -32,8 +32,8 @@ Add this to your Cargo.toml:

```toml
[dependencies]
parquet = "12.0.0"
parquet_derive = "12.0.0"
parquet = "13.0.0"
parquet_derive = "13.0.0"
```

and this to your crate root:
Expand Down
2 changes: 1 addition & 1 deletion parquet_derive/test/dependency/default-features/Cargo.toml
Expand Up @@ -25,7 +25,7 @@ rust-version = "1.57"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
parquet_derive = { path = "../../../../parquet_derive", version = "12.0.0" }
parquet_derive = { path = "../../../../parquet_derive", version = "13.0.0" }

# Keep this out of the default workspace
[workspace]
6 changes: 3 additions & 3 deletions parquet_derive_test/Cargo.toml
Expand Up @@ -17,7 +17,7 @@

[package]
name = "parquet_derive_test"
version = "12.0.0"
version = "13.0.0"
license = "Apache-2.0"
description = "Integration test package for parquet-derive"
homepage = "https://github.com/apache/arrow-rs"
Expand All @@ -29,6 +29,6 @@ publish = false
rust-version = "1.57"

[dependencies]
parquet = { path = "../parquet", version = "12.0.0" }
parquet_derive = { path = "../parquet_derive", version = "12.0.0" }
parquet = { path = "../parquet", version = "13.0.0" }
parquet_derive = { path = "../parquet_derive", version = "13.0.0" }
chrono = "0.4.19"

0 comments on commit 7d00e3c

Please sign in to comment.