xref: /openssl/dev/NEWS-FORMAT.md (revision 4f41334b)
1Editorial conventions for NEWS.md
2=================================
3
4With 3.2 onwards we are seeking to make our NEWS.md file more like release
5notes, structured to provide useful and pertinent information to those consuming
6a release.
7
8General editorial principles
9----------------------------
10
11- Use `*` for top-level lists and use a blank line between each list item.
12  This makes the file more readable when read in raw form, which will commonly
13  occur when a user examines an unpacked tarball.
14
15- Cite RFCs with a space: `RFC 9000`
16
17- Put URLs at the end of the file and reference them rather than giving them
18  inline. This eases maintenance if a commonly used URL needs to be changed.
19
20- The blocks within a section for a release line are ordered roughly in
21  descending order of importance. Equally, list items within a block should be
22  listed in descending order of significance or severity.
23
24- Try to develop blog posts to match our wording, especially for the list of
25  new features.
26
27- Adopt uniform wording for lists where appropriate but do not insist on
28  sticking to them where these wordings are unworkable or suboptimal.
29
30- Everything here is a recommendation, not a requirement.
31
32- Omit blocks which have no items to list.
33
34Structure
35---------
36
37Each release line has a section, which is broken down into the initial and patch
38releases within that release line. The most recent releases come first.
39
40The structure is as follows:
41
42```text
43OpenSSL x.y
44-----------
45
46<entry for patch releases of OpenSSL x.y...>
47<entry for patch releases of OpenSSL x.y...>
48<entry for initial (feature) release of OpenSSL x.y>
49```
50
51### Structure of a release entry
52
53For each release in a release line, the recommended structure is as follows:
54
55```text
56### Major changes between OpenSSL {PREV_VERSION} and OpenSSL {VERSION} [1 Jan 2023]
57
58<opener paragraph>
59
60<one or more blocks listed below as applicable, in order shown below>
61
62<trailing advice>
63```
64
65#### Opener paragraph
66
67For a feature release, the following opener paragraph is suggested:
68
69```text
70OpenSSL x.y.0 is a feature release adding significant new functionality to
71OpenSSL.
72```
73
74For a patch release with no CVEs fixed, the following opener paragraph is
75suggested:
76
77```text
78OpenSSL x.y.z is a patch release.
79```
80
81For a patch release which fixes one or more CVEs, the following opener paragraph
82is suggested, to be adjusted as appropriate:
83
84```text
85OpenSSL x.y.z is a security patch release. The most severe CVE fixed in this
86release is Medium.
87```
88
89#### Listing potentially incompatible changes
90
91If there are any potentially significant or incompatible changes, the following
92block should be added:
93
94```text
95This release incorporates the following potentially significant or incompatible
96changes:
97
98    * The ... has been changed so that xxx.
99
100    * The ... has been changed so that yyy.
101
102```
103
104Bullet items in this block should be complete sentences with trailing full stops
105giving a brief summary. They may optionally be followed by full paragraphs
106giving further information if needed.
107
108#### Listing feature additions
109
110If there are any feature additions, the following block should be added:
111
112```text
113This release adds the following new features:
114
115    * Support for ... (RFC 1234)
116
117    * Support for ... (RFC 2345)
118
119      This is an elaborating paragraph.
120
121    * Multiple new features and improvements to ...
122
123```
124
125Bullet items in this block should be summary lines without a trailing full stop
126giving a brief summary, optionally followed by references to applicable
127standards in parentheses. They may optionally be followed by full paragraphs
128giving further information if needed. The summary line should not start with a
129verb as the opener line for this block provides the verb.
130
131For consistency, use the wording `Support for ...` as the summary line if
132possible and practical.
133
134List features in descending order of significance (approximately).
135
136#### Listing known issues
137
138Known issues can be called out as follows:
139
140```text
141The following known issues are present in this release and will be rectified in
142a future release:
143
144    * xxx (#12345)
145
146```
147
148The editorial conventions for this block are similar to those for feature
149additions, except that an issue number is listed rather than a reference to a
150standard.
151
152#### Listing documentation enhancements
153
154Significant documentation enhancements can be called out as follows:
155
156```text
157This release incorporates the following documentation enhancements:
158
159    * Added xyz
160
161      This is an elaborating paragraph, which might for example
162      provide a link to where this documentation can be viewed.
163
164    * Clarified xyz
165
166```
167
168The editorial conventions for this block are similar to those for feature
169additions, except that the verb is part of the summary line. The other rules are
170the same.
171
172For consistency, use the wording `Added ...` or `Clarified ...` as the summary
173line if possible.
174
175#### Listing bug fixes and mitigations
176
177Significant bug fixes or mitigations can be called out as follows:
178
179```text
180This release incorporates the following bug fixes and mitigations:
181
182    * Mitigated <description of mitigation> (CVE ID as link and any other
183      relevant links)
184
185    * Fixed <description of fix> (optional reference link or #issue number as
186      appropriate)
187```
188
189The words “bug fixes” or “mitigations” in the leader line should be deleted as
190appropriate if inapplicable to a release.
191
192Fixes for issues with an issue number in the main repository should be given as
193`#1234`. Any other issue (for example, a project issue) should be given as a
194link, as most users will not know where to find such issues.
195
196List CVE mitigations first in descending order of severity, followed by bugs in
197(very rough) descending order of severity.
198
199#### Trailing advice
200
201The following trailer is recommended:
202
203```text
204A more detailed list of changes in this release can be found in the
205[CHANGES.md] file.
206
207As always, bug reports and issues relating to OpenSSL can be [filed on our issue
208tracker][issue tracker].
209```
210