nextsv 0.6.2

Next semantic version calculator
Documentation

nextsv

Crates.io MIT licensed Build Status Rust 1.60+ FOSSA Status Docs BuyMeaCoffee GitHubSponsors

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

[x] Calculate next semantic version number [x] Calculate the level to change for next semantic version number [x] Support basic semantic version components: Major, Minor, and Patch [ ] Support pre-release versions (alpha, beta, rc) [ ] Handle case where no tag is found [ ] Update to release version (removing pre-release identifiers)

CLI Usage

Install the CLI using cargo install.


cargo install nextsv

Run in your project directory and check the version


$ nextsv --version
nextsv 0.6.2

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 <jrussell@jerus.ie>
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)

Library Usage

To use the library add the crate to dependencies in the project's Cargo.toml.


[dependencies]
nextsv = "0.6.2"