This issue tracks the release process for Minterpy v0.4.0. The checklist is organized into three phases:
- preparing the release on
dev,
- merging to and tagging
main, and
- verifying the release.
Steps are sequential. Specifically, several pre-merge steps must be completed before pushing the tag, as the tag push immediately triggers the release workflow and publishes to PyPI with no opportunity to intervene.
Pre-merge (on dev branch)
Complete all steps in this section before touching the main branch.
CI pipelines include a documentation preview served to GitHub pages but to save time the notebook-based documentation is not executed; make sure you can build the documentation of the dev branch locally.
Merge, tag, and push
⚠️ This is the point of no return: the next step creates and pushes the tag, which triggers the release workflow automatically. The workflow pushes the artifacts to PyPI and creates a GitHub release with all attached artifacts. PyPI does not allow re-uploading a package with the same version. Verify all pre-merge steps are complete before proceeding.
The package version is derived automatically from the tag via setuptools_scm and written to src/minterpy/version.py at build time. Ensure the tag follows the format v0.4.0 exactly, as this becomes the version string on PyPI.
Post-release verification
The GitHub Actions workflow creates the release page automatically upon tag push but leaves the release notes empty. Populate them manually from CHANGELOG.md.
This issue tracks the release process for Minterpy
v0.4.0. The checklist is organized into three phases:dev,main, andSteps are sequential. Specifically, several pre-merge steps must be completed before pushing the tag, as the tag push immediately triggers the release workflow and publishes to PyPI with no opportunity to intervene.
Pre-merge (on
devbranch)dev(see the Milestone)CHANGELOG.md(this will serve as the basis for the GitHub release notes in the post-release step)[Unreleased]to[v0.4.0] - YYYY-MM-DDand update its comparison link to diff against the previous tagged release (the link will appear broken until the tag is pushed in the next phase: this is expected)[Unreleased]section at the top with a comparison link betweenHEADonmainanddevmainso the DOI can be embedded into the README file as part of the tagged commit) (@szabo137)README.mdwith the new DOI (badge and citation section)dev(tests, build, docs-preview, coverage)Merge, tag, and push
devintomain(via Pull Request)git tag -a v0.4.0 -m "Release v0.4.0"git push origin v0.4.0Post-release verification
pip install minterpy==0.4.0python -c "import minterpy as mp; assert mp.__version__ == '0.4.0'"