Skip to content

Commit b3e46dc

Browse files
authored
Merge pull request #6498 from pymander/ela/update-release-notes-guide
Update release-notes.md with community feedback
2 parents 66e9ba7 + 71201fc commit b3e46dc

File tree

1 file changed

+81
-44
lines changed

1 file changed

+81
-44
lines changed

contributors/guide/release-notes.md

Lines changed: 81 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,19 @@ description: |
66
project repo.
77
---
88

9-
On the kubernetes/kubernetes repository, release notes are required for any pull
10-
request with user-visible changes, this could mean:
9+
On the [kubernetes/kubernetes repository][kubernetes-repository], release notes
10+
are required for any pull request with user-visible changes, this could mean:
1111

12-
##### - User facing, critical bug-fixes
13-
##### - Notable feature additions
14-
##### - Output format changes
15-
##### - Deprecations or removals
16-
##### - Metrics changes
17-
##### - Dependency changes
18-
##### - API changes
12+
- User facing, critical bug-fixes
13+
- Notable feature additions
14+
- Output format changes
15+
- Deprecations or removals
16+
- Metrics changes
17+
- Dependency changes
18+
- API changes
1919

20-
Release notes are one of the most important reference
21-
points for users about to install or upgrade to a particular release of
22-
Kubernetes.
20+
Release notes are one of the most important reference points for users about to
21+
install or upgrade to a particular release of Kubernetes.
2322

2423
## Does my pull request need a release note?
2524

@@ -37,56 +36,78 @@ could be a:
3736
- fix of a previous _Known Issue_
3837
- fix of a vulnerability (CVE)
3938

40-
No release notes are required for changes to:
39+
No release notes are required for changes to the following:
4140

42-
- tests
43-
- build infrastructure
44-
- fixes of bugs which have not been released
41+
- Tests
42+
- Build infrastructure
43+
- Fixes for unreleased bugs
4544

4645
## Contents of a Release Note
4746

4847
A release note needs a clear, concise description of the change. This includes:
4948

50-
1. an indicator if the pull request _Added_, _Changed_, _Fixed_, _Removed_,
49+
1. An indicator if the pull request _Added_, _Changed_, _Fixed_, _Removed_,
5150
_Deprecated_ functionality or changed enhancement/feature maturity (alpha,
5251
beta, stable/GA)
53-
2. an indicator if there is user _Action required_
54-
3. the name of the affected API or configuration fields, CLI commands/flags or
52+
2. An indicator if there is user _Action required_
53+
3. The name of the affected API or configuration fields, CLI commands/flags or
5554
enhancement/feature
56-
4. a link to relevant user documentation about the enhancement/feature
55+
4. A link to relevant user documentation about the enhancement/feature
5756

58-
## Applying a Release Note
57+
## Writing Good Release Notes
58+
59+
Good release notes can make a huge difference to the end user. To make sure that
60+
your release notes are of the highest possible quality, follow these guidelines.
61+
62+
- Write your release notes in the past tense. For example, use "Added" instead
63+
of "Add", "Fixed" instead of "Fix", and "Updated" instead of "Update".
64+
- Include a call to action if there is anything the end user needs to do, along
65+
with a link to a blog post or documentation item to provide better context.
66+
- Keep your release notes relevant to the end user.
67+
- Use Markdown to add links and emphasis, to make your release notes more
68+
readable and usable.
69+
- Use good grammar and make sure you capitalize the first word of each
70+
sentence.
5971

