Regarding hardware versions:
a major number for major layout and schematic changes such as changes to board dimensions, components placement or general functionality and
a minor number for minor layout and schematic changes such as component value changes, layout routing, copper fills, etc.
Does your team encode a hardware revision on the PCB that is readable by software?
- If so, would this board revision map to the major number? Or would you need a mapping of some kind (e.g., PCB readable version 2 == Layout/Schematic version 2.3)
- If not, this is definitely a useful practice!