Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 1 | # HarfBuzz release walk-through checklist: |
ebraminio | 933a81d | 2017-10-01 19:35:24 +0330 | [diff] [blame] | 2 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 3 | - [ ] Open gitk and review changes since last release. |
ebraminio | 933a81d | 2017-10-01 19:35:24 +0330 | [diff] [blame] | 4 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 5 | - [ ] Print all public API changes: |
| 6 | `git diff $(git describe | sed 's/-.*//').. src/*.h` |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 7 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 8 | - [ ] Document them in NEWS. |
| 9 | All API and API semantic changes should be clearly marked as API additions, API changes, or API deletions. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 10 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 11 | - [ ] Document deprecations. |
| 12 | Ensure all new API / deprecations are in listed correctly in docs/harfbuzz-sections.txt. |
| 13 | If release added new API, add entry for new API index at the end of docs/harfbuzz-docs.xml. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 14 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 15 | If there's a backward-incompatible API change (including deletions for API used anywhere), that's a release blocker. |
| 16 | Do NOT release. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 17 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 18 | - [ ] Based on severity of changes, decide whether it's a minor or micro release number bump. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 19 | |
Khaled Hosny | 0ea8bbd | 2023-02-11 20:01:06 +0200 | [diff] [blame] | 20 | - [ ] Search for 'XSince: REPLACEME' on the repository and replace it with the chosen version for the release, e.g. 'Since: 1.4.7'. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 21 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 22 | - [ ] Make sure you have correct date and new version at the top of NEWS file. |
Ebrahim Byagowi | 5f7f0bf | 2018-03-29 04:22:53 +0430 | [diff] [blame] | 23 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 24 | - [ ] Bump version in line 3 of meson.build and configure.ac. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 25 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 26 | - [ ] 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 | |
| 28 | - [ ] Commit NEWS, meson.build, configure.ac, and src/hb-version.h, as well as any REPLACEME changes you made. |
| 29 | The commit message is simply the release number, e. g. "1.4.7" |
| 30 | |
luz paz | e2e3050 | 2022-01-16 07:00:53 -0500 | [diff] [blame] | 31 | - [ ] Do a `meson dist -Cbuild` that runs the tests against the latest committed changes. |
Ebrahim Byagowi | d5238c1 | 2020-07-06 01:53:27 +0430 | [diff] [blame] | 32 | If doesn't pass, something fishy is going on, reset the repo and start over. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 33 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 34 | - [ ] Tag the release and sign it: e.g. `git tag -s 1.4.7 -m 1.4.7`. |
| 35 | Enter your GPG password. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 36 | |
Caleb Maclennan | eee36bb | 2021-07-08 21:19:57 +0300 | [diff] [blame] | 37 | - [ ] Push the commit and tag out: `git push --follow-tags`. |