diff --git a/downloads.php b/downloads.php
index 76c76f1..4680325 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.13.4 Now Available (1/12/2017)</b>
+    <b>ECF 3.13.5 Now Available (2/16/2017)</b>
     <p></p>
     <p>
-    ECF 3.13.4 requires <b>Eclipse Mars, or Neon or Apache Karaf 4 and Java 8</b>.  See <a href="http://download.eclipse.org/eclipse/downloads/">here to get
+    ECF 3.13.5 requires <b>Eclipse Mars, or Neon or Apache Karaf 4 and 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.13.4.html",$html);
+        $html = getNugget("EcfInstallViaKaraf3.13.5.html",$html);
         
-        $html = getNugget("EcfInstallViaUpdate3.13.4.html",$html);
+        $html = getNugget("EcfInstallViaUpdate3.13.5.html",$html);
         
-        $html = getNugget("EcfInstallViaZip3.13.4.html",$html);
+        $html = getNugget("EcfInstallViaZip3.13.5.html",$html);
         
         $html = getNugget("EcfDailies.html",$html);    
  
diff --git a/index.php b/index.php
index f894675..674fea0 100644
--- a/index.php
+++ b/index.php
@@ -56,7 +56,7 @@
 	<div class="homeitem3col">
          <h3>Next Release</h3>
      	<div style="margin:10px;">
-     	<img border="0" src="../images/new.gif" width="31" height="14" alt="[new]"/><b>ECF Mars/3.13.4 released on 1/12/2017.</b><br><br>
+     	<img border="0" src="../images/new.gif" width="31" height="14" alt="[new]"/><b>ECF Mars/3.13.5 released on 1/16/2017.</b><br><br>
 			See also <a href="NewAndNoteworthy.html">ECF New and Noteworthy</a>
 	</div>
  	<h3>What's New</h3>
@@ -66,6 +66,16 @@
 			<img src="../images/Adarrow.gif" border="0" width="16" height="16" alt="[Adarrow]"/>
 		</td>
 		<td valign="top">
+	  	<b>February 16, 2017 - ECF Mars/3.13.5 is available on eclipse.org.</b>
+			See <a href="downloads.php">here for download</a>.  The ECF 3.13.5 release is a maintenance (bug fix) release.  See <a href="NewAndNoteworthy.html">ECF 3.13.3 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>January 12, 2017 - ECF Mars/3.13.4 is available on eclipse.org.</b>
 			See <a href="downloads.php">here for download</a>.  The ECF 3.13.4 release is a maintenance (bug fix) release.  See <a href="NewAndNoteworthy.html">ECF 3.13.3 New and Noteworthy</a>
            <p></p>
diff --git a/nuggets/EcfInstallViaKaraf3.13.5.html b/nuggets/EcfInstallViaKaraf3.13.5.html
new file mode 100644
index 0000000..7fc3ed7
--- /dev/null
+++ b/nuggets/EcfInstallViaKaraf3.13.5.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.13.5.html b/nuggets/EcfInstallViaUpdate3.13.5.html
new file mode 100644
index 0000000..a123dce
--- /dev/null
+++ b/nuggets/EcfInstallViaUpdate3.13.5.html
@@ -0,0 +1,43 @@
+    <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, type: <b>ECF 3.13.5</b>.</li>
+       
+       <li>Paste the following URL into the Location field. <br><br>
+       <b>http://download.eclipse.org/rt/ecf/3.13.5/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 Repository</h3>
+     <p>
+       ECF also generates a Maven repository and makes it available here
+        <ul>
+        <li><b></b></li>
+        </ul>
+        For support with respect to use of the Maven repo, please join the <a href="https://dev.eclipse.org/mailman/listinfo/ecf-dev">ecf-dev mailing list</a>.
+     </p>
+     
+     
+     
+         
\ No newline at end of file
diff --git a/nuggets/EcfInstallViaZip3.13.5.html b/nuggets/EcfInstallViaZip3.13.5.html
new file mode 100644
index 0000000..c9743fd
--- /dev/null
+++ b/nuggets/EcfInstallViaZip3.13.5.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="http://www.eclipse.org/downloads/download.php?file=/rt/ecf/3.13.5/org.eclipse.ecf.sdk_3.13.5.v20170216-0456.zip">
+               org.eclipse.ecf.sdk_3.13.5.v20170216-0456.zip</a> &nbsp;&nbsp; 17MB
+            </td>
+            <td align="center">2/16/2017</td>
+           </tr>
+
+         </tbody>
+         </table>
+</li>
+</ul>
+
