diff --git a/NewAndNoteworthy.html b/NewAndNoteworthy.html
index 21231fc..cacbdda 100644
--- a/NewAndNoteworthy.html
+++ b/NewAndNoteworthy.html
@@ -21,12 +21,12 @@
 						<br>
 				<br> <font class="indexsub">an eclipse runtime project</font> <br>
 				<br> <font class="indextop style2">New and Noteworthy</font><br>
-					3.14.8 Release <br> <br>
+					3.14.13 Release <br> <br>
 				<br> Return to <a href="downloads.php">ECF download page</a><br>
 					<br>
 
 				<br><a
-					href="NewAndNoteworthy_3.14.7.html">New and Noteworthy for 3.14.7</a><br>
+					href="NewAndNoteworthy_3.14.8.html">New and Noteworthy for 3.14.8</a><br>
 					<br>
 				<br></td>
 				<td width="31%">
diff --git a/NewAndNoteworthy_3.14.8.html b/NewAndNoteworthy_3.14.8.html
new file mode 100644
index 0000000..21231fc
--- /dev/null
+++ b/NewAndNoteworthy_3.14.8.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>ECF New and Noteworthy</title>
+<link rel="stylesheet" href="http://www.eclipse.org/default_style.css"
+	type="text/css">
+
+</head>
+
+<body bgcolor="#FFFFFF">
+	<table border=0 cellspacing=5 cellpadding=2 width="100%">
+		<tbody>
+			<tr>
+				<td width="69%" class="bannertext">
+				<img src="https://wiki.eclipse.org/images/b/b8/Logo128x37.png" alt="ECF Logo"/>
+				<font class="indextop style">Eclipse Communication Framework (ECF)</font>
+						
+						<br>
+				<br> <font class="indexsub">an eclipse runtime project</font> <br>
+				<br> <font class="indextop style2">New and Noteworthy</font><br>
+					3.14.8 Release <br> <br>
+				<br> Return to <a href="downloads.php">ECF download page</a><br>
+					<br>
+
+				<br><a
+					href="NewAndNoteworthy_3.14.7.html">New and Noteworthy for 3.14.7</a><br>
+					<br>
+				<br></td>
+				<td width="31%">
+					<div align="center">
+						<img src="images/Idea.jpg" width="120" height="86" hspace="50"
+							align="middle" alt="Idea Icon">
+					</div>
+				</td>
+			</tr>
+		</tbody>
+	</table>
+
+	<hr>
+
+	<table>
+		 <tr>
+			<td valign="top" align="left" width="15%">
+				<p align="left">
+					<b>New Distribution Provider using gRPC</b>
+				</p>
+			</td>
+			<td valign="top" width="85%"><p>There is a new distribution provider available at ECF's 
+			github repo <a href="https://github.com/ECF/grpc-RemoteServicesProvider">https://github.com/ECF/grpc-RemoteServicesProvider</a> that is based upon <a href="https://grpc.io/">gRPC</a>.  
+			This provider, along with <a href="https://github.com/ECF/grpc-osgi-generator">another project for
+			generating OSGi service interfaces</a> from the protocol buffers (.proto) definition of the service makes it very easy to generate the java service interface classes, and then export them (and import them) 
+			as <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html">OSGi Remote Services</a>. 
+			See also the <a href="https://wiki.eclipse.org/Distribution_Providers">ECF Distribution Providers</a> wiki page.</p>
+		    <p></p>
+		    <p></p>
+			</td>
+		</tr>
+		 
+		 <tr>
+			<td valign="top" align="left" width="15%">
+				<p align="left">
+					<b>New Distribution and Discovery Provider using Hazelcast 4</a></b>
+				</p>
+			</td>
+			<td valign="top" width="85%"><p>There is a new distribution provider available at ECF's 
+			github repo <a href="https://github.com/ECF/HazelcastProvider">https://github.com/ECF/HazelcastProvider</a> that is based upon <a href="https://hazelcast.org/">Hazelcast 4</a>.  
+			This provider makes it easy to export, discover, and import  
+			as <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html">OSGi Remote Services</a> using Hazelcast 4. 
+		    See also the <a href="https://wiki.eclipse.org/Distribution_Providers">ECF Distribution Providers</a> wiki page.</p>
+		    <p></p>
+		    <p></p>
+			</td>
+		</tr>
+	
+		 <tr>
+			<td valign="top" align="left" width="15%">
+				<p align="left">
+					<b>New Distribution and Discovery Provider using Apache Dubbo</a></b>
+				</p>
+			</td>
+			<td valign="top" width="85%"><p>There is a new distribution provider available at ECF's 
+			github repo <a href="https://github.com/ECF/DubboProvider">https://github.com/ECF/DubboProvider</a> that is based upon <a href="http://dubbo.apache.org/en-us/">Apache Dubbo</a>.  
+			This provider makes it easy to export and import  
+			as <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html">OSGi Remote Services</a> using Apache Dubbo. 
+            See also the <a href="https://wiki.eclipse.org/Distribution_Providers">ECF Distribution Providers</a> wiki page.</p> <p></p>
+		    <p></p>
+			</td>
+		</tr>
+	
+		<tr>
+			<td valign="top" align="left" width="15%">
+				<p align="left">
+					<b>Improved Support for R7 OSGi Remote Services and RSA</b>
+				</p>
+			</td>
+			<td valign="top" width="85%"><p>ECF provides implementations of the <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html">Remote Services</a> 
+			and <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteserviceadmin.html">Remote Service Admin OSGi specifications</a>.
+			OSGi R7 includes some additions to the Remote Services specification, specifically focusing on 
+			the use of <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html#i1693415">remote service intents</a>.
+		    ECF Photon fully supports the R7 specification, and implements the OSGi standard intents via
+		    several of the <a href="https://wiki.eclipse.org/Distribution_Providers">ECF distribution providers</a>.</p>
+		    <p></p>
+		    <p></p>
+		    <p>
+		    For more information about the use of service intents see 
+		    <a href="http://eclipseecf.blogspot.com/2018/05/ecf-photon-supports-osgi-async-intent.html">ECF Photon supports OSGi Async Intent</a> 
+		    and <a href="http://eclipseecf.blogspot.com/2018/04/ecf-photon-supports-osgi-r7.html">ECF Photon supports OSGi R7</a>
+		    </p>
+			</td>
+		</tr>
+		<tr>
+			<td valign="top" align="left" width="15%">
+				<p align="left">
+					<b>Support for using Bndtools for Remote Services Development</b>
+				</p>
+			</td>
+			<td valign="top" width="85%"><p><a href="http://bndtools.org/">Bndtools</a> is a set of Eclipse plugins that
+			aid the development, testing, and deployment of OSGi bundles.  ECF's Photon release has added workspace, project, and bndrun
+			templates to help the remote service developer define, implement, and test OSGi Remote Services.   </p>
+			<p></p>
+			<p></p>
+			<p>
+			See <a href="https://wiki.eclipse.org/Bndtools_Support_for_Remote_Services_Development">here</a> for
+			a short tutorial on how to use bndtools and the new templates.</p>
+			</td>
+		</tr>
+	
+</table> 
+ 
+</body> 
+</html> 
\ No newline at end of file
diff --git a/downloads.php b/downloads.php
index fca21f6..e63656c 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.12 Now Available (7/13/2020)</b>
+    <b>ECF 3.14.13 Now Available (8/14/2020)</b>
     <p></p>
     <p>
