The query language introduced some new keywords, called
incremental. Variables and types with this name has to be escaped using the
^ symbol. The previously used keyword
count is not a keyword anymore, so for future versions its references does not need to be escaped.
User interface updates
The query development UI is greatly updated. It might be worth checking out the new VIATRA perspective; for existing users of the perspective it may make sense to reset the perspective as it has been redesigned in version 1.4.
Internal engine API changes
LocalSearch internal API changes
The method org.eclipse.viatra.query.runtime.localsearch.planner.LocalSearchPlanner.initializePlanner(PQueryFlattener, Logger, IQueryMetaContext, IQueryRuntimeContext, PBodyNormalizer, LocalSearchRuntimeBasedStrategy, POperationCompiler, Map<String,Object>) has been removed. The initialization is performed by the constructor, which has the following signature: LocalSearchPlanner(LocalSearchBackend, Logger, PlannerConfiguration).
Hint system refactor
In VIATRA 0.9 a preliminary hint system was introduced, where it was possible to provide hints for query evaluation. In version 1.4, this hint system was extended; however, VIATRA 1.4 cannot handle hints for queries generated with older versions of VIATRA. Please, regenerate your queries with 1.4 if you want to use hints.
Updated runtime context API
The IQueryRuntimeContext interface was extended with a few new methods, related to the usage of Base indexer. For the future, it is recommended that implementors do not implement this class directly, but rely on the new AbstractQueryRuntimeContext base class instead.
DSE API breaks
- Three plug-ins (
.dse.designspace) has been restructured to a single plug-in:
org.eclipse.viatra.dse. Manifest files should be updated accordingly.