diff --git a/documentation/350_continuous_integration.html b/documentation/350_continuous_integration.html
index 5f31910..049f7bc 100644
--- a/documentation/350_continuous_integration.html
+++ b/documentation/350_continuous_integration.html
@@ -394,6 +394,64 @@
 
 <p>You may add multiple languages in the languages section. A language will use the default outputConfiguration, but you can override the different properties just as you can do within Eclipse preferences.</p>
 
+<p>If your language uses an <code>IJvmModelInferrer</code> (for example by using Xbase), the plug-in can create trace files for debugging purposes,<br />
+by using the specialized maven goals <code>install-debug-info</code> and <code>test-install-debug-info</code>.</p>
+
+<pre><code class="language-xml">&lt;plugin&gt;
+	&lt;groupId&gt;org.eclipse.xtext&lt;/groupId&gt;
+	&lt;artifactId&gt;xtext-maven-plugin&lt;/artifactId&gt;
+	&lt;version&gt;${xtext-version}&lt;/version&gt;
+	&lt;executions&gt;
+		&lt;execution&gt;
+      &lt;id&gt;generate&lt;/id&gt;
+      &lt;goals&gt;
+        &lt;goal&gt;generate&lt;/goal&gt;
+        &lt;goal&gt;testGenerate&lt;/goal&gt;
+      &lt;/goals&gt;
+    &lt;/execution&gt;
+    &lt;execution&gt;
+      &lt;id&gt;trace&lt;/id&gt;
+      &lt;goals&gt;
+        &lt;goal&gt;install-debug-info&lt;/goal&gt;
+        &lt;goal&gt;test-install-debug-info&lt;/goal&gt;
+      &lt;/goals&gt;
+    &lt;/execution&gt;
+	&lt;/executions&gt;
+	&lt;configuration&gt;
+    &lt;addOutputDirectoriesToCompileSourceRoots&gt;true&lt;/addOutputDirectoriesToCompileSourceRoots&gt;
+		&lt;languages&gt;
+			&lt;language&gt;
+				&lt;setup&gt;my.javalang.JavaLanguageStandaloneSetup&lt;/setup&gt;
+				&lt;outputConfigurations&gt;
+				&lt;outputConfigurations&gt;
+          &lt;outputConfiguration&gt;
+            &lt;installDslAsPrimarySource&gt;true&lt;/installDslAsPrimarySource&gt;
+            &lt;outputDirectory&gt;src-gen&lt;/outputDirectory&gt;
+            &lt;sourceMappings&gt;
+              &lt;sourceMapping&gt;
+                &lt;outputDirectory&gt;src-gen&lt;/outputDirectory&gt;
+                &lt;sourceFolder&gt;src&lt;/sourceFolder&gt;
+              &lt;/sourceMapping&gt;
+            &lt;/sourceMappings&gt;
+          &lt;/outputConfiguration&gt;
+        &lt;/outputConfigurations&gt;
+			&lt;/language&gt;
+		&lt;/languages&gt;
+	&lt;/configuration&gt;
+	&lt;dependencies&gt;
+		&lt;dependency&gt;
+			&lt;groupId&gt;my.javalang&lt;/groupId&gt;
+			&lt;artifactId&gt;my.javalanguage&lt;/artifactId&gt;
+			&lt;version&gt;1.0.0-SNAPSHOT&lt;/version&gt;
+		&lt;/dependency&gt;
+	&lt;/dependencies&gt;
+&lt;/plugin&gt;
+</code></pre>
+
+<p>In this example, the option <code>installDslAsPrimarySource</code> is used to create traces that hide the underlying Java source and map the source file lines to the lines in the byte code.<br />
+At least one source mapping is needed for the trace functionality to work as the plug-in has to map input to output folder locations.<br />
+If you add the optional property <code>addOutputDirectoriesToCompileSourceRoots</code>, the output directories specified in <code>sourceMappings</code> will be appended as (test)compile roots of the current Maven project, which means the <code>maven-compiler-plugin</code> will recognize them as Java source folders. Set to <code>false</code> to opt out, as <code>true</code> is the default.</p>
+
 <h2 id="maven-tycho-hints">Maven Tycho Hints</h2>
 
 <p>Tycho allows you to resolve project dependencies against existing p2 repositories. There are two ways to define target p2 repositories in a Tycho build. The first way is to define the repository URLs directly in the <code>pom.xml</code> using maven <code>&lt;repositories&gt;</code> section. The p2 repositories need to be marked with layout=p2.<br />
@@ -414,6 +472,14 @@
   </thead>
   <tbody>
     <tr>
+      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.26.0/">2.26.0</a></td>
+      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.29">2.29.0</a> (2.20.0)</td>
+      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.12.1/">2.12.1</a> (2.9.1)</td>
+      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
+      <td><a href="http://download.eclipse.org/releases/2022-03">4.23.0</a> (4.7.3)</td>
+      <td><a href="http://download.eclipse.org/releases/2021-03">2022-03</a></td>
+    </tr>
+    <tr>
       <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.25.0/">2.25.0</a></td>
       <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.25">2.25.0</a> (2.20.0)</td>
       <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.12.1/">2.12.1</a> (2.9.1)</td>
@@ -576,7 +642,7 @@
   </tbody>
 </table>
 
-<p>The following is an example target platform definition for Xtext 2.25.0 and Eclipse 4.19 alias 2021-03.</p>
+<p>The following is an example target platform definition for Xtext 2.26.0 and Eclipse 4.20 alias 2021-06.</p>
 
 <pre><code class="language-xml">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
 &lt;?pde version="3.8"?&gt;
@@ -584,7 +650,7 @@
 &lt;locations&gt;
   &lt;location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit"&gt;
     &lt;unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0"/&gt;
-    &lt;repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.25.0/"/&gt;
+    &lt;repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.26.0/"/&gt;
   &lt;/location&gt;
   &lt;location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit"&gt;
     &lt;unit id="org.eclipse.jdt.feature.group" version="0.0.0"/&gt;
@@ -592,11 +658,8 @@
     &lt;unit id="org.eclipse.pde.feature.group" version="0.0.0"/&gt;
     &lt;unit id="org.eclipse.draw2d.feature.group" version="0.0.0"/&gt;
     &lt;unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/&gt;
-    &lt;unit id="org.eclipse.xpand" version="0.0.0"/&gt;
-    &lt;unit id="org.eclipse.xtend" version="0.0.0"/&gt;
-    &lt;unit id="org.eclipse.xtend.typesystem.emf" version="0.0.0"/&gt;
     &lt;unit id="org.eclipse.emf.mwe2.launcher.feature.group" version="0.0.0"/&gt;
-    &lt;repository location="http://download.eclipse.org/releases/2021-03/"/&gt;
+    &lt;repository location="http://download.eclipse.org/releases/2022-03/"/&gt;
   &lt;/location&gt;
 &lt;/locations&gt;
 &lt;/target&gt;
diff --git a/feed.xml b/feed.xml
index 85ecea1..bf25899 100644
--- a/feed.xml
+++ b/feed.xml
@@ -6,8 +6,8 @@
 </description>
     <link>http://xtext.org/Xtext/</link>
     <atom:link href="http://xtext.org/Xtext/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Fri, 04 Feb 2022 08:16:32 +0000</pubDate>
