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 bundle org.eclipse.xtext.testing, meant to replace the class TemporaryFolder, now deprecated, in org.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 dependency xtext-antlr-generator, which is included in the new dependency.
    For existing projects, we suggest to perform such a change manually.
    The org.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 from waitForBuild, cleanBuild and fullBuild. 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 method IResourcesSetupUtil.isAutobuild() should be used instead.
  • The class TargetPlatformUtil and its method setTargetPlatform 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: