Changes in 0.9.0
Release date: 2019-04-15.
1. SARL Language
1.1. SARL Language Grammar
- Major upgrades:
- Upgrade to Xtext 2.17.1 (1, 2, 3). This version of Xtext provides better performances. It is also fixing issues related to the Xtext editor.
- Upgrade to Eclipse 2019-03 (details). See major implications of this upgrade.
- Operators:
- Add overriding of the cast operator (1, 2, 3): it is now possible to create overriding functions that may be invoked when the
as
operator is used and the standard casting behavior cannot be applied. Several casting operations are predefined for convertings numbers and strings.
- Active Annotations:
- References to
it
into the closures/lambdas:
- Bug fix: implicit references to
it
into the closures are not causing serialisation issues, e.g. when the lambda is embedded into an event as the scope of this event. (details)
- Bug fix: avoid infinite loop when searching for
it
references into the lambda expressions (details).
1.2. SARL Validator
- The validator warns only when a event firing declaration does not concern an early-exit event. (details)
- The warning “unused function” is not any more generated when a function is invoked with one of its arguments with a default values (details).
1.3. Java Model Inferrer
- Avoid Java error when using
it
variable into the serializable lambdas. (details)
- Make the generation of the type members faster. (details)
- Ignoring files without Xtext content during the generation of the Java code (details).
2.1. New Features
- Add casting operators for:
- Bootstrap API:
- add functions into the Bootstrap API (details):
setSpecificContextUUID
, setUniverseContextUUID
, getUniverseContextUUID
, setUniverseSpaceUUID
and getUniverseSpaceUUID
.
- deprecate
setDefaultContextUUID
(details).
2.2. Time Extension
- Replace the numeric constants into the inline expressions of the time extension by the corresponding static constants (details).
3. Eclipse Product
- Removing all the support for x86 architectures (details). These architectures are not any more supported by the Eclipse framework. Consequently, these is not any more a SARL product for the 32-bit platforms.
3.2. UI Components
- Add the action “Convert to SARL Maven Project” into the pop-up menu on a project (details). This option enables to convert a standard SARL project into its equivalent Maven SARL project.
- Do not display the editor’s inconsistent state when the editor is dirty (details). This small update is a first answer to the old issue related to the inconsistent state of the editor comparing to the rest of the widgets (errors are appearing into the editor and not into the other widgets).
4. External Contributions to SARL: Examples
- Fixing the Sierpinski fractal demo in order to follow the recent evolution of the SARL syntax (details).
5. Janus Run-time Environment
- Allow cancellation of scheduled tasks before any future object is not provided by the Java thread manager (details). The cancellation is buffered until the future object is provided by the Java thread manager. At this time the task is automatically cancelled.
- Upgrade to ZeroMQ 0.5.0 (details).
- Upgrade to Hazelcast 3.11.2 (details).
- The batch compiler must not fail when only warnings were found into the compiled SARL code (details).
7. SARL Documentation
7.1. Documentation of the SARL Language
- Complete the documentation on the casting features (details).
7.2. FAQ
7.3. Documentation of SARL Code
- Add a documentation that explain how to create an API documentation for the SARL code, as Javadoc is doing for any Java code (details).
- Removing support for x86 architectures because Eclipse 2019-03 is not any more supporting them (details).
- Upgrade to Maven API 3.6.0 (details).
- Upgrade to Tycho 1.3.0 (1, 2). Add Tycho compiler options into the Maven pom file (details).
- Upgrade Arakhne libraries to version 15.2 (details).
- In the massive testing API, replacing the hard-coded
\n
by System.lineSeparator()
to avoid errors on Windows (details).
- Removing reference to
org.eclipse.equinox.ds
, and replacing it by `org.apache.felix.scr (details).
9. Changes in the Previous Versions