<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Xtext - Language Engineering Framework</title>
    <description>Xtext is a framework for development of programming languages and domain specific languages. It covers all  aspects of a complete language infrastructure, from parsers, over linker, compiler or interpreter to fully-blown  top-notch Eclipse IDE integration. It comes with great defaults for all these aspects which at the same time can  be easily tailored to your individual needs.
</description>
    <link>http://xtext.org/Xtext/</link>
    <atom:link href="http://xtext.org/Xtext/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Tue, 28 Aug 2018 04:42:51 -0400</pubDate>
    <lastBuildDate>Tue, 28 Aug 2018 04:42:51 -0400</lastBuildDate>
    <generator>Jekyll v2.5.3</generator>
    
      <item>
        <title>Xtext 2.14.0 Release Notes</title>
        <description>&lt;p&gt;While the Xtext project has paid more attention on bug fixing for the past release, Xtext 2.14 is bringing a whole bunch of new features. This version is part of the Eclipse Photon (4.8) simultaneous release. An important focus was to keep up with the fast development pace of important technologies that Xtext is building on. Since its past release, Java 9 and 10 came out. Build technologies like Maven Tycho and Gradle were changed to support that, too. The Language Server Protocol is evolving rapidly. JUnit 5 is adopted by IDEs and build systems. And Xtext is now ready for all of them!&lt;/p&gt;

&lt;h2 id=&quot;java-9-and-10-support&quot;&gt;Java 9 and 10 Support&lt;/h2&gt;

&lt;p&gt;Xtext and Xtend 2.14 are able to compile with and against Java 9 &amp;amp; 10. Here are a few notes on the support&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;There is no native support for Java 9/10 module visibilities but we fall back to jdt/javac on that topic.&lt;/li&gt;
  &lt;li&gt;A current Maven version is required (tested with 3.5)&lt;/li&gt;
  &lt;li&gt;When using Gradle, version 4.7 is required at least. The wizard will create projects accordingly.&lt;/li&gt;
  &lt;li&gt;Java 9 requires Tycho 1.1 or newer, Java 10 requires Tycho 1.2&lt;/li&gt;
  &lt;li&gt;Java 9 requires Oxygen.1a at least, Java 10 requires Oxygen.3a. Eclipse Photon works fine for both.&lt;/li&gt;
  &lt;li&gt;Java 10 requires the org.objectweb.asm library in version 6.1.1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For upgrading existing project use the New Project Wizard to create a project with the desired settings and compare build relevant files (MANIFEST.MF, build.gradle, pom.xml, *.target) with the existing projects.&lt;/p&gt;

&lt;h2 id=&quot;junit-5-support&quot;&gt;JUnit 5 Support&lt;/h2&gt;

&lt;p&gt;Xtext now supports the JUnit 5 framework for writing tests. JUnit 5.1 or newer is required.&lt;/p&gt;

&lt;p&gt;For new projects the project wizard’s advanced page allows to select the desired JUnit version.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_14_wizard_junit5.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Created test projects directly only depend on the JUnit 5 API artifact&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;org.junit.jupiter:junit-jupiter-api:5.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Additional dependencies are configured by the JUnit Library container. This lowers the coupling to concrete JUnit versions and the test engine used. For example, Eclipse Photon is using JUnit 5.1, while Eclipse Oxygen is using JUnit 5.0. Furthermore, the execution of tests in build systems is using the test engines provided by the build system’s test plugins.&lt;/p&gt;

&lt;h2 id=&quot;new-grammar-annotations&quot;&gt;New Grammar Annotations&lt;/h2&gt;

&lt;p&gt;The Xtext Grammar language supports the following additional annotations for parser rules:&lt;/p&gt;

&lt;h3 id=&quot;deprecated&quot;&gt;@Deprecated&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_14_annotation_deprecated.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This annotation marks a rule to be deprecated. Issue markers with are produced where a deprecated rule is used. By default the severity of issue is &lt;em&gt;Warning&lt;/em&gt;. The severity level can be configured in the preferences. This feature will help you to do smooth langauage evolution of the time by informing your users about deprecated parts.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_14_annotation_preference.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;final&quot;&gt;@Final&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_14_annotation_final.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A rule marked with &lt;code&gt;@Final&lt;/code&gt; cannot be overridden.&lt;/p&gt;

&lt;h3 id=&quot;exported&quot;&gt;@Exported&lt;/h3&gt;

&lt;p&gt;As a default Xtext exports all elements to the index that have a name. For customizing this behaviour you need to create a custom IDefaultResourceDescriptionStrategy manually.&lt;br /&gt;
With &lt;code&gt;@Exported&lt;/code&gt; 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 &lt;code&gt;@Exported&lt;/code&gt;. By doing that you can easily manage visibility of elements and safe memory.&lt;/p&gt;

&lt;h2 id=&quot;eclipse-integration&quot;&gt;Eclipse Integration&lt;/h2&gt;

&lt;h3 id=&quot;create-action-quickfix&quot;&gt;Create Action Quickfix&lt;/h3&gt;

&lt;p&gt;Rules that can be consumed without object instantiation usually require a &lt;em&gt;Create Action&lt;/em&gt;. A typical example is when a rule defines an optional assignment. Xtext reports this as a warning in the grammar file.&lt;/p&gt;

&lt;p&gt;For problems of this kind a new &lt;em&gt;quickfix&lt;/em&gt; has been added that inserts the &lt;em&gt;Create Action&lt;/em&gt; at the proper place of the parser rule.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_14_create-action.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;code-mining-support&quot;&gt;Code Mining Support&lt;/h3&gt;

&lt;p&gt;Eclipse Photon (4.8) adds a new API called &lt;em&gt;Code Mining&lt;/em&gt;. With it text editors can inline additional semantic information into the text, which is not part of the text itself. A useful example to leverage this is to display names of inferred types, parameter names of a called function etc.&lt;/p&gt;

&lt;p&gt;Xtext adds a new bundle &lt;code&gt;org.eclipse.xtext.ui.codemining&lt;/code&gt; which is offering an API for usage of Code Mining with Xtext. The code generator fragment &lt;code&gt;org.eclipse.xtext.xtext.generator.ui.codemining.CodeMiningFragment&lt;/code&gt; can be added to the generator workflow to create a stub implementation and provide all dependencies and bindings for the use of this API.&lt;/p&gt;

&lt;p&gt;An example implementation has been added to the Domainmodel Example DSL. To learn more about the usage of this API install the example from the File menu and look up the &lt;code&gt;DomainmodelCodeMiningProvider&lt;/code&gt; class.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_14_domainmodel-codemining.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;new-project-and-file-wizard&quot;&gt;New Project and File Wizard&lt;/h3&gt;

&lt;p&gt;With two simple switches you can turn on the generation of a New Project Wizard and a New File Wizard for your language.&lt;/p&gt;