-    <lastBuildDate>Fri, 04 Feb 2022 08:16:32 +0000</lastBuildDate>
+    <pubDate>Mon, 28 Feb 2022 10:08:22 +0000</pubDate>
+    <lastBuildDate>Mon, 28 Feb 2022 10:08:22 +0000</lastBuildDate>
     <generator>Jekyll v2.5.3</generator>
     
       <item>
@@ -88,6 +88,91 @@
       </item>
     
       <item>
+        <title>Xtext 2.26.0 Release Notes</title>
+        <description>&lt;p&gt;Xtext 2.26.0 is a maintenance release.&lt;/p&gt;
+
+&lt;h2 id=&quot;call-to-action-secure-the-future-maintenance-of-xtext&quot;&gt;Call to Action: Secure the future maintenance of Xtext&lt;/h2&gt;
+
+&lt;p&gt;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 &lt;a href=&quot;https://github.com/eclipse/xtext/issues/1721&quot;&gt;https://github.com/eclipse/xtext/issues/1721&lt;/a&gt;.&lt;/p&gt;
+
+&lt;h2 id=&quot;xtext-and-java-17&quot;&gt;Xtext and Java 17&lt;/h2&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;h2 id=&quot;upgrades&quot;&gt;Upgrades&lt;/h2&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Tycho was updated to 2.6.0&lt;/li&gt;
+  &lt;li&gt;GSON was updated to 2.8.9&lt;/li&gt;
+  &lt;li&gt;LSP4J was updated to 0.12.0 / protocol version 3.16.0&lt;/li&gt;
+  &lt;li&gt;Xtext now uses Guice 5.0.1 and thus the warnings on Java 11+ should be gone.&lt;/li&gt;
+  &lt;li&gt;ASM was updated to 9.2&lt;/li&gt;
+  &lt;li&gt;Gradle (in Wizard) is now updated to 7.x and the xtext-gradle-plugin to 3.0.1&lt;/li&gt;
+  &lt;li&gt;Classgraph is updated to 4.8.137&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&quot;enhancements&quot;&gt;Enhancements&lt;/h2&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;The Xtext LSP implementation has learned folding support.&lt;/li&gt;
+  &lt;li&gt;&lt;a href=&quot;https://github.com/eclipse/xtext-maven/issues/139&quot;&gt;xtext-maven#139&lt;/a&gt; : xtext-maven can now install trace information for DSLs with a derived Java model (for example languages using Xbase).&lt;/li&gt;
+  &lt;li&gt;Dependencies to Log4j are now less restrictive so that you should be able to use reload4j as drop-in replacement.&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&quot;deprecations&quot;&gt;Deprecations&lt;/h2&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;The already deprecated MergeableManifest classes we marked “for removal”. Make sure you do not longer use them.&lt;/li&gt;
+  &lt;li&gt;We will drop support for GWT in a future release.&lt;/li&gt;
+  &lt;li&gt;The next Xtext version will likely no long support Java versions below Java 11.&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&quot;credits&quot;&gt;Credits&lt;/h2&gt;
+
+&lt;p&gt;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 &lt;a href=&quot;https://github.com/eclipse/xtext#repositories&quot;&gt;all repositories&lt;/a&gt; except &lt;a href=&quot;https://github.com/eclipse/xtext-xtend&quot;&gt;xtext-xtend&lt;/a&gt;):&lt;/p&gt;
+
+&lt;p&gt;Christian Dietrich&lt;br /&gt;
+Karsten Thoms&lt;br /&gt;
+Sebastian Zarnekow&lt;br /&gt;
+Ruben Porras &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
+Dennis Hübner&lt;br /&gt;
+Stefan Oehme&lt;br /&gt;
+Titouan Vervack&lt;br /&gt;
+Edmundo Lopez &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
+Mark Sujew&lt;br /&gt;
+Michael Keppler &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
+Tamas Miklossy&lt;br /&gt;
+Nico Prediger&lt;br /&gt;
+Heinrich Weichert&lt;br /&gt;
+Lawrence Goossens &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
+Oliver Libutzki &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
+
+&lt;h2 id=&quot;fixed-issues&quot;&gt;Fixed Issues&lt;/h2&gt;
+
+&lt;p&gt;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:&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.26+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.26+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.26&amp;amp;list_id=16618269&amp;amp;product=TMF&amp;amp;product=Xtend&amp;amp;query_based_on=Xtext%202.26&amp;amp;query_format=advanced&amp;amp;status_whiteboard=v2.26&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>Sun, 28 Feb 2021 00:00:00 +0000</pubDate>
+        <link>http://xtext.org/Xtext/releasenotes/2021/02/28/version-2-26-0.html</link>
+        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2021/02/28/version-2-26-0.html</guid>
+        
+        
+        <category>releasenotes</category>
+        
+      </item>
+    
+      <item>
         <title>Xtext 2.24.0 Release Notes</title>
         <description>&lt;p&gt;Xtext 2.24.0 is a maintenance release.&lt;/p&gt;
 
@@ -838,183 +923,5 @@
         
       </item>
     
