Table of Contents


Xtext 2.28.0 Release Notes  Aug 29, 2022


Xtext 2.28.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/issues/1721.

Changes to org.eclipse.xtext.sdk feature.

The org.eclipse.xtext.sdk does no longer package the deprecated org.eclipse.xtext.generator bundle. Please migrate to the new workflow/generator. The old and deprecated generator can still be found in the new org.eclipse.xtext.generator feature.

Upgrades

  • LSP4J was updated to 0.15.0
  • GSON was updated to 2.9.0

Changes / Enhancements

  • LSP Code was optimized and enhanced. We have e.g. done some enhancements to Quickfix API.
  • Xtext Supports M2E 2.x
  • Xbase based formatters now can be subclassed in Java more easily.
  • Better support for needRebuild api in platform.

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)
Ruben Porras
Karsten Thoms (karakun)
Frank Benoit (ETAS)
Hannes Wellmann (IILS mbH)

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:


Xtext 2.27.0 Release Notes  May 30, 2022


Xtext 2.27.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/issues/1721.

Changes to org.eclipse.xtext.sdk feature.

The org.eclipse.xtext.sdk does no longer package the deprecated org.eclipse.xtext.generator bundle. Please migrate to the new workflow/generator. The old and deprecated generator can still be found in the new org.eclipse.xtext.generator feature.

Upgrades

  • Tycho 2.7.3
  • Xtext now uses Reload4j 1.2.19
  • Gradle 7.4.2 / xtext-gradle-plugin 3.0.2
  • ASM 9.3
  • MWE(2) to 1.7.0 / 2.13.0
  • LSP4j is now on version 0.14.0 / protocol version 3.17.0

Changes

  • The qualifiers of org.antlr.runtime,javax.xml,org.aopalliance have changed due to (breaking) changes in orbit.

Enhancements

  • Xtext makes now use of the enhanced possibilities for requesting rebuilds in platform. Please test this in your environments and give feedback
  • The experimental API for Quickfix code actions of the Xtext Language Server Protocol (LSP) implementation has been extended to support textual quickfixes. This comes in addition to the existing support for semantic quickfixes

Removals

  • Xtext no longer depends on commons lang

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)
  • Lorenzo Bettini (Università degli Studi di Firenze)
  • Ruben Porras
  • Sebastian Zarnekow (independent)
  • Lukas Foerner
  • Titouan Vervack (Sigasi)

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:


Xtext 2.26.0 Release Notes  Feb 28, 2022


Xtext 2.26.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/issues/1721.

Xtext and Java 17

Xtext now supports running on Java 17 with Java 8 and 11 targets. Source and Target 17 are not supported yet and are planned for Xtext 2.27.0. This will also require dropping Java 8 in the next release.

Upgrades

  • Tycho was updated to 2.6.0
  • GSON was updated to 2.8.9
  • LSP4J was updated to 0.12.0 / protocol version 3.16.0
  • Xtext now uses Guice 5.0.1 and thus the warnings on Java 11+ should be gone.
  • ASM was updated to 9.2
  • Gradle (in Wizard) is now updated to 7.x and the xtext-gradle-plugin to 3.0.1
  • Classgraph is updated to 4.8.137

Enhancements

  • The Xtext LSP implementation has learned folding support.
  • xtext-maven#139 : xtext-maven can now install trace information for DSLs with a derived Java model (for example languages using Xbase).
  • Dependencies to Log4j are now less restrictive so that you should be able to use reload4j as drop-in replacement.

Deprecations

  • The already deprecated MergeableManifest classes we marked “for removal”. Make sure you do not longer use them.
  • We will drop support for GWT in a future release.
  • The next Xtext version will likely no long support Java versions below Java 11.

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)
Karsten Thoms (Karakun)
Sebastian Zarnekow (independent)
Ruben Porras
Dennis Hübner (TypeFox)
Stefan Oehme (independent)
Titouan Vervack (Sigasi)
Edmundo Lopez
Mark Sujew (TypeFox)
Michael Keppler (ETAS)
Tamas Miklossy (itemis)
Nico Prediger (itemis)
Heinrich Weichert (AVL DiTEST)
Lawrence Goossens (Sigasi)
Oliver Libutzki (independent)

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:


Xtext 2.25.0 Release Notes  Mar 2, 2021


Xtext 2.25.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/issues/1721.

Documentation

The LSP Support section has been added to the Xtext documentation.

Upgrades

  • MWE(2) was updated to 2.12.1/1.6.1.
  • Xtext now uses Guava 30.1, ASM 9.1 and GSON 2.8.6.

