@@ -358,3 +358,31 @@ request by pushing to the branch on GitHub:
358358
359359Any ` git push ` will automatically update your pull request with your branch's
360360changes and restart the ` Continuous Integration ` checks.
361+
362+ ## Merging a Pull Request and Versioning
363+
364+ The procedure to merge a PR with version increase according to semantic
365+ versioning is as follows:
366+
367+ 1 . The PR is made, discussed, and approved according to the collaborators'
368+ standards. A bump severity (patch, minor, major) is chosen according to the
369+ changes and SemVer standards.
370+
371+ ``` note
372+ Before the first major version (<1.0.0), most changes, even if significant, only
373+ result in a minor version increase. The first major version release typically
374+ needs to be delineated as a long-term milestone.
375+ ```
376+
377+ 2 . As a last action in the PR before the merge, the version bump is executed.
378+ Usually via means of ` bump2version ` or, more recently ` uv ` and Makefile setup.
379+ The version is not manually changed in most cases. Both setups typically also
380+ create a * git tag* with the version in SemVer format, which can be pushed
381+ separately via ` git push --tags ` . The version bump can also be performed in a
382+ separate PR, if missed in the code-carrying PR.
383+
384+ 3 . The PR is merged, introducing a new version in the codebase (but not yet as a
385+ release or published package). To release and publish the package, we rely on
386+ GitHub actions that automatically draft a release and trigger a build and
387+ publish action to PyPI. The trigger for these actions is the ` git push --tags `
388+ command, the pattern of which is matched in the GitHub workflow.
0 commit comments