Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[sirius-dev] Upcoming changes in Sirius 4.0M6

Hi everyone,

A few impacting changes will appear soon and will be visible first in 4.0M6 (or nightlies if you follow them).

Note that these changes only concern the current development stream (master) which will produce Sirius 4.0 in June (part of the Neon release). Maintenance streams (e.g. 3.0.x and 3.1.x) are not impacted at all.

* Explicit support for the old and long-deprecated "Query Legacy" language will be dropped.

This query language has been deprecated for many years, but many of our automated tests where written when it was the default language, and thus required it to continue running. This is no longer the case thanks to the work done for https://bugs.eclipse.org/478878, which converted all these uses to AQL instead.

If you still have VSMs which use this language, the recommended migration path is to convert them to use AQL instead. We've done it in many of our own modelers at Obeo and it is generally a rather straightforward task. AQL is better than the legacy language in essentially all aspects (and continues to improve): a better defined language, much better performances (sometimes spectacularly better [2]), and better type inference which translates into more precise validation of the VSMs and more useful completion for specifiers.

While AQL is still technically optional to use Sirius, it is possible that for Sirius 4.0 we'll embed the AQL implementation itself (which is very small and with minimal dependencies) directly inside the Sirius update site. It would make it easier to install AQL support without registering a separate update-site.

Note that the Query Legacy support plug-ins may still continue to work for a while. What changes concretely is: - none of the Sirius regression tests exercise that query language anymore; - we reserve the right to make changes in Sirius (for example in the IInterpreter API and related) which could break the Query Legacy support plug-ins without further warnings.

Incidently, this change will also allow us to greatly simplify our build process and make it faster and more robust.

* Explicit support for older versions of Eclipse (Juno 3.8/4.2, Kepler 4.3, Luna 4.4) will be dropped.

Currently Sirius works on the following versions of Eclipse: Juno, Kelper, Luna, Mars, Neon (for the future Sirius 4.0). It stretches our resources a little too thin to ensure such a wide range of compatiblity, and with our largest historical user (Capella [3]) moving to Mars as their platform for their next release, we'll stop supporting all Eclipse versions prior to Mars. This will allow us to put more resources on ensuring the stability of Sirius on the platforms that actually matter.

There is no plan yet to actively break compatibility with those older versions (for example by depending on features or APIs which are only available in Mars), but this may happen at some point. We will probably keep *building* Sirius on these older platforms for a while (without running the tests), and announce here when these start to actually break.

Note that the platforms we'll "drop" can still be supported via specific development efforts; if an adopter requires such support, please contact us.

* Java 1.7 as a minimum requirement to run Sirius 4.0.

Currently we are compatible with Java 1.6, but Eclipse Mars itself requires Java 1.7 so we will move to Java 1.7 minimum for Sirius 4.0.

Moving to Java 1.8 for Sirius itself will not happen until the oldest Eclipse version supported will be Neon, which itself required Java 1.8 (in other words: when we drop support for Eclipse Mars). It is possible that we move to Java 1.8 earlier for our tests, but this will not have any impact on actual deployment and usage of Sirius itself.

Regards,
Pierre-Charles David

[1] http://download.eclipse.org/sirius/updates/milestones/4.0.0M5/
[2] https://i.imgur.com/W9QhBTT.png
[3] http://www.polarsys.org/capella/



Back to the top