This is the first release of Hawk as an Eclipse project. As such, the license has been changed to EPL2.0 with GPLv3 as secondary license.
The biggest feature in this release is the addition of "time-aware querying", based on the new Greycat temporal graph database backend, which allows for indexing the history of your models and running queries that traverse their history.
Other notable additions include the addition of a JGit-based component to index Git repositories, and the improvement of large parts of the GUI (e.g. the creation of indices, the ability to cancel running queries and the configuration of the plugins enabled by default when creating an index). There are new components for indexing UML models as well.
Internally, there have been many improvements in terms of performance, quality of logging and diagnostics, and bugfixes. Potentially conflicting background tasks in Hawk are now serialised into a common queue, avoiding many potential issues that could appear during production. Due to these internal changes, you will need to recreate and reindex your models with the latest version of Hawk.
Other minor changes:
- Hawk is now targeting Eclipse 2020-03 or newer.
- IFC components are GPLv3-only, and have been moved to a separate Github-based project (not affiliated with Eclipse).
- Upgraded the dependency on Epsilon to the 2.0.0 stable release.
- Upgraded Apache Artemis to 2.6.4.
- Upgraded OrientDB to 2.2.30 and fixed several defects in the OrientDB backend.
- Improved Thrift API with the ability to report server execution times and encode nested lists.
- Hawk's EOL dialect now supports "object.eContainers" (which returns a collection with 0-1 elements: this is useful for closures).
- Introduced a new "contextful" CEOLQueryEngine getAllOf(...) variant, which supports a variety of custom traversals appropriate for different situations.