Changelog

CHANGELOG.md is generated from the git history by git cliff at release time. Each commit becomes a single bullet (its subject line); For a non-trivial change, add a changelog: footer to the commit message and it will render any text beneath the bullet. It must be the last footer in the message:

feat(api): add configurable request timeouts

(Optional body prose, notes to reviewers, etc. -- not shown in the changelog.)

changelog:
Requests now time out after 60s by default, configurable via
``--timeout`` or ``COVERALLS_TIMEOUT``.

See cliff.toml for the template and grouping rules.

Release

This project is released on PyPI as coveralls, as well as on quay and dockerhub. To cut a new release, ensure the latest master passes all tests. Then, create a release commit. Bumping the version first lets git cliff stamp the new CHANGELOG.md section with it and prepend it in place:

uv version --bump (major|minor|patch)
git cliff --unreleased --tag "$(uv version --short)" --prepend CHANGELOG.md
# touch up changelog here, if need be
uv lock
uv sync
uv run pytest
git commit -am 'chore(release): bump version'
git push
git tag $(uv version --short)
git push origin $(uv version --short)

Then:

  1. Create a new GitHub release.

  2. Verify the docs build succeeded then mark it active.

Conda should automatically create a PR on their coveralls-feedstock shortly with the updated version – if something goes wrong, the manual process would be to:

  1. Fork coveralls-feedstock.

  2. Update recipe/meta.yaml with the new version number and sha.

  3. Create a PR.

  4. Comment on your own PR with: “@conda-forge-admin, please rerender”.

  5. Merge along with the automated commit from Conda.