With 3.2 onwards we are seeking to make our NEWS.md file more like release notes, structured to provide useful and pertinent information to those consuming a release.
Use *
for top-level lists and use a blank line between each list item.
This makes the file more readable when read in raw form, which will commonly
occur when a user examines an unpacked tarball.
Cite RFCs with a space: RFC 9000
Put URLs at the end of the file and reference them rather than giving them inline. This eases maintenance if a commonly used URL needs to be changed.
The blocks within a section for a release line are ordered roughly in descending order of importance. Equally, list items within a block should be listed in descending order of significance or severity.
Try to develop blog posts to match our wording, especially for the list of new features.
Adopt uniform wording for lists where appropriate but do not insist on sticking to them where these wordings are unworkable or suboptimal.
Everything here is a recommendation, not a requirement.
Omit blocks which have no items to list.
Each release line has a section, which is broken down into the initial and patch releases within that release line. The most recent releases come first.
The structure is as follows:
OpenSSL x.y
-----------
<entry for patch releases of OpenSSL x.y...>
<entry for patch releases of OpenSSL x.y...>
<entry for initial (feature) release of OpenSSL x.y>
For each release in a release line, the recommended structure is as follows:
### Major changes between OpenSSL {PREV_VERSION} and OpenSSL {VERSION} [1 Jan 2023]
<opener paragraph>
<one or more blocks listed below as applicable, in order shown below>
<trailing advice>
For a feature release, the following opener paragraph is suggested:
OpenSSL x.y.0 is a feature release adding significant new functionality to
OpenSSL.
For a patch release with no CVEs fixed, the following opener paragraph is suggested:
OpenSSL x.y.z is a patch release.
For a patch release which fixes one or more CVEs, the following opener paragraph is suggested, to be adjusted as appropriate:
OpenSSL x.y.z is a security patch release. The most severe CVE fixed in this
release is Medium.
If there are any potentially significant or incompatible changes, the following block should be added:
This release incorporates the following potentially significant or incompatible
changes:
* The ... has been changed so that xxx.
* The ... has been changed so that yyy.
Bullet items in this block should be complete sentences with trailing full stops giving a brief summary. They may optionally be followed by full paragraphs giving further information if needed.
If there are any feature additions, the following block should be added:
This release adds the following new features:
* Support for ... (RFC 1234)
* Support for ... (RFC 2345)
This is an elaborating paragraph.
* Multiple new features and improvements to ...
Bullet items in this block should be summary lines without a trailing full stop giving a brief summary, optionally followed by references to applicable standards in parentheses. They may optionally be followed by full paragraphs giving further information if needed. The summary line should not start with a verb as the opener line for this block provides the verb.
For consistency, use the wording Support for ...
as the summary line if
possible and practical.
List features in descending order of significance (approximately).
Known issues can be called out as follows:
The following known issues are present in this release and will be rectified in
a future release:
* xxx (#12345)
The editorial conventions for this block are similar to those for feature additions, except that an issue number is listed rather than a reference to a standard.
Significant documentation enhancements can be called out as follows:
This release incorporates the following documentation enhancements:
* Added xyz
This is an elaborating paragraph, which might for example
provide a link to where this documentation can be viewed.
* Clarified xyz
The editorial conventions for this block are similar to those for feature additions, except that the verb is part of the summary line. The other rules are the same.
For consistency, use the wording Added ...
or Clarified ...
as the summary
line if possible.
Significant bug fixes or mitigations can be called out as follows:
This release incorporates the following bug fixes and mitigations:
* Mitigated <description of mitigation> (CVE ID as link and any other
relevant links)
* Fixed <description of fix> (optional reference link or #issue number as
appropriate)
The words “bug fixes” or “mitigations” in the leader line should be deleted as appropriate if inapplicable to a release.
Fixes for issues with an issue number in the main repository should be given as
#1234
. Any other issue (for example, a project issue) should be given as a
link, as most users will not know where to find such issues.
List CVE mitigations first in descending order of severity, followed by bugs in (very rough) descending order of severity.
The following trailer is recommended:
A more detailed list of changes in this release can be found in the
[CHANGES.md] file.
As always, bug reports and issues relating to OpenSSL can be [filed on our issue
tracker][issue tracker].