Bugfixes

  • xtext-core#1648: A regression in JUnit 5 API was fixed. It should work well again.
  • xtext-core#1655: The ANTLR option k in the workflow works now as expected.
  • XbaseInterpreter now correctly handles the return; statement.

Enhancements

  • The Formatter2 is now flagged as API.
  • The Java API for Formatter2 learned a new, more fancy syntax. e.g. instead of it -> it.noSpace() you now can write this::noSpace.
  • The TemplateNewFileWizard and NewFileWizardPrimaryPage API is opened up to allow for easier customization.

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)
  • Arne Deutsch (itemis)
  • Tamas Miklossy (itemis)
  • Karsten Thoms (Karakun)
  • Nico Prediger (itemis)
  • Sebastian Zarnekow (independent)
  • Mark Sujew (TypeFox)
  • Harald Fassler
  • Andreas Heiduk
  • Lorenzo Addazi (Mälardalen University Sweden)

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:


Xtext 2.24.0 Release Notes  Dec 1, 2020


Xtext 2.24.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. If you care, please join the discussion in https://github.com/eclipse/xtext/issues/1721.

Java based API for new Formatter

With Xtext 2.24 we introduce a new preliminary API that allows you to implement the Formatter(2) in Java instead of Xtend. With Java 11 and later, you can use local variable type inference and the equivalent of commonly used extensions are available via delegate methods. We encourage you to give it a try and to give feedback.

Xtext Generator

The (new) Xtext Generator is now API.

Language Server Protocol

The Xtext Language Server Protocol (LSP) implementation has now an experimental API for Quickfix code actions (have a look at the IQuickFixProvider interface and QuickFixCodeActionService class).

Eclipse Integration

  • We did a number of performance improvments for editing .xtext files.
  • We fixed a flaw in ParallelBuilderParticipant that may have lead to missing generated files.
  • The Validate Action now should behave correctly with Fast, Normal and Expensive Checks.

No Xtend

The Xtext codebase (besides Xtend) is now, with a small number of exceptions in the language generation area, xbase and tests, completely written in Java and thus more proof in a future without Xtend.

Upgrades

  • Eclipse Platform and JDT Maven dependencies were updated to the 4.17 / Eclipse 2020-09 versions.
  • MWE(2) was updated to 2.12.0/1.6.0.
  • LSP4J was updated to 0.10.0, but you still can run it with 0.9.0 too.
  • Xtext now uses ASM 9.
  • Xtext Web uses JQuery 3.5.1.
  • We are now Junit 5.7 compatible.

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)
  • Karsten Thoms (Karakun)
  • Nico Prediger (itemis)
  • Arne Deutsch (itemis)
  • Sebastian Zarnekow (independent)
  • Neeraj Bhusare (Zafin)
  • Frank Benoit (ETAS)
  • George Suaridze (1C-Soft)
  • Hannes Niederhausen (itemis)
  • Heinrich Weichert (AVL DiTEST)
  • Srinivas Iyer (Nash Technologies)
  • Tamas Miklossy (itemis)
  • Titouan Vervack (Sigasi)

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:


Xtext 2.23.0 Release Notes  Sep 1, 2020


Xtext 2.23.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. If you care, please join the discussion in https://github.com/eclipse/xtext/issues/1721.

Xtext, Xtend, Eclipse, and Java 11

The Eclipse Platform and Java Development Tools have decided to migrate to Java 11 with the new 2020-09 (4.17) release. Xtext and Xtend depend on these projects both for the integration into Eclipse as well as in the LSP and standalone mode. Xtext 2.23 still works with Java 8, but if you want to work with Xtext in Eclipse 2020-09 (4.17) you have to start your Tycho builds with Java 11 as well as launch your Runtime Eclipse Applications with Java 11.

We decided to follow suit to close a window of opportunity for hard to find bugs. Therefore, the version 2.24 of Xtext and Xtend which is due along with Eclipse 2020-12 will be the first release that depends on Java 11. Please feel encouraged to join the discussion in https://github.com/eclipse/xtext/issues/1804 if you have any concerns, general comments or other suggestions.

UI Testing

The AbstractCodeMiningTest and the AbstractMultiQuickfixTest base classes have been added to the org.eclipse.xtext.ui.testing package to provide a convenient way to test the code mining and multi-quickfix capabilities. The Xtext example projects and the Xtend code base have been extended by concrete test cases to demonstrate the usage of these framework classes.

Junit 5

