feat: derive recommended version from changelog; no version file required
- RecommendedTag now reads the current version from the most recent released section heading in the changelog (## [x.y.z] - ...) when no --version-file flag is given, removing the dependency on a separate version file for recommendation. - When the changelog contains no prior releases, the base version defaults to 0.0.0, so the first recommended tag is v1.0.0 (or higher depending on unreleased content). - Prepare creates the release-version file if it does not already exist, so new repositories do not need to pre-seed it. - Add tests covering changelog-based version resolution, first-release default, and automatic file creation. - Update README and changelog unreleased section to document the new behaviour.
This commit is contained in:
@@ -48,7 +48,11 @@ Defaults:
|
||||
- `version-pattern`: `^\s*([^\r\n]+)\s*$`
|
||||
- `changelog`: `changelog.md`
|
||||
|
||||
By default, `vociferate` reads and writes the release version as the sole content of a root-level `release-version` file. Repositories that keep the version inside source code should pass explicit `version-file` and `version-pattern` values.
|
||||
When no `--version-file` flag is provided, `vociferate` derives the current version from the most recent released section heading in the changelog (`## [x.y.z] - ...`). If no prior releases exist, it defaults to `0.0.0` and recommends `v1.0.0` as the first tag.
|
||||
|
||||
When running `--version`, the `release-version` file is created automatically if it does not exist, so new repositories do not need to pre-seed it.
|
||||
|
||||
Repositories that keep the version inside source code should pass explicit `--version-file` and `--version-pattern` values; in that case the version file is used directly instead of the changelog.
|
||||
|
||||
## Testing
|
||||
|
||||
|
||||
Reference in New Issue
Block a user