Skip to content

Commit 6fca1b0

Browse files
Merge branch 'master' into 2680-explore
2 parents 6cc1621 + e307c0f commit 6fca1b0

File tree

2 files changed

+30
-12
lines changed

2 files changed

+30
-12
lines changed

.github/mergify.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,12 @@ pull_request_rules:
1313
- name: Ask to resolve conflict
1414
conditions:
1515
- conflict
16-
- -draft # Draft PRs are allowed to have conflicts.
1716
- -author=dependabot[bot]
17+
- or:
18+
- -draft # Don't report conflicts on regular draft.
19+
- and: # Do report conflicts on draft that are scheduled for the next major release.
20+
- draft
21+
- milestone~=v[0-9]\.[0-9]{2}
1822
actions:
1923
comment:
2024
message: This pull request has merge conflicts. Could you please resolve them @{{author}}? 🙏

docs/release.md

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,30 @@ documentation will refer to `X.Y.Z` as _major_, _minor_ and _patch_ version.
55

66
## Development between releases
77

8-
- Every substantial pull request should add an entry to the `[unreleased]`
9-
section of the corresponding crate `CHANGELOG.md` file. See
10-
[#1698](https://github.com/libp2p/rust-libp2p/pull/1698/files) as an example.
8+
### Prefer non-breaking changes
119

12-
In case there is no `[unreleased]` section yet, create one with an increased
13-
major, minor or patch version depending on your change. Update the version in
14-
the crate's `Cargo.toml`. In addition update the corresponding entry of the
15-
crate in the root level `Cargo.toml` and add an entry in the root level
16-
`CHANGELOG.md`.
10+
We strive to minimize breaking changes for our users.
11+
PRs with breaking changes are not merged immediately but collected in a milestone.
12+
For example: https://github.com/libp2p/rust-libp2p/milestone/6.
13+
14+
Non-breaking changes are typically merged very quickly and often released as patch-releases soon after.
15+
16+
### Make changelog entries
17+
18+
Every crate that we publish on `crates.io` has a `CHANGELOG.md` file.
19+
Substantial PRs should add an entry to each crate they modify.
20+
The next unreleased version is tagged with ` - unreleased`, for example: `0.17.0 - unreleased`.
21+
22+
In case there isn't a version with an ` - unreleased` postfix yet, add one for the next version.
23+
The next version number depends on the impact of your change (breaking vs non-breaking, see above).
24+
25+
If you are making a non-breaking change, please also bump the version number in the `Cargo.toml` manifest.
26+
In case another crate _depends_ on the new features or APIs that you are adding, you may need to bump the dependency declaration in that `Cargo.toml` file as well.
27+
Don't worry if you don't get this one right, we will flag it in the PR if necessary :)
28+
29+
For breaking changes, a changelog entry itself is sufficient.
30+
Bumping the version in the `Cargo.toml` file would lead to many merge conflicts once we decide to merge them.
31+
Hence, we are going to bump those versions once we work through the milestone that collects the breaking changes.
1732

1833
## Releasing one or more crates
1934

@@ -23,9 +38,8 @@ documentation will refer to `X.Y.Z` as _major_, _minor_ and _patch_ version.
2338

2439
### Steps
2540

26-
1. Remove the `[unreleased]` tag for each crate to be released in the respective
27-
`CHANGELOG.md`. Create a pull request with the changes against the
28-
rust-libp2p `master` branch.
41+
1. Remove the ` - unreleased` tag for each crate to be released in the respective `CHANGELOG.md`.
42+
Create a pull request with the changes against the rust-libp2p `master` branch.
2943

3044
2. Once merged, run the two commands below on the (squash-) merged commit on the `master` branch.
3145

0 commit comments

Comments
 (0)