1*2d1272b8SAndroid Build Coastguard Worker# HarfBuzz release walk-through checklist: 2*2d1272b8SAndroid Build Coastguard Worker 3*2d1272b8SAndroid Build Coastguard Worker- [ ] Open gitk and review changes since last release. 4*2d1272b8SAndroid Build Coastguard Worker 5*2d1272b8SAndroid Build Coastguard Worker - [ ] Print all public API changes: 6*2d1272b8SAndroid Build Coastguard Worker `git diff $(git describe | sed 's/-.*//').. src/*.h` 7*2d1272b8SAndroid Build Coastguard Worker 8*2d1272b8SAndroid Build Coastguard Worker - [ ] Document them in NEWS. 9*2d1272b8SAndroid Build Coastguard Worker All API and API semantic changes should be clearly marked as API additions, API changes, or API deletions. 10*2d1272b8SAndroid Build Coastguard Worker 11*2d1272b8SAndroid Build Coastguard Worker - [ ] Document deprecations. 12*2d1272b8SAndroid Build Coastguard Worker Ensure all new API / deprecations are in listed correctly in docs/harfbuzz-sections.txt. 13*2d1272b8SAndroid Build Coastguard Worker If release added new API, add entry for new API index at the end of docs/harfbuzz-docs.xml. 14*2d1272b8SAndroid Build Coastguard Worker 15*2d1272b8SAndroid Build Coastguard Worker If there's a backward-incompatible API change (including deletions for API used anywhere), that's a release blocker. 16*2d1272b8SAndroid Build Coastguard Worker Do NOT release. 17*2d1272b8SAndroid Build Coastguard Worker 18*2d1272b8SAndroid Build Coastguard Worker- [ ] Based on severity of changes, decide whether it's a minor or micro release number bump. 19*2d1272b8SAndroid Build Coastguard Worker 20*2d1272b8SAndroid Build Coastguard Worker- [ ] Search for 'XSince: REPLACEME' on the repository and replace it with the chosen version for the release, e.g. 'Since: 1.4.7'. 21*2d1272b8SAndroid Build Coastguard Worker 22*2d1272b8SAndroid Build Coastguard Worker- [ ] Make sure you have correct date and new version at the top of NEWS file. 23*2d1272b8SAndroid Build Coastguard Worker 24*2d1272b8SAndroid Build Coastguard Worker- [ ] Bump version in line 3 of meson.build. 25*2d1272b8SAndroid Build Coastguard Worker 26*2d1272b8SAndroid Build Coastguard Worker- [ ] Do a `meson test -Cbuild` so it both checks the tests and updates hb-version.h (use `git diff` to see if is really updated). 27*2d1272b8SAndroid Build Coastguard Worker 28*2d1272b8SAndroid Build Coastguard Worker- [ ] Commit NEWS, meson.build, and src/hb-version.h, as well as any REPLACEME changes you made. 29*2d1272b8SAndroid Build Coastguard Worker The commit message is simply the release number, e. g. "1.4.7" 30*2d1272b8SAndroid Build Coastguard Worker 31*2d1272b8SAndroid Build Coastguard Worker- [ ] Do a `meson dist -Cbuild` that runs the tests against the latest committed changes. 32*2d1272b8SAndroid Build Coastguard Worker If doesn't pass, something fishy is going on, reset the repo and start over. 33*2d1272b8SAndroid Build Coastguard Worker 34*2d1272b8SAndroid Build Coastguard Worker- [ ] Tag the release and sign it: e.g. `git tag -s 1.4.7 -m 1.4.7`. 35*2d1272b8SAndroid Build Coastguard Worker Enter your GPG password. 36*2d1272b8SAndroid Build Coastguard Worker 37*2d1272b8SAndroid Build Coastguard Worker- [ ] Push the commit and tag out: `git push --follow-tags`. 38