Nine tags that were never on the branch
colophon works out the version your commits have earned, opens the release as a merge request, and tags what actually landed. Not what your forge says did.

colophon works out the version your commits have earned, opens the release as a merge request, and tags what actually landed. Not what your forge says did.

A change that ships without a version bump reaches nobody, and nothing tells you. Ten minutes in a throwaway directory to see it happen, and then catch it.

Three HIGH advisories deep in a Rust dependency tree, a one-line fix that changed nothing, and eleven minor bumps that were never mine to make.

A standard-library security fix forced a Go version bump, and then the release failed because the build image shipped an older toolchain.

Moving off tag-on-merge releases, where a release is a side effect of merging, to a model where the release is itself a reviewable change.

A CI component gated on the default branch fired on every Renovate schedule too, because a scheduled run is also on the default branch.
