diff --git a/releases/3.13/index.html b/releases/3.13/index.html
new file mode 100755
index 0000000..9a67e7f
--- /dev/null
+++ b/releases/3.13/index.html
@@ -0,0 +1,8 @@
+<html>
+<head>
+<meta http-equiv="refresh" content="0; url=index.php" />
+</head>
+<body>
+<a href="index.php">This document has moved</a>
+</body>
+</html>
diff --git a/releases/3.13/index.php b/releases/3.13/index.php
new file mode 100755
index 0000000..44a28f4
--- /dev/null
+++ b/releases/3.13/index.php
@@ -0,0 +1,28 @@
+<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+$pageKeywords	= "";
+$pageAuthor		="Nick Boldt @ Red Hat";
+
+$root = $_SERVER['DOCUMENT_ROOT'];
+require_once ($root . '/webtools/common.php');
+
+# Generate the web page
+// Load the XML source
+$xml = DOMDocument::load('index.xml');
+
+//Set the page title
+$xpath = new DOMXPath($xml);
+$titleNode = $xpath->query("/html/head/title")->item(0);
+$pageTitle = ($titleNode != null) ? $titleNode->nodeValue : "eclipse.org webtools page";
+
+// Load the XSL source
+$xsl = DOMDocument::load($root . '/webtools/wtpnova.xsl');
+
+// Configure the transformer
+$proc = new XSLTProcessor;
+$proc->importStyleSheet($xsl); // attach the xsl rules
+
+$html = $proc->transformToXML($xml);
+$html .= $wtpTopButtons;
+
+$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/releases/3.13/index.xml b/releases/3.13/index.xml
new file mode 100755
index 0000000..6460df8
--- /dev/null
+++ b/releases/3.13/index.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="../../wtpphoenix.xsl"?>
+<html>
+	<head>
+    	<meta name="root" content="../../../" />
+		<title>eclipse web tools platform release 3.13</title>
+	</head>
+	<body>
+		<h1>WTP 3.13</h1>
+		<h2>Status as of 2019-03-20</h2>
+		<p>
+			WTP 3.13 was officially released on March 20, 2019. WTP 3.13 is part of the Eclipse IDE 2019-03, the
+			latest quarterly release. Users of Eclipse should use the SimRel Update Site,
+			<a href="http://download.eclipse.org/releases/2019-03/">http://download.eclipse.org/releases/2019-03/</a>,
+			to install WTP 3.13. The next release, WTP 3.14, will be part of the simultaneous release in June.
+		</p>
+		<ul>
+					<li>Download WTP as part of a complete Eclipse <a href="https://www.eclipse.org/downloads/packages/release/2019-03/r">package</a>. WTP is featured in the IDEs for <a href="https://www.eclipse.org/downloads/packages/release/2019-03/r/eclipse-ide-enterprise-java-developers">Enterprise Java</a> and <a href="https://www.eclipse.org/downloads/packages/release/2019-03/r/eclipse-ide-javascript-and-web-developers">JavaScript and Web</a> Developers.</li>
+					<li>Check out what's <a href="NewAndNoteworthy/index.php">New and Noteworthy</a> in this release</li>
+					<li>Read the <a href="https://wiki.eclipse.org/WTP_3.13_(2019-03)_-_New_Help_for_Old_Friends">adopter migration documentation</a> for this release</li>
+					<li>Find WTP in the <a href="https://marketplace.eclipse.org/user/nitind/listings">Eclipse Marketplace</a></li>
+					<li><a href="http://download.eclipse.org/webtools/downloads/">Download</a> the final WTP 3.13 built P2 site now</li>
+          <li>Browse the <a href="http://help.eclipse.org/2019-03/topic/org.eclipse.wst.doc.user/topics/overview.html?cp=101" target="_top">Web Tools Platform User Guide</a></li>
+					<li>Read the <a href="https://wiki.eclipse.org/WTP_FAQ">FAQ</a></li>
+					<li>Read the <a href="https://wiki.eclipse.org/WTP_Tomcat_FAQ">WTP and Apache Tomcat FAQ</a></li>
+            <!--  <h3><a href="contributorrecognition.html">Recognition of Contributors</a></h3> -->
+            <!--
+             <h2>Press Coverage for WTP 3.13</h2>
+             <h3><a href=""  target="_top">title</a>, <i>source</i></h3>
+             -->
+		</ul>
+	<!--
+		<h2>
+			<a name="new-noteworthy" />
+			New and Noteworthy
+		</h2>
+		<table border="0" cellpadding="10" cellspacing="10" style="border-spacing:10px; border-collapse: separate">
+			<tbody>
+				<tr>
+					<td align="right" valign="top" width="15%">
+						<b>Miscellaneous</b>
+					</td>
+					<td align="left" valign="top" width="85%">
+					The Snippets View and JSP Java Search functionalities have been restored. The latter also has
+					improved performance.
+					</td>
+				</tr>
+			</tbody>
+		</table>
+	-->
+		<h2><a name="what-is-fixed" />What is Fixed</h2>
+		<p>Fixed <a href="https://bugs.eclipse.org/bugs/buglist.cgi?classification=WebTools&amp;query_format=advanced&amp;target_milestone=3.13&amp;target_milestone=3.13%20M1&amp;target_milestone=3.13%20M2&amp;target_milestone=3.13%20M3&amp;target_milestone=3.13%20RC1&amp;target_milestone=3.13%20RC2&amp;target_milestone=3.13.0">list</a>/<a
+		href="https://bugs.eclipse.org/bugs/report.cgi?x_axis_field=bug_severity&amp;y_axis_field=product&amp;no_redirect=1&amp;query_format=report-table&amp;classification=WebTools&amp;target_milestone=3.13&amp;target_milestone=3.13+M1&amp;target_milestone=3.13+M2&amp;target_milestone=3.13+M3&amp;target_milestone=3.13+RC1&amp;target_milestone=3.13+RC2&amp;target_milestone=3.13.0&amp;format=table&amp;action=wrap">table</a>.</p>
+		<p>Adopters should consult the <a href="https://wiki.eclipse.org/New_Help_for_Old_Friends_XI">migration</a> information for potentially breaking changes.</p>
+
+		<h2>
+			<a name="reported-problems" />
+			Reported and Known Problems
+		</h2>
+		<p>
+			All reported problems are recorded in the Eclipse Bugzilla
+			system under:
+			<ul>
+				<li>
+					Classification =
+					<code>WebTools</code>
+				</li>
+				<li>
+					Status =
+					<code>NEW</code>
+					or
+					<code>ASSIGNED</code>
+					or
+					<code>REOPENED</code>
+				</li>
+			</ul>
+		</p>
+		<a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=UNCONFIRMED&amp;classification=WebTools&amp;order=bugs.bug_id%20desc">All reported problems</a>
+		<p>Check for suggested workarounds in the bug report comments. Remember: <b>bugs that aren't reported have little chance of being fixed.</b><!--Here are more specific items:--></p>
+
+		<!--
+		<table cellpadding="3%" >
+
+		<tr>
+			<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=number">number</a></td>
+			<td> title </td>
+		</tr>
+		</table>
+		-->
+	</body>
+</html>
diff --git a/releases/index.html b/releases/index.html
index 5f3276a..81e4f43 100755
--- a/releases/index.html
+++ b/releases/index.html
@@ -1,8 +1,8 @@
 <html>
 <head>
-<meta http-equiv="refresh" content="5; url=3.12/index.php" />
+<meta http-equiv="refresh" content="5; url=3.13/index.php" />
 </head>
 <body>
-<a href="3.12/index.php">This document is merely a placeholder.  Proceed to the 3.12 release's page.</a>
+<a href="3.13/index.php">This document is merely a placeholder.  Proceed to the 3.13 release's page.</a>
 </body>
 </html>
