@@ -94,14 +94,45 @@ that is, just the branch name.)
9494
9595## Writing changelog entries
9696
97- Our goal is to maintain clear, concise, and informative changelogs that
98- accurately document changes in the project. Changelog entries should be written
99- manually for each crate in the ` /crates/$CRATE_NAME/Changelog.md ` file.
97+ We use towncrier to generate changelogs from individual fragment files. Each
98+ change must be documented as a changelog fragment in the appropriate crate:
10099
101- Be sure to include a link to the pull request for additional context. A
102- well-written changelog entry should be understandable even to those who may not
103- be deeply familiar with the project. Provide enough context to ensure clarity
104- and ease of understanding.
100+ ```
101+ /crates/<crate-name>/changelog.d/
102+ ```
103+
104+ Each changelog fragment must include ** both the pull request number and the
105+ fragment type** in its filename:
106+
107+ ```
108+ <PR number>.<fragment type>.md
109+ ```
110+
111+ For example:
112+
113+ ```
114+ 4357.added.md
115+ 4357.fixed.md
116+ 4357.changed.md
117+ ```
118+
119+ The pull request link is automatically added during changelog generation, so it
120+ must not be included manually.
121+
122+ We use standard towncrier fragment types to categorize changes. Common types include:
123+
124+ * ` added ` – new features or functionality
125+ * ` changed ` – changes in existing behavior
126+ * ` fixed ` – bug fixes
127+ * ` removed ` – removed features or APIs
128+ * ` security ` – security-related fixes
129+ * ` internal ` – changes that do not affect users (refactoring, CI, tooling)
130+
131+ Choose the type that best matches the nature of the change.
132+
133+ A well-written changelog entry should be understandable even to those who may
134+ not be deeply familiar with the project. Provide enough context to ensure
135+ clarity and ease of understanding.
105136
106137A couple of examples of bad changelog entry would look like:
107138
@@ -120,7 +151,6 @@ A good example of a changelog entry could look like the following:
120151 fallback values for the via parameter when requesting the room summary from
121152 the homeserver. This ensures requests succeed even when the room being
122153 previewed is hosted on a federated server.
123- ([ #4357 ] ( https://github.com/matrix-org/matrix-rust-sdk/pull/4357 ) )
124154```
125155
126156For security-related changelog entries, please include the following additional
@@ -135,7 +165,6 @@ details alongside the pull request number:
135165``` markdown
136166- Use a constant-time Base64 encoder for secret key material to mitigate
137167 side-channel attacks leaking secret key material
138- ([ #156 ] ( https://github.com/matrix-org/vodozemac/pull/156 ) ) (Low,
139168 [ CVE-2024 -40640] ( https://www.cve.org/CVERecord?id=CVE-2024-40640 ) ,
140169 [ GHSA-j8cm -g7r6-hfpq] ( https://github.com/matrix-org/vodozemac/security/advisories/GHSA-j8cm-g7r6-hfpq ) ).
141170```
0 commit comments