hledger/CHANGELOGS.md
2021-09-27 01:24:59 -10:00

61 lines
1.5 KiB
Markdown

# Changelogs
<div class=pagetoc>
<!-- toc -->
</div>
## How to prepare changelogs & release notes
Changelogs:
- always maintain changelogs in master branch, not in release branches
- ./Shake changelogs
- edit the new changelog items (identify, filter, move to correct changelog, deduplicate, rewrite, sort/group)
Release notes:
- add a new TOC entry and section in site/release-notes.md
- copy/rewrite/summarise package changelogs
- note any other items of interest
- list release contributors
- write release summary
## Frequently
especially after merging changes, and before cherry picking into release branch:
- dry run: `./Shake changelogs -n`
- add new changes: `./Shake changelogs`
- edit
- drop things
- move things
- Add headings: Features, Improved, Fixes
- rewrite things
- format ([#ISSUE](https://github.com/simonmichael/hledger/issues/), AUTHOR) on its own line
- commit: `./Shake changelogs -c`
## After cherry-picking
changes to a release branch:
- in the master branch changelogs, move the corresponding changelog items under a pending release heading,
creating that when necessary:
```
# LATESTHASH
...CHANGES ONLY IN MASTER...
# NEXTVER unreleased
...CHANGES CHERRYPICKED INTO RELEASE BRANCH...
# LASTVER YYYY-MM-DD
```
## At release
- do final update/edits; check organisation, wording, formatting, issue links
- replace "unreleased" with the release date
- copy the new sections from master changelogs to release branch changelogs