The COBalD versioning follows Semantic Versioning. Releases are automatically pushed to PyPI from the GitHub COBalD repository.
COBalD is currently published only in the major version zero series. The public API is not entirely stable, and may change between releases. However, API changes are already kept to a minimum and significant API changes SHOULD relate to an increase of the minor version.
Packages that depend on the COBalD major version zero series should accept compatible release versions for minor versions. For example, a package requiring at least cobald
version 0.12.1
should require cobald ~= 0.12.1
to not accidentally accept cobald >= 0.13.0
.
There is no fixed schedule for releases; a release is manually started whenever significant changes have accumulated or a bugfix requires a prompt publication.
Note
The following section is only relevant for maintainers of COBalD.
Releases are automatically published to PyPI when a GitHub release is created. Each release should be prepared and reviewed via a pull request.
- Create a new branch
releases/v<version>
and pull request - Add all to-be-released pull requests to the description
- Create a new branch
- Review all changes added by the new release
- Ensure naming, unittests and docs are appropriate
- Merge new version metadata (e.g. v3.9.2) to repository
- Fix change fragment version via
change log … release 3.9.2
- Adjust and commit
__version__ = "3.9.2"
incobald.__about__
- Create a git tag such as
git tag -a "v3.9.2" -m "important changes"
- Fix change fragment version via
Once the pull request has been reviewed and merged, create a new GitHub release.