Hasty Briefsbeta

Bilingual

Stamp It! All Programs Must Report Their Version

a day ago
  • The author correctly guessed an outage root cause quickly but wasted hours due to lack of visibility into version numbers and rollouts.
  • Software versioning standards are often lower than those of household appliances, despite software being constantly updated.
  • The i3 window manager's `--version` and `--moreversion` commands provide detailed version info, including VCS revision, config file path, and build date, which aid debugging.
  • Go stamps VCS buildinfo by default since Go 1.18, making it easy to identify exact build versions.
  • NixOS can lose VCS revision stamping due to reproducibility concerns, but the author's `go-vcs-stamping` overlay fixes this.
  • The three-step solution to improve version observability is: Stamp the VCS revision, Plumb it through build/packaging, and Report it on all relevant surfaces.
  • Implementing version observability is a high-ROI one-day project that can save hours during incident response.