Release Process for Neuroconv ============================= A simple to-do list for the Neuroconv release process: 1. **Format Changelog**: - Format and update the changelog. - Ensure correct formatting and add a header to indicate that the changes belong to a specific release and not upcoming ones. - Example: `Format Changelog Example `_ 2. **Set the Correct Version for Release**: - The development version (the current code on `main`) should be one patch version ahead of the latest PyPI release and therefore ready for the next step. - If a minor version bump is necessary, change it accordingly. - Example: `Version Change Example `_ 3. **Perform Checks**: - Ensure that no requirement files include pointers to `git`-based dependencies (including specific branches or commit hashes). All dependencies for a PyPI release should point to the released package versions that are available on conda-forge or PyPI. This can be done efficiently by searching for `@ git` in the pyproject.toml on an IDE. 4. **Tag on GitHub**: - The title and tag should be the release version. - The changelog should be copied correspondingly. - Check the hashes in the markdown to ensure they match with the format of previous releases. 5. **Release**: - GitHub tagging triggers the `auto-publish.yml` action on the CI, which takes care of the rest. 6. **Post-Release: Bump Version and Update Changelog**: - To comply with the one patch version ahead policy, bump the version after the release. - Update the changelog with the new version header. - Example: `Post-Release Version Bump `_