tagver

SemVer from your Git tags. Zero dependencies.

A fast Rust CLI and library that calculates version numbers from Git tags and commit height. MinVer-inspired, built on gitoxide, a single static binary with JSON output and a GitHub Action.

Install with Homebrew (macOS, Linux)

brew install wyrd-company/tools/tagver
Terminal recording of tagver printing the version as text and as JSON one commit after the 1.2.3 tag.
tagver prints the version one commit after the 1.2.3 tag.

What it does

  1. Reads your Git tags and commit height, and calculates a SemVer 2.0.0 version with no version file to edit.

  2. Follows the first parent, so merge commits do not inflate the height.

  3. Sets tag prefix, auto-increment, pre-release identifiers, minimum major.minor and build metadata with flags or TAGVER_ environment variables.

  4. Prints the version as text, or as JSON for CI scripts.

  5. Ships as one binary with no runtime dependencies, from Homebrew, Cargo or a GitHub release archive.

  6. Runs as a GitHub Action that exposes the version and its parts as step outputs.

Install

brew install wyrd-company/tools/tagver

Documentation

Releases

Latest 0.1.7 Release notes on GitHub

Fixes

  • Publish the tagver and tagver-cli crates to crates.io with trusted publishing. Releases 0.1.5 and 0.1.6 were never published to crates.io.
All releases