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