Module ABI versioning

Mike Hearn hearn at
Fri Sep 18 22:03:17 UTC 2015

That's nearly how semver works, but not quite.

Major.minor.patchlevel means:

- Major versions are incompatible
- Minor versions are backwards compatible but may be extended
- Patchlevels are entirely swappable with each other

That is, code may require 18.1+ and not work on 18.0 or 19.0, but it will
work on 18.2

I think it'd be great if Java modules understood semantic versioning.
However, I would be satisfied with just understanding major versions, as
that's all that's required to avoid link conflicts, and it's A-OK by me if
that's something as simple as "module names should include the major
version as the final dotted component".

More information about the jpms-spec-observers mailing list