<md-content layout="column" layout-align="center stretch" class="documentation content">
    <h3><a href="#/documentation/2.1.1">Eclipse EEF 2.1.1 (October Release)</a></h3>
    <ul>
      <li><small><a href="https://projects.eclipse.org/projects/modeling.eef/releases/2.1.1">EEF 2.1.x Metadata on Eclipse.org</a></small></li>
      <li><small><a href="javadoc/2.1.1/">EEF 2.1.0 Javadoc</a></small></li>
    </ul>
    <p>
      Eclipse EEF 2.1.x comes with minor improvements to our build process and debug messages.
    </p>

  <h3><a href="#/documentation/2.1.0">Eclipse EEF 2.1.0 (Photon Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.eef/releases/2.1.0">EEF 2.1.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/2.1.0/">EEF 2.1.0 Javadoc</a></small></li>
  </ul>
  <p>
    Eclipse EEF 2.1.x comes with minor improvements to our build process and debug messages.
  </p>

  <h3><a href="#/documentation/2.0.2">Eclipse EEF 2.0.2 (September 2018 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.eef/releases/2.0.2">EEF 2.0.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/2.0.2/">EEF 2.0.2 Javadoc</a></small></li>
  </ul>
  <p>
    The main goal of Eclipse EEF 2.0.x is the introduction of new APIs to support the permissions from Eclipse Sirius.
  </p>

  <h3><a href="#/documentation/2.0.1">Eclipse EEF 2.0.1 (January 2018 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.eef/releases/2.0.1">EEF 2.0.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/2.0.1/">EEF 2.0.1 Javadoc</a></small></li>
  </ul>
  <p>
    The main goal of Eclipse EEF 2.0.x is the introduction of new APIs to support the permissions from Eclipse Sirius.
  </p>

  <h3><a href="#/documentation/2.0.0">Eclipse EEF 2.0.0 (Oxygen Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.eef/releases/2.0.0">EEF 2.0.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/2.0.0/">EEF 2.0.0 Javadoc</a></small></li>
  </ul>
  <p>
    The main goal of Eclipse EEF 2.0.x is the introduction of new APIs to support the permissions from Eclipse Sirius.
  </p>

  <h3><a href="#/documentation/1.9.2">Eclipse EEF 1.9.2 (December 2017 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.eef/releases/1.9.2">EEF 1.9.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.9.2/">EEF 1.9.2 Javadoc</a></small></li>
  </ul>
  <p>
    Add support for a conflict resolution policy for the text widget.
  </p>

  <h3><a href="#/documentation/1.9.1">Eclipse EEF 1.9.1 (June 2017 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.eef/releases/1.9.1">EEF 1.9.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.9.1/">EEF 1.9.1 Javadoc</a></small></li>
  </ul>
  <p>
    The main goal of Eclipse EEF 1.9.x is the introduction of new APIs to support the permissions from Eclipse Sirius.
  </p>

  <h3><a href="#/documentation/1.9.0">Eclipse EEF 1.9.0 (January 2017 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.eef/releases/1.9.0">EEF 1.9.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.9.0/">EEF 1.9.0 Javadoc</a></small></li>
  </ul>
  <p>
    The main goal of Eclipse EEF 1.9.x is the introduction of new APIs to support the permissions from Eclipse Sirius.
  </p>

  <h3><a href="#/documentation/1.8.0">Eclipse EEF 1.8.0 (December 2016 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.eef/releases/1.8.0">EEF 1.8.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.8.0/">EEF 1.8.0 Javadoc</a></small></li>
  </ul>
  <p>
    The main goal of Eclipse EEF 1.8.x is the improvement of the stability of Eclipse EEF 1.6.0.
  </p>

  <h3><a href="#/documentation/1.7.2">Eclipse EEF 1.7.2 (End-October 2016 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.emft.eef/releases/1.7.0">EEF 1.7.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.7.2/">EEF 1.7.2 Javadoc</a></small></li>
  </ul>
  <p>
    The main goal of Eclipse EEF 1.7.x is the improvement of the stability of Eclipse EEF 1.6.0.
  </p>

  <h3><a href="#/documentation/1.7.1">Eclipse EEF 1.7.1 (Mid-October 2016 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.emft.eef/releases/1.7.0">EEF 1.7.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.7.1/">EEF 1.7.1 Javadoc</a></small></li>
  </ul>
  <p>
    The main goal of Eclipse EEF 1.7.x is the improvement of the stability of Eclipse EEF 1.6.0.
  </p>

  <h3><a href="#/documentation/1.7.0">Eclipse EEF 1.7.0 (October 2016 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.emft.eef/releases/1.7.0">EEF 1.7.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.7.0/">EEF 1.7.0 Javadoc</a></small></li>
  </ul>
  <p>
    The main goal of Eclipse EEF 1.7.x is the improvement of the stability of Eclipse EEF 1.6.0.
  </p>

  <h3><a href="#/documentation/1.6.2">Eclipse EEF 1.6.2 (Late September 2016 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.emft.eef/releases/1.6.0">EEF 1.6.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.6.2/">EEF 1.6.2 Javadoc</a></small></li>
  </ul>
  <p>
    Eclipse EEF 1.6.2 modifies the way a modification of a text widget is triggered by switching from a delay of 300ms to the loss of the focus on the text widget.
  </p>

  <h3><a href="#/documentation/1.6.1">Eclipse EEF 1.6.1 (Early September 2016 Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.emft.eef/releases/1.6.0">EEF 1.6.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.6.1/">EEF 1.6.1 Javadoc</a></small></li>
  </ul>
  <p>
    Eclipse EEF 1.6.1 fixes a memory leak and improve the cache of the description of the tabs.
  </p>

  <h3><a href="#/documentation/1.6.0">Eclipse EEF 1.6.0 (Eclipse Neon Release)</a></h3>
  <ul>
    <li><small><a href="https://projects.eclipse.org/projects/modeling.emft.eef/releases/1.6.0">EEF 1.6.x Metadata on Eclipse.org</a></small></li>
    <li><small><a href="javadoc/1.6.0/">EEF 1.6.0 Javadoc</a></small></li>
  </ul>
  <p>
    Eclipse EEF 1.6.x will bring a brand new runtime and language in order to build your user interface. In this new version, the language will be less coupled with the metamodel of the user and with a similar approach as Eclipse Sirius, as such it will provide highly dynamic mechanisms to build an user interface. This new approach will be based on an interpreted language, contrary to the old one which relied on generated code. You will also be able to use various kind of expressions based, for example, on the latest version of the AQL (Acceleo Query Language). This new version of EEF will also let you customize declaratively advanced concepts like the style or layout of your user interface. The users of the "old" approach don't have worry, the old version (1.5.x) will still be released along this new one and the new version is contained in different plugins than the old one, as such both versions can be installed without conflicts but keep an eye on this brand new runtime to update your application in the months and years to come.
  </p>
</md-content>
