What it comes down to is the nature of the change that requires crossing a particular boundary. I've identified three boundaries:
- A major design change - wholesale changing of chips, new hardware features, etc.
- A change that impact the "cream" layer - requiring a new solder paste stencil and/or PnP programming.
- A change in signal routing or silkscreen - requiring new PCBs.
- Any other change - typically just parts substitution, stuff/no-stuff or solder jumpers.
Going forward, this is how I'm going to version hardware. I'm going to use the old software standard of n.m.o formatted version numbers, but other folks prefer Axy style, and that's fine too. But I've discovered that there is value to characterizing which changes require a new stencil, and this scheme means I don't have to try and remember that 0.3 could still use the 0.2 stencil.