Skip to content

Commit 8c1fedb

Browse files
authored
Merge pull request #1046 from mcci-catena/doc-versioning-strategy
CLAUDE.md: document versioning strategy
2 parents ff20e49 + 0629c74 commit 8c1fedb

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

CLAUDE.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,20 @@ gh pr merge PRNUM --merge --delete-branch
8989
- `README.md` -- landing page with links to detailed docs
9090
- **GitHub Pages** (Doxygen): https://mcci-catena.github.io/arduino-lmic/
9191

92+
## Versioning Strategy
93+
94+
Version is encoded in `src/lmic/lmic.h` as `ARDUINO_LMIC_VERSION_CALC(major, minor, patch, local)`. The `local` field serves as a pre-release counter. `library.properties` is only updated at actual release time.
95+
96+
During development, version bumps follow these rules:
97+
98+
- **Patch fixes** on master: `X.Y.(Z+1)-preN` (e.g., 6.0.1-pre1)
99+
- **Feature additions**: `X.(Y+1).0-preN` (e.g., 6.1.0-pre1)
100+
- **Breaking changes**: `(X+1).0.0-preN` (e.g., 7.0.0-pre1)
101+
102+
The pre-release counter (`local` field) increments with each version bump commit. On a feature branch, if you fix a bug in passing, bump `preN` -- don't change the patch/minor/major level mid-branch. The patch/minor/major level is set once when the branch is created and reflects the nature of the *most significant* change on the branch.
103+
104+
At release time, `local` resets to 0 and `library.properties` is updated to match.
105+
92106
## Release Process
93107

94108
Reference: issue #978 documents the v5.0.0 release checklist.

0 commit comments

Comments
 (0)