Using a 3-digit version like semver, while assigning different semantics, is a recipe for confusion if anyone except you ever refers to a package using this "rule of thumb".
I agree, the initial set of releases were all over the place. I took the feedback from this thread and fed it to Claude along with the semver.org references that were linked here for more detailed (and pedantic) context. Makes way more sense now. Thanks for the feedback! Claude handled the cleanup. Here's the updated releases: https://github.com/derekg/ts-ssh/releases
- x.y.Z (patch) -> backward compatible bug fixes
- x.Y.z (minor) -> backward compatible new features
- X.y.z (major) -> breaking changes
But of course it's fine to use whatever versioning scheme you like, as long as you communicate it to your consumers.
https://semver.org/
Edit: updated the version strings for clarity.