Skip to content
Christoph Redl edited this page Apr 12, 2016 · 10 revisions

Versioning System

  • For the transition from dlvhex 1.X to 2.X we renamed all libraries
A rationale for that is given here: http://www106.pair.com/rhp/parallel.html
  • For ABI versions we use the Apache APR approach to versioning
https://apr.apache.org/versioning.html
  • DLVHEX and plugins define their ABI compatibility using
 DLVHEX_DEFINE_VERSION([DLVHEX_ABI],[X.Y.Z])

in configure.ac

Versions

 ||dlvhex Release||ABI ||libdlvhexbase||libaspsolver||libdlvhex2-base||libdlvhex2-aspsolver||libdlvhex2-mlpsolver||libdlvhex2-internalplugins||
||2.5.0 ||7.5.0||- ||- ||12.0.0 ||5.0.0 ||2.0.1 ||5.0.0 ||
||2.4.0 ||7.4.0||- ||- ||11.0.0 ||5.0.0 ||2.0.1 ||4.0.2 ||
||2.3.0 ||7.3.0||- ||- ||10.0.0 ||5.0.0 ||2.0.1 ||4.0.1 ||
||2.2.0 ||7.2.0||- ||- ||9.0.0 ||5.0.0 ||2.0.1 ||3.0.0 ||
||2.1.0 ||7.1.0||- ||- ||8.0.1 ||4.0.1 ||2.0.1 ||2.0.1 ||
||2.0.0 ||7.0.0||- ||- ||7.0.0 ||3.0.0 ||1.0.0 ||1.0.0 ||
||1.7.4 ||- ||6.2.0 ||2.1.0 ||- ||- ||- ||- ||
||1.7.3 ||- ||6.1.0 ||2.1.0 ||- ||- ||- ||- ||
||1.7.2 ||- ||6.0.0 ||2.0.0 ||- ||- ||- ||- ||
||1.7.1 ||- ||6.0.0 ||2.0.0 ||- ||- ||- ||- ||
||1.7.0 ||- ||5.1.0 ||1.0.0 ||- ||- ||- ||- ||
||1.6 ||- ||5.0.0 ||0.0.0 ||- ||- ||- ||- ||

Releasing

  • ABI version X.Y.Z library version A.B.C
    • there are three classes of releases:
      • non-interface-changing (e.g., bugfixes in implementation, comment changes):
        • increment Z and B
      • backwards-compatible interface changes (e.g., class additions, method and data member additions at the end of a class):
        • increment Y and A and C
        • set Z and B to 0 (increment C if backwards compatible for that particular library)
      • all other changes:
        • increment X and A
        • set Y, Z, B, and C to 0

Clone this wiki locally