InjectionExtension now supports the Junit 5 @Nested tests.

Core API

A protected method to get at the lazy proxy information of a LazyLinkingResource was added to enable subclasses to work with these.

Eclipse Integration

Quickfix improvements

Convert a terminal fragment to a terminal rule. It resolves the following errors:

  • A rule call in the parser rule points to a terminal fragment.
  • A hidden token in the grammar definition or a parser rule points to a terminal fragment.

Remove illegal hidden token definition. It resolves the following errors:

  • The hidden-token points to a parser rule, terminal fragment, or an enum rule.

Create a new rule definition. It resolves the following errors:

  • An undefined parser rule is cross-referenced.
  • An undefined enum, terminal, or a terminal fragment is cross-referenced.

(xtext-eclipse#1448)

Eclipse API

The class org.eclipse.xtext.ui.editor.reconciler.TemplatePositionUpdater is now public to be usable for clients.

Upgrades

  • Eclipse platform dependencies where updated (e.g org.eclipse.core.runtime:3.17.100 to 3.18.0).

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)
  • Nico Prediger (itemis)
  • Sebastian Zarnekow (independent)
  • Karsten Thoms (Karakun)
  • Tamas Miklossy (itemis)
  • Arne Deutsch (itemis)
  • Jan Koehnlein (TypeFox)
  • Neeraj Bhusare (Zafin)
  • Titouan Vervack (Sigasi)
  • Hendrik Eeckhaut (Sigasi)
  • Frank Benoit (ETAS)
  • Aaron R Miller
  • Ivan Nieves
  • Stéphane Galland (Université de Technologie de Belfort)

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:


Xtext 2.22.0 Release Notes  Jun 2, 2020


Xtext 2.22.0 is mainly 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. If you care, please join the discussion in https://github.com/eclipse/xtext/issues/1721.

Documentation

The Xtext community website and the Xtext documentation website have been updated. New Xtext-based projects have been added, some editor features and the Unit testing / UI testing capabilities have been documented and the embedded code snippets have been updated as well.

We further enhanced the Xtext Developer Documentation to enable the community to easily contribute to Xtext.

Code Generation improvements

This release contains some fixes to improve the generated code in the src-gen folders. The following files are affected:

We encourage you to regenerate your languages with the latest Xtext version. Usually you do not recognize any changes, unless you check-in the src-gen folders in a version control system.

Eclipse Integration

Upgrades

  • Xtext 2.22 requires ASM 8.0.1 (updated from 7.2.0).
  • Maven Tycho was updated to version 1.7.0.
  • MWE(2) was updated to 2.11.3/1.5.3.

Removals

  • Xtext no longer has a direct dependency to ICU4J. If you use ICU4J in your codebase you should also consider to get rid of this dependencies as it will no longer be supported by Eclipse (Platform).
  • As announced in the 2.21 Release the deprecated API in the LSP area was removed.
  • We also removed the outdated leftovers of IDEA Support in org.eclipse.xtext.xtext.generator.

Deprecations

  • IXtext2EcorePostProcessor & XtendXtext2EcorePostProcessor & ProjectAwareXtendXtext2EcorePostProcessor were deprecated as they depend on old Xpand/Xtend(1). As already announced in the 2.21 release notes you should avoid depending on the old Xpand based org.eclipse.xtext.generator as well as on Xtend(1) based postprocessing. So if you have an .ext file right next to your .xtext file or subclass the interface it’s about time to switch to a manually maintained Ecore model.

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)
  • Tamas Miklossy (itemis)
  • Nico Prediger (itemis)
  • Sebastian Zarnekow (independent)
  • Karsten Thoms (Karakun)
  • Neeraj Bhusare (Zafin)
  • Arne Deutsch (itemis)
  • Jan Koehnlein (TypeFox)
  • George Suaridze (1C LLC)
  • Mathias Rieder (Bachmann)
  • Mikael Barbero (Eclipse Foundation)
  • Titouan Vervack (Sigasi)

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:


Xtext 2.21.0 Release Notes  Mar 3, 2020


Xtext 2.21 is mainly a maintenance release with a focus on internal improvements to enable more people to contribute and only a few new features. The internal usage of Xtend was reduced where it is not beneficial. This improves build performance and lowers the barrier for new contributors. Also all the tests that were failing on Windows only were adapted, such that developing Xtext on Windows machines is now more satisfying.

License Change

In compliance with general requirements by the Eclipse Foundation the license for Xtext & Xtend has been changed to EPL 2.0.

Documentation

