# Release Checklist ## Release Type - Were there any database schema changes? - Are there any significant UI changes? - Have any significant new features been added? - Are there any API changes? If the answer to any of the above is yes, then the release MUST be a major or minor release. Otherwise, the release MAY be a patch release (at developer's discretion). ## Major/Minor Releases - [ ] Add a commit which adds a database upgrade script at `db/upgrade/[oldversion]-[newversion].sql` - ALWAYS use a transaction for the entirety of this file - At minimum, DB version must be bumped - Test the upgrade script as follows: ``` git checkout [previous release tag] docker-compose down docker-compose up psql -h 0 -U postgres < db/upgrade/v[previous]-v[current].sql ``` Update the version in `src/version.ts` and verify the app works as expected. - [ ] Add a commit which bumps the version in `src/version.ts` and `db/00-version.sql`, entitled `Bump version to vMAJOR.MINOR` - [ ] Tag the latest commit with `vMAJOR.MINOR` - [ ] Write release notes ## Patch Releases - [ ] Add a commit which bumps the patch level in `src/version.ts`, entitled `Bump version to vMAJOR.MINOR.PATCH` - [ ] Tag the latest commit with `vMAJOR.MINOR.PATCH` - [ ] Write release notes