-      <item>
-        <title>Xtext 2.17.0 Release Notes</title>
-        <description>&lt;p&gt;This release focuses on the compatibility with Java 11 &amp;amp; Eclipse 2019-03, stability, performance and technical debt reduction.&lt;/p&gt;
-
-&lt;h2 id=&quot;bom&quot;&gt;BOM&lt;/h2&gt;
-
-&lt;p&gt;Xtext 2.17 introduces a new artifact, a &lt;a href=&quot;https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies&quot;&gt;Maven BOM (&lt;em&gt;bill of materials&lt;/em&gt;)&lt;/a&gt;. Basically it is an artifact with packaging type &lt;code&gt;pom&lt;/code&gt;, which defines dependencies by a &lt;code&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/code&gt; section. A BOM is consumed by client projects also by &lt;code&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/code&gt; and using the BOM artifact with scope &lt;code&gt;import&lt;/code&gt; there.&lt;/p&gt;
-
-&lt;p&gt;The BOM declares all dependencies that are used by Xtext and has the coordinates&lt;/p&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;&lt;code&gt;groupId&lt;/code&gt; : &lt;code&gt;org.eclipse.xtext&lt;/code&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;code&gt;artifactId&lt;/code&gt; : &lt;code&gt;xtext-dev-bom&lt;/code&gt;&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;The &lt;code&gt;xtext-dev-bom&lt;/code&gt; is used in Maven configurations as follows:&lt;/p&gt;
-
-&lt;pre&gt;&lt;code&gt;	&amp;lt;dependencyManagement&amp;gt;
-		&amp;lt;dependencies&amp;gt;
-			&amp;lt;dependency&amp;gt;
-				&amp;lt;groupId&amp;gt;org.eclipse.xtext&amp;lt;/groupId&amp;gt;
-				&amp;lt;artifactId&amp;gt;xtext-dev-bom&amp;lt;/artifactId&amp;gt;
-				&amp;lt;version&amp;gt;${xtext.version}&amp;lt;/version&amp;gt;
-				&amp;lt;type&amp;gt;pom&amp;lt;/type&amp;gt;
-				&amp;lt;scope&amp;gt;import&amp;lt;/scope&amp;gt;
-			&amp;lt;/dependency&amp;gt;
-		&amp;lt;/dependencies&amp;gt;
-	&amp;lt;/dependencyManagement&amp;gt;
-&lt;/code&gt;&lt;/pre&gt;
-
-&lt;p&gt;Any artifact declared by the BOM (e.g. Eclipse Core, EMF, MWE, Guava, LSP4J, JDT, ANTLR) can then be used without declaration of a version.&lt;/p&gt;
-
-&lt;p&gt;With Gradle 5 support of &lt;a href=&quot;https://docs.gradle.org/5.0/userguide/managing_transitive_dependencies.html#sec:bom_import&quot;&gt;BOM managed dependency versions&lt;/a&gt; was introduced. The Xtext BOM can be consumed by Gradle projects with the &lt;code&gt;platform&lt;/code&gt; dependency:&lt;/p&gt;
-
-&lt;pre&gt;&lt;code&gt;	dependencies {
-		compile platform(&quot;org.eclipse.xtext:xtext-dev-bom:${xtextVersion}&quot;)
-	}
-&lt;/code&gt;&lt;/pre&gt;
-
-&lt;h2 id=&quot;java-11&quot;&gt;Java 11&lt;/h2&gt;
-
-&lt;p&gt;Xtext and Xtend now fully support Java 11! With Xtext 2.16 it was already possible to run Xtext on a Java 11 VM, but it was not possible to use Java 11 also as the target Java version. Since this required Java 11 enabled versions of Eclipse JDT, Tycho and Gradle and not all were available and especially not tested with Xtext, we had to defer the full support to 2.17.&lt;/p&gt;
-
-&lt;p&gt;Now with that latest and greatest versions of JDT, Tycho and Gradle integrated, there are no restrictions to use Java 11 in any of the configurations.&lt;/p&gt;
-
-&lt;h2 id=&quot;customizable-exception-handling-of-validation-code&quot;&gt;Customizable Exception Handling of Validation Code&lt;/h2&gt;
-
-&lt;p&gt;By default Xtext swallows &lt;code&gt;NullPointerException&lt;/code&gt; occuring during the execution of validators. While this behavior is desirable in most cases and users are not bothered with faulty validation or the likely case of NPEs caused by accessing unresolvable proxies, it may be desirable to report or rethrow these exceptions. To minimize the effort of customizing, the handling of exceptions is delegated to the new API method &lt;code&gt;AbstractDeclarativeValidator#handleExceptionDuringValidation(Throwable)&lt;/code&gt;. Clients may overroide this method to change the exception handling behavior in their validator classes. (&lt;a href=&quot;https://github.com/eclipse/xtext-core/issues/983&quot;&gt;to issue&lt;/a&gt;)&lt;/p&gt;
-
-&lt;h2 id=&quot;guava-210-version-pinning&quot;&gt;Guava 21.0 Version Pinning&lt;/h2&gt;
-
-&lt;p&gt;Xtext allowed a version range from 14.0 to 21.0 for the Guava library in the past. Effectively this range became invalid since API introduced with Guava 20.0 was used in Xbase. The open version range lead also to other surprises in the past.&lt;/p&gt;
-
-&lt;p&gt;With Xtext 2.17 it was decided to pin the required version of the Guava library to 21.0 only. This affects all bundle manifests for plugin builds as well as Gradle &amp;amp; Maven builds through the introduced BOM (see above). Also the &lt;em&gt;New Project Wizard&lt;/em&gt; will respect this restriction for newly created projects. (&lt;a href=&quot;https://github.com/eclipse/xtext/issues/1391&quot;&gt;to issue&lt;/a&gt;)&lt;/p&gt;
-
-&lt;h2 id=&quot;xtext-grammar-language&quot;&gt;Xtext Grammar Language&lt;/h2&gt;
-
-&lt;h3 id=&quot;new-validation-first-rule-must-not-be-a-fragment&quot;&gt;New Validation: First Rule Must Not Be a Fragment&lt;/h3&gt;
-
-&lt;p&gt;An Xtext grammar’s first rule must not start with a fragment rule. This is now checked by an additional validation rule. (&lt;a href=&quot;https://github.com/eclipse/xtext-core/pull/1041&quot;&gt;to issue&lt;/a&gt;)&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_17_Xtext_First-rule-not-a-fragment.gif&quot; alt=&quot;Validation: first rule not a fragment&quot; height=&quot;50%&quot; width=&quot;50%&quot; /&gt;&lt;/p&gt;
-
-&lt;h2 id=&quot;testing&quot;&gt;Testing&lt;/h2&gt;
-
-&lt;h3 id=&quot;hyperlinking&quot;&gt;Hyperlinking&lt;/h3&gt;
-
-&lt;p&gt;A new base class &lt;code&gt;AbstractHyperlinkingTest&lt;/code&gt; has been added to provide a convenient way to test hyperlinking navigation.&lt;/p&gt;
-
-&lt;p&gt;All standard example projects have been updated to provide a test class (&lt;code&gt;&amp;lt;LangugageName&amp;gt;HyperlinkingTest.java&lt;/code&gt;) for demonstration. (&lt;a href=&quot;https://github.com/eclipse/xtext-eclipse/issues/949&quot;&gt;to issue&lt;/a&gt;)&lt;/p&gt;
-
-&lt;h3 id=&quot;junit-5-support&quot;&gt;JUnit 5 Support&lt;/h3&gt;
-
-&lt;p&gt;The package &lt;code&gt;org.eclipse.xtext.testing.extensions&lt;/code&gt; introduced with release 2.14 is now public API, thus users of Xtext JUnit 5 support will no longer receive restricted API usage warnings.&lt;/p&gt;
-
-&lt;p&gt;The &lt;em&gt;New Project Wizard&lt;/em&gt; selects JUnit 5 as default.&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/Xtext/images/releasenotes/2_17_Xtext_JUnit5-default.png&quot; alt=&quot;JUnit 5 support as default&quot; height=&quot;50%&quot; width=&quot;50%&quot; /&gt;&lt;/p&gt;
-
-&lt;h2 id=&quot;xtext-maven-plugin&quot;&gt;xtext-maven-plugin&lt;/h2&gt;
-
-&lt;h3 id=&quot;output-configuration-name&quot;&gt;Output Configuration Name&lt;/h3&gt;
-
-&lt;p&gt;It is now possible to configure set the &lt;code&gt;name&lt;/code&gt; attribute for non-default output configurations. (&lt;a href=&quot;https://github.com/eclipse/xtext-maven/issues/62&quot;&gt;to issue&lt;/a&gt;)&lt;/p&gt;
-
-&lt;h3 id=&quot;upgrade-to-maven-3-api&quot;&gt;Upgrade to Maven 3 API&lt;/h3&gt;
-
-&lt;p&gt;The &lt;code&gt;xtext-maven-plugin&lt;/code&gt; has been refactored to use the latest Maven 3 API. The most significant internal change is that all doclet based configurations have been changed to use Maven 3 annotation API.&lt;/p&gt;
-
-&lt;h2 id=&quot;xtext-web&quot;&gt;xtext-web&lt;/h2&gt;
-
-&lt;p&gt;The Xtext web support has been updated to the latest versions of the used libraries and editors. Particularly we upgraded to:&lt;/p&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;requirejs 2.3.6&lt;/li&gt;
-  &lt;li&gt;jquery 3.3.1-1&lt;/li&gt;
-  &lt;li&gt;ace 1.3.3&lt;/li&gt;
-  &lt;li&gt;codemirror 5.41.0&lt;/li&gt;
-  &lt;li&gt;Orion 17&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;h2 id=&quot;upgrades&quot;&gt;Upgrades&lt;/h2&gt;
-
-&lt;p&gt;Xtext builts on top of numerous technologies which frequently provide releases. An important task is therefore to keep up-to-date with the latest from the used technology stack. All upgrades affect Xtext in multiple ways:&lt;/p&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;All internal usages for building Xtext use the upgraded versions&lt;/li&gt;
-  &lt;li&gt;The &lt;em&gt;New Project Wizard&lt;/em&gt; produces projects that make use of upgrades&lt;/li&gt;
-  &lt;li&gt;Our provided Oomph setup has been updated to reflect the latest changes&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;h3 id=&quot;eclipse-2019-03&quot;&gt;Eclipse 2019-03&lt;/h3&gt;
-
-&lt;p&gt;As member of the Eclipse Simultaneous Release Xtext is also built against the latest target platform 2019-03.&lt;/p&gt;
-
-&lt;h3 id=&quot;gradle-521&quot;&gt;Gradle 5.2.1&lt;/h3&gt;
-
-&lt;p&gt;We upgraded to Gradle 5.2.1. This version is used especially to support the introduced Maven BOM (see above) “natively” in Gradle configurations.&lt;/p&gt;
-
-&lt;h3 id=&quot;tycho-130&quot;&gt;Tycho 1.3.0&lt;/h3&gt;
-
-&lt;p&gt;Tycho 1.3.0 is required especially for full Java 11 support.&lt;/p&gt;
-
-&lt;h3 id=&quot;mwe-210&quot;&gt;MWE 2.10&lt;/h3&gt;
-
-&lt;p&gt;Xtext is now the latest release 2.10 of the Modeling Workflow Engine (MWE). The MWE project has been updated to use a recent Xtext version itself and supports now separate source folders for main sources and tests.&lt;/p&gt;
-
-&lt;h3 id=&quot;eclipse-orbit&quot;&gt;Eclipse Orbit&lt;/h3&gt;
-
-&lt;p&gt;Xtext uses the Orbit repository &lt;a href=&quot;https://download.eclipse.org/releases/2019-03/&quot;&gt;https://download.eclipse.org/releases/2019-03/&lt;/a&gt; for third party libraries. The location redirects to the latest repository recommended for the simultanous release.&lt;/p&gt;
-
-&lt;h2 id=&quot;credits&quot;&gt;Credits&lt;/h2&gt;
-
-&lt;p&gt;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 &lt;a href=&quot;https://github.com/eclipse/xtext#repositories&quot;&gt;all repositories&lt;/a&gt; except &lt;a href=&quot;https://github.com/eclipse/xtext-xtend&quot;&gt;xtext-xtend&lt;/a&gt;):&lt;/p&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;Christian Dietrich (itemis)&lt;/li&gt;
-  &lt;li&gt;Karsten Thoms (itemis)&lt;/li&gt;
-  &lt;li&gt;Sebastian Zarnekow (itemis)&lt;/li&gt;
-  &lt;li&gt;Tamas Miklossy (itemis)&lt;/li&gt;
-  &lt;li&gt;Holger Schill (itemis)&lt;/li&gt;
-  &lt;li&gt;Arne Deutsch (itemis)&lt;/li&gt;
-  &lt;li&gt;Prajwal Gowda (itemis) &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
-  &lt;li&gt;Anders Dahlberg (Ericsson) &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
-  &lt;li&gt;Eva Poell (itemis) &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
-  &lt;li&gt;Lorenzo Addazi &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
-  &lt;li&gt;Jan Rosczak &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
-  &lt;li&gt;Jelle Schuhmacher (Altran) &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
-  &lt;li&gt;Titouan Vervack (Sigasi)&lt;/li&gt;
-  &lt;li&gt;Jonathan Menzies &lt;img src=&quot;https://img.shields.io/badge/-first%20time%20contributor-green.svg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
-  &lt;li&gt;Christian Schneider (TypeFox)&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 cycle we were eagerly hunting down bugs, and reviewed and integrated plenty of contributions. Almost 80 issues and 240 pull requests 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.17+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.17+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.17&amp;amp;list_id=16618269&amp;amp;product=TMF&amp;amp;product=Xtend&amp;amp;query_based_on=Xtext%202.17&amp;amp;query_format=advanced&amp;amp;status_whiteboard=v2.17&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>Tue, 05 Mar 2019 00:00:00 +0000</pubDate>
-        <link>http://xtext.org/Xtext/releasenotes/2019/03/05/version-2-17-0.html</link>
-        <guid isPermaLink="true">http://xtext.org/Xtext/releasenotes/2019/03/05/version-2-17-0.html</guid>
-        
-        
-        <category>releasenotes</category>
-        
-      </item>
-    
   </channel>
 </rss>
diff --git a/releasenotes.html b/releasenotes.html
index caff078..08ce081 100644
--- a/releasenotes.html
+++ b/releasenotes.html
@@ -136,6 +136,8 @@
 						
 							<li><p><a href="#/releasenotes/2021/03/02/version-2-25-0">Xtext 2.25.0 Release Notes &mdash; Mar 2, 2021</a></p>
 						
+							<li><p><a href="#/releasenotes/2021/02/28/version-2-26-0">Xtext 2.26.0 Release Notes &mdash; Feb 28, 2021</a></p>
+						
 							<li><p><a href="#/releasenotes/2020/12/01/version-2-24-0">Xtext 2.24.0 Release Notes &mdash; Dec 1, 2020</a></p>
 						
 							<li><p><a href="#/releasenotes/2020/09/01/version-2-23-0">Xtext 2.23.0 Release Notes &mdash; Sep 1, 2020</a></p>
@@ -152,8 +154,6 @@
 						
 							<li><p><a href="#/releasenotes/2019/04/03/version-2-17-1">Xtext 2.17.1 Release Notes &mdash; Apr 3, 2019</a></p>
 						
-							<li><p><a href="#/releasenotes/2019/03/05/version-2-17-0">Xtext 2.17.0 Release Notes &mdash; Mar 5, 2019</a></p>
-						
 					</ul>
 				</div>
 				
@@ -230,6 +230,86 @@
 				  </section>
 				
 				  <hr/>
+				  <section id="/releasenotes/2021/02/28/version-2-26-0">
+				  	<h1>Xtext 2.26.0 Release Notes<small>&nbsp;&nbsp;Feb 28, 2021</small></h1>
+				    <br/>
+				    <p>Xtext 2.26.0 is a maintenance release.</p>
+
+<h2 id="call-to-action-secure-the-future-maintenance-of-xtext">Call to Action: Secure the future maintenance of Xtext</h2>
+
+<p>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 <a href="https://github.com/eclipse/xtext/issues/1721">https://github.com/eclipse/xtext/issues/1721</a>.</p>
+
+<h2 id="xtext-and-java-17">Xtext and Java 17</h2>
+
+<p>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.</p>
+
+<h2 id="upgrades">Upgrades</h2>
+
+<ul>
+  <li>Tycho was updated to 2.6.0</li>
+  <li>GSON was updated to 2.8.9</li>
+  <li>LSP4J was updated to 0.12.0 / protocol version 3.16.0</li>
+  <li>Xtext now uses Guice 5.0.1 and thus the warnings on Java 11+ should be gone.</li>
+  <li>ASM was updated to 9.2</li>
+  <li>Gradle (in Wizard) is now updated to 7.x and the xtext-gradle-plugin to 3.0.1</li>
+  <li>Classgraph is updated to 4.8.137</li>
+</ul>
+
+<h2 id="enhancements">Enhancements</h2>
+
+<ul>
+  <li>The Xtext LSP implementation has learned folding support.</li>
+  <li><a href="https://github.com/eclipse/xtext-maven/issues/139">xtext-maven#139</a> : xtext-maven can now install trace information for DSLs with a derived Java model (for example languages using Xbase).</li>
+  <li>Dependencies to Log4j are now less restrictive so that you should be able to use reload4j as drop-in replacement.</li>
+</ul>
+
+<h2 id="deprecations">Deprecations</h2>
+
+<ul>
+  <li>The already deprecated MergeableManifest classes we marked “for removal”. Make sure you do not longer use them.</li>
+  <li>We will drop support for GWT in a future release.</li>
+  <li>The next Xtext version will likely no long support Java versions below Java 11.</li>
+</ul>
+
+<h2 id="credits">Credits</h2>
+
+<p>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 <a href="https://github.com/eclipse/xtext#repositories">all repositories</a> except <a href="https://github.com/eclipse/xtext-xtend">xtext-xtend</a>):</p>
+
+<p>Christian Dietrich<br />
+Karsten Thoms<br />
+Sebastian Zarnekow<br />
+Ruben Porras <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /><br />
+Dennis Hübner<br />
+Stefan Oehme<br />
+Titouan Vervack<br />
+Edmundo Lopez <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /><br />
+Mark Sujew<br />
+Michael Keppler <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /><br />
+Tamas Miklossy<br />
+Nico Prediger<br />
+Heinrich Weichert<br />
+Lawrence Goossens <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /><br />
+Oliver Libutzki <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /></p>
+
+<h2 id="fixed-issues">Fixed Issues</h2>
+
+<p>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:</p>
+
+<ul>
+  <li>
+    <p><a href="https://github.com/search?utf8=%E2%9C%93&amp;q=is%3Aissue+milestone%3ARelease_2.26+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;type=Issues&amp;ref=searchresults">Fixed GitHub issues</a></p>
+  </li>
+  <li>
+    <p><a href="https://github.com/search?utf8=%E2%9C%93&amp;q=is%3Apr+milestone%3ARelease_2.26+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;type=Issues&amp;ref=searchresults">Closed Pull Requests</a></p>
+  </li>
+  <li>
+    <p><a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=Modeling&amp;classification=Tools&amp;columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ckeywords&amp;f0=OP&amp;f1=OP&amp;f3=CP&amp;f4=CP&amp;known_name=Xtext%202.26&amp;list_id=16618269&amp;product=TMF&amp;product=Xtend&amp;query_based_on=Xtext%202.26&amp;query_format=advanced&amp;status_whiteboard=v2.26&amp;status_whiteboard_type=allwordssubstr">Fixed Eclipse Bugzilla tickets</a></p>
+  </li>
+</ul>
+
+				  </section>
+				
+				  <hr/>
 				  <section id="/releasenotes/2020/12/01/version-2-24-0">
 				  	<h1>Xtext 2.24.0 Release Notes<small>&nbsp;&nbsp;Dec 1, 2020</small></h1>
 				    <br/>
@@ -940,179 +1020,6 @@
 
 				  </section>
 				
-				  <hr/>
-				  <section id="/releasenotes/2019/03/05/version-2-17-0">
-				  	<h1>Xtext 2.17.0 Release Notes<small>&nbsp;&nbsp;Mar 5, 2019</small></h1>
-				    <br/>
-				    <p>This release focuses on the compatibility with Java 11 &amp; Eclipse 2019-03, stability, performance and technical debt reduction.</p>
-
-<h2 id="bom">BOM</h2>
-
-<p>Xtext 2.17 introduces a new artifact, a <a href="https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies">Maven BOM (<em>bill of materials</em>)</a>. Basically it is an artifact with packaging type <code>pom</code>, which defines dependencies by a <code>&lt;dependencyManagement&gt;</code> section. A BOM is consumed by client projects also by <code>&lt;dependencyManagement&gt;</code> and using the BOM artifact with scope <code>import</code> there.</p>
-
-<p>The BOM declares all dependencies that are used by Xtext and has the coordinates</p>
-
-<ul>
-  <li><code>groupId</code> : <code>org.eclipse.xtext</code></li>
-  <li><code>artifactId</code> : <code>xtext-dev-bom</code></li>
-</ul>
-
-<p>The <code>xtext-dev-bom</code> is used in Maven configurations as follows:</p>
-
-<pre><code>	&lt;dependencyManagement&gt;
-		&lt;dependencies&gt;
-			&lt;dependency&gt;
-				&lt;groupId&gt;org.eclipse.xtext&lt;/groupId&gt;
-				&lt;artifactId&gt;xtext-dev-bom&lt;/artifactId&gt;
-				&lt;version&gt;${xtext.version}&lt;/version&gt;
-				&lt;type&gt;pom&lt;/type&gt;
-				&lt;scope&gt;import&lt;/scope&gt;
-			&lt;/dependency&gt;
-		&lt;/dependencies&gt;
-	&lt;/dependencyManagement&gt;
-</code></pre>
-
-<p>Any artifact declared by the BOM (e.g. Eclipse Core, EMF, MWE, Guava, LSP4J, JDT, ANTLR) can then be used without declaration of a version.</p>
-
-<p>With Gradle 5 support of <a href="https://docs.gradle.org/5.0/userguide/managing_transitive_dependencies.html#sec:bom_import">BOM managed dependency versions</a> was introduced. The Xtext BOM can be consumed by Gradle projects with the <code>platform</code> dependency:</p>
-
-<pre><code>	dependencies {
-		compile platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}")
-	}
-</code></pre>
-
-<h2 id="java-11">Java 11</h2>
-
-<p>Xtext and Xtend now fully support Java 11! With Xtext 2.16 it was already possible to run Xtext on a Java 11 VM, but it was not possible to use Java 11 also as the target Java version. Since this required Java 11 enabled versions of Eclipse JDT, Tycho and Gradle and not all were available and especially not tested with Xtext, we had to defer the full support to 2.17.</p>
-
-<p>Now with that latest and greatest versions of JDT, Tycho and Gradle integrated, there are no restrictions to use Java 11 in any of the configurations.</p>
-
-<h2 id="customizable-exception-handling-of-validation-code">Customizable Exception Handling of Validation Code</h2>
-
-<p>By default Xtext swallows <code>NullPointerException</code> occuring during the execution of validators. While this behavior is desirable in most cases and users are not bothered with faulty validation or the likely case of NPEs caused by accessing unresolvable proxies, it may be desirable to report or rethrow these exceptions. To minimize the effort of customizing, the handling of exceptions is delegated to the new API method <code>AbstractDeclarativeValidator#handleExceptionDuringValidation(Throwable)</code>. Clients may overroide this method to change the exception handling behavior in their validator classes. (<a href="https://github.com/eclipse/xtext-core/issues/983">to issue</a>)</p>
-
-<h2 id="guava-210-version-pinning">Guava 21.0 Version Pinning</h2>
-
-<p>Xtext allowed a version range from 14.0 to 21.0 for the Guava library in the past. Effectively this range became invalid since API introduced with Guava 20.0 was used in Xbase. The open version range lead also to other surprises in the past.</p>
-
-<p>With Xtext 2.17 it was decided to pin the required version of the Guava library to 21.0 only. This affects all bundle manifests for plugin builds as well as Gradle &amp; Maven builds through the introduced BOM (see above). Also the <em>New Project Wizard</em> will respect this restriction for newly created projects. (<a href="https://github.com/eclipse/xtext/issues/1391">to issue</a>)</p>
-
-<h2 id="xtext-grammar-language">Xtext Grammar Language</h2>
-
-<h3 id="new-validation-first-rule-must-not-be-a-fragment">New Validation: First Rule Must Not Be a Fragment</h3>
-
-<p>An Xtext grammar’s first rule must not start with a fragment rule. This is now checked by an additional validation rule. (<a href="https://github.com/eclipse/xtext-core/pull/1041">to issue</a>)</p>
-
-<p><img src="/Xtext/images/releasenotes/2_17_Xtext_First-rule-not-a-fragment.gif" alt="Validation: first rule not a fragment" height="50%" width="50%" /></p>
-
-<h2 id="testing">Testing</h2>
-
-<h3 id="hyperlinking">Hyperlinking</h3>
-
-<p>A new base class <code>AbstractHyperlinkingTest</code> has been added to provide a convenient way to test hyperlinking navigation.</p>
-
-<p>All standard example projects have been updated to provide a test class (<code>&lt;LangugageName&gt;HyperlinkingTest.java</code>) for demonstration. (<a href="https://github.com/eclipse/xtext-eclipse/issues/949">to issue</a>)</p>
-
-<h3 id="junit-5-support">JUnit 5 Support</h3>
-
-<p>The package <code>org.eclipse.xtext.testing.extensions</code> introduced with release 2.14 is now public API, thus users of Xtext JUnit 5 support will no longer receive restricted API usage warnings.</p>
-
-<p>The <em>New Project Wizard</em> selects JUnit 5 as default.</p>
-
-<p><img src="/Xtext/images/releasenotes/2_17_Xtext_JUnit5-default.png" alt="JUnit 5 support as default" height="50%" width="50%" /></p>
-
-<h2 id="xtext-maven-plugin">xtext-maven-plugin</h2>
-
-<h3 id="output-configuration-name">Output Configuration Name</h3>
-
-<p>It is now possible to configure set the <code>name</code> attribute for non-default output configurations. (<a href="https://github.com/eclipse/xtext-maven/issues/62">to issue</a>)</p>
-
-<h3 id="upgrade-to-maven-3-api">Upgrade to Maven 3 API</h3>
-
-<p>The <code>xtext-maven-plugin</code> has been refactored to use the latest Maven 3 API. The most significant internal change is that all doclet based configurations have been changed to use Maven 3 annotation API.</p>
-
-<h2 id="xtext-web">xtext-web</h2>
-
-<p>The Xtext web support has been updated to the latest versions of the used libraries and editors. Particularly we upgraded to:</p>
-
-<ul>
-  <li>requirejs 2.3.6</li>
-  <li>jquery 3.3.1-1</li>
-  <li>ace 1.3.3</li>
-  <li>codemirror 5.41.0</li>
-  <li>Orion 17</li>
-</ul>
-
-<h2 id="upgrades">Upgrades</h2>
-
-<p>Xtext builts on top of numerous technologies which frequently provide releases. An important task is therefore to keep up-to-date with the latest from the used technology stack. All upgrades affect Xtext in multiple ways:</p>
-
-<ul>
-  <li>All internal usages for building Xtext use the upgraded versions</li>
-  <li>The <em>New Project Wizard</em> produces projects that make use of upgrades</li>
-  <li>Our provided Oomph setup has been updated to reflect the latest changes</li>
-</ul>
-
-<h3 id="eclipse-2019-03">Eclipse 2019-03</h3>
-
-<p>As member of the Eclipse Simultaneous Release Xtext is also built against the latest target platform 2019-03.</p>
-
-<h3 id="gradle-521">Gradle 5.2.1</h3>
-
-<p>We upgraded to Gradle 5.2.1. This version is used especially to support the introduced Maven BOM (see above) “natively” in Gradle configurations.</p>
-
-<h3 id="tycho-130">Tycho 1.3.0</h3>
-
-<p>Tycho 1.3.0 is required especially for full Java 11 support.</p>
-
-<h3 id="mwe-210">MWE 2.10</h3>
-
-<p>Xtext is now the latest release 2.10 of the Modeling Workflow Engine (MWE). The MWE project has been updated to use a recent Xtext version itself and supports now separate source folders for main sources and tests.</p>
-
-<h3 id="eclipse-orbit">Eclipse Orbit</h3>
-
-<p>Xtext uses the Orbit repository <a href="https://download.eclipse.org/releases/2019-03/">https://download.eclipse.org/releases/2019-03/</a> for third party libraries. The location redirects to the latest repository recommended for the simultanous release.</p>
-
-<h2 id="credits">Credits</h2>
-
-<p>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 <a href="https://github.com/eclipse/xtext#repositories">all repositories</a> except <a href="https://github.com/eclipse/xtext-xtend">xtext-xtend</a>):</p>
-
-<ul>
-  <li>Christian Dietrich (itemis)</li>
-  <li>Karsten Thoms (itemis)</li>
-  <li>Sebastian Zarnekow (itemis)</li>
-  <li>Tamas Miklossy (itemis)</li>
-  <li>Holger Schill (itemis)</li>
-  <li>Arne Deutsch (itemis)</li>
-  <li>Prajwal Gowda (itemis) <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /></li>
-  <li>Anders Dahlberg (Ericsson) <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /></li>
-  <li>Eva Poell (itemis) <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /></li>
-  <li>Lorenzo Addazi <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /></li>
-  <li>Jan Rosczak <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /></li>
-  <li>Jelle Schuhmacher (Altran) <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /></li>
-  <li>Titouan Vervack (Sigasi)</li>
-  <li>Jonathan Menzies <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /></li>
-  <li>Christian Schneider (TypeFox)</li>
-</ul>
-
-<h2 id="fixed-issues">Fixed Issues</h2>
-
-<p>As in every release cycle we were eagerly hunting down bugs, and reviewed and integrated plenty of contributions. Almost 80 issues and 240 pull requests have made it into this release. For further details please refer to the following lists:</p>
-
-<ul>
-  <li>
-    <p><a href="https://github.com/search?utf8=%E2%9C%93&amp;q=is%3Aissue+milestone%3ARelease_2.17+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;type=Issues&amp;ref=searchresults">Fixed GitHub issues</a></p>
-  </li>
-  <li>
-    <p><a href="https://github.com/search?utf8=%E2%9C%93&amp;q=is%3Apr+milestone%3ARelease_2.17+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;type=Issues&amp;ref=searchresults">Closed Pull Requests</a></p>
-  </li>
-  <li>
-    <p><a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=Modeling&amp;classification=Tools&amp;columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ckeywords&amp;f0=OP&amp;f1=OP&amp;f3=CP&amp;f4=CP&amp;known_name=Xtext%202.17&amp;list_id=16618269&amp;product=TMF&amp;product=Xtend&amp;query_based_on=Xtext%202.17&amp;query_format=advanced&amp;status_whiteboard=v2.17&amp;status_whiteboard_type=allwordssubstr">Fixed Eclipse Bugzilla tickets</a></p>
-  </li>
-</ul>
-
-				  </section>
-				
 			
 		</div>
   	</div>
diff --git a/releasenotes/2021/02/28/version-2-26-0.html b/releasenotes/2021/02/28/version-2-26-0.html
new file mode 100644
index 0000000..614b580
--- /dev/null
+++ b/releasenotes/2021/02/28/version-2-26-0.html
@@ -0,0 +1,309 @@
+<!DOCTYPE html>
+<html>
+
+  <head>
+	<meta charset="UTF-8">
+	<title>Xtext - Xtext 2.26.0 Release Notes</title>
+	
+	<meta name="viewport" content="width=device-width, initial-scale=1.0">
+	<meta name="description"
+		content="The website of Eclipse Xtext, an open-source framework for development of programming languages and domain-specific languages">
+	<meta name="author" content="Sven Efftinge">
+	<meta name="author" content="Miro Spoenemann">
+	<!--  styles -->
+	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+	<!--[if lt IE 9]>
+	  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+	<![endif]-->
+	
+	<!-- Le fav and touch icons -->
+	<link rel="shortcut icon" href="/Xtext/images/favicon.png">
+	
+	<link href="/Xtext/css/bootstrap.css" rel="stylesheet" type='text/css'>
+	<link href="/Xtext/css/bootstrap-responsive.css" rel="stylesheet" type='text/css'>
+	<link href="/Xtext/css/shield-responsive.css" rel="stylesheet" type='text/css'>
+	<link href='/Xtext/css/fonts.css' rel='stylesheet' type='text/css'>
+	<link href="/Xtext/css/prettyPhoto.css" rel="stylesheet" media="screen" type='text/css'>
+	<link href="/Xtext/css/prettify.css" type="text/css" rel="stylesheet"/>
+	<link href="/Xtext/css/style.css" rel="stylesheet" type='text/css'>
+	<!-- cover flow -->
+	<link href="/Xtext/css/coverflow.css" rel="stylesheet" type='text/css'>
+	<!--[if lt IE 9]>
+	  <link href="/css/iebugs.css" rel="stylesheet" type='text/css'>
+	<![endif]-->
+
+	<!-- BEGIN Cookie Consent
+	<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.css" />
+	<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js"></script>
+	<script>
+	window.addEventListener("load", function(){
+	window.cookieconsent.initialise({
+		"palette": {
+		"popup": {
+		  "background": "#000"
+		},
+		"button": {
+		  "background": "#f1d600"
+		}
+		},
+		"theme": "edgeless",
+		"type": "opt-in",
+		onInitialise: function (status) {
+		  var type = this.options.type;
+		  var didConsent = this.hasConsented();
+		  if (type == 'opt-in' && didConsent) {
+		    // TODO: enable cookies
+		  }
+		  if (type == 'opt-out' && !didConsent) {
+		    // TODO: disable cookies
+		  }
+		},
+		onStatusChange: function(status, chosenBefore) {
+		  var type = this.options.type;
+		  var didConsent = this.hasConsented();
+		  if (type == 'opt-in' && didConsent) {
+		    // TODO: enable cookies
+		  }
+		  if (type == 'opt-out' && !didConsent) {
+		    // TODO: disable cookies
+		  }
+		}, 
+		onRevokeChoice: function() {
+		  var type = this.options.type;
+		  if (type == 'opt-in') {
+		    // TODO: disable cookies
+		  }
+		  if (type == 'opt-out') {
+		    // TODO: enable cookies
+		  }
+		},
+		"content": {
+		"href": "http://www.eclipse.org/legal/privacy.php"
+		}
+	})});
+	</script>
+	END Cookie Consent -->
+</head>
+
+
+  <body>
+  
+    <header class="site-header">
+
+  <!-- Navbar -->
+  <div class="navbar navbar-fixed-top">
+    <div class="navbar-inner">
+      <div class="container">
+        <a class="btn btn-navbar" data-toggle="collapse"
+          data-target=".nav-collapse"> <span class="icon-bar"></span> <span
+          class="icon-bar"></span> <span class="icon-bar"></span>
+        </a> <a class="brand" href="/Xtext/index.html"></a>
+        <div class="nav-collapse collapse" style="height: 0px;">
+          <ul class="nav">
+            <!--li ><a href="/Xtext/news.html">News</a></li-->
+            <li ><a href="/Xtext/download.html">Download</a></li>
+            <li ><a href="/Xtext/documentation/index.html">Documentation</a></li>
+            <li ><a href="/Xtext/community.html">Community</a></li>
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Support &amp; Trainings<span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="https://www.itemis.com/en/xtext/support-and-team/" target="_blank">itemis</a></li>
+                <li><a href="https://www.typefox.io/language-engineering/" target="_blank">TypeFox</a></li>
+              </ul>
+            </li>
+            <li ><a href="http://xtend-lang.org">Xtend</a></li>
+          </ul>
+          <!--div class="nav pull-right">
+            <li ><a><iframe src="https://ghbtns.com/github-btn.html?user=eclipse&repo=xtext&type=star&count=true" frameborder="0" scrolling="0" width="170px" height="20px"></iframe></a></li>
+          </div-->
+        </div>
+        <!--/.nav-collapse -->
+      </div>
+    </div>
+  </div>
+  <!-- Navbar End -->
+
+</header>
+
+
+    <div class="page-content">
+  <div class="wrapper">
+    <div id="page">  
+    	<div class="inner">
+    		<br/><br/>
+    		<div id="maincontainer" class="container">
+    			<div class="span8 offset1">
+    				<h1>Xtext 2.26.0 Release Notes</h1>
+    				<h4>Feb 28, 2021</h4>
+    				<br/>
+    				<p>Xtext 2.26.0 is a maintenance release.</p>
+
+<h2 id="call-to-action-secure-the-future-maintenance-of-xtext">Call to Action: Secure the future maintenance of Xtext</h2>
+
+<p>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 <a href="https://github.com/eclipse/xtext/issues/1721">https://github.com/eclipse/xtext/issues/1721</a>.</p>
+
+<h2 id="xtext-and-java-17">Xtext and Java 17</h2>
+
+<p>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.</p>
+
+<h2 id="upgrades">Upgrades</h2>
+
+<ul>
+  <li>Tycho was updated to 2.6.0</li>
+  <li>GSON was updated to 2.8.9</li>
+  <li>LSP4J was updated to 0.12.0 / protocol version 3.16.0</li>
+  <li>Xtext now uses Guice 5.0.1 and thus the warnings on Java 11+ should be gone.</li>
+  <li>ASM was updated to 9.2</li>
+  <li>Gradle (in Wizard) is now updated to 7.x and the xtext-gradle-plugin to 3.0.1</li>
+  <li>Classgraph is updated to 4.8.137</li>
+</ul>
+
+<h2 id="enhancements">Enhancements</h2>
+
+<ul>
+  <li>The Xtext LSP implementation has learned folding support.</li>
+  <li><a href="https://github.com/eclipse/xtext-maven/issues/139">xtext-maven#139</a> : xtext-maven can now install trace information for DSLs with a derived Java model (for example languages using Xbase).</li>
+  <li>Dependencies to Log4j are now less restrictive so that you should be able to use reload4j as drop-in replacement.</li>
+</ul>
+
+<h2 id="deprecations">Deprecations</h2>
+
+<ul>
+  <li>The already deprecated MergeableManifest classes we marked “for removal”. Make sure you do not longer use them.</li>
+  <li>We will drop support for GWT in a future release.</li>
+  <li>The next Xtext version will likely no long support Java versions below Java 11.</li>
+</ul>
+
+<h2 id="credits">Credits</h2>
+
+<p>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 <a href="https://github.com/eclipse/xtext#repositories">all repositories</a> except <a href="https://github.com/eclipse/xtext-xtend">xtext-xtend</a>):</p>
+
+<p>Christian Dietrich<br />
+Karsten Thoms<br />
+Sebastian Zarnekow<br />
+Ruben Porras <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /><br />
+Dennis Hübner<br />
+Stefan Oehme<br />
+Titouan Vervack<br />
+Edmundo Lopez <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /><br />
+Mark Sujew<br />
+Michael Keppler <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /><br />
+Tamas Miklossy<br />
+Nico Prediger<br />
+Heinrich Weichert<br />
+Lawrence Goossens <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /><br />
+Oliver Libutzki <img src="https://img.shields.io/badge/-first%20time%20contributor-green.svg" alt="" /></p>
+
+<h2 id="fixed-issues">Fixed Issues</h2>
+
+<p>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:</p>
+
+<ul>
+  <li>
+    <p><a href="https://github.com/search?utf8=%E2%9C%93&amp;q=is%3Aissue+milestone%3ARelease_2.26+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;type=Issues&amp;ref=searchresults">Fixed GitHub issues</a></p>
+  </li>
+  <li>
+    <p><a href="https://github.com/search?utf8=%E2%9C%93&amp;q=is%3Apr+milestone%3ARelease_2.26+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;type=Issues&amp;ref=searchresults">Closed Pull Requests</a></p>
+  </li>
+  <li>
+    <p><a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=Modeling&amp;classification=Tools&amp;columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Ckeywords&amp;f0=OP&amp;f1=OP&amp;f3=CP&amp;f4=CP&amp;known_name=Xtext%202.26&amp;list_id=16618269&amp;product=TMF&amp;product=Xtend&amp;query_based_on=Xtext%202.26&amp;query_format=advanced&amp;status_whiteboard=v2.26&amp;status_whiteboard_type=allwordssubstr">Fixed Eclipse Bugzilla tickets</a></p>
+  </li>
+</ul>
+
+    			</div>
+    		</div>
+      </div>
+    </div>
+  </div>
+</div>
+    
+    <footer class="site-footer">
+  <div id="extra">
+    <div class="inner">
+      <div class="container">
+        <div class="row">
+          <div class="span6">
+            <h3 class="footer-links-header">Quick Links</h3>
+            <ul class="footer-links clearfix">
+              <li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
+              <li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
+              <li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
+              <li><a href="http://www.eclipse.org/legal/">Legal</a></li>
+            </ul>
+            <ul class="footer-links clearfix">
+              <li><a href="http://www.eclipse.org">Eclipse Home</a></li>
+              <li><a href="http://marketplace.eclipse.org/">Market Place</a></li>
+              <li><a href="http://www.planeteclipse.org/">Eclipse Planet</a></li>
+              <li><a href="https://www.eclipse.org/forums/index.php/f/27/">Xtext Forum</a></li>
+            </ul>
+          </div>
+          <div class="span6">
+            <!-- Social Media Links -->
+            <h3 class="footer-links-header"">Social Media</h3>
+            <ul class="footer-links clearfix">
+              <li>
+                <a href="https://twitter.com/xtext"><img src="/Xtext/images/Twitter-bird-darkgray.png" class="img-responsive" style="margin-right: 5px;height: 1em;" alt="Twitter icon">@xtext on Twitter</a>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+  <a href="#" class="scrollup fadeOutRight animated" style="display: none;">ScrollUp</a>
+  <!-- Le javascript
+      ================================================== -->
+  <!-- Placed at the end of the document so the pages load faster -->
+  
+  <script src="/Xtext/js/jquery-1.11.3.min.js"></script>
+  <script src="/Xtext/js/bootstrap.min.js"></script>
+  <script src="/Xtext/js/jquery.easing.1.3.js" type="text/javascript"></script>
+  <script src="/Xtext/js/jquery.prettyPhoto.js" type="text/javascript"></script>
+  <script src="/Xtext/js/prettify.js" type="text/javascript"></script>
+  <script src="/Xtext/js/lang-xtend.js" type="text/javascript"></script>
+  <script src="/Xtext/js/lang-common.js" type="text/javascript"></script>
+  <script src="/Xtext/js/custom.js" type="text/javascript"></script>
+  <!--script src="https://apis.google.com/js/platform.js" async defer></script-->
+  <!--script type="text/javascript">
+    var _gaq = _gaq || [];  
+      _gaq.push([ '_setAccount', 'UA-2429174-3' ]);
+    _gaq.push([ '_trackPageview' ]);
+    (function() {
+      var ga = document.createElement('script');
+      ga.type = 'text/javascript';
+      ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl'
+          : 'http://www')
+          + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0];
+      s.parentNode.insertBefore(ga, s);
+    })();
+  </script-->
+  <script src="/Xtext/js/coverflow.min.js" type="text/javascript"></script>
+  <script>
+      $(function() {
+        $('#coverflow').coverflow({
+          active : 1,
+          visibleAside: 2,
+          overlap : 0.5,
+          scale : 0.9,
+          angle : 20,
+          trigger : {
+            "itemfocus" : true,
+            "swipe" : true,
+            "mousewheel" : false
+          }
+        });
+        $('#coverflow :hidden').toggle();
+        $(window).resize(function() {
+          $('#coverflow').coverflow();
+        });
+      });
+
+  </script>
+</footer>
+
+
+  </body>
+
+</html>