The Xtext community website has been updated to list all the cool projects people are building around Xtext/Xtend.
The list is not yet complete, so feel free to contact us if you are also interested in listing your project there.

The documentation about the release process was improved to enable more people to contribute to this process.

Eclipse Integration

Skip create markers in target folders

Creation of markers in target folders is disabled. This avoids confusing error markers and improves performance at the same time.

Avoid generation of dependency to Xpand/old generator

The wizard to generate projects for existing ecore models does not create a dependency to deprecated Xpand/old generator any more.

xtext-maven-plugin

testGenerate Goal

The Maven plugin has now two goals, generate and testGenerate. The new testGenerate goal runs during the generate-test-sources phase and uses the test classpath of the Maven project.

LSP

Multiple root folders per workspace

Xtext based languages now allow a workspace to be composed of multiple root folders.

Upgrades

  • MWE(2) was updated to 2.11.2 / 1.5.2.
  • Xtext 2.21 now requires EMF 2.20 as minimal required version.
  • LSP4J is now on version 0.9.0 / Language Server Protocol version 3.15.
  • Maven Tycho was updated to version 1.6.0.
  • JUnit was updated to version 5.6.

Deprecations

  • In org.eclipse.xtext.ide many of the LSP Services were changed in the protocol to use service specific parameters instead of TextDocumentPositionParams. We adapted the services to use the new parameter classes and marked the old ones as deprecated and to be removed with Xtext 2.22. If you have custom subclasses of the affected services please adapt your implementations. This also holds true for deprecations in lsp services that we marked as deprecated in earlier releases.
  • We again encourage you to get rid of the old generator as we might have to remove it in 2020-06 / Xtext 2.22 - see/join Xtext Issue #1669.

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)
  • Karsten Thoms (Karakun)
  • Sebastian Zarnekow (independent)
  • Nico Prediger (itemis)
  • Tamas Miklossy (itemis)
  • Arne Deutsch (itemis)
  • Marcus Mews (NumberFour)
  • Lorenzo Bettini (Università degli Studi di Firenze)
  • Sven Efftinge (TypeFox)
  • Jan Rosczak (Hapag-Lloyd)
  • Jan Koehnlein (TypeFox)
  • Robert Lewis
  • Ryan Dunn
  • Mathias Rieder (Bachmann)
  • Hannes Niederhausen (itemis)
  • David Medina (Sigasi)

Fixed Issues

As in every release cycle we were eagerly hunting down bugs, and reviewed and integrated plenty of contributions. Almost 60 issues and 320 pull requests have made it into this release. For further details please refer to the following lists:


Xtext 2.20.0 Release Notes  Dec 3, 2019


Xtext 2.20.0 is mainly a maintenance release.

Eclipse Integration

EGit minimal version

Xtext requires to use EGit 4.1 or newer now. We have removed a workaround that prevented an endless build loop caused by EGit Bug#474003. Since we expect that no clients are still using Xtext >= 2.20 together with the ancient EGit version, we felt safe to finally remove this workaround.

New Project Wizard / New File Wizard improvements

The New Project Wizard / New File Wizard generator fragments have been extended by the generateToolbarButton option. Setting this option to true adds new project wizard / new file wizard buttons to the toolbar. Furthermore, the New Project Wizard templates provide an API to
register images that can be used in the template descriptions. All these wizard improvements are demonstrated by the Statemachine example shipped by the Xtext framework.

Xtext-Web

The Xtext-Web Entities Example provides improved validator and formatter capabilities, such as validating the entity, property and operation names, validating the uniquness of the property/operation definitions as well as properly formatting the defined packages, entities, properties and operations elements.

Upgrades

  • The Eclipse Modeling Workflow Engine (MWE2) was updated to version 2.11.1.
  • LSP4J is now on version 0.8.1.
  • Maven Tycho was updated to version 1.5.1.
  • Gradle to version 5.6.x (Should also work with Gradle 6.0.x which we will ship with Xtext 2.21).
  • grgit Gradle Plugin 4.0.0

Xtend

A word on Xtend. Back in 2013 Xtend was the “Java 10 of today” even before Java 8 was out. Meanwhile Java Release cadence has speeded up and many of Xtends features can be achieved with pure Java, too. There is still some areas where Xtend is particularly advanced like Code generation, Unit tests and lambda heavy APIs like JvmModelInferrer and Formatter. For other tasks there is no need to use Xtend. Also the resources we have no longer allow us to keep the head start against Java. And learning Xtend still is a burden for new Xtext users. To reflect this changed situation we have decided to make Java the default in the wizard again (except e.g. the Generator and a few other APIs). You can still decide if you want Java or Xtend in the workflow.

