Version 18.0.0

Integrity v18.0.0 is a special version - its point is not to introduce lots of new, big features, like the previous version did. Instead, it serves two important maintenance purposes:

  • The version naming scheme is changed - or, better said, now finally actually used as it was intended. Integrity always had a "major.minor.patch" version numbering scheme, but the "major" part of its version number has actually never been used and was basically stuck at 0. So the "minor" part had to be used to denote larger feature or dependency-breaking releases, and the "patch" part had to suck up the rest - which, in the beginning, only meant actual bugfixes, but lately, lots of minor feature implementations had made it into the stable branch and were thus published by increasing the "patch" version field.
    This is not good, especially while there is an entirely unused version number part sitting around, waiting for a purpose. It will now get that purpose! The previous "minor" number that was incremented on larger features or breaking changes has just been moved over to the "major" field, so this opens up the "minor" field to be incremented on minor feature additions.
  • There will (at least for now and the foreseeable future) be three branches of Integrity that are in some sort of active development:
    • The master branch (which I clearly discourage anyone from using in any kind of productive scenario) where the larger changes will accumulate until forged into a new major release.
    • The "stable" branch, which is created from the master when the first new major release is performed. The plan is to do minor feature and bugfix development on the stable branch.
    • And the new "old-stable" branch, which is basically where the previous "stable" branch ends up once a new release is created from master. At least all the bugfixes (and possibly some of the minor features, but depending on feasability) are to be ported from the "stable" branch to this branch as well.
  • And last but not least, the Eclipse/Xtext dependencies have received a large bump with Integrity v18 - going from "Neon" to "2018-09". This means that you'll have to use newer dependencies in your projects using Integrity as well as in your own Eclipse installations. Ideally, you are using at least Eclipse 2018-09, which already supplies all the stuff necessary for the Integrity plugins, but if you cannot upgrade your dev environment right now, there is still the possibility to specifically upgrade just the plugin bundles required by Integrity while keeping everything else as-is, effectively resulting in an Eclipse Neon (or newer) installation with an up-to-date Integrity inside!
    If you want to go down this path, just add the following specially-crafted "Neon+ compatibility update site" to your Eclipse install alongside the Integrity v18 update site:
    http://download.integrity-tf.org/eclipse/neon/integrity18/
    The dependency resolution mechanism in Eclipse will fetch all necessary plugins from that site automatically. This update path has been tested with Neon 3 only, but should theoretically work with newer Eclipse versions as well, effectively filling the gap between Neon and 2018-09.