Skip to content

chore(release): replace bump2version with bump-my-version#99

Merged
Andreas-Garcia merged 7 commits into
developfrom
chore/release-script-drop-venv-requirement
Apr 30, 2026
Merged

chore(release): replace bump2version with bump-my-version#99
Andreas-Garcia merged 7 commits into
developfrom
chore/release-script-drop-venv-requirement

Conversation

@Andreas-Garcia

Copy link
Copy Markdown
Member

Description

This PR migrates maintainer release bumps from deprecated bump2version to bump-my-version (maintained successor), centralizes configuration in pyproject.toml, and bumps Click so the bump CLI runs in the same environment as pip install -e ".[dev]" (including the Compose api image with INSTALL_DEV=true).

Related Issue

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • ♻️ Refactoring (no functional changes)
  • ⚡ Performance improvement
  • ✅ Test addition/update
  • 🔧 Configuration change
  • 🎨 Style/formatting changes
  • 🧹 Chore/maintenance

Target Branch

  • develop (for features, bug fixes, chores, dependency updates from Dependabot)
  • main (for hotfixes only)

Changes Made

  • Version bump tool

    • Dev dependency: bump-my-version==1.3.0 (replaces bump2version).
    • Release rules moved to [tool.bumpversion] and [[tool.bumpversion.files]] in pyproject.toml.
    • Removed .bumpversion.cfg.
    • scripts/prepare_release_bump.py invokes bump-my-version bump patch|minor|major (with --allow-dirty by default unless --no-allow-dirty).
  • Runtime dependency

    • Click 7.08.3.3 — required because bump-my-version depends on click<8.4 and is incompatible with Click 7 in a shared dev install.
  • Documentation and hygiene

    • CONTRIBUTING.md §7, docs/versioning.md, .cursor/rules/changelog-best-practices.mdc: references updated from bump2version / .cfg to bump-my-version / pyproject.toml.
    • scripts/fix_changelog_after_bump.py docstring and scripts/remove_prerelease_tags.sh comment aligned.
    • CHANGELOG.md [Unreleased] updated (release tooling + packaging bullets).
    • Removed .venv-release/ from .gitignore (no longer documented as a project convention).
  • Packaging metadata

    • hear_the_music_tree_api.egg-info/ refreshed for Requires-Dist / requires.txt (dev extra and Click pin).

Testing

  • bump-my-version --help succeeds after resolving Click (local dev install).
  • bump-my-version bump patch --dry-run fails without the release changelog marker ## [Unreleased] <!-- release -->, as expected before prepare_release_bump.py step 1 — full bump still validated via maintainer release flow + prepare_release_bump.py.
  • Full pytest not re-run in isolation for this tooling-only change; CI test workflow exercises pip install -e ".[dev]".

Checklist

  • CI workflow branch naming allows chore/* into develop
  • CHANGELOG.md [Unreleased] updated
  • Maintainer docs (CONTRIBUTING, versioning, Cursor changelog rule) consistent with new commands

Breaking Changes

None for API consumers. Maintainers must use bump-my-version on PATH (e.g. pipx install bump-my-version==1.3.0, dev env, or Compose api) instead of bump2version.

Additional Notes

  • PR title when opening GitHub: use the H1 above (chore(release): replace bump2version with bump-my-version).
  • Copy this file body into the PR description field (this path is git-ignored).

@github-actions

github-actions Bot commented Apr 30, 2026

Copy link
Copy Markdown

Test Results

1 113 tests   1 109 ✅  7m 4s ⏱️
    1 suites      4 💤
    1 files        0 ❌

Results for commit db407ec.

♻️ This comment has been updated with latest results.

@Andreas-Garcia Andreas-Garcia merged commit 136639f into develop Apr 30, 2026
7 checks passed
@Andreas-Garcia Andreas-Garcia deleted the chore/release-script-drop-venv-requirement branch April 30, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies documentation Improvements or additions to documentation scripts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant