Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document planned release cadence for arrow/parquet/etc #5737

Merged
merged 6 commits into from
May 11, 2024
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 27 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,33 @@ This repo contains the following main components:

The current development version the API documentation in this repo can be found [here](https://arrow.apache.org/rust).

There are two related crates in a different repository
## Release Versioning and Schedule

The Arrow Rust project releases approximately monthly and follows [Semantic
Versioning](https://semver.org/).
amoeba marked this conversation as resolved.
Show resolved Hide resolved

Due to available maintainer and testing bandwidth, `arrow` crates (`arrow`,
`arrow-flight`, etc.) are released on the same schedule with the same versions
as the `parquet` and `parquet-derive` crates.

Starting June 2024, we plan to release new major versions with potentially
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this accurately summarizes the plan from #5368

breaking API changes once a quarter, and release incremental minor versions in
alamb marked this conversation as resolved.
Show resolved Hide resolved
the intervening months. See [this ticket] for more details.

For example:

| Approximate Date | Version | Notes |
| ---------------- | -------- | --------------------------------------- |
| Jun 2024 | `52.0.0` | Major, potentially breaking API changes |
| Jul 2024 | `52.1.0` | Minor, NO breaking API changes |
| Aug 2024 | `52.2.0` | Minor, NO breaking API changes |
| Sep 2024 | `53.0.0` | Major, potentially breaking API changes |

[this ticket]: https://github.com/apache/arrow-rs/issues/5368

## Related Projects

There are two related crates in different repositories

| Crate | Description | Documentation |
| ---------- | --------------------------------------- | ----------------------------- |
Expand Down
15 changes: 12 additions & 3 deletions arrow/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,18 @@ This crate is tested with the latest stable version of Rust. We do not currently

## Versioning / Releases

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. `39.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.
The `arrow` crate follows the [SemVer standard] defined by Cargo and works well
within the Rust crate ecosystem. See the [repository README] for more details on
the release schedule and version.

[SemVer standard]: https://doc.rust-lang.org/cargo/reference/semver.html
[repository README]: https://github.com/apache/arrow-rs

Note that for historical reasons, this crate uses versions with major numbers
greater than `0.x` (e.g. `19.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.

## Feature Flags

Expand Down
15 changes: 12 additions & 3 deletions parquet/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,18 @@ This crate is tested with the latest stable version of Rust. We do not currently

## Versioning / Releases

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. `19.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.
The `parquet` crate follows the [SemVer standard] defined by Cargo and works well
within the Rust crate ecosystem. See the [repository README] for more details on
the release schedule and version.

[semver standard]: https://doc.rust-lang.org/cargo/reference/semver.html
[repository readme]: https://github.com/apache/arrow-rs

Note that for historical reasons, this crate uses versions with major numbers
greater than `0.x` (e.g. `19.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.

## Feature Flags

Expand Down
Loading