Skip Navigation
20 comments
  • Something else to consider in place of or in addition to a build number could also be using the git commit hash of what you're building. Though I would only use that for non-stable releases.

    For example, stable versions of Zig look like 0.12.1 and then there's in-development releases like 0.13.0-dev.351+64ef45eb0. It uses semantic versioning where the "pre-release" is dev.351, which includes an incrementing build number, and the "build metadata" is 64ef45eb0, the commit hash it was built from. The latter allows a user to quickly look up the exact commit easily and thus know exactly what they're using.

  • I'd usually do the former because by build number I usually mean pipeline or job id in a build server. You could build 4.0.4 and then 3.4.18 and so 4.0.4 could be build number 1026 while 3.4.18 is 1027.

    You can also just use a special number to keep your version number unique when doing dev builds so your version number comes through like 3.5.2-48 and some might call the 48 a build number, in which case that would make sense to reset with each version number.

  • It really depends on your needs. In most cases, I wouldn’t even bother.

    I do have a project with a some software running on a microcontroller and a corresponding driver. I don’t record a build number, but I do record the timestamp when the build occurred. That way the driver can update the firmware if its timestamp is older than expected

20 comments