Starting from v1.0.0, Isis has adopted semantic versioning for its versioning policy.
Version numbers are in the form x.y.z
:
x is bumped up whenever there a breaking API change
y is bumped up whenever there is a new feature that does not break API
z is bumped up for minor bug fixes.
This scheme would be adopted for both core and components.
Version ranges may not be used. If necessary, end-users can use <dependencyManagement
elements to have combine components built against different versions of core.
That said, this can introduce instability and so generally we recommend that end-users configure the maven-enforcer-plugin
and its DependencyConvergence rule. This will help avoid "jar hell" (components having conflicting dependencies of core).
If there is a conflict, we would ask that end-users engage with Isis committers to have an updated version of the component(s) pushed out.