diff --git a/downloads.php b/downloads.php
index 06dd02d..ee870a1 100644
--- a/downloads.php
+++ b/downloads.php
@@ -30,10 +30,10 @@
  <div class="homeitem3col">
     <h3><?= $pageTitle ?></h3>
     <p><img border="0" src="../images/new.gif" width="31" height="14" alt="[new]"/>
-    <b>ECF 3.14.19 Now Available (1/2/2021)</b>
+    <b>ECF 3.14.20 Now Available (4/3/2021)</b>
     <p></p>
     <p>
-    ECF 3.14.19 requires <b>Eclipse 2018-06 or newer, or Apache Karaf 4.2+ with Java 8+</b>.  See <a href="http://download.eclipse.org/eclipse/downloads/">here to get
+    ECF 3.14.20 requires <b>Eclipse 2018-06 or newer, or Apache Karaf 4.2+ with Java 8+</b>.  See <a href="http://download.eclipse.org/eclipse/downloads/">here to get
     appropriate version of Eclipse</a> and <a href="http://karaf.apache.org">here for the appropriate version of Karaf</a>.  <br>
     <br>See <a href="NewAndNoteworthy.html">New and Noteworthy</a> for details of the contents of this release.<br>
  <br>See <a href="http://wiki.eclipse.org/Eclipse_Communication_Framework_Project">ECF Wiki</a> and/or the <a href="https://dev.eclipse.org/mailman/listinfo/ecf-dev">ecf dev at eclipse.org mailing list</a> for further information about plans and ongoing project activities.
@@ -44,11 +44,11 @@
 
         include 'getNugget.php';
 
-        $html = getNugget("EcfInstallViaKaraf3.14.19.html",$html);
+        $html = getNugget("EcfInstallViaKaraf3.14.20.html",$html);
         
-        $html = getNugget("EcfInstallViaUpdate3.14.19.html",$html);
+        $html = getNugget("EcfInstallViaUpdate3.14.20.html",$html);
         
-        $html = getNugget("EcfInstallViaZip3.14.19.html",$html);
+        $html = getNugget("EcfInstallViaZip3.14.20.html",$html);
         
         $html = getNugget("EcfDailies.html",$html);    
  
diff --git a/index.php b/index.php
index ebbc3f0..3c94881 100644
--- a/index.php
+++ b/index.php
@@ -60,6 +60,16 @@
 			<img src="../images/Adarrow.gif" border="0" width="16" height="16" alt="[Adarrow]"/>
 		</td>
 		<td valign="top">
+	  	<b>Saturday, April 3, 2021 - ECF 3.14.20 is available on eclipse.org.</b>
+			See <a href="downloads.php">here for download</a>.  The ECF 3.1420 release is a bug-fix release.  See <a href="NewAndNoteworthy.html">ECF New and Noteworthy</a>
+           <p></p>
+		</td>
+	</tr>
+  	<tr>
+		<td align="left" valign="top" height="12" width="23">
+			<img src="../images/Adarrow.gif" border="0" width="16" height="16" alt="[Adarrow]"/>
+		</td>
+		<td valign="top">
 	  	<b>Saturday, January 2, 2021 - ECF 3.14.19 is available on eclipse.org.</b>
 			See <a href="downloads.php">here for download</a>.  The ECF 3.14.19 release is a bug-fix release.  See <a href="NewAndNoteworthy.html">ECF New and Noteworthy</a>
            <p></p>
