diff --git a/downloads.php b/downloads.php
index f47b61f..48ea217 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.7 Now Available (5/18/2017)</b>
+    <b>ECF 3.13.8 Now Available (9/2/2017)</b>
     <p></p>
     <p>
-    ECF 3.13.7 requires <b>Eclipse Mars, or Neon, or Apache Karaf 4 with Java 8</b>.  See <a href="http://download.eclipse.org/eclipse/downloads/">here to get
+    ECF 3.13.8 requires <b>Eclipse Mars, or Neon, or Apache Karaf 4 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.13.7.html",$html);
+        $html = getNugget("EcfInstallViaKaraf3.13.8.html",$html);
         
-        $html = getNugget("EcfInstallViaUpdate3.13.7.html",$html);
+        $html = getNugget("EcfInstallViaUpdate3.13.8.html",$html);
         
-        $html = getNugget("EcfInstallViaZip3.13.7.html",$html);
+        $html = getNugget("EcfInstallViaZip3.13.8.html",$html);
         
         $html = getNugget("EcfDailies.html",$html);    
  
diff --git a/index.php b/index.php
index 0a7ff98..c831aee 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 3.13.7 (Oxygen) released on 5/18/2017.</b><br><br>
+     	<img border="0" src="../images/new.gif" width="31" height="14" alt="[new]"/><b>ECF 3.13.8 (Oxygen.1) released on 9/2/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>September 2, 2017 - ECF 3.13.8 is available on eclipse.org.</b>
+			See <a href="downloads.php">here for download</a>.  The ECF 3.13.8 release is a maintenance (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>May 18, 2017 - ECF 3.13.7 is available on eclipse.org.</b>
 			See <a href="downloads.php">here for download</a>.  The ECF 3.13.7 release is a maintenance (bug fix) release.  See <a href="NewAndNoteworthy.html">ECF New and Noteworthy</a>
            <p></p>
diff --git a/nuggets/EcfInstallViaKaraf3.13.8.html b/nuggets/EcfInstallViaKaraf3.13.8.html
new file mode 100644
index 0000000..7fc3ed7
--- /dev/null
+++ b/nuggets/EcfInstallViaKaraf3.13.8.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.8.html b/nuggets/EcfInstallViaUpdate3.13.8.html
new file mode 100644
index 0000000..60efc8c
--- /dev/null
+++ b/nuggets/EcfInstallViaUpdate3.13.8.html
@@ -0,0 +1,40 @@
+    <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.8</b>.</li>
+       
+       <li>Paste the following URL into the Location field. <br><br>
+       <b>http://download.eclipse.org/rt/ecf/3.13.8/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="http://central.maven.org/maven2/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>
+     
+     
+     
+         
\ No newline at end of file
diff --git a/nuggets/EcfInstallViaZip3.13.8.html b/nuggets/EcfInstallViaZip3.13.8.html
new file mode 100644
index 0000000..05fc8de
--- /dev/null
+++ b/nuggets/EcfInstallViaZip3.13.8.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.8/org.eclipse.ecf.sdk_3.13.8.v20170816-0246.zip">
+               org.eclipse.ecf.sdk_3.13.8.v20170816-0246.zip</a> &nbsp;&nbsp; 21MB
+            </td>
+            <td align="center">9/2/2017</td>
+           </tr>
+
+         </tbody>
+         </table>
+</li>
+</ul>
+
