Skip to content

Commit

Permalink
Document planned release cadence for arrow/parquet/etc (#5737)
Browse files Browse the repository at this point in the history
* Document planned release cadence

* add bandwidth note

* add links to main readme

* prettier

* Update README.md

* Update README.md

Co-authored-by: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com>

---------

Co-authored-by: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com>
  • Loading branch information
alamb and tustvold authored May 11, 2024
1 parent 158e54d commit 68ecc16
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 7 deletions.
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/).

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
breaking API changes at most once a quarter, and release incremental minor versions in
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

0 comments on commit 68ecc16

Please sign in to comment.