[
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/