diff --git a/nuggets/EcfInstallViaKaraf3.14.20.html b/nuggets/EcfInstallViaKaraf3.14.20.html
new file mode 100644
index 0000000..7fc3ed7
--- /dev/null
+++ b/nuggets/EcfInstallViaKaraf3.14.20.html
@@ -0,0 +1,7 @@
+     <h3><img border="0" src="../images/new.gif" width="31" height="14" alt="[new]"/>Install via Apache Karaf</h3>
+<ul>
+<li>
+     To install ECF's Remote Services SDK into <a href="http://karaf.apache.org">Apache Karaf</a>.
+     <a href="https://wiki.eclipse.org/EIG:Install_into_Apache_Karaf">See here for instructions</a>.
+</li>
+</ul>
diff --git a/nuggets/EcfInstallViaUpdate3.14.20.html b/nuggets/EcfInstallViaUpdate3.14.20.html
new file mode 100644
index 0000000..440c61d
--- /dev/null
+++ b/nuggets/EcfInstallViaUpdate3.14.20.html
@@ -0,0 +1,46 @@
+    <h3>Install via p2 repository</h3>
+     <p>
+     For a detailed step-by-step description of how to install OSGi Remote Services into Eclipse 
+     see <a href="http://wiki.eclipse.org/Installing_OSGi_Remote_Services#Install_into_Eclipse">Installing Into Eclipse</a>.  For a 
+     step-by-step description of how to add OSGi Remote Services into your <b>Target Platform</b> see 
+     <a href="http://wiki.eclipse.org/Installing_OSGi_Remote_Services">Add to Target Platform</a>.
+     <p>
+      <ul>
+       <li>In Eclipse, choose <b>Help -> Install New Software...</b></li>
+       <li>Click on the <b>Add</b> button on the right. </li>
+       <li>Type in a Name in the textbox. For example: <b>ECF 3.14.20</b>.</li>
+       
+       <li>Paste the following URL into the Location field. <br><br>
+       <b>http://download.eclipse.org/rt/ecf/3.14.20/site.p2</b><br><br></li>
+       <li> Click OK. </li>
+       
+       <li>Select the first <b>two</b> check boxes for install into Eclipse..i.e.
+       <b>ECF Remote Services/Remote Service Admin SDK</b> and the <b>ECF SDK for Eclipse</b>.
+       To explain:  The ECF repository has four top-level items for install:  </li>
+       <ol>
+       <li><b>ECF Core Features</b></li>
+       <li><b>ECF Core Source Features</b></li>
+       <li><b>ECF Remote Services SDK</b></li>
+       <li><b>ECF SDK for Eclipse</b></li>
+       <li><b>Other ECF Features</b></li>
+        </ol>
+        <p>
+       <li>The first two (ECF Core Features and ECF Core Source Features) are already installed in Eclipse and so do
+       not have to be installed.   If they are selected, then they will update the existing Core feature.</li>
+       <li>Select both of ECF Remote Services SDK and ECF SDK for Eclipse and then follow through the remaining dialogs to complete the installation.</li>
+      </ul>
+     <h3>Install via Maven</h3>
+     <p>
+       ECF Remote Services/RSA is now available via <a href="https://search.maven.org/search?q=g:org.eclipse.ecf">Maven Central</a>.  The group id is <a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.eclipse.ecf%22">org.eclipse.ecf</a>.
+       There are also now <a href="https://wiki.eclipse.org/EIG:Install_into_Apache_Karaf">Karaf Features</a> based upon Maven.
+     </p>
+     <h3>Installing with Bndtools</h3>
+     <p>
+       ECF provides a bndtools workspace template, along with a number of project and bndrun templates.
+       See <a href="https://wiki.eclipse.org/Bndtools_Support_for_Remote_Services_Development">Bndtools
+       support for Remote Services Development</a> for instructions.
+     </p>
+     
+     
+     
+         
\ No newline at end of file
diff --git a/nuggets/EcfInstallViaZip3.14.20.html b/nuggets/EcfInstallViaZip3.14.20.html
new file mode 100644
index 0000000..1d45d58
--- /dev/null
+++ b/nuggets/EcfInstallViaZip3.14.20.html
@@ -0,0 +1,27 @@
+
+     <h3>Install via Zip</h3>
+<ul>
+<li>
+     The ECF SDK zip contains all ECF plugins from the Eclipse Foundation, as well as source code. 
+     The zip is a p2 update site. When you unzip it, you will have a local p2 update site and can 
+     then add an update site using the 'local'<br/><br/>
+       <table style="border-collapse: collapse;" border="0" cellpadding="" cellspacing="5">
+         <tbody>
+           <tr>
+            <th bgcolor="#c0c0c0">File</th>
+            <th colspan="1" bgcolor="#c0c0c0">&nbsp;&nbsp; Build Date &nbsp;&nbsp;</th>
+           </tr>
+
+           <tr>
+            <td>
+             <a href="https://download.eclipse.org/rt/ecf/latest/org.eclipse.ecf.sdk_3.14.20.v20210328-0449.zip">
+               org.eclipse.ecf.sdk_3.14.20.v20210328-0449.zip</a> &nbsp;&nbsp; 21MB
+            </td>
+            <td align="center">4/3/2020</td>
+           </tr>
+
+         </tbody>
+         </table>
+</li>
+</ul>
+