-    ECF 3.14.12 requires <b>Eclipse Photon, 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.13 requires <b>Eclipse Photon, 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.12.html",$html);
+        $html = getNugget("EcfInstallViaKaraf3.14.13.html",$html);
         
-        $html = getNugget("EcfInstallViaUpdate3.14.12.html",$html);
+        $html = getNugget("EcfInstallViaUpdate3.14.13.html",$html);
         
-        $html = getNugget("EcfInstallViaZip3.14.12.html",$html);
+        $html = getNugget("EcfInstallViaZip3.14.13.html",$html);
         
         $html = getNugget("EcfDailies.html",$html);    
  
diff --git a/index.php b/index.php
index 57e80df..b72ccce 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.14.12 was released on 7/13/2020.</b><br><br>
+     	<img border="0" src="../images/new.gif" width="31" height="14" alt="[new]"/><b>ECF 3.14.13 was released on 8/14/2020.</b><br><br>
 			See also <a href="NewAndNoteworthy.html">ECF New and Noteworthy</a>
 	</div></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>Friday, August 14, 2020 - ECF 3.14.113 is available on eclipse.org.</b>
+			See <a href="downloads.php">here for download</a>.  The ECF 3.14.13 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>Monday, July 13, 2020 - ECF 3.14.12 is available on eclipse.org.</b>
 			See <a href="downloads.php">here for download</a>.  The ECF 3.14.12 release is a bug-fix release.  See <a href="NewAndNoteworthy.html">ECF New and Noteworthy</a>
            <p></p>
diff --git a/nuggets/EcfInstallViaKaraf3.14.13.html b/nuggets/EcfInstallViaKaraf3.14.13.html
new file mode 100644
index 0000000..7fc3ed7
--- /dev/null
+++ b/nuggets/EcfInstallViaKaraf3.14.13.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.13.html b/nuggets/EcfInstallViaUpdate3.14.13.html
new file mode 100644
index 0000000..6245e63
--- /dev/null
+++ b/nuggets/EcfInstallViaUpdate3.14.13.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.13</b>.</li>
+       
+       <li>Paste the following URL into the Location field. <br><br>
+       <b>http://download.eclipse.org/rt/ecf/3.14.13/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.13.html b/nuggets/EcfInstallViaZip3.14.13.html
new file mode 100644
index 0000000..3f5ef47
--- /dev/null
+++ b/nuggets/EcfInstallViaZip3.14.13.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/3.14.13/org.eclipse.ecf.sdk_3.14.13.v20200812-2314.zip">
+               org.eclipse.ecf.sdk_3.14.13.v20200812-2314.zip</a> &nbsp;&nbsp; 21MB
+            </td>
+            <td align="center">8/14/2020</td>
+           </tr>
+
+         </tbody>
+         </table>
+</li>
+</ul>
+