Deprecations

Old Generator

With Xtext 2.9 we changed the way Xtext languages are generated to a new generator infrastructure/workflow (org.eclipse.xtext.xtext.generator). Until now we still kept the support for the old (Xpand based) workflows and generator (org.eclipse.xtext.generator). We also allowed to use old generator fragments in new workflows through org.eclipse.xtext.generator.adapter.FragmentAdapter. As we want to stop using old Xpand in Xtext we will drop this support in a future Xtext release. We strongly recommend you to migrate to the new workflow and to get rid of the usages of FragmentAdapter.

Xtend(1) based IXtext2EcorePostProcessor

Xtext has basically two methods to work with metamodels. The first on is to infer the metamodel from the Grammar. The second one is to maintain it manually and import it in Xtext. In the past we had actually a third option too: To hook into the inference with a IXtext2EcorePostProcessor written in old Xtend(1). We plan to drop this feature in the future and recommend you to switch to a manually maintained metamodel.

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)
  • Karsten Thoms (itemis)
  • Sebastian Zarnekow (independent)
  • Tamas Miklossy (itemis)
  • D. Gabriel (Bachmann)
  • Jan Köhnlein (TypeFox)
  • Arne Deutsch (itemis)
  • Mathias Rieder
  • Elena Rogleva
  • Mark Christiaens (Sigasi)
  • Simeon Andreev (Advantest)
  • Stéphane Galland (Université de Technologie de Belfort)

Fixed Issues

As in every release cycle we were eagerly hunting down bugs, and reviewed and integrated plenty of contributions. Almost 60 issues and 320 pull requests have made it into this release. For further details please refer to the following lists:


Xtext 2.19.0 Release Notes  Sep 3, 2019


Xtext 2.19.0 is mainly a maintenance release.

LSP Integration

Xtext 2.19 now uses LSP4J version 0.8.0 / Language Server Protocol version 3.14.0. This allows you to consume Xtext Language Servers through WebSocket.

Classgraph

We use Classgraph to scan the classpath. This allows us to provide Standlone Content Assist proposals (LSP/WEB) not only when the application runs with Java 8 but with Java 11, too.

Upgrades

Xtext now uses Guava 27.1.0. The new version will be picked up automatically if you make use of the Xtext BOM or consume Xtext from its P2 repository.
The MWE(2) version was updated to 2.11.

Gradle

We made building Xtext projects and Xtext itself Gradle 6.0 ready and thus future-proof.

Maven Tycho

For our integration of Eclipse Tycho based builds with Eclipse Orbit we now make use of the new Orbit Simrel Alias https://download.eclipse.org/tools/orbit/downloads/2019-09 instead of our own solution https://download.eclipse.org/modeling/tmf/xtext/updates/orbit/2019-09.

Infrastructure

Xtend now is built on the new Kubernetes based CBI infrastructure JIRO.

More Upgrades

Xtext always follows the latest releases of the software it relies on. The following software upgrades have been considered for this release:

  • Latest supported Eclipse Platform 4.13 (a.k.a. 2019-09)
  • Eclipse MWE 2.11
  • Guava 27.1
  • LSP4J 0.8
  • jquery 3.4.1
  • node 10.16.0
  • Maven Plugins:
    • maven-compiler-plugin 3.8.1
    • maven-source-plugin 3.1.0
  • Gradle 5.5
  • Gradle Plugins:
    • com.github.johnrengelman.shadow 5.1.0
    • io.spring.dependency-management 1.0.8.RELEASE
    • de.esoco.gwt 1.0.9
    • org.ajoberstar.grgit 3.1.1

Deprecations

Generator Fragments

The generator fragments

  • org.eclipse.xtext.generator.adapter.FragmentAdapter
  • org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorComparisonFragment

have been marked deprecated. They are in the already deprecated bundle org.eclipse.xtext.generator. There is currently no replacement for this fragment in the new org.eclipse.xtext.xtext.generator bundle.

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)
  • Karsten Thoms (itemis)
  • Nico Prediger (itemis)
  • Sebastian Zarnekow (itemis)
  • Tamas Miklossy (itemis)
  • Lorenzo Addazi (Mälardalen University Sweden)
  • Marcus Mews (NumberFour)

Fixed Issues

As in every release cycle we were eagerly hunting down bugs, and reviewed and integrated plenty of contributions. 85 issues and 330 pull requests have made it into this release. For further details please refer to the following lists: