# git-cliff (https://git-cliff.org), used here for exactly one thing: reading # the conventional commits since the last tag and printing the version they # imply. No changelog is generated, so there is no [changelog] section and no # template; `git cliff --unreleased --bumped-version` prints a version and # exits, and that is the whole of this file's job. cargo-release does the # writing — see release.toml. [git] conventional_commits = true # Drop commits that do not parse rather than failing on them. Every commit in # this repository conforms today and the commit-msg hook keeps it that way, so # this line is currently inert. It stays because the alternative — a version # computation that fails outright on a single malformed subject — turns a # cosmetic mistake into a blocked release. filter_unconventional = false [bump] # git-cliff defaults `breaking_always_bump_major` to true, and its # documentation is explicit that this includes the transition from 0 to 1. That # would make the first breaking change in this repository 1.0.0. # # 1.0.0 is a claim this project does not make. The README says single-user, # largely AI generated, no stability guarantees; a major version is a promise # about compatibility, and the point of 0.x is that no such promise has been # made. So a breaking change inside 0.x bumps the minor, and 1.0.0 stays a # decision someone takes on purpose, by passing the version by hand, rather # than one that falls out of a `!` in a subject line. breaking_always_bump_major = false # Left at git-cliff's default of true, but set explicitly because the default # is worth disagreeing with knowingly. With this false, a `feat` under 0.x # would only bump the patch, which would put features and bugfixes in the same # bucket and make the version number carry less information than the commit # log it came from. True means: feat -> minor, fix -> patch, feat! -> minor # (via the line above). Under 0.x the minor is the only digit that moves for # anything but a pure fix, which is the usual reading of semver's "anything MAY # change at any time" clause for 0.y.z. features_always_bump_minor = true