Both the design and implementation side use a shared versioning system with numbers of the form <A>.<B>.<C>, where:
- A is incremented whenever an entirely new set is added to the expansion (so BCOT made it 1, BCOR 2, and BBTS 3)
- B is incremented when new cards are added OR a card(s) is overhauled from the ground up (meaning it may as well be a new card).
- C is incremented when smaller adjustments to effects are made that require an update of the scripts as well as the design.
Other changes that affect only the design side (e.g., PSCT fixes, changing stats or images, …) or only the script side (e.g., bug fixes, refactoring, …) do not increment the shared version number. If necessary, commit hashes can be used to identify any more specific point in either repository, and a commit that contains the changes of a new shared version number (or, if spread across multiple commits, the last of those) will be tagged with that number (at least I’ll try to do that reliably…).