Problem
Version bumping is currently manual and error-prone. The recent 0.5.0 release was delayed because:
make changelog includes bump-version changelog.yaml pyproject.toml but this step either wasn't run or failed silently
CHANGELOG.md was updated to show 0.5.0, but pyproject.toml still had 0.4.3
CI's skip-existing: true silently skipped publishing since 0.4.3 already existed on PyPI
The weight distribution diagnostics feature (PR Add weight distribution diagnostics and use_gates option #35 ) was merged but never published
Current Workflow
Manual steps required before pushing to main:
Add entry to changelog_entry.yaml
Run make changelog
Verify pyproject.toml was updated
Commit and push
Proposed Solution
Automate version bumping in the CI pipeline so that:
When a PR is merged with a changelog_entry.yaml file, CI automatically runs the changelog/version bump
Or: Add a pre-push hook or CI check that fails if changelog.yaml has unpublished bumps
Options to consider:
GitHub Action for changelog : Run make changelog in CI before the publish step
Pre-commit hook : Validate that versions are in sync before allowing commits
CI version check : Fail the build if changelog.yaml bump directives don't match pyproject.toml
Additional Note
l0/__init__.py has __version__ which was also out of sync (showed 0.1.0). Consider either:
Removing it and reading version from importlib.metadata
Including it in the bump-version command
Problem
Version bumping is currently manual and error-prone. The recent 0.5.0 release was delayed because:
make changelogincludesbump-version changelog.yaml pyproject.tomlbut this step either wasn't run or failed silentlypyproject.tomlstill had 0.4.3skip-existing: truesilently skipped publishing since 0.4.3 already existed on PyPICurrent Workflow
Manual steps required before pushing to main:
changelog_entry.yamlmake changelogProposed Solution
Automate version bumping in the CI pipeline so that:
changelog_entry.yamlfile, CI automatically runs the changelog/version bumpOptions to consider:
make changelogin CI before the publish stepchangelog.yamlbump directives don't matchpyproject.tomlAdditional Note
l0/__init__.pyhas__version__which was also out of sync (showed 0.1.0). Consider either:importlib.metadatabump-versioncommand