@@ -45,9 +45,46 @@ that is, just the branch name.)
4545
4646# Writing changelog entries
4747
48- We aim to maintain clear and informative changelogs that accurately reflect the
49- changes in our project. This guide will help you write useful changelog entries
50- using git-cliff, which fetches changelog entries from commit messages.
48+ Our goal is to maintain clear, concise, and informative changelogs that
49+ accurately document changes in the project. Changelog entries should be written
50+ manually for each crate in the ` /crates/$CRATE_NAME/Changelog.md ` file.
51+
52+ Be sure to include a link to the pull request for additional context. A
53+ well-written changelog entry should be understandable even to those who may not
54+ be deeply familiar with the project. Provide enough context to ensure clarity
55+ and ease of understanding.
56+
57+ A couple of examples of bad changelog entry would look like:
58+
59+ ``` markdown
60+ - Fixed a panic.
61+ ```
62+
63+ ``` markdown
64+ - Added the Bar function to Foo.
65+ ```
66+
67+ A good example of a changelog entry could look like the following:
68+
69+ ``` markdown
70+ - Use the inviter's server name and the server name from the room alias as
71+ fallback values for the via parameter when requesting the room summary from
72+ the homeserver. This ensures requests succeed even when the room being
73+ previewed is hosted on a federated server.
74+ ([#4357](https://github.com/matrix-org/matrix-rust-sdk/pull/4357))
75+ ```
76+
77+ For security-related changelog entries, please include the following additional
78+ details alongside the pull request number:
79+
80+ * Impact: Clearly describe the issue's potential impact on users or systems.
81+ * CVE Number: If available, include the CVE (Common Vulnerabilities and Exposures) identifier.
82+ * GitHub Advisory Link: Provide a link to the corresponding GitHub security advisory for further context.
83+
84+ ``` markdown
85+ - Use a constant-time Base64 encoder for secret key material to mitigate
86+ side-channel attacks leaking secret key material ([#156](https://github.com/matrix-org/vodozemac/pull/156)) (Low, [CVE-2024-40640](https://www.cve.org/CVERecord?id=CVE-2024-40640), [GHSA-j8cm-g7r6-hfpq](https://github.com/matrix-org/vodozemac/security/advisories/GHSA-j8cm-g7r6-hfpq)).
87+ ```
5188
5289## Commit message format
5390
@@ -74,45 +111,20 @@ The type of changes which will be included in changelogs is one of the following
74111The scope is optional and can specify the area of the codebase affected (e.g.,
75112olm, cipher).
76113
77- ### Changelog trailer
78-
79- In addition to the Conventional Commit format, you can use the ` Changelog ` git
80- trailer to specify the changelog message explicitly. When that trailer is
81- present, its value will be used as the changelog entry instead of the commit's
82- leading line. The ` Breaking-Change ` git trailer can be used in a similar manner
83- if the changelog entry should be marked as a breaking change.
84-
85-
86- #### Example commit message
87-
88- ```
89- feat: Add a method to encode Ed25519 public keys to Base64
90-
91- This patch adds the `Ed25519PublicKey::to_base64()` method, which allows us to
92- stringify Ed25519 and thus present them to users. It's also commonly used when
93- Ed25519 keys need to be inserted into JSON.
94-
95- Changelog: Add the `Ed25519PublicKey::to_base64()` method which can be used to
96- stringify the Ed25519 public key.
97- ```
98-
99- In this commit message, the content specified in the ` Changelog ` trailer will be
100- used for the changelog entry.
101-
102- Be careful to add at least one whitespace after new lines to create a paragraph.
103-
104114### Security fixes
105115
106116Commits addressing security vulnerabilities must include specific trailers for
107- vulnerability metadata. These commits are required to include at least the
108- ` Security-Impact ` trailer to indicate that the commit is a security fix .
117+ vulnerability metadata, which should also be reflected in the corresponding
118+ changelog entry .
109119
110- Security issues have some additional git-trailers:
120+ The metadata must be included in the following git-trailers:
111121
112122* ` Security-Impact ` : The magnitude of harm that can be expected, i.e. low/moderate/high/critical.
113123* ` CVE ` : The CVE that was assigned to this issue.
114124* ` GitHub-Advisory ` : The GitHub advisory identifier.
115125
126+ Please include all of the fields that are available.
127+
116128Example:
117129
118130```
@@ -131,9 +143,6 @@ material.
131143Security-Impact: Low
132144CVE: CVE-2024-40640
133145GitHub-Advisory: GHSA-j8cm-g7r6-hfpq
134-
135- Changelog: Use a constant-time Base64 encoder for secret key material
136- to mitigate side-channel attacks leaking secret key material.
137146```
138147
139148## Review process
0 commit comments