-
Notifications
You must be signed in to change notification settings - Fork 7
Release Checklist
Angeline Burrell edited this page Sep 17, 2026
·
1 revision
The following tasks need to be performed before transitioning code in the develop towards public release.
- Create a Release Candidate (RC) branch from develop
- Update the version number
- Verify and update Zenodo information in
.zenodo.jsonor CITATION.cff: https://jsonlint.com/ - Ensure that all tests are run: unit tests and doctests
- Ensure that all tests pass when using the minimum supported versions for dependencies
- Add an RC number to your local branch to the version number in the pyproject.toml (e.g., version = "X.X.Xrc0")
- From the RC branch, create a distribution using
python -m build --sdist - Check the build using
twine check dist/PACKAGENAME-X.X.Xrc0.tar.gz - Upload the test distribution to the testPyPi server (e.g.,
twine upload --repository testpypi dist/PACKAGENAME-X.X.Xrc0.tar.gz) - Send an email to developers or projects that rely on the project and encourage them to run their unit tests with the RC branch
- If applicable, perform integration tests with downstream packages, as available.
- Create a wiki page or comment with the release text (name, summary of changes, changelog, etc.) and ensure items are consistent with Zenodo information. Include information that will also be used for community announcements (project location, pypi release status).
- A Release Candidate may not be merged into main branch and released until all principal developers agree
- Once merged:
- Verify that ReadTheDocs documentation has the most recent updates and is appropriate (Pull Request test is ok for this)
- Verify that the Zenodo DOI is correct and all labels are appropriate
- From
main, remove your currentdistdirectory (if present) and create a distribution usingpython -m build --sdist - Upload the distribution to PyPi using twine:
twine upload dist/* - Create a GitHub release using the name
vX.X.Xwhere X.X.X is the version number and the description is the text from task (8)
- Merge the release candidate branch (not
main) back intodevelop - Email developers that a release has been created and updated
For RC Pull Request, replace - [ ] Make sure you are merging into the ``develop`` (not ``main``) branch in PR checklist with:
- [ ] Update the version number
- [ ] Verify and update Zenodo information in .zenodo.json OR - [ ] Verify and update information in CITATION.cff
- [ ] doc tests pass locally
- [ ] activate this branch on readthedocs (include link here or remove this paragraph if integrated testing is present)
- [ ] Upload the test distribution to the testPyPi server (put link here)
- [ ] Contacted developers and users about the future release
- [ ] Performed integration tests with downstream packages (include list of these packages or remove if not applicable)
- [ ] Create a wiki page with the release text (put link here)
- [ ] After approval, confirm all changes from the RC pull are listed in the wiki release text.