@Tojan I was thinking a bit more about your MAJOR.MINOR.PATCH
scheme, and there are two scenarios I’m curious about:
- In the case where you need to make minor changes to the KiCad project that are not an actual rework/bodge–for example, you need to fix a typo in the schematic or update documentation in the project repository–are those changes also implemented by incrementing the
PATCH
version? (you mentioned thatPATCH
is only used for actual patches, so I’m wondering how all other non-PCB changes are handled) - I’m wondering if your
MAJOR.MINOR.PATCH
scheme is used in both the prototype and production phase. Incrementing the MAJOR version on any external interface change makes sense to me for a production part where consumers of the part rely on a stable interface (enclosure tooling is already done, SW is released, etc). However, in the prototyping phase/pre-production phase, my experience has been that there are lots of minor external interface changes while the pre-production design is being validated (mechanical parts shifting due to enclosure changes, pinout changes for connectors, etc). It seems like having theMAJOR
version potentially changing for each prototype build leading up to the release of a single production design would cause a lot of churn/confusion. (I think this is actually one of the complaints people have about semver in the SW world, i.e. any tiny incompatible API change causes a major version increment). Just curious if you use this same scheme in prototype vs. production, and if it’s just one of those things that requires discipline & a mindset shift to get used to.