Summary
Add a --interactive flag to semrel release that pauses before tagging and asks the user to confirm (or manually override) the detected version bump.
Motivation
Automated commit analysis is reliable for well-maintained commit histories, but there are cases where a human sanity-check is desirable:
- Squash-merged PRs where the merge commit message may not reflect the actual change
- First release of a new major version
- Local developer workflows where the user wants to see the proposed changelog before committing
Proposed UX
$ semrel release --interactive
Analyzing commits since v1.2.3...
feat: add file storage backend
fix: correct pagination offset calculation
Proposed next version: v1.3.0 (minor bump)
Changelog preview:
### Features
- add file storage backend
### Bug Fixes
- correct pagination offset calculation
Proceed with v1.3.0? [Y/n/edit]
Options:
- Y — proceed with detected version
- n — abort release
- edit — open $EDITOR with the version number pre-filled for manual override
Acceptance criteria
Summary
Add a
--interactiveflag tosemrel releasethat pauses before tagging and asks the user to confirm (or manually override) the detected version bump.Motivation
Automated commit analysis is reliable for well-maintained commit histories, but there are cases where a human sanity-check is desirable:
Proposed UX
Options:
Acceptance criteria
--interactiveflag available onsemrel release--interactiveis set, print an error and exit non-zero--dry-run(dry-run preview still shown, no actual release)