&lt;p&gt;These wizards are based on flexible templates to generate one or many projects with any number of files. You can enable the generation from your .mwe2 file with two simple switches:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;language = StandardLanguage {
    name = &quot;org.xtext.example.mydsl.MyDsl&quot;
    fileExtensions = &quot;mydsl&quot;
        
    fileWizard = {
        generate = true
    }
    projectWizard = {
        generate = true
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The wizard to create projects allows to select from a number of templates and creates one or, in certain situations helpful, even many projects.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_14_new-file-wizard.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The wizard to create files is more simple in its basic form and skips the template selection if there is only one file template.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_14_new-project-wizard-template-selection.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In case there are many templates the wizard gets a second page to configure the parameter whereas on the first page a combo box to select the template appears.&lt;/p&gt;

&lt;p&gt;The UI for the parameters of the templates as well as the templates them self are defined in code with a concise API. You do not need to fiddle around with SWT widgets and get most UI stuff for free. The templates are generated in the UI project of your language. You can adapt the generated templates, add new ones or contribute new template providers through extension points.&lt;/p&gt;

&lt;p&gt;If you generate the wizards for an existing project the &lt;code&gt;plugin.xml&lt;/code&gt; is not regenerated to not risk loosing manual changes you might have applied. Instead a &lt;code&gt;plugin.xml_gen&lt;/code&gt; is created. You have to merge the generated extensions to your &lt;code&gt;plugin.xml&lt;/code&gt; manually.&lt;/p&gt;

&lt;h3 id=&quot;console-icon&quot;&gt;Console Icon&lt;/h3&gt;

&lt;p&gt;The Xtext icon has been added for the Xtext console:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_14_console-icon.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;language-server-support&quot;&gt;Language Server Support&lt;/h2&gt;

&lt;p&gt;Xtext has been upgraded to LSP4J version 0.4.0. This includes the following features:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Implementation of the Language Server Protocol 3.7.0&lt;/li&gt;
  &lt;li&gt;Implementation of the VS Code Debug Protocol 1.25.0&lt;/li&gt;
  &lt;li&gt;Support multiple local and remote services&lt;/li&gt;
  &lt;li&gt;Improved error handling&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;emf-support&quot;&gt;EMF Support&lt;/h2&gt;

&lt;p&gt;With EMF 2.14 a new registry &lt;code&gt;EAnnotationValidator.Registry.INSTANCE&lt;/code&gt;, which had to be considered in Xtext’s testing support for resetting.&lt;/p&gt;

&lt;p&gt;EMF 2.8 &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=367569#c7&quot;&gt;introduced&lt;/a&gt; the concept &lt;code&gt;ResourceLocator&lt;/code&gt; in &lt;code&gt;ResourceSet&lt;/code&gt;s. Xtext’s specialized implementation &lt;code&gt;XtextResourceSet&lt;/code&gt; did not support that so far and has been extended now.&lt;/p&gt;

&lt;h2 id=&quot;change-serializer--rename-refactoring&quot;&gt;Change Serializer &amp;amp; Rename Refactoring&lt;/h2&gt;

&lt;p&gt;The past &lt;a href=&quot;/Xtext/releasenotes.html#/releasenotes/2017/10/20/version-2-13-0&quot;&gt;release 2.13&lt;/a&gt; introduced a new API for EMF Model Manipulation and an improved rename refactoring based on the new &lt;code&gt;IChangeSerializer&lt;/code&gt; API.&lt;/p&gt;

&lt;p&gt;These new features are still incubating. Several issues that were identified by the adoption of the features have been solved.&lt;/p&gt;

&lt;h2 id=&quot;performance&quot;&gt;Performance&lt;/h2&gt;

&lt;h3 id=&quot;output-configurations-cache&quot;&gt;Output Configurations Cache&lt;/h3&gt;

&lt;p&gt;A performance bottleneck was &lt;a href=&quot;https://github.com/eclipse/xtext-eclipse/issues/535&quot;&gt;discovered&lt;/a&gt; in the access to &lt;code&gt;IOutputConfiguration&lt;/code&gt;s in builder participants. The problem depends on the amount of files produced by code generators.&lt;/p&gt;

&lt;p&gt;A cache was introduced in class &lt;code&gt;BuilderParticipant&lt;/code&gt; to solve the issue.&lt;/p&gt;

&lt;h3 id=&quot;semantic-highlighting&quot;&gt;Semantic Highlighting&lt;/h3&gt;

&lt;p&gt;Computation of semantic highlighting &lt;a href=&quot;https://github.com/eclipse/xtext-eclipse/issues/347&quot;&gt;was performed twice&lt;/a&gt;. This was fixed and should improve editing experience especially for larger files with intensive use of semantic highlighting, for example like the Xtend language.&lt;/p&gt;

&lt;h3 id=&quot;queuedbuilddata&quot;&gt;QueuedBuildData&lt;/h3&gt;

&lt;p&gt;A bottleneck in class &lt;code&gt;QueuedBuildData&lt;/code&gt; has been &lt;a href=&quot;https://github.com/eclipse/xtext-eclipse/issues/40&quot;&gt;found&lt;/a&gt; that affects the build time for a large number of resources. The build time has been improved for this scenario.&lt;/p&gt;

&lt;h2 id=&quot;execution-environment&quot;&gt;Execution Environment&lt;/h2&gt;

&lt;p&gt;Xtext 2.14 comes with the following requirements for the execution environment:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Java: 1.8, 9 or 10&lt;/li&gt;
  &lt;li&gt;Eclipse Luna (4.4) or newer&lt;/li&gt;
  &lt;li&gt;EMF 2.10 or newer&lt;/li&gt;
  &lt;li&gt;Guice 3.0&lt;/li&gt;
  &lt;li&gt;Tycho 1.1, 1.2 (Java 10 or JUnit 5)&lt;/li&gt;
  &lt;li&gt;JUnit 4.12 or 5.1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note that bundle &lt;code&gt;org.eclipse.xtext.xbase.lib&lt;/code&gt; was compiled with Java 1.8 now, while being compatible to 1.6 in earlier versions.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;p&gt;More detailed information on some topics have been written in blog posts:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://blogs.itemis.com/en/xtext-2.14-adds-support-for-junit-5&quot;&gt;“Xtext 2.14 adds support for JUnit 5”&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://blogs.itemis.com/en/code-mining-support-in-xtext&quot;&gt;“Code Mining Support in Xtext”&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://blogs.itemis.com/en/generating-a-new-project-wizard-with-xtext-2.14&quot;&gt;“Generating a new project wizard with Xtext 2.14”&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://blogs.itemis.com/en/new-file-wizard-easy-to-generate-with-xtext-2.14&quot;&gt;“New File Wizard – easy to generate with Xtext 2.14”&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://blogs.itemis.com/de/new-project-wizard-einfach-mit-xtext-2-14-generieren&quot;&gt;“New Project Wizard: einfach mit Xtext 2.14 generieren”&lt;/a&gt; (German)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://blogs.itemis.com/de/new-file-wizard-einfach-mit-xtext-2.14-generieren&quot;&gt;“Erzeugen des New File Wizards”&lt;/a&gt; (German)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/lsp4j/blob/master/CHANGELOG.md&quot;&gt;LSP4J Changelog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;fixed-issues&quot;&gt;Fixed Issues&lt;/h2&gt;

&lt;p&gt;As in every release we are eagerly hunting down the bugs, review and integrate lots of contributions. 88 issues, 62 Pull Requests and 60 Bugzilla tickets have made it into this release. For further details please refer to the following lists:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://github.com/search?utf8=%E2%9C%93&amp;amp;q=is%3Aissue+milestone%3ARelease_2.14+is%3Aclosed+repo%3Aeclipse%2Fxtext+repo%3Aeclipse%2Fxtext-core+repo%3Aeclipse%2Fxtext-lib+repo%3Aeclipse%2Fxtext-extras+repo%3Aeclipse%2Fxtext-eclipse+repo%3Aeclipse%2Fxtext-idea+repo%3Aeclipse%2Fxtext-web+repo%3Aeclipse%2Fxtext-maven+repo%3Aeclipse%2Fxtext-xtend&amp;amp;type=Issues&amp;amp;ref=searchresults&quot;&gt;Fixed GitHub issues&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://github.com/search?utf8=%E2%9C%93&amp;amp;q=is%3Apr+milestone%3ARelease_2.14+is%3Aclosed+repo%3Aeclipse%2Fxtext+repo%3Aeclipse%2Fxtext-core+repo%3Aeclipse%2Fxtext-lib+repo%3Aeclipse%2Fxtext-extras+repo%3Aeclipse%2Fxtext-eclipse+repo%3Aeclipse%2Fxtext-idea+repo%3Aeclipse%2Fxtext-web+repo%3Aeclipse%2Fxtext-maven+repo%3Aeclipse%2Fxtext-xtend&amp;amp;type=Issues&amp;amp;ref=searchresults&quot;&gt;Closed Pull Requests&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;amp;bug_status=VERIFIED&amp;amp;bug_status=CLOSED&amp;amp;classification=Modeling&amp;amp;classification=Tools&amp;amp;columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ckeywords&amp;amp;f0=OP&amp;amp;f1=OP&amp;amp;f3=CP&amp;amp;f4=CP&amp;amp;known_name=Xtext%202.14&amp;amp;list_id=16618269&amp;amp;product=TMF&amp;amp;product=Xtend&amp;amp;query_based_on=Xtext%202.14&amp;amp;query_format=advanced&amp;amp;status_whiteboard=v2.14&amp;amp;status_whiteboard_type=allwordssubstr&quot;&gt;Fixed Eclipse Bugzilla tickets&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Wed, 23 May 2018 00:00:00 -0400</pubDate>
        <link>http://xtext.org/Xtext/releasenotes/2018/05/23/version-2-14-0.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2018/05/23/version-2-14-0.html</guid>
        
        
        <category>releasenotes</category>
        
      </item>
    
      <item>
        <title>Xtext 2.13.0 Release Notes</title>
        <description>&lt;h2 id=&quot;language-server-support&quot;&gt;Language Server Support&lt;/h2&gt;

&lt;h3 id=&quot;eclipse-new-project-wizard-language-server-build&quot;&gt;Eclipse New Project Wizard: Language Server Build&lt;/h3&gt;

&lt;p&gt;The New Project Wizard allows now to build an executable distribution of language server. On the advanced page a new option was added which is enabled when a Build System was selected. The option allows the selection of a distribution type:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Regular&lt;/strong&gt;: A batch script is created that is used to start the server. The DSL jars and all of its runtime dependencies are copied to the output folder.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fat Jar&lt;/strong&gt;: The language server is packaged in a single executable jar.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both Gradle and Maven are supported. When activated, the build script of the language’s Generic IDE project is extended and the language server is packaged to the project’s build&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_13_project-wizard-ls.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;eclipse-integration&quot;&gt;Eclipse Integration&lt;/h2&gt;

&lt;h3 id=&quot;configuration-error-detection&quot;&gt;Configuration Error Detection&lt;/h3&gt;

&lt;p&gt;Invalid combinations of bundles are a frequent source of errors. This can be caused by an invalid mixture of Xtext’s UI and runtime plugins, or by DSL plugins developed with a different version of Xtext than used in the environment where it fails.&lt;/p&gt;

&lt;p&gt;Although there can’t be done anything to get the plugins working on an invalid environment, the resulting failure messages were not good for the user, leaving an impression of an unstable framework.&lt;/p&gt;

&lt;p&gt;When running in an error during the initial creation of Guice injectors in the DSL’s UI or Xtext’s Shared UI bundle, the error is catched and an analysis of the runtime environment is included in the failure message. This allows better analysis of the root cause.&lt;/p&gt;

&lt;h3 id=&quot;multi-quickfixes&quot;&gt;Multi-Quickfixes&lt;/h3&gt;

&lt;p&gt;These are quickfixes that allow to be applied to multiple markers at once.&lt;/p&gt;

&lt;p&gt;TBD&lt;/p&gt;

&lt;h3 id=&quot;better-cancellation-in-refactorings&quot;&gt;Better Cancellation in Refactorings&lt;/h3&gt;

&lt;p&gt;You can how hit the cancel dialog in refactorings and it will actually cancel at the next opportunity and not at the end only.&lt;/p&gt;

&lt;h3 id=&quot;content-type-descriptor&quot;&gt;Content Type Descriptor&lt;/h3&gt;

&lt;p&gt;Xtext UI projects provide a Content Type Descriptor by contributing to the &lt;a href=&quot;https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fruntime_content_contributing.htm&quot;&gt;&lt;code&gt;org.eclipse.core.contenttype.contentTypes&lt;/code&gt; extension point&lt;/a&gt; to the &lt;code&gt;plugin.xml&lt;/code&gt; file. This is affecting performance on text searches in Eclipse, since Eclipse can decide that a DSL file has no binary content based on the content type’s base type. (&lt;a href=&quot;https://github.com/eclipse/xtext-eclipse/issues/379&quot;&gt;xtext-eclipse/issues/379&lt;/a&gt;)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;extension point=&quot;org.eclipse.core.contenttype.contentTypes&quot;&amp;gt;
	&amp;lt;content-type
		base-type=&quot;org.eclipse.core.runtime.text&quot;
		file-extensions=&quot;mydsl&quot;
		id=&quot;org.eclipse.xtext.mydsl.MyDSL.contenttype&quot;
		name=&quot;MyDSL File&quot;
		priority=&quot;normal&quot;&amp;gt;
	&amp;lt;/content-type&amp;gt;
&amp;lt;/extension&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&quot;new-api&quot;&gt;New API&lt;/h2&gt;

&lt;h3 id=&quot;emf-model-manipulation-api-incubating&quot;&gt;EMF Model Manipulation API (incubating)&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;IChangeSerializer&lt;/code&gt; is a new API to listen to changes that are made to the EMF model of an XtextResource and serialize them back to the document’s text. It has a number of benefits to the old &lt;code&gt;XtextDocument.modify()&lt;/code&gt; approach:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Direct integration with the formatter, such that changes are automatically nicely formatted.&lt;/li&gt;
  &lt;li&gt;Minimum text region changes resulting in less noise.&lt;/li&gt;
  &lt;li&gt;Many points to hook into, e.g. for automatic update of an import section.&lt;/li&gt;
  &lt;li&gt;More ways to optimize for a specific language and to tune performance.&lt;/li&gt;
  &lt;li&gt;Independence from Eclipse-UI concepts like the &lt;code&gt;Document&lt;/code&gt;. This makes it reusable in languages server implementations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can use the &lt;code&gt;IChangeSerializer&lt;/code&gt; for refactorings, semantic quickfixes, code lens etc. It still has a few limitations, e.g. it does not work with derived state models, that’s why we keep it provisional for now.&lt;/p&gt;

&lt;p&gt;Nevertheless, we have added the following new features based on it:&lt;/p&gt;

&lt;h3 id=&quot;rename-participants-for-eclipse-file-operations&quot;&gt;Rename Participants for Eclipse File Operations&lt;/h3&gt;

&lt;p&gt;Some languages tie the model file name to the content, like the package declaration in Java. For such cases you might want to participate in operations on files or directories, like move, rename or paste, to adapt your models automatically. Based on the new &lt;code&gt;IChangeSerializer&lt;/code&gt; we have implemented some generic file refactoring participants. You will get notified of such changes to react appropriately by registering your own &lt;code&gt;IResourceRelocationStrategy&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;extension point=&quot;org.eclipse.xtext.ui.resourceRelocationStrategy&quot;&amp;gt;
   &amp;lt;strategy class=&quot;mydsl.MydslExecutableExtensionFactory:mydsl.MydslResourceRelocationStrategy&quot;&amp;gt;
   &amp;lt;/strategy&amp;gt;
&amp;lt;/extension&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;alternative-rename-refactoring-for-xtext&quot;&gt;Alternative Rename Refactoring for Xtext&lt;/h3&gt;

&lt;p&gt;By enabling &lt;code&gt;useChangeSerializer&lt;/code&gt; flag in the workflow of your language&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Workflow {
  component = XtextGenerator {
    ...
    language = StandardLanguage {
      ...
      renameRefactoring = {
        useChangeSerializer = true
      ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;you will use an new, alternative rename refactoring for Eclipse based on the &lt;code&gt;IChangeSerializer&lt;/code&gt;. This flag will also generate the binding for the &lt;code&gt;IRenameService&lt;/code&gt; and thereby enable rename refactoring on your language server.&lt;/p&gt;

&lt;h3 id=&quot;xbase-library-orgeclipsextextxbaselib&quot;&gt;Xbase Library (&lt;code&gt;org.eclipse.xtext.xbase.lib&lt;/code&gt;)&lt;/h3&gt;

&lt;h4 id=&quot;no-arg-overloads-to-all-mutable-collection-literals&quot;&gt;No-arg overloads to all mutable collection literals&lt;/h4&gt;

&lt;p&gt;Class &lt;code&gt;CollectionLiterals&lt;/code&gt; was extended by no-arg methods for all mutable collection literals:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;newArrayList()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;newHashMap()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;newHashSet()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;newLinkedHashMap()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;newLinkedHashSet()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;newLinkedList()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Xtext’s code base was refactored to use these methods where appropriate. As a consequence Xtext requires at least version 2.13 of &lt;code&gt;org.eclipse.xtext.xbase.lib&lt;/code&gt;. Therefore bundle manifests were refactored to constraint the library bundle’s lower version. New projects will automatically add the version constraint to manifests.&lt;/p&gt;

&lt;h4 id=&quot;flatmap-extension-method&quot;&gt;flatMap extension method&lt;/h4&gt;

&lt;p&gt;A new convenience method &lt;code&gt;flatMap&lt;/code&gt; has been added to &lt;code&gt;IterableExtensions&lt;/code&gt; and &lt;code&gt;IteratorExtensions&lt;/code&gt;, which combines &lt;code&gt;map&lt;/code&gt; and &lt;code&gt;flatten&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@FinalFieldsConstructor
@Accessors
class Planet {
	final String name
	final List&amp;lt;Moon&amp;gt; moons
}

@FinalFieldsConstructor
@Accessors
class Moon {
	final String name
}


class Planets {
	def static void main (String[] args) {
		
		val Iterable&amp;lt;Planet&amp;gt; planets = #[
			new Planet(&quot;Earth&quot;, #[new Moon (&quot;Moon&quot;)]),
			new Planet(&quot;Mars&quot;, #[new Moon (&quot;Phobos&quot;), new Moon(&quot;Deimos&quot;)])
		]
		
		val moonNames_old = planets.map[moons].flatten.map[name]
		val moonNames_new = planets.flatMap[moons].map[name]
	}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&quot;tracing&quot;&gt;Tracing&lt;/h2&gt;

&lt;p&gt;Tracing can now be used for debugging in generated Java code as well. The &lt;code&gt;@Traced&lt;/code&gt; annotation now takes optionally a &lt;code&gt;useForDebugging=true&lt;/code&gt;. The &lt;code&gt;@TracedAccessors&lt;/code&gt; are now adds to the &lt;code&gt;._&amp;lt;feature&amp;gt;()&lt;/code&gt; extension method a &lt;code&gt;._&amp;lt;feature&amp;gt;(useForDebugging)&lt;/code&gt; extension method.&lt;/p&gt;

&lt;h2 id=&quot;refactoring&quot;&gt;Refactoring&lt;/h2&gt;

&lt;h3 id=&quot;jdt-dependency-reduction&quot;&gt;JDT Dependency Reduction&lt;/h3&gt;

&lt;p&gt;Xtext languages can be deployed in environments without JDT UI. In some use cases it was detected that this can still lead to runtime errors due to  (&lt;code&gt;NoClassDefFoundError&lt;/code&gt;). Dependencies in the following bundles have been resolved:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;org.eclipse.xtext.builder&lt;/code&gt; (&lt;a href=&quot;https://github.com/eclipse/xtext-eclipse/issues/386&quot;&gt;issue#386&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;org.eclipse.xtext.xbase.ui&lt;/code&gt; (&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=509630&quot;&gt;bug#509630&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We reduced usage of internal API which is subject for removal in JDT. Since older Xtext versions rely on this API, the API is kept by the JDT team for backwards compatibility of Xtext. (&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=525462&quot;&gt;bug#525462&lt;/a&gt;)&lt;/p&gt;

&lt;h3 id=&quot;improved-support-for-indentation-based-languages&quot;&gt;Improved Support for Indentation Based Languages&lt;/h3&gt;

&lt;p&gt;Token placement for INDENT / DEDENT tokens have been improved. This improves content assist for indentation based languages. (&lt;a href=&quot;https://github.com/eclipse/xtext-core/pull/366&quot;&gt;issue#366&lt;/a&gt;)&lt;/p&gt;

&lt;h3 id=&quot;new-generator-infrastructure&quot;&gt;New Generator Infrastructure&lt;/h3&gt;

&lt;p&gt;Xtext 2.9 introduced a &lt;a href=&quot;version-2-9-0&quot;&gt;new generator infrastructure&lt;/a&gt;. While new projects created with Xtext and the main languages in Xtext already used this generator, there were still some languages, especially test languages, that still used the deprecated old infrastructure. All languages are now migrated to the new generator.&lt;/p&gt;

&lt;h2 id=&quot;an-eye-on-quality&quot;&gt;An Eye on Quality&lt;/h2&gt;

&lt;p&gt;With every release we are working hard on fixing as many bugs as possible. Besides our Bugtrackers Eclipse Bugzilla and GitHub Issues the &lt;a href=&quot;https://www.codetrails.com/error-analytics/&quot;&gt;Automatic Error Reporting System&lt;/a&gt; at Eclipse (AERI) is an incredible valuable source of information for us. It uncovers real problems by real users, and has made error reporting to Eclipse a no-brainer.&lt;/p&gt;

&lt;p&gt;As Xtext is a complex framework with an incredible flexibility, much can go wrong. Often these errors indicate ways of usage which we could not predict, or they show problems in custom DSLs. Sometimes they uncover also errors in code that we use. We are actively visiting the reports we get into EARI, with a focus on frequently occuring events and new ones.&lt;/p&gt;

&lt;p&gt;The Xtext team is proud that this continuous effort finally pays off. For the first time ever, we had several weeks with no new problem report. And fighting against the existing issues no a clear burn-down curve (see the Incidents Timeline). From all problems reported to AERI, we have just ~12% open, and the most frequent and urgent ones are solved.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_13_aeri_problem_status.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;/Xtext/images/releasenotes/2_13_aeri_problem_resolution.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;/Xtext/images/releasenotes/2_13_aeri_incidents_timeline.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;improved-developer-contribution-support&quot;&gt;Improved Developer Contribution Support&lt;/h2&gt;

&lt;p&gt;Setting up a developer workspace has never been so easy! We have reviewed and updated our Oomph Setup which allows you to create an Eclipse development environment for Xtext with a few clicks. Just get the &lt;a href=&quot;https://www.eclipse.org/downloads/&quot;&gt;Eclipse Installer&lt;/a&gt;, go to Advanced Mode and select the Xtext subprojects you are working with. Let the Installer do the rest of the work while getting a fresh coffee.&lt;/p&gt;

&lt;h3 id=&quot;execution-environment&quot;&gt;Execution Environment&lt;/h3&gt;

&lt;p&gt;Minimal requirements are:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Java 8&lt;/li&gt;
  &lt;li&gt;Eclipse Luna&lt;/li&gt;
  &lt;li&gt;EMF 2.10&lt;/li&gt;
  &lt;li&gt;Guice 3.0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Xtext has been tested also on Eclipse Oxygen.1a and Eclipse Photon M2.&lt;/p&gt;

&lt;h2 id=&quot;some-words-on-java-9&quot;&gt;Some words on Java 9&lt;/h2&gt;

&lt;p&gt;Java 9 Support in Eclipse Oxygen 1a and Xtext 2.13 is not yet in a perfect state. To be able to run mwe workflows you need either to remove &lt;code&gt;org.objectweb.asm&lt;/code&gt; from the mwe classpath (adapting manifest or build.properties) or install ASM 6.0 from the latest Eclipse Orbit repositories. The Compilation of Xtext projects with Java 9 is terrible slow due to a know &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=526209&quot;&gt;bug&lt;/a&gt; in JDT. So using Xtext 2.13 and Java 9 in production should be considered thrice and is not recommended. Setting the compiler level to 1.8 mitigates the performance issue slightly.&lt;/p&gt;

&lt;h2 id=&quot;fixed-issues&quot;&gt;Fixed Issues&lt;/h2&gt;

&lt;p&gt;As in every release we are eagerly hunting down the bugs, review and integrate lots of contributions. 88 issues, 62 Pull Requests and 60 Bugzilla tickets have made it into this release. For further details please refer to the following lists:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://github.com/search?utf8=%E2%9C%93&amp;amp;q=is%3Aissue+milestone%3ARelease_2.13+is%3Aclosed+repo%3Aeclipse%2Fxtext+repo%3Aeclipse%2Fxtext-core+repo%3Aeclipse%2Fxtext-lib+repo%3Aeclipse%2Fxtext-extras+repo%3Aeclipse%2Fxtext-eclipse+repo%3Aeclipse%2Fxtext-idea+repo%3Aeclipse%2Fxtext-web+repo%3Aeclipse%2Fxtext-maven+repo%3Aeclipse%2Fxtext-xtend&amp;amp;type=Issues&amp;amp;ref=searchresults&quot;&gt;Fixed GitHub issues&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://github.com/search?utf8=%E2%9C%93&amp;amp;q=is%3Apr+milestone%3ARelease_2.13+is%3Aclosed+repo%3Aeclipse%2Fxtext+repo%3Aeclipse%2Fxtext-core+repo%3Aeclipse%2Fxtext-lib+repo%3Aeclipse%2Fxtext-extras+repo%3Aeclipse%2Fxtext-eclipse+repo%3Aeclipse%2Fxtext-idea+repo%3Aeclipse%2Fxtext-web+repo%3Aeclipse%2Fxtext-maven+repo%3Aeclipse%2Fxtext-xtend&amp;amp;type=Issues&amp;amp;ref=searchresults&quot;&gt;Closed Pull Requests&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;amp;bug_status=VERIFIED&amp;amp;bug_status=CLOSED&amp;amp;classification=Modeling&amp;amp;classification=Tools&amp;amp;columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ckeywords&amp;amp;f0=OP&amp;amp;f1=OP&amp;amp;f3=CP&amp;amp;f4=CP&amp;amp;known_name=Xtext%202.13&amp;amp;list_id=16618269&amp;amp;product=TMF&amp;amp;product=Xtend&amp;amp;query_based_on=Xtext%202.13&amp;amp;query_format=advanced&amp;amp;status_whiteboard=v2.13&amp;amp;status_whiteboard_type=allwordssubstr&quot;&gt;Fixed Eclipse Bugzilla tickets&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Fri, 20 Oct 2017 00:00:00 -0400</pubDate>
        <link>http://xtext.org/Xtext/releasenotes/2017/10/20/version-2-13-0.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2017/10/20/version-2-13-0.html</guid>
        
        
        <category>releasenotes</category>
        
      </item>
    
      <item>
        <title>Xtext 2.12.0 Release Notes</title>
        <description>&lt;p&gt;Xtext 2.12.0 brings several bug fixes and a new API for tracing generated code.&lt;/p&gt;

&lt;h2 id=&quot;new-tracing-api-for-generators&quot;&gt;New Tracing API for Generators&lt;/h2&gt;

&lt;p&gt;The new API in the &lt;code&gt;org.eclipse.xtext.generator.trace&lt;/code&gt; package allows to generate text files along with trace files. These trace files can be used by generic UI such as the “Open Generated File” action as well as domain-specific features such as debugging. It’s very easy to add such tracing information to a code generator, e.g. with &lt;a href=&quot;https://www.eclipse.org/xtend/documentation/203_xtend_expressions.html#templates&quot;&gt;Xtend templates&lt;/a&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-xtend&quot;&gt;class MyDslGenerator extends AbstractGenerator {
	
	@TracedAccessors(MyDslFactory)
	static class MyDslTraceExtensions {}
	
	@Inject extension MyDslTraceExtensions

	override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
		val m = resource.contents.head as Model
		
		fsa.generateTracedFile(&quot;foo/Bar.txt&quot;, m, &#39;&#39;&#39;
			// generated
			«FOR c : m.types»
				«generateClass(c)»
			«ENDFOR»
		&#39;&#39;&#39;)
	}
	
	@Traced def generateClass(ClassDeclaration it) &#39;&#39;&#39;
		class «_name» {
			«FOR m : members»
				«generateMember(m)»
			«ENDFOR»
		}
	&#39;&#39;&#39;
	
	@Traced def dispatch generateMember(Operation it) &#39;&#39;&#39;
		«_name»(«FOR it : parameter»«_name» : «_type[name.name]»«ENDFOR») : «_type[name.name]»
	&#39;&#39;&#39;
	
	@Traced def dispatch generateMember(Property it) &#39;&#39;&#39;
		«_name» : «_type[name.name]»
	&#39;&#39;&#39;
	
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Here &lt;code&gt;_name&lt;/code&gt; and &lt;code&gt;_type&lt;/code&gt; are &lt;a href=&quot;https://www.eclipse.org/xtend/documentation/202_xtend_classes_members.html#extension-methods&quot;&gt;extension methods&lt;/a&gt; that are generated for the metamodel of the specific language. They generate text and trace it to the respective part of the DSL source. You can find the &lt;a href=&quot;https://github.com/TypeFox/tracing_codegen&quot;&gt;full example project on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;bug-lists&quot;&gt;Bug Lists&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://github.com/search?utf8=%E2%9C%93&amp;amp;q=is%3Aissue+milestone%3ARelease_2.12+is%3Aclosed+repo%3Aeclipse%2Fxtext+repo%3Aeclipse%2Fxtext-core+repo%3Aeclipse%2Fxtext-lib+repo%3Aeclipse%2Fxtext-extras+repo%3Aeclipse%2Fxtext-eclipse+repo%3Aeclipse%2Fxtext-idea+repo%3Aeclipse%2Fxtext-web+repo%3Aeclipse%2Fxtext-maven+repo%3Aeclipse%2Fxtext-xtend&amp;amp;type=Issues&amp;amp;ref=searchresults&quot;&gt;Fixed GitHub issues&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://github.com/search?utf8=%E2%9C%93&amp;amp;q=is%3Apr+milestone%3ARelease_2.12+is%3Aclosed+repo%3Aeclipse%2Fxtext+repo%3Aeclipse%2Fxtext-core+repo%3Aeclipse%2Fxtext-lib+repo%3Aeclipse%2Fxtext-extras+repo%3Aeclipse%2Fxtext-eclipse+repo%3Aeclipse%2Fxtext-idea+repo%3Aeclipse%2Fxtext-web+repo%3Aeclipse%2Fxtext-maven+repo%3Aeclipse%2Fxtext-xtend&amp;amp;type=Issues&amp;amp;ref=searchresults&quot;&gt;Closed Pull Requests&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 25 May 2017 04:00:00 -0400</pubDate>
        <link>http://xtext.org/Xtext/releasenotes/2017/05/25/version-2-12-0.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2017/05/25/version-2-12-0.html</guid>
        
        
        <category>releasenotes</category>
        
      </item>
    
      <item>
        <title>Xtext 2.11.0 Release Notes</title>
        <description>&lt;p&gt;Version 2.11.0 is the first release of Xtext after its big internal restructuring. The successful core of Xtext is used in many applications and projects around the world, as a result our main focus for 2.11 has been keeping the high quality and stability of the project while setting the course for a more sustainable future.&lt;/p&gt;

&lt;h2 id=&quot;restructuring-and-build&quot;&gt;Restructuring and Build&lt;/h2&gt;

&lt;p&gt;Xtext and Xtend used to be one big Git repository containing all sources for Eclipse, IDEA, Web integration etc. As of 2.11, we split that into multiple smaller repository, such that you can choose yourself which ones you need. These are&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-core&quot;&gt;xtext-core&lt;/a&gt;: The core framework, &lt;a href=&quot;https://github.com/Microsoft/vscode-languageserver-protocol&quot;&gt;Language Server&lt;/a&gt; support&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-lib&quot;&gt;xtext-lib&lt;/a&gt;: Libraries for &lt;a href=&quot;/Xtext/documentation/305_xbase.html&quot;&gt;Xbase&lt;/a&gt; and &lt;a href=&quot;http://www.xtend-lang.org&quot;&gt;Xtend&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-extras&quot;&gt;xtext-extras&lt;/a&gt;: Additional editor-independent features, mostly Java support&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-eclipse&quot;&gt;xtext-eclipse&lt;/a&gt;: Plug-ins for &lt;a href=&quot;http://eclipse.org&quot;&gt;Eclipse&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-idea&quot;&gt;xtext-idea&lt;/a&gt;: Plug-ins for &lt;a href=&quot;https://www.jetbrains.com/idea/&quot;&gt;IntelliJ IDEA&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-web&quot;&gt;xtext-web&lt;/a&gt;: Support for &lt;a href=&quot;http://eclipse.org/orion/&quot;&gt;Orion&lt;/a&gt;, &lt;a href=&quot;http://ace.c9.io&quot;&gt;Ace&lt;/a&gt; and &lt;a href=&quot;https://codemirror.net&quot;&gt;CodeMirror&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-maven&quot;&gt;xtext-maven&lt;/a&gt;: Support for &lt;a href=&quot;https://maven.apache.org&quot;&gt;Maven&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-xtend&quot;&gt;xtext-xtend&lt;/a&gt;: The &lt;a href=&quot;http://www.xtend-lang.org&quot;&gt;Xtend&lt;/a&gt; language&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-umbrella&quot;&gt;xtext-umbrella&lt;/a&gt;: Common Eclipse features and P2 update sites&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition to that, we use Gradle now to build all non-Eclipse artifacts and Maven/Tycho for the Eclipse plug-ins. We have also set up a very sophisticated staged Jenkins build that allows to build from individual branches as well.&lt;/p&gt;

&lt;h2 id=&quot;language-server-protocol&quot;&gt;Language Server Protocol&lt;/h2&gt;

&lt;p&gt;With 2.11 the Xtext project supports the &lt;a href=&quot;https://github.com/Microsoft/language-server-protocol&quot;&gt;language server protocol&lt;/a&gt; (LSP), which will allow users to host their languages in many different editors. So far LSP support for &lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;VS Code&lt;/a&gt;, the Eclipse IDE, &lt;a href=&quot;https://www.eclipse.org/che/&quot;&gt;Eclipse Che&lt;/a&gt;, &lt;a href=&quot;https://orionhub.org&quot;&gt;Eclipse Orion&lt;/a&gt;, and Emacs exists. Furthermore Microsoft’s Monaco editor provides support and can be integrated in any JavaScript application.&lt;/p&gt;

&lt;p&gt;The LSP support in Xtext v2.11 is marked as provisional to leave open the possibility to further enhance the architecture and API. That said it is known to be used in commercial products already. Also in the long term the LSP support might replace the native &lt;a href=&quot;/Xtext/documentation/330_web_support.html&quot;&gt;web-editor support&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_11_vscode_example.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;idea-support&quot;&gt;IDEA Support&lt;/h2&gt;

&lt;p&gt;The IntelliJ IDEA integration of Xtext is currently lacking contributors. Therefore, unfortunately, the IDEA support has &lt;strong&gt;not&lt;/strong&gt; been part of the 2.11 release. &lt;a href=&quot;https://github.com/eclipse/xtext-idea/issues&quot;&gt;Contributions are very welcome&lt;/a&gt;!&lt;/p&gt;

&lt;h2 id=&quot;important-changes&quot;&gt;Important Changes&lt;/h2&gt;

&lt;h3 id=&quot;execution-environment&quot;&gt;Execution Environment&lt;/h3&gt;

&lt;p&gt;All Xtext plug-ins now require JavaSE-1.8 as execution environment. The minimal supported target platform is Eclipse Luna.&lt;/p&gt;

&lt;h3 id=&quot;testing-projects&quot;&gt;Testing Projects&lt;/h3&gt;

&lt;p&gt;There are new projects &lt;code&gt;org.eclipse.xtext.testing&lt;/code&gt; for general testing utility and &lt;code&gt;org.eclipse.xtext.xbase.testing&lt;/code&gt; for testing Xbase languages. These projects contain the platform-independent code from &lt;code&gt;org.eclipse.xtext.junit4&lt;/code&gt; and &lt;code&gt;org.eclipse.xtext.xbase.junit&lt;/code&gt;, respectively. The classes that have been copied to the new &lt;code&gt;testing&lt;/code&gt; projects are now marked as deprecated in the old &lt;code&gt;junit&lt;/code&gt; projects, but those can still be used for testing Eclipse UI features.&lt;/p&gt;

&lt;h3 id=&quot;ide-guice-module&quot;&gt;IDE Guice Module&lt;/h3&gt;

&lt;p&gt;Xtext uses &lt;a href=&quot;/Xtext/documentation/302_configuration.html#dependency-injection&quot;&gt;dependency injection with Guice&lt;/a&gt; for language-specific configuration. There are separated hierarchies of Guice modules that aim at different integration platforms: &lt;a href=&quot;https://github.com/eclipse/xtext-core/blob/master/org.eclipse.xtext/src/org/eclipse/xtext/service/DefaultRuntimeModule.java&quot;&gt;Runtime&lt;/a&gt; (core services used by all language integrations), &lt;a href=&quot;https://github.com/eclipse/xtext-eclipse/blob/master/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/DefaultUiModule.java&quot;&gt;Eclipse&lt;/a&gt;, &lt;a href=&quot;https://github.com/eclipse/xtext-idea/blob/master/org.eclipse.xtext.idea/src/org/eclipse/xtext/idea/DefaultIdeaModule.xtend&quot;&gt;IDEA&lt;/a&gt;, and &lt;a href=&quot;https://github.com/eclipse/xtext-web/blob/master/org.eclipse.xtext.web/src/main/java/org/eclipse/xtext/web/server/DefaultWebModule.xtend&quot;&gt;Web&lt;/a&gt;. The 2.11 release introduces a new &lt;a href=&quot;https://github.com/eclipse/xtext-core/blob/master/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/DefaultIdeModule.xtend&quot;&gt;IDE&lt;/a&gt; module hierarchy, which is used for generic editor and IDE features. This new module is employed by the &lt;a href=&quot;/Xtext/documentation/330_web_support.html&quot;&gt;web-editor support&lt;/a&gt; and the LSP support, but not by the Eclipse and IDEA integrations.&lt;/p&gt;

&lt;p&gt;The new IDE module brings reusability of many language-specific services, but the price for this is some API breakage. If you are already using the web-editor support, you’ll need to make a few changes to your language configuration:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Remove constructors from &lt;code&gt;&amp;lt;Language Name&amp;gt;WebModule&lt;/code&gt;. ExecutorServices are now managed by the &lt;a href=&quot;https://github.com/eclipse/xtext-core/blob/master/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/ExecutorServiceProvider.xtend&quot;&gt;ExecutorServiceProvider&lt;/a&gt; and disposed by the &lt;a href=&quot;https://github.com/eclipse/xtext-core/blob/master/org.eclipse.xtext.util/src/org/eclipse/xtext/util/DisposableRegistry.xtend&quot;&gt;DisposableRegistry&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Move custom bindings for generic IDE services from &lt;code&gt;&amp;lt;Language Name&amp;gt;WebModule&lt;/code&gt; to the new &lt;code&gt;&amp;lt;Language Name&amp;gt;IdeModule&lt;/code&gt; (e.g. content assist).&lt;/li&gt;
  &lt;li&gt;Fix &lt;code&gt;&amp;lt;Language Name&amp;gt;WebSetup&lt;/code&gt; and &lt;code&gt;&amp;lt;Language Name&amp;gt;Servlet&lt;/code&gt;; if unsure how to do that, delete them, re-run the language generator workflow, and reapply any customizations you made.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;xbase-features&quot;&gt;Xbase Features&lt;/h2&gt;

&lt;h3 id=&quot;improved-xbase-compiler&quot;&gt;Improved Xbase Compiler&lt;/h3&gt;

&lt;p&gt;The Java code produced by the Xbase compiler is now &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=492072&quot;&gt;less verbose and more readable&lt;/a&gt;. For many situations Xbase does not produce synthetic variables anymore.&lt;/p&gt;

&lt;p&gt;For &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=501975&quot;&gt;switch statements on Strings&lt;/a&gt; an additional null guard is produced. This lead to NPEs when a null argument was passed to the switch statement.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_11_xbase-switch-nullguard.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A for-loop over an array resulted in uncompilable Java code. This has been &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=440006&quot;&gt;fixed&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;comparison-with-null&quot;&gt;Comparison with null&lt;/h3&gt;

&lt;p&gt;For comparison expressions with &lt;code&gt;null&lt;/code&gt; as argument it is more efficient to use the triple (not) equals operator &lt;code&gt;===&lt;/code&gt; and &lt;code&gt;!==&lt;/code&gt; instead of &lt;code&gt;==&lt;/code&gt; and &lt;code&gt;!=&lt;/code&gt;. While the “normal” operators will result in a call of &lt;code&gt;Objects.equal&lt;/code&gt;, the triple equals operator can perform a direct comparison.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_11_xbase-compare-null-gen.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For these situations &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=401012&quot;&gt;a warning is produced&lt;/a&gt; and &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=403018&quot;&gt;a quickfix is offered&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_11_xbase-compare-null-quickfix.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;xtext-project-wizard&quot;&gt;Xtext Project Wizard&lt;/h2&gt;

&lt;h3 id=&quot;usability&quot;&gt;Usability&lt;/h3&gt;

&lt;p&gt;We have examined the user experience with the New Xtext Project wizard and improved it with the input we gained from users. It was possible to enter invalid values for &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=481380&quot;&gt;project names&lt;/a&gt; and &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=481380&quot;&gt;file extensions&lt;/a&gt;, this is now checked.&lt;/p&gt;

&lt;p&gt;An usability test of the advanced configuration page revealed that especially less experienced users could had &lt;a href=&quot;https://github.com/eclipse/xtext-eclipse/issues/119&quot;&gt;issues with the dependencies between options&lt;/a&gt;. From different proposals it turned out best from the user’s perspective if mandatory options are automatically selected and disable. Further an information message is presented to the user about this action. The ‘Generic IDE Support’ option gets an additional information hover.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_11_project-wizard-autoselect.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The wizard’s text messages have been revised and &lt;a href=&quot;https://github.com/eclipse/xtext-eclipse/pull/157&quot;&gt;made consistent&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;line-delimiter&quot;&gt;Line Delimiter&lt;/h3&gt;

&lt;p&gt;The Xtext project wizard now &lt;a href=&quot;https://github.com/eclipse/xtext-core/issues/101&quot;&gt;considers the workspace default line delimiter&lt;/a&gt; and configures the generated MWE2 workflow accordingly. As a result the artifacts produced by the Xtext generator will use the same line delimiter explicitly.&lt;/p&gt;

&lt;h3 id=&quot;tycho-build-configuration&quot;&gt;Tycho Build Configuration&lt;/h3&gt;

&lt;p&gt;For projects that are created with Eclipse plug-in and Maven as build system, the generated target definition is upgraded to &lt;a href=&quot;https://github.com/eclipse/xtext-core/issues/79&quot;&gt;use the Eclipse Neon repository&lt;/a&gt;. Eclipse Tycho is &lt;a href=&quot;https://github.com/eclipse/xtext-core/issues/76&quot;&gt;configured with version 0.25.0&lt;/a&gt; now.&lt;/p&gt;

&lt;h2 id=&quot;example-projects&quot;&gt;Example Projects&lt;/h2&gt;

&lt;p&gt;The provided example projects have been revised and use the new generator workflow, new project structure and new testing modules.&lt;/p&gt;

&lt;h2 id=&quot;deprecated-components&quot;&gt;Deprecated Components&lt;/h2&gt;

&lt;h3 id=&quot;old-xtext-generator&quot;&gt;Old Xtext Generator&lt;/h3&gt;

&lt;p&gt;With Xtext 2.9 a &lt;a href=&quot;/Xtext/releasenotes.html#/releasenotes/2015/11/16/version-2-9-0&quot;&gt;new generator infrastructure was introduced&lt;/a&gt;. In favor of this new generator &lt;a href=&quot;https://github.com/eclipse/xtext-core/issues/58&quot;&gt;the old generator has been deprecated&lt;/a&gt;. Bugfixes will be done primarily for the new generator and most of them will not be backported, thus it is highly recommended to migrate your languages’ &lt;code&gt;.mwe2&lt;/code&gt; workflows to use the new &lt;a href=&quot;https://github.com/eclipse/xtext-core/blob/master/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/XtextGenerator.xtend&quot;&gt;&lt;code&gt;org.eclipse.xtext.xtext.XtextGenerator&lt;/code&gt;&lt;/a&gt; component.&lt;/p&gt;

&lt;h3 id=&quot;running-the-language-generator-from-maven&quot;&gt;Running the Language Generator from Maven&lt;/h3&gt;

&lt;p&gt;The Maven POM module &lt;a href=&quot;http://repo1.maven.org/maven2/org/eclipse/xtext/org.eclipse.xtext.xtext/&quot;&gt;org.eclipse.xtext.xtext&lt;/a&gt;, which has been deprecated since 2015, is no longer published. If you use the old generator component, you should replace the &lt;code&gt;org.eclipse.xtext.xtext&lt;/code&gt; dependency according to the &lt;a href=&quot;http://repo1.maven.org/maven2/org/eclipse/xtext/org.eclipse.xtext.xtext/2.10.0/org.eclipse.xtext.xtext-2.10.0.pom&quot;&gt;dependencies of that module&lt;/a&gt;. The new generator component requires much fewer dependencies; a suitable configuration for it can be obtained by creating a new Maven project with the Xtext project wizard.&lt;/p&gt;

&lt;h2 id=&quot;fixed-bugs&quot;&gt;Fixed Bugs&lt;/h2&gt;

&lt;h3 id=&quot;closed-memory-leaks&quot;&gt;Closed Memory Leaks&lt;/h3&gt;

&lt;p&gt;The memory leak affected editors and &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=493784&quot;&gt;downgraded performance while editing&lt;/a&gt; resources for which JVM types are inferred (including Xtend).&lt;/p&gt;

&lt;p&gt;A second leak affected the &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=479328&quot;&gt;Syntax Graph View&lt;/a&gt; and slowed down the IDE.&lt;/p&gt;

&lt;h3 id=&quot;performance&quot;&gt;Performance&lt;/h3&gt;

&lt;p&gt;The Serializer was &lt;a href=&quot;https://github.com/eclipse/xtext-core/issues/17&quot;&gt;performing poor&lt;/a&gt; for certain grammars. This has been fixed.&lt;/p&gt;

&lt;h3 id=&quot;bug-lists&quot;&gt;Bug Lists&lt;/h3&gt;

&lt;p&gt;In addition to the restructuring and the LSP support many bugs have been fixed:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;amp;bug_status=VERIFIED&amp;amp;bug_status=CLOSED&amp;amp;chfield=resolution&amp;amp;chfieldfrom=2016-06-22&amp;amp;chfieldto=2017-01-24&amp;amp;classification=Modeling&amp;amp;classification=Tools&amp;amp;columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ckeywords&amp;amp;f0=OP&amp;amp;f1=OP&amp;amp;f3=CP&amp;amp;f4=CP&amp;amp;known_name=Xtext%202.11&amp;amp;list_id=15601548&amp;amp;product=TMF&amp;amp;product=Xtend&amp;amp;query_based_on=Xtext%202.11&amp;amp;query_format=advanced&amp;amp;resolution=FIXED&quot;&gt;Fixed Eclipse Bugzilla tickets&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://github.com/search?utf8=%E2%9C%93&amp;amp;q=is%3Aissue+milestone%3Arelease_v2.11+is%3Aclosed+repo%3Aeclipse%2Fxtext+repo%3Aeclipse%2Fxtext-core+repo%3Aeclipse%2Fxtext-lib+repo%3Aeclipse%2Fxtext-extras+repo%3Aeclipse%2Fxtext-eclipse+repo%3Aeclipse%2Fxtext-idea+repo%3Aeclipse%2Fxtext-web+repo%3Aeclipse%2Fxtext-maven+repo%3Aeclipse%2Fxtext-xtend&amp;amp;type=Issues&amp;amp;ref=searchresults&quot;&gt;Fixed GitHub issues&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://github.com/search?utf8=%E2%9C%93&amp;amp;q=is%3Apr+milestone%3Arelease_v2.11+is%3Aclosed+repo%3Aeclipse%2Fxtext+repo%3Aeclipse%2Fxtext-core+repo%3Aeclipse%2Fxtext-lib+repo%3Aeclipse%2Fxtext-extras+repo%3Aeclipse%2Fxtext-eclipse+repo%3Aeclipse%2Fxtext-idea+repo%3Aeclipse%2Fxtext-web+repo%3Aeclipse%2Fxtext-maven+repo%3Aeclipse%2Fxtext-xtend&amp;amp;type=Issues&amp;amp;ref=searchresults&quot;&gt;Closed Pull Requests&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Wed, 01 Feb 2017 03:00:00 -0500</pubDate>
        <link>http://xtext.org/Xtext/releasenotes/2017/02/01/version-2-11-0.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2017/02/01/version-2-11-0.html</guid>
        
        
        <category>releasenotes</category>
        
      </item>
    
      <item>
        <title>Xtext 2.10.0 Release Notes</title>
        <description>&lt;p&gt;This is a bugfix release. &lt;a href=&quot;https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;amp;bug_status=VERIFIED&amp;amp;bug_status=CLOSED&amp;amp;f0=OP&amp;amp;f1=OP&amp;amp;f3=CP&amp;amp;f4=CP&amp;amp;j1=OR&amp;amp;list_id=15981214&amp;amp;query_format=advanced&amp;amp;status_whiteboard=v2.10&amp;amp;status_whiteboard_type=allwordssubstr&quot;&gt;Here&lt;/a&gt; is the list of the fixed bugs.&lt;/p&gt;
</description>
        <pubDate>Wed, 25 May 2016 04:00:00 -0400</pubDate>
        <link>http://xtext.org/Xtext/releasenotes/2016/05/25/version-2-10-0.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2016/05/25/version-2-10-0.html</guid>
        
        
        <category>releasenotes</category>
        
      </item>
    
      <item>
        <title>Xtext 2.9.0 Release Notes</title>
        <description>&lt;p&gt;Version 2.9.0 is the first release of Xtext to ship with support for IntelliJ and the Web. Additionally, the “New Project Wizard” does now offer to create Maven or Gradle build support for your new project. Advanced uses may appreciate two new features in the Xtext grammar language.&lt;/p&gt;

&lt;p&gt;The release ships with over 240 bugfixes and enhancements. The full bugzilla log can be found &lt;a href=&quot;https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;amp;bug_status=VERIFIED&amp;amp;bug_status=CLOSED&amp;amp;f0=OP&amp;amp;f1=OP&amp;amp;f3=CP&amp;amp;f4=CP&amp;amp;j1=OR&amp;amp;list_id=11172029&amp;amp;query_format=advanced&amp;amp;status_whiteboard=v2.9&amp;amp;status_whiteboard_type=allwordssubstr&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The following features have been added in particular.&lt;/p&gt;

&lt;h2 id=&quot;develop-your-xtext-language-in-intellij-idea&quot;&gt;Develop your Xtext Language in IntelliJ IDEA&lt;/h2&gt;

&lt;p&gt;Xtext not only lets you develop an IDEA plug-in for your language but you can also do the language development itself entirely within Jetbrains popular IDE. &lt;br /&gt;
Check out &lt;a href=&quot;http://blogs.itemis.com/xtext/get-started-with-xtext-and-intellij-idea-in-5-minutes&quot;&gt;this tutorial&lt;/a&gt; to learn how this works.&lt;/p&gt;

&lt;h2 id=&quot;run-your-xtext-smart-editor-in-the-web&quot;&gt;Run your Xtext Smart Editor in the Web&lt;/h2&gt;

&lt;p&gt;With Xtext you can now also have rich text editors for you language in the Web.&lt;br /&gt;
With Version 2.9.0 we already support three different javascript editor frameworks. For more details read the corresponding &lt;a href=&quot;https://www.eclipse.org/Xtext/documentation/310_web_integration.html&quot;&gt;section in the documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;new-xtext-project-wizard&quot;&gt;New Xtext Project Wizard&lt;/h2&gt;

&lt;p&gt;A new wizard to produce a readily configured Xtext project has been developed. It is used in both IntelliJ and Eclipse and allows the user to&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;decide which target editors your want (Eclipse, Web, IntelliJ)&lt;/li&gt;
  &lt;li&gt;what build system you prefer (Maven or Gradle)&lt;/li&gt;
  &lt;li&gt;tell the project layout. I.e. whether you want Maven-style src/main/java or the standard src/ folder scheme.&lt;/li&gt;
  &lt;li&gt;and whether you want testing support&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;new-xtext-code-generator&quot;&gt;New Xtext Code Generator&lt;/h2&gt;

&lt;p&gt;We have entirely rewritten the code generator that produces the various artifacts from grammars. It is now simpler to configure and at the same time supports the various new options, the new Xtext wizard provides.&lt;/p&gt;

&lt;h2 id=&quot;enhanced-gradle-and-maven-support&quot;&gt;Enhanced Gradle and Maven Support&lt;/h2&gt;

&lt;p&gt;The Maven and Gradle plugins have been overhauled and improved. Additionally we added full support to run, build and test IntelliJ IDEA plugins from Gradle.&lt;/p&gt;

&lt;h2 id=&quot;incremental-standalonebuilder&quot;&gt;Incremental Standalonebuilder&lt;/h2&gt;

&lt;p&gt;The Eclipse builder always worked incrementally. We have now written one that is Eclipse-independent and is used from within IntelliJ as well as a Gradle Deamon.&lt;/p&gt;

&lt;h2 id=&quot;grammar-language-enhancements&quot;&gt;Grammar Language Enhancements&lt;/h2&gt;

&lt;p&gt;New features in the grammar language allow to reduce duplicate grammar information. Fragments are a way to inline similar productions in different rules, while parameters can be used to call turn off parts of a production. More details can be found &lt;a href=&quot;http://zarnekow.blogspot.de/2015/10/the-xtext-grammar-learned-new-tricks.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
        <pubDate>Mon, 16 Nov 2015 03:00:00 -0500</pubDate>
        <link>http://xtext.org/Xtext/releasenotes/2015/11/16/version-2-9-0.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2015/11/16/version-2-9-0.html</guid>
        
        
        <category>releasenotes</category>
        
      </item>
    
      <item>
        <title>Xtext 2.9 Release Candidate</title>
        <description>&lt;p&gt;A release candidate of the upcoming version of Xtext can now be tried and tested. &lt;br /&gt;
The Eclipse plugins are available through the milestone update site:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/&quot;&gt;http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The IntelliJ IDEA Plugins are available through this repository URL:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://download.eclipse.org/modeling/tmf/xtext/idea/2.9.0.rc1/updatePlugins.xml&quot;&gt;http://download.eclipse.org/modeling/tmf/xtext/idea/2.9.0.rc1/updatePlugins.xml&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You need to add that URL as a repository in IDEA and choose all three plugins (org.eclipse.xtext, org.eclipse.xtext.xtext and org.eclipse.xtend),&lt;br /&gt;
because IDEA doesn’t pull-in dependencies automatically.&lt;/p&gt;

&lt;h3 id=&quot;when-is-the-release&quot;&gt;When Is The Release?&lt;/h3&gt;

&lt;p&gt;If everything goes smoothly and noone reveals major issues in this release candidate (please try hard!), &lt;br /&gt;
we hope to get out the release on &lt;em&gt;December 1st&lt;/em&gt;.&lt;/p&gt;

&lt;h3 id=&quot;whats-new&quot;&gt;What’s new?&lt;/h3&gt;

&lt;h4 id=&quot;intellij-idea-as-an-alternative-to-eclipse&quot;&gt;IntelliJ IDEA As An Alternative To Eclipse&lt;/h4&gt;
&lt;p&gt;In addition to the existing Eclipse integration, it is now possible to design languages entirely in IntelliJ IDEA, as well.&lt;br /&gt;
Languages developed in Eclipse can target all available platforms (Eclipse, IntelliJ IDEA (new), Web editors (new)) while when&lt;br /&gt;
working in IDEA it is not possible to develop an Eclipse plug-in for you language. IDEA is just not so well suited for Eclipse Plug-in development.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Also note: This doesn’t mean we are dropping Eclipse support, nor are we going to think of that any time soon!&lt;/em&gt;&lt;/p&gt;

&lt;h4 id=&quot;headless-builds-for-xtext-projects&quot;&gt;Headless Builds For Xtext Projects&lt;/h4&gt;
&lt;p&gt;No matter what IDE you choose for development, or what target platforms for your language you want you’ll get a fully working build based on Maven and/or Gradle.&lt;br /&gt;
So your Xtext projects can be built and published in any headless Java environment. That’s why one essentially really doesn’t need a particular&lt;br /&gt;
tool to develop Xtext languages anymore. That said, it’s recommended to use them anyway :).&lt;/p&gt;

&lt;h4 id=&quot;new-project-wizard&quot;&gt;New Project Wizard&lt;/h4&gt;
&lt;p&gt;The new wizard runs in both Eclipse and IntelliJ IDEA and lets you choose, whether you want to have &lt;br /&gt;
editor support at all (yes you can just focus on the compiler) and what build-systems you prefer.&lt;/p&gt;

&lt;h4 id=&quot;web-support&quot;&gt;Web Support&lt;/h4&gt;
&lt;p&gt;One of two new target platforms is web editor support for Xtext languages. With Eclipse Orion, Ace, and Code Mirror, we already support three different JS editors.&lt;br /&gt;
Each with a slightly different set of features and requirements. Check out &lt;a href=&quot;http://spoenemann.blogspot.de/2015/05/editing-dsls-in-web-browser.html&quot;&gt;Miro’s blog post&lt;/a&gt; on how to give it a spin.&lt;/p&gt;

&lt;h4 id=&quot;language-editors-for-intellij-idea&quot;&gt;Language Editors for IntelliJ IDEA&lt;/h4&gt;
&lt;p&gt;The other new editor target platform is IntelliJ IDEA. We even developed a &lt;a href=&quot;https://github.com/xtext/xtext-gradle-plugin/tree/master/xtext-idea-gradle-plugin&quot;&gt;full gradle integration&lt;/a&gt; to build, test and run&lt;br /&gt;
the developed IDEA plugins.&lt;/p&gt;

&lt;h4 id=&quot;all-new-code-generator&quot;&gt;All New Code Generator&lt;/h4&gt;
&lt;p&gt;We finally managed to rewrite the old Xtext code generator entirely in Xtend.&lt;br /&gt;
It’s now much simpler, faster and more convenient to use and more fun to maintain :).&lt;/p&gt;

&lt;h4 id=&quot;new-grammar-language-features&quot;&gt;New Grammar Language Features&lt;/h4&gt;
&lt;p&gt;The Xtext Grammar Language got some new features, to reduce redundancy in more complex grammars such as an ECMAScript 6 IDE&lt;br /&gt;
we help a customer with. &lt;a href=&quot;http://zarnekow.blogspot.de&quot;&gt;Sebastian has written&lt;/a&gt; about some of them.&lt;/p&gt;

&lt;h4 id=&quot;many-more-fixes-and-improvements&quot;&gt;Many More Fixes And Improvements&lt;/h4&gt;
&lt;p&gt;As if that wasn’t enough new stuff, we of course have also more than 200 issues on the go.&lt;br /&gt;
The &lt;a href=&quot;https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;amp;bug_status=VERIFIED&amp;amp;bug_status=CLOSED&amp;amp;f0=OP&amp;amp;f1=OP&amp;amp;f3=CP&amp;amp;f4=CP&amp;amp;j1=OR&amp;amp;list_id=13155507&amp;amp;query_format=advanced&amp;amp;status_whiteboard=v2.9&amp;amp;status_whiteboard_type=allwordssubstr&quot;&gt;detailed list&lt;/a&gt; can be found in our bug tracker.&lt;/p&gt;

</description>
        <pubDate>Wed, 11 Nov 2015 00:00:00 -0500</pubDate>
        <link>http://xtext.org/Xtext/news/2015/11/11/Xtext-2.9-RC.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/news/2015/11/11/Xtext-2.9-RC.html</guid>
        
        
        <category>news</category>
        
      </item>
    
      <item>
        <title>Xtext in IntelliJ IDEA - Preview</title>
        <description>&lt;p&gt;Today we’ve released a preview version for the upcoming IntelliJ IDEA support of Xtext. &lt;br /&gt;
With this it is now possible to &lt;em&gt;develop Xtext languages entirely in IDEA&lt;/em&gt; and due to the cool Gradle support in any other environment, too.&lt;/p&gt;

&lt;p&gt;The preview plugins for IntelliJ IDEA can be installed from the following repository location:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://download.eclipse.org/modeling/tmf/xtext/idea/2.9.0.beta5/updatePlugins.xml&quot;&gt;http://download.eclipse.org/modeling/tmf/xtext/idea/2.9.0.beta5/updatePlugins.xml&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You need to install all three plugins from this repository into the latest &lt;a href=&quot;https://www.jetbrains.com/idea/nextversion/&quot;&gt;IDEA 15 Preview&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There is a &lt;a href=&quot;https://player.vimeo.com/video/141201249&quot;&gt;screencast on vimeo&lt;/a&gt; that shows what Xtext in IntellijJ IDEA looks like.&lt;/p&gt;

&lt;p&gt;Please try it out and provide feedback through bugzilla or elsewhere.&lt;/p&gt;
</description>
        <pubDate>Fri, 02 Oct 2015 00:00:00 -0400</pubDate>
        <link>http://xtext.org/Xtext/news/2015/10/02/Xtext-2.9-preview.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/news/2015/10/02/Xtext-2.9-preview.html</guid>
        
        
        <category>news</category>
        
      </item>
    
      <item>
        <title>Xtext 2.9 Beta</title>
        <description>&lt;p&gt;(for download instructions, &lt;a href=&quot;#download-links&quot;&gt;see below&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The main theme of our ongoing work in Xtext &amp;amp; Xtend 2.9 is to reach out to other tools and platforms. After seven years of development, Xtext has become the de facto standard for implementing programming languages and external domain specific languages and IDE support for Eclipse. A couple of months ago, we announced that we have now started to extract the IDE-related infrastructure from Eclipse, such that it can be used in other scenarios as well.&lt;/p&gt;

&lt;p&gt;Today we want to give early adopters a chance to test the current status quo and provide feedback (you always could do that, since everything we do is open-source). The “2.9 Beta” we are putting out today is a frozen state of the head, that was tested just a bit and has known issues. So it’s not an actual release and you should not use it in production! Still, it comes with some new stuff that might be interesting:&lt;/p&gt;

&lt;h3 id=&quot;intellij-idea-support&quot;&gt;IntelliJ IDEA Support&lt;/h3&gt;

&lt;p&gt;With 2.9 you will be able to produce a feature-rich plug-in not only for Eclipse, but also for IntellIj IDEA, from the same language description. The IntelliJ editor already supports syntax coloring and content assist and even some rename refactoring works. Also, we have been working on an incremental standalone compiler, that is used by IDEA, and automatically runs the code generators for the changed and affected files.&lt;/p&gt;

&lt;p&gt;The IDEA integration hasn’t been so easy, because IDEA is already a rich platform and it’s a bit challenging to map IDEA’s concepts with ours in performant ways. So there is still some work ahead of us, especially in the case of Xbase and Xtend, where a seamless integration with the Java IDE is our goal. We are simply not there yet and especially the integration with Java is still in a very early and bad stage. If you have Xtext DSLs that don’t use Xbase, there is a lot that works quite well already.&lt;/p&gt;

&lt;p&gt;Stefan has written up more infos about the IntellIJ IDEA part &lt;a href=&quot;http://oehme.github.io/2015/05/22/xtext-intellij-beta.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;weborion-support&quot;&gt;Web/Orion Support&lt;/h3&gt;

&lt;p&gt;The other part we wanted to share and get feedback on, is the early state of our web support. Same story: &lt;b&gt;don’t use it in production&lt;/b&gt;! The Xtext project wizard can create a web project, which provides you with an example html webpage, an orion editor and a java-based server backend for the editor. Syntax Coloring is done entirely in the browser, while validation and content assist are provided by the server. The server side really just projects tool support on that widget and doesn’t need any other integration with your web application, just use the orion editor as a feature rich text widget.&lt;/p&gt;

&lt;p&gt;The client-server communication already uses an optimized communication protocol based on text-deltas and it features a cancelation policy that will avoid any unnecessary processes. Even with large documents response time is very good.&lt;/p&gt;

&lt;p&gt;Miro has written a more detailed post about this over &lt;a href=&quot;http://spoenemann.blogspot.de/2015/05/editing-dsls-in-web-browser.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To try it out, just download (see below) and use the new “Xtext project wizard” to create a fresh Xtext language with a dedicated project for the web support.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/Xtext/images/news/xtext-2.9-wizard.png&quot; alt=&quot;the new wizard&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Please tell us, what you would like to do with this. Bug reports and feature requests go here : &lt;a href=&quot;https://bugs.eclipse.org/bugs/enter_bug.cgi?product=TMF&amp;amp;component=Xtext&quot;&gt;bugs.eclipse.org&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;other-themes-in-29&quot;&gt;Other Themes In 2.9&lt;/h3&gt;

&lt;p&gt;Besides the web and IDEA support, we are working on making it even simpler to build Xtext projects. One goal for instance is to allow for xtext projects without any Eclipse dependency, such that you can just use the runtime and build and deploy it with Maven or Gradle. In addition we will again spend much time on improving the overall performance and bugfixes of course.&lt;/p&gt;

&lt;h3 id=&quot;more-updates-soon&quot;&gt;More updates soon&lt;/h3&gt;

&lt;p&gt;The 2.9 release is planned for autumn 2015 and shall come with production ready support for IDEA and Web. Until then we will likely have more beta releases, depending on demand and progress.&lt;/p&gt;

&lt;h3 id=&quot;download-links&quot;&gt;Download Links&lt;/h3&gt;

&lt;p&gt;Here are the download links for the beta:&lt;/p&gt;

&lt;p&gt;Ready to use eclipse distributions:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/download.php?file=/modeling/tmf/xtext/downloads/distros/eclipse-dsl-beta5-win32-x86_64.zip&amp;amp;r=2&quot;&gt;eclipse-dsl-beta5-win32-x86_64.zip&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/download.php?file=/modeling/tmf/xtext/downloads/distros/eclipse-dsl-beta5-macosx-cocoa-x86_64.tar.gz&amp;amp;r=2&quot;&gt;eclipse-dsl-beta5-macosx-cocoa-x86_64.tar.gz&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/download.php?file=/modeling/tmf/xtext/downloads/distros/eclipse-dsl-beta5-linux-gtk-x86_64.tar.gz&amp;amp;r=2&quot;&gt;eclipse-dsl-beta5-linux-gtk-x86_64.tar.gz&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/download.php?file=/modeling/tmf/xtext/downloads/distros/eclipse-dsl-beta5-win32.zip&amp;amp;r=2&quot;&gt;eclipse-dsl-beta5-win32.zip&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/modeling/download.php?file=/modeling/tmf/xtext/downloads/distros/eclipse-dsl-beta5-linux-gtk.tar.gz&amp;amp;r=2&quot;&gt;eclipse-dsl-beta5-linux-gtk.tar.gz&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eclipse update site : &lt;a href=&quot;http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/]&quot;&gt;http://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/&lt;/a&gt;&lt;br /&gt;
IDEA plug-in repository : &lt;a href=&quot;http://download.eclipse.org/modeling/tmf/xtext/idea/2.9.0.beta5/updatePlugins.xml&quot;&gt;http://download.eclipse.org/modeling/tmf/xtext/idea/2.9.0.beta5/updatePlugins.xml&lt;/a&gt;&lt;/p&gt;

</description>
        <pubDate>Fri, 22 May 2015 00:00:00 -0400</pubDate>
        <link>http://xtext.org/Xtext/news/2015/05/22/Xtext-2.9-beta.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/news/2015/05/22/Xtext-2.9-beta.html</guid>
        
        
        <category>news</category>
        
      </item>
    
      <item>
        <title>XtextCON 2015 - Final Program Online</title>
        <description>&lt;p&gt;We are happy to announce the final program for XtextCON 2015. The conference now features 34 sessions with 27 speakers from different countries. Here is an excerpt of lately added sessions:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Oomph, Eclipse the Way You Want It&lt;/em&gt; (Ed Merks, Eike Stepper),&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Xtext editors in JavaFX applications&lt;/em&gt; (Tom Schindl),&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;The Future of Xtext&lt;/em&gt; (Sven Efftinge, Sebastian Zarnekow)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The conference also covers graphical diagramming topics, such as:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Enhancing Graphical Editors with Xtext&lt;/em&gt; (Miro Spönemann),&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Lightweight Diagrams for Your DSLs&lt;/em&gt; (Christian Schneider),&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Graphical Views with FXDiagram&lt;/em&gt; (Dr. Jan Köhnlein)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition to those technical sessions, there will be case studies from different industries, e.g.:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Model based migration of legacy software&lt;/em&gt; (Arjan Mooij),&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Sustainable Service Design through Xtext&lt;/em&gt; (Dr. Michael Bischoff),&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;EAI and Xtext DSLs&lt;/em&gt; (André Lehner, Dietmar Stoll)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is much more to discover &lt;a href=&quot;http://xtextcon.org&quot;&gt;on the website&lt;/a&gt;. And don’t forget to register!&lt;/p&gt;

&lt;h2 id=&quot;xtext-clinic&quot;&gt;Xtext Clinic&lt;/h2&gt;

&lt;p&gt;In addition to the conference program, the Xtext committers will again run the Xtext Clinic. This is an offer to the attendees to make an appointment for a one hour session, where individual Xtext-related problems and challenges can be discussed and solved. The clinic has been utilised a lot last year with very positive feedback. &lt;br /&gt;
So in case you are going, don’t hesitate and make an appointment!&lt;/p&gt;

&lt;p&gt;Hope to see you in May!&lt;/p&gt;
</description>
        <pubDate>Tue, 31 Mar 2015 00:00:00 -0400</pubDate>
        <link>http://xtext.org/Xtext/news/2015/03/31/XtextCON.html</link>
        <guid isPermaLink="true">http://xtext.org/Xtext/news/2015/03/31/XtextCON.html</guid>
        
        
        <category>news</category>
        
      </item>
    
  </channel>
</rss>
