A major benefit of writing a changelog is that it shames you into doing a release and bumping the version occasionally.
Related Posts
It's a small thing, but I'm much happier with the output of --version in the latest version of difftastic.
It shows the release version number, the commit hash, and the commit date. This gives you a sense of the age of release, but you still have a reproducible build (unlike build time).
It also shows OS, arch and compiler, because those are common requirements in bug reports.
When writing long-lived programs (daemons etc) in Rust, I find myself asking *where* I should put data.
In a GC'd language it's just "I have a string" but Rust forces me to find somewhere to put it.
You do get a performance benefit for this work though.
Shower thought: using a tool like cargo-semver, could you build a package registry where the uploader never chooses the version number?
E.g. your last release was 5.2025-09-13 and you've just changed a type, so today's release is 6.2025-11-05.