-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.4.4 breaks downstream consumers #186
Comments
@makkes -- Jena classes? Which ones? |
One example is SimpleSelector. |
@makkes the Jena update v4 -> v5 doesn't change how the TopBraid SHACL API is used thus this doesn't affect the consumers. SemVer claims that an increment of the "MAJOR version when you make incompatible API changes" which is not the case. In case, the consumers are using the tool as Maven/Gradle dependency and are relying on Jena v4 as a transitive dependency then this update does break their code. However, this is a wrong dependencies management since it is good practice to specify dependencies and not rely on transitive ones. From Maven docs:
|
|
Point taken! I'm adding explicit deps for the Jena libs. However, this only works in cases where the SHACL lib still works with these old versions. If SHACL would depend on a certain feature in the Jena v5 libs, then this wouldn't work as my application wouldn't compile. That's why I've been raising this issue in the first place: A major bump, even in a transitive dep, can lead to an incompatible change. Thus, a patch version bump as happened here with 1.4.3 => 1.4.4 doesn't reflect the breaking change properly. |
The latest release 1.4.4 bumps Jena to v5 which breaks consumers downstream because of removed classes in Jena. It is very unfortunate that a patch release of this library contains such a huge change for consumers and I would appreciate rolling that back and instead follow proper semver semantics and publish 2.0.0 to clearly indicate that it contains breaking changes.
The text was updated successfully, but these errors were encountered: