51 releases (14 breaking)
9.0.2 |
|
---|---|
0.17.0 | Dec 11, 2024 |
0.15.0 | Nov 30, 2024 |
0.9.0 |
|
0.4.0 | Jul 31, 2022 |
#84 in Math
1,850 downloads per month
150KB
3K
SLoC
nextsv
A utility to calculate the level of change and the next semantic version number based on the conventional commits since the last version tag.
Feature set
- Calculate next semantic version number
- Calculate the level to change for next semantic version number
- Support basic semantic version components: Major, Minor, and Patch
- Check for required files (e.g. CHANGELOG.md)
- Set level of change (Breaking, Feature, Fix, Other) at which required files are required
- Check that any changes made meet a specified level
- Support pre-release versions (alpha, beta, rc)
- Update to release version (removing pre-release identifiers)
- Handle case where no tag is found
CLI Usage
Install the CLI using cargo install.
cargo install nextsv
Run in your project directory and check the version
$ nextsv --version
nextsv 0.17.0
Running the application provides the level for the next semantic version change.
$ nextsv
[2022-08-03T06:33:54Z INFO nextsv] Calculating the next version level
minor
Help provides all the options
$ nextsv -h
jerusdp <[email protected]>
Next semantic version calculator
USAGE:
nextsv [OPTIONS]
OPTIONS:
-f, --force <FORCE> Force the calculation of the version number [possible values: major,
minor, patch, first]
-h, --help Print help information
--level Report the level of the version number change
--number Report the version number
-p, --prefix <PREFIX> Prefix string to identify version number tags [default: v]
-q, --quiet Pass many times for less log output
-v, --verbose Pass many times for more log output
-V, --version Print version information
$
A clean response of the level to update is reported using the -q flag.
$ nextsv -q
minor
This can be used with cargo release
to update and publish a new release.
cargo release $(nextsv -q)
Further details on usage scenarios can be found here.
Library Usage
To use the library add the crate to dependencies in the project's Cargo.toml.
[dependencies]
nextsv = "0.17.0"
Dependencies
~14–26MB
~389K SLoC