Нумерация версий компьютерного программного обеспечения указывает на изменения в продукте, и хотя единой схемы нет, чаще всего используются форматы с тремя или четырьмя числами: Мажорная.Минорная.Патч (A.B.C), где мажорная версия указывает на кардинальные изменения, минорная — на добавление нового функционала, а патч — на исправление ошибок.
Для прошивок (микропрограмм) не делают большого количества сборок, поэтому такое понятие как patch здесь не используется. Или, если быть точнее, и нововведения и исправления ошибок будут приращивать минорное число (номер сборки).
В таких средах разработки как Keil и ему подобных, для нумерации версий прошивок (сборок ПО) мы часто вписываем ручками определения, например:
#define FW_VER 0x0105 // Версия прошивки
#define FW_BUILD 0x2510 // Год и месяц сборки
И эта нумерация рутинная. Иногда даже пропускаешь этот момент. А в имени выходного файла вообще нет этой информации. Приходится потом так же ручками переименовывать myfirmware.hex в myfirmware_1.05_20251030.hex, чтобы передать его людям.
Это решение для автоматизации нумерации версий и именования файлов прошивок на примере программы keil uVision. Для вас не составит труда адаптировать это решение для других сред (eclipse, IAR, etc.)
Подробнее: Автоматическая нумерация версий прошивок