2021-09-27 14:01:04 +03:00
|
|
|
# Changelogs
|
|
|
|
|
2021-09-27 14:17:18 +03:00
|
|
|
<div class=pagetoc>
|
|
|
|
<!-- toc -->
|
|
|
|
</div>
|
2021-09-27 14:01:04 +03:00
|
|
|
|
2022-02-07 01:04:29 +03:00
|
|
|
## Update master changelogs often
|
|
|
|
Before release, and preferably daily/weekly as well:
|
|
|
|
- always first update changelogs in master branch, not in release branches
|
|
|
|
- `./Shake changelogs`
|
|
|
|
- edit the new changelog items
|
|
|
|
- open changelogs
|
|
|
|
- as VSC panes:
|
|
|
|
- explorer
|
|
|
|
- unfold hledger, hledger-lib, hledger-ui, hledger-web directories
|
|
|
|
- filter list to CHANGES
|
|
|
|
- click project CHANGES (last one in list)
|
|
|
|
- click editor pane, split it, click rightmost editor pane
|
|
|
|
- click hledger CHANGES
|
|
|
|
- click rightmost editor pane, split it, ... etc.
|
|
|
|
- in each changelog (first ui & web; then project, cli, lib)
|
|
|
|
- process new items (starting above top-most section heading, working upward)
|
|
|
|
- drop boring items (changes not visible to end/API users, followups to other new items, minor doc updates..)
|
|
|
|
- drop duplicated items/content (mostly between cli and lib)
|
|
|
|
- move to top of appropriate changelog & section (create section when needed; consider a second pane to reduce scrolling)
|
|
|
|
- drop prefixes, edit texts, check/adjust links
|
|
|
|
- (in cli/web/ui, move any "API changes" parts to lib ?)
|
|
|
|
- proof read/clean up all changelogs (Obsidian works well)
|
|
|
|
- `./Shake changelogs -c`
|
|
|
|
|
|
|
|
## Update release & master changelogs at release time
|
|
|
|
Before release, after cherry-picking changes from master to the release branch:
|
|
|
|
- check out master in a separate working copy
|
|
|
|
- for each changelog
|
|
|
|
- open master & release changelog in side-by-side windows
|
|
|
|
- copy all appropriate new content from master to release
|
|
|
|
- in release changelog, remove any previous prerelease heading, add a new release heading
|
|
|
|
- in release ui/web changelogs, add/update "uses hledger X.Y" item if needed
|
|
|
|
- if this is a major release, or a minor release with notable project updates, copy to master changelogs:
|
|
|
|
- the ui/web "uses hledger X.Y"
|
|
|
|
- the new release heading
|
|
|
|
- commit changelog updates in both working copies
|
|
|
|
- pull the master changelog updates back to main working copy
|
|
|
|
- destroy temporary working copy, emacs buffers
|
|
|
|
|
|
|
|
## Update release notes
|
2021-12-02 06:58:17 +03:00
|
|
|
- add a new section in site/src/release-notes.md
|
2021-09-27 14:17:18 +03:00
|
|
|
- copy/rewrite/summarise package changelogs
|
|
|
|
- note any other items of interest
|
|
|
|
- list release contributors
|
|
|
|
- write release summary
|
|
|
|
|
2021-09-27 15:20:44 +03:00
|
|
|
## Old notes
|
|
|
|
|
|
|
|
Changelogs are plain text, but started including some markdown formatting
|
|
|
|
from 1.0. Should make consistent.
|
|
|
|
|
|
|
|
Changelogs started mentioning committer names from 2017/1,
|
|
|
|
for hledger-ui-1.1.1 (because they won't appear on the release notes).
|
|
|
|
Could do it just for minor releases but might as well do it for all.
|
|
|
|
Could do it for past releases but no pressing need.
|
|
|
|
|
|
|
|
In site/release-notes.md, we stopped mentioning minor releases
|
|
|
|
around 0.27. The old minor releases should probably be removed
|
|
|
|
or promoted to the same heading level as major releases.
|
|
|
|
|
|
|
|
|