From e5604aae632705e0156847281a0793d03796ba9a Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Wed, 26 Jun 2024 06:12:04 -0400 Subject: [PATCH] Document process for PRs with breaking changes (#5953) * Document process for PRs with breaking changes * ticket reference * Update CONTRIBUTING.md Co-authored-by: Xuanwo --------- Co-authored-by: Xuanwo --- CONTRIBUTING.md | 10 ++++++++++ README.md | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4810e748f0b6..e0d792f5e463 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -126,6 +126,16 @@ PR be sure to run the following and check for lint issues: cargo +stable fmt --all -- --check ``` +## Breaking Changes + +Our [release schedule] allows breaking API changes only in major releases. +This means that if your PR has a breaking API change, it should be marked as +`api-change` and it will not be merged until development opens for the next +major release. See [this ticket] for details. + +[release schedule]: README.md#release-versioning-and-schedule +[this ticket]: https://github.com/apache/arrow-rs/issues/5907 + ## Clippy Lints We use `clippy` for checking lints during development, and CI runs `clippy` checks. diff --git a/README.md b/README.md index 335ae2415eb7..784296447f89 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,12 @@ 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. +To keep our maintenance burden down, we do regularly scheduled releases (major +and minor) from the `master` branch. How we handle PRs with breaking API changes +is described in the [contributing] guide. + +[contributing]: CONTRIBUTING.md#breaking-changes + For example: | Approximate Date | Version | Notes |