60-
On the kubernetes/kubernetes repository, release notes are required for any pull request with [user-visible changes](#--user-facing-critical-bug-fixes).
72+
Here are some pull requests with examples of exemplary release notes:
73+
- https://github.com/kubernetes/kubernetes/pull/97252
74+
- https://github.com/kubernetes/kubernetes/pull/105517
75+
76+
For more tips on writing good release notes, check out the [Release Notes Handbook][].
77+
78+
## Applying a Release Note
6179

80+
On the `kubernetes/kubernetes` repository, release notes are required for any pull
81+
request with user-visible changes.
6282

6383
To meet this requirement, do one of the following:
6484
- Add notes in the release notes block, or
6585
- Update the release note label
6686

67-
If you don't add release notes in the pull request template, the `do-not-merge/release-note-label-needed` label is added to your pull request automatically after you create it. There are a few ways to update it.
87+
If you don't add release notes in the pull request template, the
88+
`do-not-merge/release-note-label-needed` label is added to your pull request
89+
automatically after you create it. There are a few ways to update it.
6890

69-
To add a release-note section to the pull request description:
91+
To add a release-note section to the pull request description, add your release
92+
note beneath the question *Does this PR introduce a user-facing change?*
7093

71-
For pull requests with a release note:
94+
For pull requests that require additional action from users switching to the new
95+
release, include the string "action required" (case insensitive) in the release
96+
note.
7297

73-
```release-note
74-
Your release note here
75-
```
98+
For an example, see [this pull request](https://github.com/kubernetes/kubernetes/pull/107207).
7699

77-
For pull requests that require additional action from users switching to the new release, include the string "action required" (case insensitive) in the release note:
100+
For pull requests that don't need to be mentioned at release time, use the
101+
`/release-note-none` Prow command to add the `release-note-none` label to the
102+
PR. You can also write the string "NONE" as a release note in your PR
103+
description.
78104

79-
```release-note
80-
action required: your release note here
81-
```
105+
For an example of a pull request without release notes,
106+
[take a look at this pull request](https://github.com/kubernetes/kubernetes/pull/107910).
82107

83-
For pull requests that don't need to be mentioned at release time, use the `/release-note-none` Prow command to add the `release-note-none` label to the PR. You can also write the string "NONE" as a release note in your PR description:
84-
85-
```release-note
86-
NONE
87-
```
88-
89-
Your release note should be written in clear and straightforward sentences. Most often, users aren't familiar with the technical details of your PR, so consider what they _need to know_ when you write your release note.
108+
Your release note should be written in clear and straightforward sentences. Most
109+
often, users aren't familiar with the technical details of your PR, so consider
110+
what they _need to know_ when you write your release note.
90111

91112
Some brief examples of release notes:
92113

@@ -98,11 +119,24 @@ The --export flag for the kubectl get command, deprecated since v1.14, will be r
98119
Fixed a bug that prevents dry-run from being honored for the pod/eviction sub-resource. (#76969, @apelisse)
99120
```
100121

101-
Pull Request titles and body comments can be modified at any time prior to the release to make them friendly for release notes.
102-
103-
The release notes team maintains a [template](https://github.com/kubernetes/sig-release/blob/master/release-team/role-handbooks/release-notes/relnotes-template.md) for Kubernetes Release notes that may help clarify whether or not your PR requires a release note. The most recent [Kubernetes Release notes](https://kubernetes.io/docs/setup/release/notes/) can also provide insight into the writing style for release notes.
104-
105-
Release notes apply to pull requests on the master branch. For patch release branches the automated cherry-pick pull requests process (see the [cherry-pick instructions](/contributors/devel/sig-release/cherry-picks.md)) should be followed. That automation will pull release notes from the master branch PR from which the cherry-pick originated. On a rare occasion a pull request on a patch release branch is not a cherry-pick, but rather is targeted directly to the non-master branch and in this case, a `release-note-*` label is required for that non-master pull request.
122+
Pull Request titles and body comments can be modified at any time prior to the
123+
release to make them friendly for release notes.
124+
125+
The release notes team maintains a
126+
[template](https://github.com/kubernetes/sig-release/blob/master/release-team/role-handbooks/release-notes/relnotes-template.md)
127+
for Kubernetes Release notes that may help clarify whether or not your PR
128+
requires a release note. The most recent
129+
[Kubernetes Release notes](https://kubernetes.io/docs/setup/release/notes/) can
130+
also provide insight into the writing style for release notes.
131+
132+
Release notes apply to pull requests on the master branch. For patch release
133+
branches the automated cherry-pick pull requests process (see the
134+
[cherry-pick instructions](/contributors/devel/sig-release/cherry-picks.md))
135+
should be followed. That automation will pull release notes from the master
136+
branch PR from which the cherry-pick originated. On a rare occasion a pull
137+
request on a patch release branch is not a cherry-pick, but rather is targeted
138+
directly to the non-master branch and in this case, a `release-note-*` label is
139+
required for that non-master pull request.
106140

107141
## Reviewing Release Notes
108142

@@ -123,3 +157,6 @@ In any other case the release note should be fine.
123157
## Related
124158

125159
* [Behind The Scenes: Kubernetes Release Notes Tips & Tricks - Mike Arpaia, Kolide (KubeCon 2018 Lightning Talk)](https://www.youtube.com/watch?v=n62oPohOyYs)
160+
161+
[kubernetes-repository]: https://git.k8s.io/kubernetes/
162+
[Release Notes Handbook]: https://github.com/kubernetes/sig-release/tree/master/release-team/role-handbooks/release-notes

0 commit comments

Comments
 (0)