Skip to content

Commit 0164e3c

Browse files
authored
Merge pull request #7257 from fgaz/changelog.d-docs
Add changelog.d documentation
2 parents 0369f8b + 6441111 commit 0164e3c

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Please include the following checklist in your PR:
44

55
* [ ] Patches conform to the [coding conventions](https://github.com/haskell/cabal/blob/master/CONTRIBUTING.md#conventions).
6-
* [ ] Any changes that could be relevant to users have been recorded in the changelog (add file to `changelog.d` directory).
6+
* [ ] Any changes that could be relevant to users [have been recorded in the changelog](https://github.com/haskell/cabal/blob/master/CONTRIBUTING.md#changelog).
77
* [ ] The documentation has been updated, if necessary.
88

99
Please also shortly describe how you tested your change. Bonus points for added tests!

CONTRIBUTING.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,48 @@ We like [this style guide][guide].
221221

222222
[guide]: https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md
223223

224+
Changelog
225+
---------
226+
227+
When opening a pull request, you should write a changelog entry.
228+
This is done by adding a file in the `changelog.d` directory.
229+
230+
The files follow a simple key-value format similar to the one for .cabal files.
231+
232+
Here's an exhaustive example:
233+
234+
```cabal
235+
synopsis: Add feature xyz
236+
packages: cabal-install
237+
prs: #0000
238+
issues: #0000 #0000
239+
significance: significant
240+
241+
description: {
242+
243+
- Detail number 1
244+
- Detail number 2
245+
246+
}
247+
```
248+
249+
Only the `synopsis` field is actually required, but you should also set the others where applicable.
250+
251+
| Field | Description |
252+
| ----- | ----------- |
253+
| `synopsis` | Brief description of the change. Often just the pr title. |
254+
| `description` | Longer description, with a list of sub-changes. Not needed for small/atomic changes. |
255+
| `packages` | Packages affected by the change (`cabal-install`, `Cabal`...). Omit if it's an overarching or non-package change. |
256+
| `prs` | Space-separated hash-prefixed pull request numbers containing the change (usually just one). |
257+
| `issues` | Space-separated hash-prefixed issue numbers that the change fixes/closes/affects. |
258+
| `significance` | Set to `significant` if the change is significant, that is if it warrants being put near the top of the changelog. |
259+
260+
You can find a large number of real-world examples of changelog files
261+
[here](https://github.com/haskell/cabal/tree/bc83de27569fda22dbe1e10be1a921bebf4d3430/changelog.d).
262+
263+
At release time, the entries will be merged with
264+
[this tool](https://github.com/phadej/changelog-d).
265+
224266
Communicating
225267
-------------
226268

0 commit comments

Comments
 (0)