Bump My Version Workflow

This repository uses Bump My Version to update the project version in the configured files.

Goal

The goal is to change the project version consistently across the repository without editing each versioned file by hand.

Version Types

The project uses these version bump types:

  • major for changes that can introduce significant compatibility breaks,

  • minor for new or improved capabilities that are normally backward compatible,

  • patch for small fixes and maintenance changes that should not affect compatibility.

Show The Available Bump Options

To show the currently available version bump results, run:

uv run bump-my-version show-bump

This displays what the next major, minor, and patch versions would be.

Dry-Run A Version Bump

Before applying a version bump, do a dry run to make sure the configuration behaves as expected. For example, to dry-run a minor release:

uv run bump-my-version bump minor --dry-run

Apply A Version Bump

Once you are ready to update the version, remove the --dry-run flag. For example, to apply a minor version bump:

uv run bump-my-version bump minor

The main release workflow normally uses --no-commit --no-tag so the release commit and tag can be handled separately. See the Release Workflow for that full procedure.

Versioned Files

The configured version update currently affects these files:

  • pyproject.toml

  • src/buffalo_wings/__init__.py

  • sphinx/source/conf.py

  • CITATION.cff

If you add another file that should track the project version, update the tool.bumpversion configuration in pyproject.toml.