Xtext 2.29.0 Release Notes
Nov 21, 2022
Xtext 2.29.0 is a maintenance release.
Call to Action: Secure the future maintenance of Xtext
As you might have recognized, the number of people contributing to Xtext on a regular basis has declined over the past years and so has the number of contributions. At the same time the amount of work for basic maintenance has stayed the same or even increased with the new release cadence of Java and the Eclipse simultaneous release. Briefly: The future maintenance of Xtext is at risk, at least in the current form and as part of the Eclipse Simrel. If you care, please join the discussion in https://github.com/eclipse-xtext/xtext/issues/1721.
Xtext and Java 17
Xtext now supports Java 17 as source and target, too. This requires newer Eclipse platform and JDT versions that do no longer run on Java 8. That’s why the Xtext framework and Xtend compiler require Java 11 as minimal Java version from 2.29 onwards. While we were at it we also bumped the minimal tested Eclipse version to 2022-03 (2.28 was still compatible to and tested against Eclipse Oxygen). Please Note: We did no special treatment for newer Java constructs in Xtend, so what works, works, what does not, does not - the latter being most likely intentional. Please engage by filing bugs or pull requests (see also issue#1982.
Upgrades
- LSP4J was updated to 0.19.0
- GSON to 2.9.1
- Classgraph is now at 4.8.149
- ASM is now on 9.4
- MWE(2) is now at 1.8.0 / 2.14.0
- JUnit5 at 5.9.1
Changes / Enhancements
Standalone Builder
The Incremental Standlone Builder is now capable of performing incremental builds. Depending on the changes that happened since the previous compile run, only a subset of the model files need to be processed. Both model and Java file changes as well as class-path changes are taken into account. The feature is opt-in since it might break backwards compatibility for DSLs that use non-default code generation patterns. Incremental builds can also be enabled for the Xtext maven plugin xtext-extras#805.
<plugins>
<plugin>
<groupId>org.eclipse.xtext</groupId>
<artifactId>xtext-maven-plugin</artifactId>
<configuration>
<languages>
<language>
<javaSupport>(true|false)</javaSupport>
<setup>..MyDslStandaloneSetup</setup>
</language>
</languages>
<incrementalXtextBuild>true</incrementalXtextBuild>
</configuration>
<dependencies>
<dependency>
..
</dependency>
</dependencies>
</plugin>
</plugins>
LSP
Language server now has a beta version of semantic token support.
Credits
The Xtext project is thankful for the dedication of each committer and contributor. This release has been made possible by the following persons (in order of the number of contributed commits to this release to all repositories except xtext-xtend):
- Christian Dietrich (itemis)
- Sebastian Zarnekow (independent)
- Ruben Porras
- Lorenzo Bettini (Università degli Studi di Firenze)
Fixed Issues
As in every release cycle we were eagerly hunting down bugs, and reviewed and integrated plenty of contributions. For further details please refer to the following lists: