The Data Client Library uses the semantic versioning scheme 2.0.0.
The Data Client Library maintains backwards binary compatibility across versions of modules.
This means that new JAR files are drop in replacements for the older ones as long as your build does not enable the inliner (Scala-only restriction); but not the other way around.
- Binary compatibility is maintained between minor and patch versions
- Binary compatibility is NOT maintained between: major versions
Modules that are released together under the Data Client Library project are intended to be upgraded together. For example, it is not allowed to mix
data-client of version
1.0.5 even though "Data Client Library
1.0.0" and "Data Client Library
1.0.5" are binary compatible.
This is because modules may have changed internally. For example, a feature in one module may have required changes internally in another module. However, these changes are not part of the public API, so binary compatibility is still maintained.