Xtext 2.14 released!

The Xtext team proudly announces the availability of the 2.14 release. While the previous releases have focused on performance and internal improvements this release comes with a bunch of new features that will ease your life and make your DSLs even more valuable. We encourage to update to this release. Xtext 2.14 will also be part of the upcoming Eclipse Photon release scheduled for June 27.

Update-handwritten


Of course 2.14 provides full compatibility with the recent Java 9 and 10 releases. Quite a lot of effort went into this support as Xtext is not the only part that needed adoption. We heavily rely on JDT, Gradle, Maven and Maven Tycho which all had to be compatible before.

The new version is fully compatible with your existing languages. To best employ the new features after the upgrade, we recommend to use the Xtext Project Wizard to create new projects with an up-to-date configuration and compare the setup with your existing language. For example, for Java 10 support, we had to upgrade the ASM library to version 6.1.1 and so do you.

The brand new Code Mining API from Eclipse Photon is supported by Xtext 2.14, too. To give it a try, you’ll need Eclipse Photon. You should use the latest Eclipse 4.8 Integration Build. The Domain-Model Example DSL contains a sample implementation for Code Minings and serves as a blueprint if you plan to implement your own. This is how it looks like in action:

Code-Mining-API-Eclipse-Photon-Xtext


As the Code Mining implementation in Eclipse is still under development, its inventor
Angelo Zerr is happy to get your feedback, too. Fame and fortune is to come if you report bugs to the Platform Text component in time so they can be fixed for the Photon release.

We also updated the testing infrastructure. The JUnit support has been extended so you can execute tests written with JUnit 5. The Xtext Project Wizard allows you now to select JUnit 5 for testing support and will produce a sample parser test and add the required dependencies.

Xtext-New-Project-Wizard


Creating project and file wizards for your DSL has always been a pain point. There already exists a non-well known generator fragment for an Eclipse New Project Wizard that produced a wizard which was not easily customizable. Now we have a new API and generator fragment that allows to produce
new project and new file wizards.

Xtext-New-Template-Wizard


The Xtext Grammar language now supports additional annotations for parser rules:

  • @Deprecated: This annotation marks a rule to be deprecated. Issue markers with are produced where a deprecated rule is used.
  • @Final: A rule marked as final cannot be overridden.
  • @Exported: With @Exported it can be customized on grammar level, which element types are exported to the index. The customization takes effect when at least one rule in a grammar is annotated with @Exported. By doing that you can easily manage visibility of elements and safe memory.

To enable your DSLs to run out of the box on as many editors as possible the support of the language server protocol was updated to 3.7 with VS code debug protocol 1.25.

Xtend 2.14 is released together with Xtext and of course also supports Java 9 and 10. In addition a few more enhancements are included. One nice thing to mention is the detection of unnecessary modifiers.

And of course we have worked on performance improvements and have closed bugs to improve overall behaviour while adding new features.

Xtext 2.14 is now available on the release update site.

If you have feedback please leave a comment. Suggestions for improvements, bug reports or code contributions are warmly welcome on GitHub. And if you are interested in news about Xtext in general follow us on Twitter. See you there!

About Xtext-Team

Holger Schill, Karsten Thoms, Christian Dietrich, Arne Deutsch and Sebastian Zarnekow are driving Xtext activities at itemis. They have many years of experience in language engineering and Open Source development and are actively contributing to the development of the Xtext framework. They gather their inspiration from customer projects which use Xtext in a large scale and variety, where they are actively involved in the development as well as offering professional support services.