Xtext 2.38.0 Release Notes
Feb 26, 2025
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.
Relevant changes
- A new class,
TemporaryFolder,
has been added to the bundleorg.eclipse.xtext.testing
, meant to replace the classTemporaryFolder
, now deprecated, inorg.eclipse.xtext.xbase.testing
. Clients should update to the new class: the deprecated one will be removed in the future. -
Our project wizard for Maven/Tycho projects now generates this dependency for the
exec-maven-plugin
configuration for running the MWE2 workflow:<dependency> <groupId>org.eclipse.xtext</groupId> <artifactId>org.eclipse.xtext.xtext.generator.dependencies</artifactId> <version>${xtextVersion}</version> </dependency>
to avoid possible problems with EMF/Platform dependencies (e.g.,
NoSuchMethodError
) due to misaligned transitive dependencies.
This replaces the previously generated dependencyxtext-antlr-generator
, which is included in the new dependency.
For existing projects, we suggest to perform such a change manually.
Theorg.eclipse.xtext.xtext.generator.dependencies
bundle was introduced in the previous release. - A new method was introduced,
IResourcesSetupUtil.waitForJdtIndex
, that blocks until the JDT index finishes its indexing. This is now automatically called fromwaitForBuild
,cleanBuild
andfullBuild
. This new mechanism removed flaky UI tests from our builds.
Breaking changes
Xtext now requires Java 17 as the minimal Java version and 2024-03 as the minimal target platform.
Upgrades
Deprecations
- The method
IResourcesSetupUtil.isAutobuild(boolean)
has been deprecated and will be removed in a future release; its parameter was never used. The new methodIResourcesSetupUtil.isAutobuild()
should be used instead. - The class
TargetPlatformUtil
and its methodsetTargetPlatform
have been deprecated: with recent versions of Tycho and PDE, they are not needed anymore.
Removals
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).
- Lorenzo Bettini
- Christian Dietrich
- Sebastian Zarnekow
- Mehmet Emin Karaman
- Rubén Porras Campo
- Martin Jobst
- Tommaso Fonda
- Ed Merks
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: