diff --git a/_builds/builds-3.17.xml b/_builds/builds-3.17.xml
new file mode 100644
index 0000000..02eee4b
--- /dev/null
+++ b/_builds/builds-3.17.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<builds version="3.17" simultaneousRelease="2021-06">
+
+  <feature id="runtime">
+    <name>RAP (Runtime)</name>
+    <description>based on Eclipse 4.20 (2021-06)</description>
+    <site>https://download.eclipse.org/rt/rap/3.17</site>
+    <downloadPath>/rt/rap/3.17/</downloadPath>
+  </feature>
+
+  <feature id="runtime4">
+    <name>RAP E4 (Runtime)</name>
+    <description>based on Eclipse 4.20 (2021-06)</description>
+    <site>https://download.eclipse.org/rt/rap/3.17/e4</site>
+    <downloadPath>/rt/rap/3.17/e4/</downloadPath>
+  </feature>
+
+  <feature id="tools">
+    <name>RAP Tools</name>
+    <description>for use with Eclipse 4.20 (2021-06)</description>
+    <site>https://download.eclipse.org/rt/rap/tools/3.17</site>
+    <downloadPath>/rt/rap/tools/3.17/</downloadPath>
+  </feature>
+
+  <build name="3.17 M1" type="M"
+      shortname="M1"
+      status="completed"
+      publishDate="2021-04-16"
+      news="3.17/?build=M1"
+      runtimeZip=""
+      runtime4Zip=""
+      toolsZip=""
+      />
+
+  <build name="3.17 M2" type="M"
+      shortname="M2"
+      status="completed"
+      publishDate="2021-05-07"
+      news="3.17/?build=M2"
+      runtimeZip="rap-3.17.0-M2-20210506-0631.zip"
+      runtime4Zip="rap-e4-3.17.0-M2-20210506-0631.zip"
+      toolsZip="rap-tools-3.17.0-M2-20210505-1906.zip"
+      />
+
+  <build name="3.17 M3" type="M"
+      shortname="M3"
+      status="completed"
+      publishDate="2021-05-28"
+      news="3.17/?build=M3"
+      runtimeZip="rap-3.17.0-M3-20210526-2024.zip"
+      runtime4Zip="rap-e4-3.17.0-M3-20210526-2024.zip"
+      toolsZip="rap-tools-3.17.0-M3-20210526-2104.zip"
+      />
+
+  <build name="3.17 RC1" type="RC"
+      shortname="RC1"
+      status="planned"
+      publishDate="2021-06-04"
+      news="3.17/?build=RC1"
+      runtimeZip=""
+      runtime4Zip=""
+      toolsZip=""
+      />
+
+  <build name="3.17 RC2" type="RC"
+      shortname="RC2"
+      status="planned"
+      publishDate="2021-06-11"
+      news="3.17/?build=RC2"
+      runtimeZip=""
+      runtime4Zip=""
+      toolsZip=""
+      />
+
+  <build name="3.17" type="R"
+      shortname="R"
+      status="planned"
+      publishDate="2021-06-16"
+      news="3.17/"
+      runtimeZip=""
+      runtime4Zip=""
+      toolsZip=""
+      />
+
+</builds>
diff --git a/_sidebar/arrivals.php b/_sidebar/arrivals.php
index cbcce7b..85044d2 100644
--- a/_sidebar/arrivals.php
+++ b/_sidebar/arrivals.php
@@ -7,17 +7,6 @@
     <div class="terminal-row">
       <span class="terminal-field">
         <span class="terminal-overlay"></span>
-        <span class="terminal-text">RAP 3.14</span>
-      </span>
-      <span class="terminal-field">
-        <span class="terminal-overlay"></span>
-        <span class="terminal-text terminal-arrived">ARRIVED</span>
-      </span>
-    </div>
-
-    <div class="terminal-row">
-      <span class="terminal-field">
-        <span class="terminal-overlay"></span>
         <span class="terminal-text">RAP 3.15.1</span>
       </span>
       <span class="terminal-field">
@@ -40,11 +29,11 @@
     <div class="terminal-row">
       <span class="terminal-field">
         <span class="terminal-overlay"></span>
-        <span class="terminal-text">RAP 3.17 M1</span>
+        <span class="terminal-text">RAP 3.17 M3</span>
       </span>
       <span class="terminal-field">
         <span class="terminal-overlay"></span>
-        <span class="terminal-text">2021-04-16</span>
+        <span class="terminal-text">2021-05-28</span>
       </span>
     </div>
 
diff --git a/_sidebar/releases.php b/_sidebar/releases.php
index 8f69dc2..ff39f54 100644
--- a/_sidebar/releases.php
+++ b/_sidebar/releases.php
@@ -5,6 +5,9 @@
   <div class="sideitemcontent">
     <ul>
       <li>
+        <a href="/rap/downloads/3.17/">RAP 3.17&emsp;2021-06</a>
+      </li>
+      <li>
         <a href="/rap/downloads/3.16/">RAP 3.16&emsp;2021-03</a>
       </li>
       <li>
diff --git a/developers-guide/DevGuideUtils.php b/developers-guide/DevGuideUtils.php
index 92d5b8e..27f31f7 100644
--- a/developers-guide/DevGuideUtils.php
+++ b/developers-guide/DevGuideUtils.php
@@ -3,7 +3,7 @@
 class DevGuideUtils {
 
   const CURRENT_VERSION = '3.16';
-  const MASTER_VERSION = '3.16';
+  const MASTER_VERSION = '3.17';
 
   public static $versions = array(
     '2.0' => array(
@@ -125,6 +125,12 @@
       'apiUrl' => 'http://download.eclipse.org/rt/rap/doc/3.16/guide/reference/',
       'tocPath' => 'guide/toc.xml',
       'topicPath' => 'guide/articles/'
+    ),
+    '3.17' => array(
+      'rootUrl' => 'http://download.eclipse.org/rt/rap/doc/3.17/',
+      'apiUrl' => 'http://download.eclipse.org/rt/rap/doc/3.17/guide/reference/',
+      'tocPath' => 'guide/toc.xml',
+      'topicPath' => 'guide/articles/'
     )
   );
 
diff --git a/downloads/index.php b/downloads/index.php
index 8f1c7de..89b94f7 100644
--- a/downloads/index.php
+++ b/downloads/index.php
@@ -10,7 +10,7 @@
   // --- TO BE CHANGED WITH EVERY RELEASE ---
 
   $releaseBuilds = new Builds( "3.16" );
-  $stableBuilds = new Builds( "3.16" );
+  $stableBuilds = new Builds( "3.17" );
 
   // ---
 
diff --git a/noteworthy/3.17/_news-M1.html b/noteworthy/3.17/_news-M1.html
new file mode 100644
index 0000000..d58db9e
--- /dev/null
+++ b/noteworthy/3.17/_news-M1.html
@@ -0,0 +1,2 @@
+<div>
+</div>
diff --git a/noteworthy/3.17/_news-M2.html b/noteworthy/3.17/_news-M2.html
new file mode 100644
index 0000000..d58db9e
--- /dev/null
+++ b/noteworthy/3.17/_news-M2.html
@@ -0,0 +1,2 @@
+<div>
+</div>
diff --git a/noteworthy/3.17/_news-M3.html b/noteworthy/3.17/_news-M3.html
new file mode 100644
index 0000000..d58db9e
--- /dev/null
+++ b/noteworthy/3.17/_news-M3.html
@@ -0,0 +1,2 @@
+<div>
+</div>
diff --git a/noteworthy/3.17/_news-R.html b/noteworthy/3.17/_news-R.html
new file mode 100644
index 0000000..d58db9e
--- /dev/null
+++ b/noteworthy/3.17/_news-R.html
@@ -0,0 +1,2 @@
+<div>
+</div>
diff --git a/noteworthy/3.17/_news-RC1.html b/noteworthy/3.17/_news-RC1.html
new file mode 100644
index 0000000..d58db9e
--- /dev/null
+++ b/noteworthy/3.17/_news-RC1.html
@@ -0,0 +1,2 @@
+<div>
+</div>
diff --git a/noteworthy/3.17/_news-RC2.html b/noteworthy/3.17/_news-RC2.html
new file mode 100644
index 0000000..d58db9e
--- /dev/null
+++ b/noteworthy/3.17/_news-RC2.html
@@ -0,0 +1,2 @@
+<div>
+</div>
diff --git a/noteworthy/3.17/index.php b/noteworthy/3.17/index.php
new file mode 100644
index 0000000..73751af
--- /dev/null
+++ b/noteworthy/3.17/index.php
@@ -0,0 +1,75 @@
+<?php
+
+  include( $_SERVER['DOCUMENT_ROOT'] . "/rap/_projectCommon.php" );
+  require_once( $_SERVER['DOCUMENT_ROOT'] . "/rap/_Builds.php" );
+
+  $buildName = isset( $_GET[ 'build' ] ) ? $_GET[ 'build' ] : "R";
+
+  $builds = new Builds( "3.17" );
+
+  $build = $builds->findBuild( $buildName );
+  if( !$build ) {
+    header( "HTTP/1.1 404 Not Found" );
+    exit( "Unknown build id" );
+  }
+
+  $PAGE_TITLE = "RAP " . $build->getName() . " - New and Noteworthy";
+  $PAGE_NAV_POSITION = array( "documentation", "noteworthy" );
+
+  printHeader();
+
+?>
+
+<div id="midcolumn">
+
+  <h1><?= $PAGE_TITLE ?></h1>
+
+  <p>
+    Here's a list of the most noteworthy things in the RAP
+    <?= $build->getName() ?> <?= strtolower( $build->getType() ) ?>
+<? if( $build->isCompleted() ) { ?>
+      which is available for <a href="http://www.eclipse.org/rap/downloads/">download</a>
+      since <?php echo formatDate( $build->getPublishDate() ) ?>.
+<? } else { ?>
+      which will be available for <a href="http://www.eclipse.org/rap/downloads/">download</a>
+      on <?php echo formatDate( $build->getPublishDate() ) ?>.
+      In the meantime, all changes described here are available in the most recent
+      <a href="http://www.eclipse.org/rap/downloads/">nightly build</a>.
+<? } ?>
+  </p>
+
+<? include( "_news-${buildName}.html" ); ?>
+
+  <h2>Bugfixes</h2>
+
+  <p>
+    <a href="<?= createBuglistUrl( $build->getTargetMilestones() ) ?>">This list</a>
+    shows all bugs that have been fixed for this <?php echo strtolower( $build->getType() ); ?>.
+  </p>
+
+<? if( $buildName !== "R" && substr( $buildName, 0, 2 ) !== "SR" ) { ?>
+  <h2>Previous Builds</h2>
+
+  <p>
+    The above features are just the ones that are new since the last milestone build.
+    Summaries for earlier builds:
+  </p>
+  <ul>
+<? foreach( $builds->getPreviousBuilds( $build->getShortName() ) as $prevBuild ) { ?>
+    <li>
+      <a href="./?build=<?php echo $prevBuild->getShortName(); ?>">News for RAP <?php echo $prevBuild->getName(); ?></a>
+    </li>
+<? } ?>
+  </ul>
+<? } ?>
+
+</div>
+
+<div id="rightcolumn">
+  <? includeSidebar( "migrationguide.php" ) ?>
+  <? includeSidebar( "releases.php" ) ?>
+</div>
+
+<?
+  printFooter();
+?>
