Skip to content

Commit 2cc87ca

Browse files
authored
Update changelog guidelines to prevent conflicts from blocking PRs (rust-windowing#2145)
* Update changelog guidelines to prevent conflicts from blocking PRs As per consensus in rust-windowing#2135 * Add note about whitespace in changelog * Add note about maintainer creating new tag
1 parent 7cd273a commit 2cc87ca

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

.gitattributes

-2
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,3 @@
2020
*.PDF diff=astextplain
2121
*.rtf diff=astextplain
2222
*.RTF diff=astextplain
23-
24-
/CHANGELOG.md merge=union

CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
Please keep one empty line before and after all headers. (This is required for `git` to produce a conflict when a release is made while a PR is open and the PR's changelog entry would go into the wrong section).
6+
7+
And please only add new entries to the top of this list, right below the `# Unreleased` header.
8+
19
# Unreleased
210

311
- **Breaking:** Rename the `Exit` variant of `ControlFlow` to `ExitWithCode`, which holds a value to control the exit code after running. Add an `Exit` constant which aliases to `ExitWithCode(0)` instead to avoid major breakage. This shouldn't affect most existing programs.

CONTRIBUTING.md

+21-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ When making a code contribution to winit, before opening your pull request, plea
2525
- you updated any relevant documentation in winit
2626
- you left comments in your code explaining any part that is not straightforward, so that the
2727
maintainers and future contributors don't have to try to guess what your code is supposed to do
28-
- your PR adds an entry to the changelog file if the introduced change is relevant to winit users
28+
- your PR adds an entry to the changelog file if the introduced change is relevant to winit users.
29+
30+
You needn't worry about the added entry causing conflicts, the maintainer that merges the PR will
31+
handle those for you when merging (see below).
2932
- if your PR affects the platform compatibility of one or more features or adds another feature, the
3033
relevant sections in [`FEATURES.md`](https://github.com/rust-windowing/winit/blob/master/FEATURES.md#features)
3134
should be updated.
@@ -34,9 +37,26 @@ Once your PR is open, you can ask for review by a maintainer of your platform. W
3437
is that a PR must be approved by at least two maintainers of winit before being merged, including
3538
at least a maintainer of the platform (a maintainer making a PR themselves counts as approving it).
3639

40+
Once your PR is deemed ready, the merging maintainer will take care of resolving conflicts in
41+
`CHANGELOG.md` (but you must resolve other conflicts yourself). Doing this requires that you check the
42+
"give contributors write access to the branch" checkbox when creating the PR.
43+
3744
## Maintainers & Testers
3845

3946
The current [list of testers and contributors](https://github.com/rust-windowing/winit/wiki/Testers-and-Contributors)
4047
can be found on the Wiki.
4148

4249
If you are interested in contributing or testing on a platform, please add yourself to that table!
50+
51+
## Making a new release
52+
53+
If you believe a new release is warranted, you can make a pull-request with:
54+
- An updated version number (remember to change the version everywhere it is used).
55+
- A new section in the changelog (below the `# Unreleased` section).
56+
57+
This gives contributors an opportunity to squeeze in an extra PR or two that they feel is valuable
58+
enough to warrant blocking the release a little.
59+
60+
Once the PR is merged, a maintainer will create a new tag matching the version name (e.g. `v0.26.1`),
61+
and a CI job will automatically release the new version. Remember that the release date in the
62+
changelog must be kept in check with the actual release date.

0 commit comments

Comments
 (0)