This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/ratis.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 5145375fc RATIS-2163 Update website with Ratis 3.1.1 release #1155
5145375fc is described below

commit 5145375fc17d6da6bbd1f1090dbcdf5d29dc81d5
Author: OneSizeFitQuorum <[email protected]>
AuthorDate: Thu Sep 26 14:24:42 2024 +0800

    RATIS-2163 Update website with Ratis 3.1.1 release #1155
    
    Signed-off-by: OneSizeFitQuorum <[email protected]>
---
 categories/index.xml                              |   5 +-
 categories/page/1.html                            |  11 +-
 downloads.html                                    |  22 ++-
 getting_started.html                              |  32 ++--
 index.html                                        |  36 ++---
 index.xml                                         | 186 ++++------------------
 lifecycle.svg                                     |   2 +-
 logservice.html                                   |  80 ++++------
 logservice/index.xml                              |  27 +---
 logservice/page/1.html                            |  11 +-
 logservice/security.html                          |  56 +++----
 logservice/testing.html                           |  35 ++--
 logservice/testing/docker.html                    |  18 +--
 logservice/testing/index.xml                      |  27 +---
 logservice/testing/page/1.html                    |  11 +-
 post.html                                         |  24 +--
 logservice/testing/docker.html => post/3.1.1.html |  35 +---
 post/index.xml                                    | 118 ++++----------
 post/page/1.html                                  |  11 +-
 post/page/2.html                                  |  12 ++
 sitemap.xml                                       |  13 +-
 tags/index.xml                                    |   5 +-
 tags/page/1.html                                  |  11 +-
 23 files changed, 294 insertions(+), 494 deletions(-)

diff --git a/categories/index.xml b/categories/index.xml
index 7511b6386..b4157159a 100644
--- a/categories/index.xml
+++ b/categories/index.xml
@@ -4,7 +4,8 @@
     <title>Categories on Apache Ratis</title>
     <link>https://ratis.apache.org/categories.html</link>
     <description>Recent content in Categories on Apache Ratis</description>
-    <generator>Hugo -- gohugo.io</generator>
-    <language>en-us</language><atom:link 
href="https://ratis.apache.org/categories/index.xml"; rel="self" 
type="application/rss+xml" />
+    <generator>Hugo</generator>
+    <language>en-us</language>
+    <atom:link href="https://ratis.apache.org/categories/index.xml"; rel="self" 
type="application/rss+xml" />
   </channel>
 </rss>
diff --git a/categories/page/1.html b/categories/page/1.html
index 2bd3947bb..82710b79f 100644
--- a/categories/page/1.html
+++ b/categories/page/1.html
@@ -1 +1,10 @@
-<!DOCTYPE 
html><html><head><title>https://ratis.apache.org/categories.html</title><link 
rel="canonical" href="https://ratis.apache.org/categories.html"/><meta 
name="robots" content="noindex"><meta charset="utf-8" /><meta 
http-equiv="refresh" content="0; url=https://ratis.apache.org/categories.html"; 
/></head></html>
\ No newline at end of file
+<!DOCTYPE html>
+<html lang="en-us">
+  <head>
+    <title>https://ratis.apache.org/categories.html</title>
+    <link rel="canonical" href="https://ratis.apache.org/categories.html";>
+    <meta name="robots" content="noindex">
+    <meta charset="utf-8">
+    <meta http-equiv="refresh" content="0; 
url=https://ratis.apache.org/categories.html";>
+  </head>
+</html>
diff --git a/downloads.html b/downloads.html
index 5f79bd161..93b6c0ac4 100644
--- a/downloads.html
+++ b/downloads.html
@@ -116,6 +116,26 @@ The binaries are also uploaded to the maven central for 
convenience. (See the ge
 
     
     
+     <tr>
+       <td>3.1.1</td>
+       <td>2024 Sep 26</td>
+       <td>
+         <a 
href="https://www.apache.org/dyn/closer.cgi/ratis/3.1.1/apache-ratis-3.1.1-src.tar.gz";>source</a>
+         (<a 
href="https://downloads.apache.org/ratis/3.1.1/apache-ratis-3.1.1-src.tar.gz.mds";>checksum</a>
+         <a 
href="https://downloads.apache.org/ratis/3.1.1/apache-ratis-3.1.1-src.tar.gz.asc";>signature</a>)
+        </td>
+        <td>
+          <a 
href="https://www.apache.org/dyn/closer.cgi/ratis/3.1.1/apache-ratis-3.1.1-bin.tar.gz";>binary</a>
+          (<a 
href="https://downloads.apache.org/ratis/3.1.1/apache-ratis-3.1.1-bin.tar.gz.mds";>checksum</a>
+          <a 
href="https://downloads.apache.org/ratis/3.1.1/apache-ratis-3.1.1-bin.tar.gz.asc";>signature</a>)
+         </td>
+         <td>
+           <a href="post/3.1.1.html">Announcement</a>
+         </td>
+     </tr>
+    
+    
+    
      <tr>
        <td>3.1.0</td>
        <td>2024 Jun 29</td>
@@ -177,8 +197,6 @@ The binaries are also uploaded to the maven central for 
convenience. (See the ge
      </tr>
     
     
-    
-    
   </table>
 </p>
 
diff --git a/getting_started.html b/getting_started.html
index afedc6acd..fbdf728ac 100644
--- a/getting_started.html
+++ b/getting_started.html
@@ -118,23 +118,23 @@
 <a 
href="https://github.com/apache/ratis/blob/master/ratis-examples/";>ratis-examples</a>
 sub-project.</p>
 <h3 id="maven-usage">Maven usage</h3>
 <p>To use in our project you can access the latest binaries from maven 
central:</p>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-xml" data-lang="xml"><span 
style="color:#f92672">&lt;dependency&gt;</span>
-   <span style="color:#f92672">&lt;artifactId&gt;</span>ratis-server<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
-   <span style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
-<span style="color:#f92672">&lt;/dependency&gt;</span></code></pre></div>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-xml" data-lang="xml"><span style="display:flex;"><span><span 
style="color:#f92672">&lt;dependency&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;artifactId&gt;</span>ratis-server<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
+</span></span><span style="display:flex;"><span><span 
style="color:#f92672">&lt;/dependency&gt;</span></span></span></code></pre></div>
 <p>You also need to include <em>one</em> of the transports:</p>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-xml" data-lang="xml"><span 
style="color:#f92672">&lt;dependency&gt;</span>
-   <span style="color:#f92672">&lt;artifactId&gt;</span>ratis-grpc<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
-   <span style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
-<span style="color:#f92672">&lt;/dependency&gt;</span></code></pre></div>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-xml" data-lang="xml"> <span 
style="color:#f92672">&lt;dependency&gt;</span>
-   <span style="color:#f92672">&lt;artifactId&gt;</span>ratis-netty<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
-   <span style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
-<span style="color:#f92672">&lt;/dependency&gt;</span></code></pre></div>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-xml" data-lang="xml"><span 
style="color:#f92672">&lt;dependency&gt;</span>
-   <span style="color:#f92672">&lt;artifactId&gt;</span>ratis-hadoop<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
-   <span style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
-<span style="color:#f92672">&lt;/dependency&gt;</span></code></pre></div>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-xml" data-lang="xml"><span style="display:flex;"><span><span 
style="color:#f92672">&lt;dependency&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;artifactId&gt;</span>ratis-grpc<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
+</span></span><span style="display:flex;"><span><span 
style="color:#f92672">&lt;/dependency&gt;</span></span></span></code></pre></div>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-xml" data-lang="xml"><span style="display:flex;"><span> <span 
style="color:#f92672">&lt;dependency&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;artifactId&gt;</span>ratis-netty<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
+</span></span><span style="display:flex;"><span><span 
style="color:#f92672">&lt;/dependency&gt;</span></span></span></code></pre></div>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-xml" data-lang="xml"><span style="display:flex;"><span><span 
style="color:#f92672">&lt;dependency&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;artifactId&gt;</span>ratis-hadoop<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
+</span></span><span style="display:flex;"><span><span 
style="color:#f92672">&lt;/dependency&gt;</span></span></span></code></pre></div>
 <p>Please note that Apache Hadoop dependencies are shaded, so it&rsquo;s safe 
to use hadoop transport with different versions of Hadoop.</p>
 
 </div>
diff --git a/index.html b/index.html
index ce52ea121..a9bcb0574 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
 <html>
 
 <head>
-       <meta name="generator" content="Hugo 0.92.2" />
+       <meta name="generator" content="Hugo 0.134.3">
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
@@ -183,7 +183,7 @@
             <h2>Latest news</h2>
             
             <div class="panel-heading clearfix"><a class="pull-left" 
href="/post.html">Posts</a>
-                <small class="pull-right">2024 Jun 29 </small>
+                <small class="pull-right">2024 Sep 26 </small>
             </div>
             
         </div>
@@ -214,23 +214,23 @@
 <a 
href="https://github.com/apache/ratis/blob/master/ratis-examples/";>ratis-examples</a>
 sub-project.</p>
 <h3 id="maven-usage">Maven usage</h3>
 <p>To use in our project you can access the latest binaries from maven 
central:</p>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-xml" data-lang="xml"><span 
style="color:#f92672">&lt;dependency&gt;</span>
-   <span style="color:#f92672">&lt;artifactId&gt;</span>ratis-server<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
-   <span style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
-<span style="color:#f92672">&lt;/dependency&gt;</span></code></pre></div>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-xml" data-lang="xml"><span style="display:flex;"><span><span 
style="color:#f92672">&lt;dependency&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;artifactId&gt;</span>ratis-server<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
+</span></span><span style="display:flex;"><span><span 
style="color:#f92672">&lt;/dependency&gt;</span></span></span></code></pre></div>
 <p>You also need to include <em>one</em> of the transports:</p>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-xml" data-lang="xml"><span 
style="color:#f92672">&lt;dependency&gt;</span>
-   <span style="color:#f92672">&lt;artifactId&gt;</span>ratis-grpc<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
-   <span style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
-<span style="color:#f92672">&lt;/dependency&gt;</span></code></pre></div>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-xml" data-lang="xml"> <span 
style="color:#f92672">&lt;dependency&gt;</span>
-   <span style="color:#f92672">&lt;artifactId&gt;</span>ratis-netty<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
-   <span style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
-<span style="color:#f92672">&lt;/dependency&gt;</span></code></pre></div>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-xml" data-lang="xml"><span 
style="color:#f92672">&lt;dependency&gt;</span>
-   <span style="color:#f92672">&lt;artifactId&gt;</span>ratis-hadoop<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
-   <span style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
-<span style="color:#f92672">&lt;/dependency&gt;</span></code></pre></div>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-xml" data-lang="xml"><span style="display:flex;"><span><span 
style="color:#f92672">&lt;dependency&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;artifactId&gt;</span>ratis-grpc<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
+</span></span><span style="display:flex;"><span><span 
style="color:#f92672">&lt;/dependency&gt;</span></span></span></code></pre></div>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-xml" data-lang="xml"><span style="display:flex;"><span> <span 
style="color:#f92672">&lt;dependency&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;artifactId&gt;</span>ratis-netty<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
+</span></span><span style="display:flex;"><span><span 
style="color:#f92672">&lt;/dependency&gt;</span></span></span></code></pre></div>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-xml" data-lang="xml"><span style="display:flex;"><span><span 
style="color:#f92672">&lt;dependency&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;artifactId&gt;</span>ratis-hadoop<span 
style="color:#f92672">&lt;/artifactId&gt;</span>
+</span></span><span style="display:flex;"><span>   <span 
style="color:#f92672">&lt;groupId&gt;</span>org.apache.ratis<span 
style="color:#f92672">&lt;/groupId&gt;</span>
+</span></span><span style="display:flex;"><span><span 
style="color:#f92672">&lt;/dependency&gt;</span></span></span></code></pre></div>
 <p>Please note that Apache Hadoop dependencies are shaded, so it&rsquo;s safe 
to use hadoop transport with different versions of Hadoop.</p>
 
             
diff --git a/index.xml b/index.xml
index f040fc155..e43ad1846 100644
--- a/index.xml
+++ b/index.xml
@@ -4,307 +4,191 @@
     <title>Apache Ratis</title>
     <link>https://ratis.apache.org/</link>
     <description>Recent content on Apache Ratis</description>
-    <generator>Hugo -- gohugo.io</generator>
+    <generator>Hugo</generator>
     <language>en-us</language>
-    <lastBuildDate>Sat, 29 Jun 2024 00:00:00 +0000</lastBuildDate><atom:link 
href="https://ratis.apache.org/index.xml"; rel="self" type="application/rss+xml" 
/>
+    <lastBuildDate>Thu, 26 Sep 2024 00:00:00 +0000</lastBuildDate>
+    <atom:link href="https://ratis.apache.org/index.xml"; rel="self" 
type="application/rss+xml" />
+    <item>
+      <title>Release 3.1.1 is available</title>
+      <link>https://ratis.apache.org/post/3.1.1.html</link>
+      <pubDate>Thu, 26 Sep 2024 00:00:00 +0000</pubDate>
+      <guid>https://ratis.apache.org/post/3.1.1.html</guid>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a maintenance release with multiple improvements and bugfixes.&#xA;See the 
&lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-3.1.0...ratis-3.1.1&#34;&gt;changes
 between 3.1.0 and 3.1.1&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a href=&#3 [...]
+    </item>
     <item>
       <title>Release 3.1.0 is available</title>
       <link>https://ratis.apache.org/post/3.1.0.html</link>
       <pubDate>Sat, 29 Jun 2024 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/3.1.0.html</guid>
-      <description>Download
-This is a minor release with multiple improvements and bugfixes. See the 
changes between 3.0.1 and 3.1.0 releases.
-It has been tested with Apache Ozone and Apache IoTDB, where Apache Ratis is 
used to replicate raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a minor release with multiple improvements and bugfixes.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-3.0.1...ratis-3.1.0&#34;&gt;changes
 between 3.0.1 and 3.1.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a href=&#34;http [...]
     </item>
-    
     <item>
       <title>Release 3.0.1 is available</title>
       <link>https://ratis.apache.org/post/3.0.1.html</link>
       <pubDate>Tue, 09 Jan 2024 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/3.0.1.html</guid>
-      <description>Download
-This is a bugfix release. See the changes between 3.0.0 and 3.0.1 releases.
-It has been tested with Apache Ozone and Apache IoTDB, where Apache Ratis is 
used to replicate raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a bugfix release.  See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-3.0.0...ratis-3.0.1&#34;&gt;changes
 between 3.0.0 and 3.0.1&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a href=&#34;https://ozone.apache.org&#34;&gt;Apache Ozone& [...]
     </item>
-    
     <item>
       <title>Release 3.0.0 is available</title>
       <link>https://ratis.apache.org/post/3.0.0.html</link>
       <pubDate>Tue, 21 Nov 2023 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/3.0.0.html</guid>
-      <description>Download
-This is a major new version that contains 100 improvements and bug fixes. It 
introduces new features like pluggable metrics and lease read, etc. See the 
changes between 2.5.1 and 3.0.0 releases as below:
-Change list of ratis 3.0.0 In total, there are roughly 100 commits diffing 
from 2.5.1
-Incompatible Changes   RaftStorage Auto-Format
-  RATIS-1677. Do not auto format RaftStorage in RECOVER. (#718)
-  RATIS-1694. Fix the compatibility issue of RATIS-1677.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a major new version that contains 100 improvements and bug fixes. It 
introduces new features like pluggable metrics and lease read, etc.&#xA;See the 
changes between 2.5.1 and 3.0.0 releases as 
below:&lt;/p&gt;&#xA;&lt;p&gt;Change list of ratis 3.0.0&#xA;In total, there 
are roug [...]
     </item>
-    
     <item>
       <title>Release 2.5.1 is available</title>
       <link>https://ratis.apache.org/post/2.5.1.html</link>
       <pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.5.1.html</guid>
-      <description>Download
-This is a bugfix release. See the changes between 2.5.0 and 2.5.1 releases.
-It has been tested with Apache Ozone, Apache IoTDB where Apache Ratis is used 
to replicate raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a bugfix release.  See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.5.0...ratis-2.5.1&#34;&gt;changes
 between 2.5.0 and 2.5.1&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a href=&#34;https://ozone.apache.org&#34;&gt;Apache Ozone& [...]
     </item>
-    
     <item>
       <title>Release 2.5.0 is available</title>
       <link>https://ratis.apache.org/post/2.5.0.html</link>
       <pubDate>Mon, 10 Apr 2023 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.5.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone, Apache 
IoTDB and Alluxio use cases. See the changes between 2.4.1 and 2.5.0 releases.
-It has been tested with Apache Ozone, Apache IoTDB and Alluxio where Apache 
Ratis is used to replicate raw data and to provide high 
availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone, Apache 
IoTDB and Alluxio use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.4.1...ratis-2.5.0&#34;&gt;changes
 between 2.4.1 and 2.5.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It  [...]
     </item>
-    
     <item>
       <title>Release 2.4.1 is available</title>
       <link>https://ratis.apache.org/post/2.4.1.html</link>
       <pubDate>Sat, 26 Nov 2022 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.4.1.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone, Apache 
IoTDB and Alluxio use cases. See the changes between 2.4.0 and 2.4.1 releases.
-It has been tested with Apache Ozone, Apache IoTDB and Alluxio where Apache 
Ratis is used to replicate raw data and to provide high 
availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone, Apache 
IoTDB and Alluxio use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.4.0...ratis-2.4.1&#34;&gt;changes
 between 2.4.0 and 2.4.1&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It  [...]
     </item>
-    
     <item>
       <title>Release 2.4.0 is available</title>
       <link>https://ratis.apache.org/post/2.4.0.html</link>
       <pubDate>Tue, 18 Oct 2022 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.4.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone use 
cases. See the changes between 2.3.0 and 2.4.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone use 
cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.3.0...ratis-2.4.0&#34;&gt;changes
 between 2.3.0 and 2.4.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a [...]
     </item>
-    
     <item>
       <title>Release 2.3.0 is available</title>
       <link>https://ratis.apache.org/post/2.3.0.html</link>
       <pubDate>Thu, 19 May 2022 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.3.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone use 
cases. See the changes between 2.2.0 and 2.3.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone use 
cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.2.0...ratis-2.3.0&#34;&gt;changes
 between 2.2.0 and 2.3.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a [...]
     </item>
-    
     <item>
       <title>Release 2.2.0 is available</title>
       <link>https://ratis.apache.org/post/2.2.0.html</link>
       <pubDate>Wed, 20 Oct 2021 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.2.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone use 
cases. See the changes between 2.1.0 and 2.2.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone use 
cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.1.0...ratis-2.2.0&#34;&gt;changes
 between 2.1.0 and 2.2.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a [...]
     </item>
-    
     <item>
       <title>Release 2.1.0 is available</title>
       <link>https://ratis.apache.org/post/2.1.0.html</link>
       <pubDate>Mon, 19 Jul 2021 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.1.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone use 
cases. See the changes between 2.0.0 and 2.1.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone use 
cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.0.0...ratis-2.1.0&#34;&gt;changes
 between 2.0.0 and 2.1.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a [...]
     </item>
-    
     <item>
       <title>Release 2.0.0 is available</title>
       <link>https://ratis.apache.org/post/2.0.0.html</link>
       <pubDate>Wed, 24 Mar 2021 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.0.0.html</guid>
-      <description>Download
-It contains around 260 improvements and bug fixes based on various Apache 
Ozone use cases. See the changes between 1.0.0 and 2.0.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains around 260 improvements and bug fixes based on various Apache Ozone 
use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-1.0.0...ratis-2.0.0&#34;&gt;changes
 between 1.0.0 and 2.0.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested [...]
     </item>
-    
     <item>
       <title>GA Release 1.0.0 is available</title>
       <link>https://ratis.apache.org/post/1.0.0.html</link>
       <pubDate>Mon, 20 Jul 2020 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/1.0.0.html</guid>
-      <description>Download
-It contains around 119 improvements and bug fixes based on various Apache 
Ozone use cases. See the changes between 0.5.0 and 1.0.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains around 119 improvements and bug fixes based on various Apache Ozone 
use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-0.5.0-rc0...ratis-1.0.0&#34;&gt;changes
 between 0.5.0 and 1.0.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
te [...]
     </item>
-    
     <item>
       <title>Release 0.5.0 is available</title>
       <link>https://ratis.apache.org/post/0.5.0.html</link>
       <pubDate>Tue, 04 Feb 2020 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.5.0.html</guid>
-      <description>Download
-It contains more than 94 improvements and bug fixes based on various Apache 
Ozone use cases. See the changes between 0.4.0 and 0.5.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains more than 94 improvements and bug fixes based on various Apache Ozone 
use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/0.4.0-rc4...ratis-0.5.0-rc0&#34;&gt;changes
 between 0.4.0 and 0.5.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
te [...]
     </item>
-    
     <item>
       <title>Release 0.4.0 is available</title>
       <link>https://ratis.apache.org/post/0.4.0.html</link>
       <pubDate>Thu, 12 Sep 2019 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.4.0.html</guid>
-      <description>Download
-It contains more than 89 improvements and bug fixes based on various Apache 
Ozone use cases. See the changes between 0.3.0 and 0.4.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains more than 89 improvements and bug fixes based on various Apache Ozone 
use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-0.3.0...0.4.0-rc4&#34;&gt;changes
 between 0.3.0 and 0.4.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested [...]
     </item>
-    
     <item>
       <title>Release 0.3.0 is available</title>
       <link>https://ratis.apache.org/post/0.3.0.html</link>
       <pubDate>Sun, 21 Apr 2019 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.3.0.html</guid>
-      <description>Download
-It contains new features such as multi-raft and watch request, as well 
contains 73 improvements and 72 bug fixes. See the changes between 0.2.0 and 
0.3.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains new features such as multi-raft and watch request, as well contains 
73 improvements and 72 bug fixes.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-0.2.0...ratis-0.3.0&#34;&gt;changes
 between 0.2.0 and 0.3.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt; [...]
     </item>
-    
     <item>
       <title>Release 0.2.0 is available</title>
       <link>https://ratis.apache.org/post/0.2.0.html</link>
       <pubDate>Sun, 15 Jul 2018 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.2.0.html</guid>
-      <description>0.2.0 is the second Apache release and the first release 
which provides binary release with example Raft applications.
-It contains more than 130 bug fixes and features since the previous release.
-This version also heavily tested with Apache Ozone where Apache Ratis is used 
to replicate raw Hadoop data.
-The release is available from the downloaded section or (as Ratis is a java 
library) from the Apache and Maven central maven repositories.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;0.2.0 is the second Apache release and the first 
release which provides binary release with example Raft 
applications.&lt;/p&gt;&#xA;&lt;p&gt;It contains more than 130 bug fixes and 
features since the previous release.&lt;/p&gt;&#xA;&lt;p&gt;This version also 
heavily tested with &lt;a href=&#34;https://ozone.apache.org&#34;&gt;Apache 
Ozone&lt;/a&gt; where Apache Ratis is used to replicate  [...]
     </item>
-    
     <item>
       <title>Release 0.1.0-alpha is available</title>
       <link>https://ratis.apache.org/post/0.1.0-alpha.html</link>
       <pubDate>Tue, 02 May 2017 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.1.0-alpha.html</guid>
-      <description>This is the first incubator release of Apache Ratis.
-Key features:
- Pluggable transports (Hadoop Rpc, GRpc, Netty) Pluggable statemachine 
Pluggable raft log implementation.  </description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;This is the first incubator release of Apache 
Ratis.&lt;/p&gt;&#xA;&lt;p&gt;Key 
features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pluggable transports (Hadoop 
Rpc, GRpc, Netty)&lt;/li&gt;&#xA;&lt;li&gt;Pluggable 
statemachine&lt;/li&gt;&#xA;&lt;li&gt;Pluggable raft log 
implementation.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
     </item>
-    
     <item>
       <title>Apache Hadoop Ratis Downloads</title>
       <link>https://ratis.apache.org/downloads.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/downloads.html</guid>
-      <description></description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;</description>
     </item>
-    
     <item>
       <title>Community</title>
       <link>https://ratis.apache.org/community.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/community.html</guid>
-      <description>Mailing list Developers If you&amp;rsquo;d like to 
contribute to Apache Ratis, please subscribe to the Ratis developer mailing 
list.
-The Ratis developer mailing list is: [email protected].
- Subscribe to List Unsubscribe from List Archives  User The user@ mailing list 
is the preferred mailing list for end-user questions and discussion.
-Please use dev mailing list to address developers on a specific technical 
question.
-The Ratis user mailing list is: [email protected].</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;h3 id=&#34;mailing-list&#34;&gt;Mailing 
list&lt;/h3&gt;&#xA;&lt;h4 
id=&#34;developers&#34;&gt;Developers&lt;/h4&gt;&#xA;&lt;p&gt;If 
you&amp;rsquo;d like to contribute to Apache Ratis, please subscribe to the 
Ratis developer mailing list.&lt;/p&gt;&#xA;&lt;p&gt;The Ratis developer 
mailing list is: &lt;a 
href=&#34;mailto:[email protected]&#34;&gt;[email protected]&lt;/a&gt;.&lt;/p&gt;&#xA;&;
 [...]
     </item>
-    
     <item>
       <title>Docker Testing</title>
       <link>https://ratis.apache.org/logservice/testing/docker.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/logservice/testing/docker.html</guid>
-      <description>The Docker orchestration is comprised of the following:
- A Docker image which has the necessary software to run the LogService A 
docker-compose.yml file which can launch the necessary containers for a 
full-fledged LogService &amp;ldquo;cluster&amp;rdquo; Scripts to build the 
Docker image and launch a client environment to interact with a running cluster 
via Compose.  Building the Docker image $ mvn clean package assembly:single 
-DskipTests $ cd ratis-logservice &amp;amp;&amp;amp; ./build-docker.sh The 
above will create a Docker image tagged a [...]
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;The Docker orchestration is comprised of the 
following:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A Docker image which has the 
necessary software to run the LogService&lt;/li&gt;&#xA;&lt;li&gt;A 
docker-compose.yml file which can launch the necessary containers for a 
full-fledged LogService 
&amp;ldquo;cluster&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Scripts to build the 
Docker image and launch a cl [...]
     </item>
-    
     <item>
       <title>Getting started</title>
       <link>https://ratis.apache.org/getting_started.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/getting_started.html</guid>
-      <description>Ratis is a Raft protocol library in Java. It&amp;rsquo;s 
not a standalone server application like Zookeeper or Consul.
-Examples To demonstrate how to use Ratis from the code, Please look at the 
following examples.
-  Arithmetic example: This is a simple distributed calculator that replicates 
the values defined and allows user to perform arithmetic operations on these 
replicated values.
-  FileStore example: This is an example of using Ratis for reading and writing 
files.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;Ratis is a &lt;a 
href=&#34;https://raft.github.io/&#34;&gt;Raft&lt;/a&gt; protocol 
&lt;em&gt;library&lt;/em&gt; in Java. It&amp;rsquo;s not a standalone server 
application like Zookeeper or Consul.&lt;/p&gt;&#xA;&lt;h3 
id=&#34;examples&#34;&gt;Examples&lt;/h3&gt;&#xA;&lt;p&gt;To demonstrate how to 
use Ratis from the code, Please look at the following 
examples.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA; [...]
     </item>
-    
     <item>
       <title>Lifecycle</title>
       <link>https://ratis.apache.org/logservice/lifecycle.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/logservice/lifecycle.html</guid>
-      <description>The LogService is a system which manages a collection of 
logs. Each of these logs has a defined state which allows certain operations on 
that log or corresponds to actions that the system is taking on that log.
-OPEN This is the first state for a Log which is created in the LogService. A 
Log which is OPEN can be read from or written to. This Log has a corresponding 
Raft Group (a quorum of servers) who are participating in the hosting of this 
Log.</description>
-    </item>
-    
-    <item>
-      <title>LogService</title>
-      <link>https://ratis.apache.org/logservice/</link>
-      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
-      <guid>https://ratis.apache.org/logservice/</guid>
-      <description>The Ratis LogService is an distributed, log implementation 
built on top of Apache Ratis. The LogService is a &amp;ldquo;recipe&amp;rdquo; 
on top of Apache Ratis, providing a higher-level API as compared to Ratis 
itself. The LogService provides the ability to create named, durable, 
append-only data structures with the ability to perform linear reads.
-Like Ratis, the LogService is designed to be embedded into another application 
as a library, as opposed to a standalone daemon.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;The LogService is a system which manages a 
collection of logs. Each&#xA;of these logs has a defined state which allows 
certain operations on that&#xA;log or corresponds to actions that the system is 
taking on that log.&lt;/p&gt;&#xA;&lt;h3 
id=&#34;open&#34;&gt;OPEN&lt;/h3&gt;&#xA;&lt;p&gt;This is the first state for a 
Log which is created in the LogService. A&#xA;Log which is OPEN can be r [...]
     </item>
-    
     <item>
       <title>LogService Security</title>
       <link>https://ratis.apache.org/logservice/security.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/logservice/security.html</guid>
-      <description>This document aims to describe what the intended security 
deployment model of the Ratis LogService.
-We will use integration into Apache HBase as an exemplar.
-Background TLS is technology capable of giving us &amp;ldquo;strong 
authentication&amp;rdquo; over network communication. One-way TLS can provide 
encrypted communication while two-way or &amp;ldquo;mutual&amp;rdquo; TLS can 
provide encrypted communication and authentication.
-One feature of Ratis is that it is decoupled from the RPC transport in use. 
gRPC is the foremost transport, and can be configured to use one-way or 
two-way/mutual TLS.</description>
-    </item>
-    
-    <item>
-      <title>LogService Testing</title>
-      <link>https://ratis.apache.org/logservice/testing/</link>
-      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
-      <guid>https://ratis.apache.org/logservice/testing/</guid>
-      <description>The LogService presently has two means for testing itself: 
Docker with Compose orchestration and VirtualBox with Vagrant orchestration.
-Docker is suitable for a quick and lightweight orchestration of a full 
LogService installation. Vagrant, while heavier-weight that the Docker 
automation, has the added benefit of being able to leverage Namazu for failure 
scenarios. Please find more on each using the below references.
- Docker Vagrant  </description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;This document aims to describe what the intended 
security deployment model of the Ratis LogService.&lt;/p&gt;&#xA;&lt;p&gt;We 
will use integration into Apache HBase as an exemplar.&lt;/p&gt;&#xA;&lt;h2 
id=&#34;background&#34;&gt;Background&lt;/h2&gt;&#xA;&lt;p&gt;TLS is technology 
capable of giving us &amp;ldquo;strong authentication&amp;rdquo; over network 
communication. One-way TLS can p [...]
     </item>
-    
     <item>
       <title>Source</title>
       <link>https://ratis.apache.org/source.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/source.html</guid>
-      <description>Source code is part of every release, you can download the 
source bundles from download section and build the project according to the 
included instructions.
-The versioned source code history is available from the Apache git repository 
or from the github mirror. It is only for development and not intended for use 
by the general public. Only the source code from the released artifacts are 
checked by the Project Management Committee.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;Source code is part of every release, you can 
download the source bundles from download section and build the project 
according to the included instructions.&lt;/p&gt;&#xA;&lt;p&gt;The versioned 
source code history is available from the &lt;a 
href=&#34;https://gitbox.apache.org/repos/asf?p=ratis.git&#34;&gt;Apache 
git&lt;/a&gt; repository or&#xA;from the &lt;a href=&#34;https://github.com/ 
[...]
     </item>
-    
     <item>
       <title>Vagrant Testing</title>
       <link>https://ratis.apache.org/logservice/testing/vagrant.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/logservice/testing/vagrant.html</guid>
-      <description>Please refer to the documentation for instructions to use 
the Vagrant automation.
-Starting from the directory dev-support/vagrant/:
- To build all Vagrant boxes, invoke ./run_all_tests.sh build To remove any 
generated data, invoke ./run_all_tests.sh clean To run the tests, invoke 
vagrant resume ratis-servers &amp;amp;&amp;amp; vagrant ssh ratis-servers  
</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;Please refer to the &lt;a 
href=&#34;https://github.com/apache/ratis/blob/master/dev-support/vagrant/README.md&#34;&gt;documentation&lt;/a&gt;
 for instructions to use the Vagrant 
automation.&lt;/p&gt;&#xA;&lt;p&gt;Starting from the directory 
&lt;code&gt;dev-support/vagrant/&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To
 build all Vagrant boxes, invoke &lt;code&gt;./run_all_tests.sh [...]
     </item>
-    
   </channel>
 </rss>
diff --git a/lifecycle.svg b/lifecycle.svg
index 32c997b5e..150802774 100644
--- a/lifecycle.svg
+++ b/lifecycle.svg
@@ -14,7 +14,7 @@
   See the License for the specific language governing permissions and
   limitations under the License. See accompanying LICENSE file.
 -->
-<!-- Generated by graphviz version 2.43.0 (0)
+<!-- Generated by graphviz version 2.47.3 (0)
  -->
 <!-- Title: LogServiceStates Pages: 1 -->
 <svg width="357pt" height="634pt"
diff --git a/logservice.html b/logservice.html
index b317419b3..df01fed26 100644
--- a/logservice.html
+++ b/logservice.html
@@ -108,7 +108,9 @@
             <h1><a href="/logservice/testing.html"></a></h1>
             <p><small>0001 Jan 1 </small></p>
 
-            
+            <!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+
 
             
             <h1><a href="/logservice/lifecycle.html">Lifecycle</a></h1>
@@ -182,26 +184,6 @@ an archival of a log is an export of the entire log to a 
specific location.</p>
 
 
             
-            <h1><a href="/logservice/">LogService</a></h1>
-            <p><small>0001 Jan 1 </small></p>
-
-            <!-- raw HTML omitted -->
-<!-- raw HTML omitted -->
-<p>The Ratis LogService is an distributed, log implementation built on top of 
Apache
-Ratis. The LogService is a &ldquo;recipe&rdquo; on top of Apache Ratis, 
providing a higher-level
-API as compared to Ratis itself. The LogService provides the ability to create 
named,
-durable, append-only data structures with the ability to perform linear 
reads.</p>
-<p>Like Ratis, the LogService is designed to be embedded into another 
application as
-a library, as opposed to a standalone daemon. On a confusing note, there are 
Java
-daemons provided for the LogService, but these are solely to be used for 
testing.</p>
-<ul>
-<li><a href="https://ratis.apache.org/logservice/testing/";>Testing</a></li>
-<li><a href="https://ratis.apache.org/logservice/lifecycle.html";>Log 
Lifecycle</a></li>
-<li><a 
href="https://ratis.apache.org/logservice/security.html";>Security</a></li>
-</ul>
-
-
-            
             <h1><a href="/logservice/security.html">LogService 
Security</a></h1>
             <p><small>0001 Jan 1 </small></p>
 
@@ -242,34 +224,34 @@ but the private key is sensitive and should be protected 
like a password.</p>
 <p>Every component in HBase using the Ratis LogService would need to ensure 
that each LogService StateMachine is
 configured to use the server keystore and truststore. The LogService state 
machines would need to constructed
 with the appropriate configuration options to specify this TLS material:</p>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-java" data-lang="java">RaftProperties properties <span 
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
-
-GrpcConfigKeys<span style="color:#f92672">.</span><span 
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span 
style="color:#a6e22e">tlsEnabled</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-GrpcConfigKeys<span style="color:#f92672">.</span><span 
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span 
style="color:#a6e22e">mutualAuthnEnabled</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/server-private-key.pem&#34;</span><span 
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">TRUST_STORE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/ca.crt&#34;</span><span 
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/server.crt&#34;</span><span 
style="color:#f92672">);</span>
-
-RaftServer<span style="color:#f92672">.</span><span 
style="color:#a6e22e">Builder</span> builder <span 
style="color:#f92672">=</span> RaftServer<span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
-<span style="color:#f92672">...</span>
-builder<span style="color:#f92672">.</span><span 
style="color:#a6e22e">setProperties</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-
-RaftServer server <span style="color:#f92672">=</span> builder<span 
style="color:#f92672">.</span><span style="color:#a6e22e">build</span><span 
style="color:#f92672">();</span>
-</code></pre></div><p>Clients to the StateMachine would construct a similar 
configuration:</p>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-java" data-lang="java">RaftProperties properties <span 
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
-
-GrpcConfigKeys<span style="color:#f92672">.</span><span 
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span 
style="color:#a6e22e">tlsEnabled</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-GrpcConfigKeys<span style="color:#f92672">.</span><span 
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span 
style="color:#a6e22e">mutualAuthnEnabled</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/client-private-key.pem&#34;</span><span 
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">TRUST_STORE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/ca.crt&#34;</span><span 
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/client.crt&#34;</span><span 
style="color:#f92672">);</span>
-
-RaftClient<span style="color:#f92672">.</span><span 
style="color:#a6e22e">Builder</span> builder <span 
style="color:#f92672">=</span> RaftClient<span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
-<span style="color:#f92672">...</span>
-builder<span style="color:#f92672">.</span><span 
style="color:#a6e22e">setProperties</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-
-RaftClient client <span style="color:#f92672">=</span> builder<span 
style="color:#f92672">.</span><span style="color:#a6e22e">build</span><span 
style="color:#f92672">();</span>
-</code></pre></div><p>With Mutual TLS, there is no notion of a 
&ldquo;client&rdquo; or &ldquo;server&rdquo; only certificate. In the above 
example code,
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-java" data-lang="java"><span 
style="display:flex;"><span>RaftProperties properties <span 
style="color:#f92672">=</span> ...;
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">tlsEnabled</span>(properties);
+</span></span><span style="display:flex;"><span>GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">mutualAuthnEnabled</span>(properties);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/server-private-key.pem&#34;</span>);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">TRUST_STORE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/ca.crt&#34;</span>);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/server.crt&#34;</span>);
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftServer.<span 
style="color:#a6e22e">Builder</span> builder <span 
style="color:#f92672">=</span> RaftServer.<span 
style="color:#a6e22e">newBuilder</span>();
+</span></span><span style="display:flex;"><span>...
+</span></span><span style="display:flex;"><span>builder.<span 
style="color:#a6e22e">setProperties</span>(properties);
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftServer server <span 
style="color:#f92672">=</span> builder.<span 
style="color:#a6e22e">build</span>();
+</span></span></code></pre></div><p>Clients to the StateMachine would 
construct a similar configuration:</p>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-java" data-lang="java"><span 
style="display:flex;"><span>RaftProperties properties <span 
style="color:#f92672">=</span> ...;
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">tlsEnabled</span>(properties);
+</span></span><span style="display:flex;"><span>GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">mutualAuthnEnabled</span>(properties);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/client-private-key.pem&#34;</span>);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">TRUST_STORE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/ca.crt&#34;</span>);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/client.crt&#34;</span>);
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftClient.<span 
style="color:#a6e22e">Builder</span> builder <span 
style="color:#f92672">=</span> RaftClient.<span 
style="color:#a6e22e">newBuilder</span>();
+</span></span><span style="display:flex;"><span>...
+</span></span><span style="display:flex;"><span>builder.<span 
style="color:#a6e22e">setProperties</span>(properties);
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftClient client <span 
style="color:#f92672">=</span> builder.<span 
style="color:#a6e22e">build</span>();
+</span></span></code></pre></div><p>With Mutual TLS, there is no notion of a 
&ldquo;client&rdquo; or &ldquo;server&rdquo; only certificate. In the above 
example code,
 as long as the certificate and private key are generated using the same 
certificate authority, any
 should function.</p>
 <p>For the LogService, this client setup would be hidden behind the facade of 
the LogService client API.</p>
diff --git a/logservice/index.xml b/logservice/index.xml
index 5e57ca5cb..32481396f 100644
--- a/logservice/index.xml
+++ b/logservice/index.xml
@@ -4,39 +4,22 @@
     <title>Apache Ratis</title>
     <link>https://ratis.apache.org/logservice.html</link>
     <description>Recent content on Apache Ratis</description>
-    <generator>Hugo -- gohugo.io</generator>
-    <language>en-us</language><atom:link 
href="https://ratis.apache.org/logservice/index.xml"; rel="self" 
type="application/rss+xml" />
+    <generator>Hugo</generator>
+    <language>en-us</language>
+    <atom:link href="https://ratis.apache.org/logservice/index.xml"; rel="self" 
type="application/rss+xml" />
     <item>
       <title>Lifecycle</title>
       <link>https://ratis.apache.org/logservice/lifecycle.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/logservice/lifecycle.html</guid>
-      <description>The LogService is a system which manages a collection of 
logs. Each of these logs has a defined state which allows certain operations on 
that log or corresponds to actions that the system is taking on that log.
-OPEN This is the first state for a Log which is created in the LogService. A 
Log which is OPEN can be read from or written to. This Log has a corresponding 
Raft Group (a quorum of servers) who are participating in the hosting of this 
Log.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;The LogService is a system which manages a 
collection of logs. Each&#xA;of these logs has a defined state which allows 
certain operations on that&#xA;log or corresponds to actions that the system is 
taking on that log.&lt;/p&gt;&#xA;&lt;h3 
id=&#34;open&#34;&gt;OPEN&lt;/h3&gt;&#xA;&lt;p&gt;This is the first state for a 
Log which is created in the LogService. A&#xA;Log which is OPEN can be r [...]
     </item>
-    
-    <item>
-      <title>LogService</title>
-      <link>https://ratis.apache.org/logservice/</link>
-      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
-      <guid>https://ratis.apache.org/logservice/</guid>
-      <description>The Ratis LogService is an distributed, log implementation 
built on top of Apache Ratis. The LogService is a &amp;ldquo;recipe&amp;rdquo; 
on top of Apache Ratis, providing a higher-level API as compared to Ratis 
itself. The LogService provides the ability to create named, durable, 
append-only data structures with the ability to perform linear reads.
-Like Ratis, the LogService is designed to be embedded into another application 
as a library, as opposed to a standalone daemon.</description>
-    </item>
-    
     <item>
       <title>LogService Security</title>
       <link>https://ratis.apache.org/logservice/security.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/logservice/security.html</guid>
-      <description>This document aims to describe what the intended security 
deployment model of the Ratis LogService.
-We will use integration into Apache HBase as an exemplar.
-Background TLS is technology capable of giving us &amp;ldquo;strong 
authentication&amp;rdquo; over network communication. One-way TLS can provide 
encrypted communication while two-way or &amp;ldquo;mutual&amp;rdquo; TLS can 
provide encrypted communication and authentication.
-One feature of Ratis is that it is decoupled from the RPC transport in use. 
gRPC is the foremost transport, and can be configured to use one-way or 
two-way/mutual TLS.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;This document aims to describe what the intended 
security deployment model of the Ratis LogService.&lt;/p&gt;&#xA;&lt;p&gt;We 
will use integration into Apache HBase as an exemplar.&lt;/p&gt;&#xA;&lt;h2 
id=&#34;background&#34;&gt;Background&lt;/h2&gt;&#xA;&lt;p&gt;TLS is technology 
capable of giving us &amp;ldquo;strong authentication&amp;rdquo; over network 
communication. One-way TLS can p [...]
     </item>
-    
   </channel>
 </rss>
diff --git a/logservice/page/1.html b/logservice/page/1.html
index 016b89c42..eb7c8392b 100644
--- a/logservice/page/1.html
+++ b/logservice/page/1.html
@@ -1 +1,10 @@
-<!DOCTYPE 
html><html><head><title>https://ratis.apache.org/logservice.html</title><link 
rel="canonical" href="https://ratis.apache.org/logservice.html"/><meta 
name="robots" content="noindex"><meta charset="utf-8" /><meta 
http-equiv="refresh" content="0; url=https://ratis.apache.org/logservice.html"; 
/></head></html>
\ No newline at end of file
+<!DOCTYPE html>
+<html lang="en-us">
+  <head>
+    <title>https://ratis.apache.org/logservice.html</title>
+    <link rel="canonical" href="https://ratis.apache.org/logservice.html";>
+    <meta name="robots" content="noindex">
+    <meta charset="utf-8">
+    <meta http-equiv="refresh" content="0; 
url=https://ratis.apache.org/logservice.html";>
+  </head>
+</html>
diff --git a/logservice/security.html b/logservice/security.html
index f2beaae34..dbab324b2 100644
--- a/logservice/security.html
+++ b/logservice/security.html
@@ -137,34 +137,34 @@ but the private key is sensitive and should be protected 
like a password.</p>
 <p>Every component in HBase using the Ratis LogService would need to ensure 
that each LogService StateMachine is
 configured to use the server keystore and truststore. The LogService state 
machines would need to constructed
 with the appropriate configuration options to specify this TLS material:</p>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-java" data-lang="java">RaftProperties properties <span 
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
-
-GrpcConfigKeys<span style="color:#f92672">.</span><span 
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span 
style="color:#a6e22e">tlsEnabled</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-GrpcConfigKeys<span style="color:#f92672">.</span><span 
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span 
style="color:#a6e22e">mutualAuthnEnabled</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/server-private-key.pem&#34;</span><span 
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">TRUST_STORE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/ca.crt&#34;</span><span 
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/server.crt&#34;</span><span 
style="color:#f92672">);</span>
-
-RaftServer<span style="color:#f92672">.</span><span 
style="color:#a6e22e">Builder</span> builder <span 
style="color:#f92672">=</span> RaftServer<span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
-<span style="color:#f92672">...</span>
-builder<span style="color:#f92672">.</span><span 
style="color:#a6e22e">setProperties</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-
-RaftServer server <span style="color:#f92672">=</span> builder<span 
style="color:#f92672">.</span><span style="color:#a6e22e">build</span><span 
style="color:#f92672">();</span>
-</code></pre></div><p>Clients to the StateMachine would construct a similar 
configuration:</p>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-java" data-lang="java">RaftProperties properties <span 
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
-
-GrpcConfigKeys<span style="color:#f92672">.</span><span 
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span 
style="color:#a6e22e">tlsEnabled</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-GrpcConfigKeys<span style="color:#f92672">.</span><span 
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span 
style="color:#a6e22e">mutualAuthnEnabled</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/client-private-key.pem&#34;</span><span 
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">TRUST_STORE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/ca.crt&#34;</span><span 
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span 
style="color:#a6e22e">set</span><span 
style="color:#f92672">(</span>GrpcConfigKeys<span 
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span 
style="color:#f92672">,</span> <span 
style="color:#e6db74">&#34;/path/to/client.crt&#34;</span><span 
style="color:#f92672">);</span>
-
-RaftClient<span style="color:#f92672">.</span><span 
style="color:#a6e22e">Builder</span> builder <span 
style="color:#f92672">=</span> RaftClient<span 
style="color:#f92672">.</span><span 
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
-<span style="color:#f92672">...</span>
-builder<span style="color:#f92672">.</span><span 
style="color:#a6e22e">setProperties</span><span 
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-
-RaftClient client <span style="color:#f92672">=</span> builder<span 
style="color:#f92672">.</span><span style="color:#a6e22e">build</span><span 
style="color:#f92672">();</span>
-</code></pre></div><p>With Mutual TLS, there is no notion of a 
&ldquo;client&rdquo; or &ldquo;server&rdquo; only certificate. In the above 
example code,
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-java" data-lang="java"><span 
style="display:flex;"><span>RaftProperties properties <span 
style="color:#f92672">=</span> ...;
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">tlsEnabled</span>(properties);
+</span></span><span style="display:flex;"><span>GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">mutualAuthnEnabled</span>(properties);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/server-private-key.pem&#34;</span>);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">TRUST_STORE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/ca.crt&#34;</span>);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/server.crt&#34;</span>);
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftServer.<span 
style="color:#a6e22e">Builder</span> builder <span 
style="color:#f92672">=</span> RaftServer.<span 
style="color:#a6e22e">newBuilder</span>();
+</span></span><span style="display:flex;"><span>...
+</span></span><span style="display:flex;"><span>builder.<span 
style="color:#a6e22e">setProperties</span>(properties);
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftServer server <span 
style="color:#f92672">=</span> builder.<span 
style="color:#a6e22e">build</span>();
+</span></span></code></pre></div><p>Clients to the StateMachine would 
construct a similar configuration:</p>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-java" data-lang="java"><span 
style="display:flex;"><span>RaftProperties properties <span 
style="color:#f92672">=</span> ...;
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">tlsEnabled</span>(properties);
+</span></span><span style="display:flex;"><span>GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">mutualAuthnEnabled</span>(properties);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/client-private-key.pem&#34;</span>);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">TRUST_STORE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/ca.crt&#34;</span>);
+</span></span><span style="display:flex;"><span>properties.<span 
style="color:#a6e22e">set</span>(GrpcConfigKeys.<span 
style="color:#a6e22e">TLS</span>.<span 
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span>, <span 
style="color:#e6db74">&#34;/path/to/client.crt&#34;</span>);
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftClient.<span 
style="color:#a6e22e">Builder</span> builder <span 
style="color:#f92672">=</span> RaftClient.<span 
style="color:#a6e22e">newBuilder</span>();
+</span></span><span style="display:flex;"><span>...
+</span></span><span style="display:flex;"><span>builder.<span 
style="color:#a6e22e">setProperties</span>(properties);
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftClient client <span 
style="color:#f92672">=</span> builder.<span 
style="color:#a6e22e">build</span>();
+</span></span></code></pre></div><p>With Mutual TLS, there is no notion of a 
&ldquo;client&rdquo; or &ldquo;server&rdquo; only certificate. In the above 
example code,
 as long as the certificate and private key are generated using the same 
certificate authority, any
 should function.</p>
 <p>For the LogService, this client setup would be hidden behind the facade of 
the LogService client API.</p>
diff --git a/logservice/testing.html b/logservice/testing.html
index 6091b5f2d..596382001 100644
--- a/logservice/testing.html
+++ b/logservice/testing.html
@@ -118,19 +118,19 @@
 with a running cluster via Compose.</li>
 </ol>
 <h2 id="building-the-docker-image">Building the Docker image</h2>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-bash" data-lang="bash">$ mvn clean package assembly:single 
-DskipTests
-$ cd ratis-logservice <span style="color:#f92672">&amp;&amp;</span> 
./build-docker.sh
-</code></pre></div><p>The above will create a Docker image tagged as 
<code>ratis-logservice:latest</code>.</p>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ mvn 
clean package assembly:single -DskipTests
+</span></span><span style="display:flex;"><span>$ cd ratis-logservice <span 
style="color:#f92672">&amp;&amp;</span> ./build-docker.sh
+</span></span></code></pre></div><p>The above will create a Docker image 
tagged as <code>ratis-logservice:latest</code>.</p>
 <h2 id="launching-a-cluster-via-compose">Launching a cluster via Compose</h2>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-bash" data-lang="bash">$ docker-compose up -d
-</code></pre></div><p>The Compose orchestration will launch three 
MetadataServer containers and three
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ 
docker-compose up -d
+</span></span></code></pre></div><p>The Compose orchestration will launch 
three MetadataServer containers and three
 Worker containers, all on the same Docker network. The <code>-d</code> option 
detaches the
 container logs from your current shell.</p>
 <h2 id="connecting-a-client">Connecting a client</h2>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-bash" data-lang="bash">$ ./client-env.sh
-$ ./bin/shell &lt;...&gt;
-$ ./bin/load-test &lt;...&gt;
-</code></pre></div><p>The <code>client-env.sh</code> script will launch a 
Docker container which is on the same
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ 
./client-env.sh
+</span></span><span style="display:flex;"><span>$ ./bin/shell &lt;...&gt;
+</span></span><span style="display:flex;"><span>$ ./bin/load-test &lt;...&gt;
+</span></span></code></pre></div><p>The <code>client-env.sh</code> script will 
launch a Docker container which is on the same
 network as our cluster running in Compose.</p>
 <h2 id="debugging-the-cluster">Debugging the cluster</h2>
 <p>Use <code>docker logs</code> to inspect the output from a specific 
container. You must pass
@@ -142,23 +142,6 @@ described above, use <code>docker exec -it &lt;name&gt; 
/bin/sh</code> to attach
 
 
             
-            <h1><a href="/logservice/testing/">LogService Testing</a></h1>
-            <p><small>0001 Jan 1 </small></p>
-
-            <!-- raw HTML omitted -->
-<!-- raw HTML omitted -->
-<p>The LogService presently has two means for testing itself: Docker with 
Compose
-orchestration and VirtualBox with Vagrant orchestration.</p>
-<p>Docker is suitable for a quick and lightweight orchestration of a full 
LogService
-installation. Vagrant, while heavier-weight that the Docker automation, has 
the added benefit of being able to leverage <a 
href="http://osrg.github.io/namazu/";>Namazu</a> for failure
-scenarios. Please find more on each using the below references.</p>
-<ul>
-<li><a 
href="https://ratis.apache.org/logservice/testing/docker.html";>Docker</a></li>
-<li><a 
href="https://ratis.apache.org/logservice/testing/vagrant.html";>Vagrant</a></li>
-</ul>
-
-
-            
             <h1><a href="/logservice/testing/vagrant.html">Vagrant 
Testing</a></h1>
             <p><small>0001 Jan 1 </small></p>
 
diff --git a/logservice/testing/docker.html b/logservice/testing/docker.html
index 29ffd30cd..6117761fa 100644
--- a/logservice/testing/docker.html
+++ b/logservice/testing/docker.html
@@ -110,19 +110,19 @@
 with a running cluster via Compose.</li>
 </ol>
 <h2 id="building-the-docker-image">Building the Docker image</h2>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-bash" data-lang="bash">$ mvn clean package assembly:single 
-DskipTests
-$ cd ratis-logservice <span style="color:#f92672">&amp;&amp;</span> 
./build-docker.sh
-</code></pre></div><p>The above will create a Docker image tagged as 
<code>ratis-logservice:latest</code>.</p>
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ mvn 
clean package assembly:single -DskipTests
+</span></span><span style="display:flex;"><span>$ cd ratis-logservice <span 
style="color:#f92672">&amp;&amp;</span> ./build-docker.sh
+</span></span></code></pre></div><p>The above will create a Docker image 
tagged as <code>ratis-logservice:latest</code>.</p>
 <h2 id="launching-a-cluster-via-compose">Launching a cluster via Compose</h2>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-bash" data-lang="bash">$ docker-compose up -d
-</code></pre></div><p>The Compose orchestration will launch three 
MetadataServer containers and three
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ 
docker-compose up -d
+</span></span></code></pre></div><p>The Compose orchestration will launch 
three MetadataServer containers and three
 Worker containers, all on the same Docker network. The <code>-d</code> option 
detaches the
 container logs from your current shell.</p>
 <h2 id="connecting-a-client">Connecting a client</h2>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-bash" data-lang="bash">$ ./client-env.sh
-$ ./bin/shell &lt;...&gt;
-$ ./bin/load-test &lt;...&gt;
-</code></pre></div><p>The <code>client-env.sh</code> script will launch a 
Docker container which is on the same
+<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ 
./client-env.sh
+</span></span><span style="display:flex;"><span>$ ./bin/shell &lt;...&gt;
+</span></span><span style="display:flex;"><span>$ ./bin/load-test &lt;...&gt;
+</span></span></code></pre></div><p>The <code>client-env.sh</code> script will 
launch a Docker container which is on the same
 network as our cluster running in Compose.</p>
 <h2 id="debugging-the-cluster">Debugging the cluster</h2>
 <p>Use <code>docker logs</code> to inspect the output from a specific 
container. You must pass
diff --git a/logservice/testing/index.xml b/logservice/testing/index.xml
index a8f8bd6f9..261bfa7b5 100644
--- a/logservice/testing/index.xml
+++ b/logservice/testing/index.xml
@@ -4,39 +4,22 @@
     <title>Apache Ratis</title>
     <link>https://ratis.apache.org/logservice/testing.html</link>
     <description>Recent content on Apache Ratis</description>
-    <generator>Hugo -- gohugo.io</generator>
-    <language>en-us</language><atom:link 
href="https://ratis.apache.org/logservice/testing/index.xml"; rel="self" 
type="application/rss+xml" />
+    <generator>Hugo</generator>
+    <language>en-us</language>
+    <atom:link href="https://ratis.apache.org/logservice/testing/index.xml"; 
rel="self" type="application/rss+xml" />
     <item>
       <title>Docker Testing</title>
       <link>https://ratis.apache.org/logservice/testing/docker.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/logservice/testing/docker.html</guid>
-      <description>The Docker orchestration is comprised of the following:
- A Docker image which has the necessary software to run the LogService A 
docker-compose.yml file which can launch the necessary containers for a 
full-fledged LogService &amp;ldquo;cluster&amp;rdquo; Scripts to build the 
Docker image and launch a client environment to interact with a running cluster 
via Compose.  Building the Docker image $ mvn clean package assembly:single 
-DskipTests $ cd ratis-logservice &amp;amp;&amp;amp; ./build-docker.sh The 
above will create a Docker image tagged a [...]
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;The Docker orchestration is comprised of the 
following:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A Docker image which has the 
necessary software to run the LogService&lt;/li&gt;&#xA;&lt;li&gt;A 
docker-compose.yml file which can launch the necessary containers for a 
full-fledged LogService 
&amp;ldquo;cluster&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Scripts to build the 
Docker image and launch a cl [...]
     </item>
-    
-    <item>
-      <title>LogService Testing</title>
-      <link>https://ratis.apache.org/logservice/testing/</link>
-      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
-      <guid>https://ratis.apache.org/logservice/testing/</guid>
-      <description>The LogService presently has two means for testing itself: 
Docker with Compose orchestration and VirtualBox with Vagrant orchestration.
-Docker is suitable for a quick and lightweight orchestration of a full 
LogService installation. Vagrant, while heavier-weight that the Docker 
automation, has the added benefit of being able to leverage Namazu for failure 
scenarios. Please find more on each using the below references.
- Docker Vagrant  </description>
-    </item>
-    
     <item>
       <title>Vagrant Testing</title>
       <link>https://ratis.apache.org/logservice/testing/vagrant.html</link>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/logservice/testing/vagrant.html</guid>
-      <description>Please refer to the documentation for instructions to use 
the Vagrant automation.
-Starting from the directory dev-support/vagrant/:
- To build all Vagrant boxes, invoke ./run_all_tests.sh build To remove any 
generated data, invoke ./run_all_tests.sh clean To run the tests, invoke 
vagrant resume ratis-servers &amp;amp;&amp;amp; vagrant ssh ratis-servers  
</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;Please refer to the &lt;a 
href=&#34;https://github.com/apache/ratis/blob/master/dev-support/vagrant/README.md&#34;&gt;documentation&lt;/a&gt;
 for instructions to use the Vagrant 
automation.&lt;/p&gt;&#xA;&lt;p&gt;Starting from the directory 
&lt;code&gt;dev-support/vagrant/&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To
 build all Vagrant boxes, invoke &lt;code&gt;./run_all_tests.sh [...]
     </item>
-    
   </channel>
 </rss>
diff --git a/logservice/testing/page/1.html b/logservice/testing/page/1.html
index 07262627f..73466597b 100644
--- a/logservice/testing/page/1.html
+++ b/logservice/testing/page/1.html
@@ -1 +1,10 @@
-<!DOCTYPE 
html><html><head><title>https://ratis.apache.org/logservice/testing.html</title><link
 rel="canonical" href="https://ratis.apache.org/logservice/testing.html"/><meta 
name="robots" content="noindex"><meta charset="utf-8" /><meta 
http-equiv="refresh" content="0; 
url=https://ratis.apache.org/logservice/testing.html"; /></head></html>
\ No newline at end of file
+<!DOCTYPE html>
+<html lang="en-us">
+  <head>
+    <title>https://ratis.apache.org/logservice/testing.html</title>
+    <link rel="canonical" 
href="https://ratis.apache.org/logservice/testing.html";>
+    <meta name="robots" content="noindex">
+    <meta charset="utf-8">
+    <meta http-equiv="refresh" content="0; 
url=https://ratis.apache.org/logservice/testing.html";>
+  </head>
+</html>
diff --git a/post.html b/post.html
index 5f6eaa1a9..ba34010c5 100644
--- a/post.html
+++ b/post.html
@@ -105,6 +105,18 @@
     <h1 id="title">Posts Archive</h1>
         <ul id="list">
             
+            <h1><a href="/post/3.1.1.html">Release 3.1.1 is available</a></h1>
+            <p><small>2024 Sep 26 </small></p>
+
+            <!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<p><a href="https://ratis.apache.org/downloads.html";>Download</a></p>
+<p>This is a maintenance release with multiple improvements and bugfixes.
+See the <a 
href="https://github.com/apache/ratis/compare/ratis-3.1.0...ratis-3.1.1";>changes
 between 3.1.0 and 3.1.1</a> releases.</p>
+<p>It has been tested with <a href="https://ozone.apache.org";>Apache 
Ozone</a>, <a href="https://iotdb.apache.org";>Apache IoTDB</a> and <a 
href="https://celeborn.apache.org/";>Apache Celeborn</a>.</p>
+
+
+            
             <h1><a href="/post/3.1.0.html">Release 3.1.0 is available</a></h1>
             <p><small>2024 Jun 29 </small></p>
 
@@ -411,18 +423,6 @@ See the <a 
href="https://github.com/apache/ratis/compare/ratis-2.1.0...ratis-2.2
 
 
             
-            <h1><a href="/post/2.1.0.html">Release 2.1.0 is available</a></h1>
-            <p><small>2021 Jul 19 </small></p>
-
-            <!-- raw HTML omitted -->
-<!-- raw HTML omitted -->
-<p><a href="https://ratis.apache.org/downloads.html";>Download</a></p>
-<p>It contains improvements and bug fixes based on various Apache Ozone use 
cases.
-See the <a 
href="https://github.com/apache/ratis/compare/ratis-2.0.0...ratis-2.1.0";>changes
 between 2.0.0 and 2.1.0</a> releases.</p>
-<p>It has been tested with <a href="https://ozone.apache.org";>Apache Ozone</a> 
where Apache Ratis is used to replicate raw data and to provide high 
availability.</p>
-
-
-            
         </ul>
   </div>
 
diff --git a/logservice/testing/docker.html b/post/3.1.1.html
similarity index 65%
copy from logservice/testing/docker.html
copy to post/3.1.1.html
index 29ffd30cd..f23f342d9 100644
--- a/logservice/testing/docker.html
+++ b/post/3.1.1.html
@@ -99,38 +99,13 @@
 </div>
 
 <div class="container">
-<h1>Docker Testing</h1>
+<h1>Release 3.1.1 is available</h1>
 <!-- raw HTML omitted -->
 <!-- raw HTML omitted -->
-<p>The Docker orchestration is comprised of the following:</p>
-<ol>
-<li>A Docker image which has the necessary software to run the LogService</li>
-<li>A docker-compose.yml file which can launch the necessary containers for a 
full-fledged LogService &ldquo;cluster&rdquo;</li>
-<li>Scripts to build the Docker image and launch a client environment to 
interact
-with a running cluster via Compose.</li>
-</ol>
-<h2 id="building-the-docker-image">Building the Docker image</h2>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-bash" data-lang="bash">$ mvn clean package assembly:single 
-DskipTests
-$ cd ratis-logservice <span style="color:#f92672">&amp;&amp;</span> 
./build-docker.sh
-</code></pre></div><p>The above will create a Docker image tagged as 
<code>ratis-logservice:latest</code>.</p>
-<h2 id="launching-a-cluster-via-compose">Launching a cluster via Compose</h2>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-bash" data-lang="bash">$ docker-compose up -d
-</code></pre></div><p>The Compose orchestration will launch three 
MetadataServer containers and three
-Worker containers, all on the same Docker network. The <code>-d</code> option 
detaches the
-container logs from your current shell.</p>
-<h2 id="connecting-a-client">Connecting a client</h2>
-<div class="highlight"><pre tabindex="0" 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-bash" data-lang="bash">$ ./client-env.sh
-$ ./bin/shell &lt;...&gt;
-$ ./bin/load-test &lt;...&gt;
-</code></pre></div><p>The <code>client-env.sh</code> script will launch a 
Docker container which is on the same
-network as our cluster running in Compose.</p>
-<h2 id="debugging-the-cluster">Debugging the cluster</h2>
-<p>Use <code>docker logs</code> to inspect the output from a specific 
container. You must pass
-the name of the container (obtained via <code>docker-compose ps</code> or 
<code>docker ps</code>) to
-<code>docker logs</code>.</p>
-<p>You can also &ldquo;attach&rdquo; to a container via <code>docker 
exec</code> to inspect the environment
-in which the process is running. Again, using the name of a container obtained 
as
-described above, use <code>docker exec -it &lt;name&gt; /bin/sh</code> to 
attach to the container.</p>
+<p><a href="https://ratis.apache.org/downloads.html";>Download</a></p>
+<p>This is a maintenance release with multiple improvements and bugfixes.
+See the <a 
href="https://github.com/apache/ratis/compare/ratis-3.1.0...ratis-3.1.1";>changes
 between 3.1.0 and 3.1.1</a> releases.</p>
+<p>It has been tested with <a href="https://ozone.apache.org";>Apache 
Ozone</a>, <a href="https://iotdb.apache.org";>Apache IoTDB</a> and <a 
href="https://celeborn.apache.org/";>Apache Celeborn</a>.</p>
 
 </div>
 
diff --git a/post/index.xml b/post/index.xml
index cff817d02..7b1fbab2d 100644
--- a/post/index.xml
+++ b/post/index.xml
@@ -4,199 +4,135 @@
     <title>Posts on Apache Ratis</title>
     <link>https://ratis.apache.org/post.html</link>
     <description>Recent content in Posts on Apache Ratis</description>
-    <generator>Hugo -- gohugo.io</generator>
+    <generator>Hugo</generator>
     <language>en-us</language>
-    <lastBuildDate>Sat, 29 Jun 2024 00:00:00 +0000</lastBuildDate><atom:link 
href="https://ratis.apache.org/post/index.xml"; rel="self" 
type="application/rss+xml" />
+    <lastBuildDate>Thu, 26 Sep 2024 00:00:00 +0000</lastBuildDate>
+    <atom:link href="https://ratis.apache.org/post/index.xml"; rel="self" 
type="application/rss+xml" />
+    <item>
+      <title>Release 3.1.1 is available</title>
+      <link>https://ratis.apache.org/post/3.1.1.html</link>
+      <pubDate>Thu, 26 Sep 2024 00:00:00 +0000</pubDate>
+      <guid>https://ratis.apache.org/post/3.1.1.html</guid>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a maintenance release with multiple improvements and bugfixes.&#xA;See the 
&lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-3.1.0...ratis-3.1.1&#34;&gt;changes
 between 3.1.0 and 3.1.1&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a href=&#3 [...]
+    </item>
     <item>
       <title>Release 3.1.0 is available</title>
       <link>https://ratis.apache.org/post/3.1.0.html</link>
       <pubDate>Sat, 29 Jun 2024 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/3.1.0.html</guid>
-      <description>Download
-This is a minor release with multiple improvements and bugfixes. See the 
changes between 3.0.1 and 3.1.0 releases.
-It has been tested with Apache Ozone and Apache IoTDB, where Apache Ratis is 
used to replicate raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a minor release with multiple improvements and bugfixes.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-3.0.1...ratis-3.1.0&#34;&gt;changes
 between 3.0.1 and 3.1.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a href=&#34;http [...]
     </item>
-    
     <item>
       <title>Release 3.0.1 is available</title>
       <link>https://ratis.apache.org/post/3.0.1.html</link>
       <pubDate>Tue, 09 Jan 2024 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/3.0.1.html</guid>
-      <description>Download
-This is a bugfix release. See the changes between 3.0.0 and 3.0.1 releases.
-It has been tested with Apache Ozone and Apache IoTDB, where Apache Ratis is 
used to replicate raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a bugfix release.  See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-3.0.0...ratis-3.0.1&#34;&gt;changes
 between 3.0.0 and 3.0.1&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a href=&#34;https://ozone.apache.org&#34;&gt;Apache Ozone& [...]
     </item>
-    
     <item>
       <title>Release 3.0.0 is available</title>
       <link>https://ratis.apache.org/post/3.0.0.html</link>
       <pubDate>Tue, 21 Nov 2023 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/3.0.0.html</guid>
-      <description>Download
-This is a major new version that contains 100 improvements and bug fixes. It 
introduces new features like pluggable metrics and lease read, etc. See the 
changes between 2.5.1 and 3.0.0 releases as below:
-Change list of ratis 3.0.0 In total, there are roughly 100 commits diffing 
from 2.5.1
-Incompatible Changes   RaftStorage Auto-Format
-  RATIS-1677. Do not auto format RaftStorage in RECOVER. (#718)
-  RATIS-1694. Fix the compatibility issue of RATIS-1677.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a major new version that contains 100 improvements and bug fixes. It 
introduces new features like pluggable metrics and lease read, etc.&#xA;See the 
changes between 2.5.1 and 3.0.0 releases as 
below:&lt;/p&gt;&#xA;&lt;p&gt;Change list of ratis 3.0.0&#xA;In total, there 
are roug [...]
     </item>
-    
     <item>
       <title>Release 2.5.1 is available</title>
       <link>https://ratis.apache.org/post/2.5.1.html</link>
       <pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.5.1.html</guid>
-      <description>Download
-This is a bugfix release. See the changes between 2.5.0 and 2.5.1 releases.
-It has been tested with Apache Ozone, Apache IoTDB where Apache Ratis is used 
to replicate raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This
 is a bugfix release.  See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.5.0...ratis-2.5.1&#34;&gt;changes
 between 2.5.0 and 2.5.1&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a href=&#34;https://ozone.apache.org&#34;&gt;Apache Ozone& [...]
     </item>
-    
     <item>
       <title>Release 2.5.0 is available</title>
       <link>https://ratis.apache.org/post/2.5.0.html</link>
       <pubDate>Mon, 10 Apr 2023 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.5.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone, Apache 
IoTDB and Alluxio use cases. See the changes between 2.4.1 and 2.5.0 releases.
-It has been tested with Apache Ozone, Apache IoTDB and Alluxio where Apache 
Ratis is used to replicate raw data and to provide high 
availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone, Apache 
IoTDB and Alluxio use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.4.1...ratis-2.5.0&#34;&gt;changes
 between 2.4.1 and 2.5.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It  [...]
     </item>
-    
     <item>
       <title>Release 2.4.1 is available</title>
       <link>https://ratis.apache.org/post/2.4.1.html</link>
       <pubDate>Sat, 26 Nov 2022 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.4.1.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone, Apache 
IoTDB and Alluxio use cases. See the changes between 2.4.0 and 2.4.1 releases.
-It has been tested with Apache Ozone, Apache IoTDB and Alluxio where Apache 
Ratis is used to replicate raw data and to provide high 
availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone, Apache 
IoTDB and Alluxio use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.4.0...ratis-2.4.1&#34;&gt;changes
 between 2.4.0 and 2.4.1&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It  [...]
     </item>
-    
     <item>
       <title>Release 2.4.0 is available</title>
       <link>https://ratis.apache.org/post/2.4.0.html</link>
       <pubDate>Tue, 18 Oct 2022 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.4.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone use 
cases. See the changes between 2.3.0 and 2.4.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone use 
cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.3.0...ratis-2.4.0&#34;&gt;changes
 between 2.3.0 and 2.4.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a [...]
     </item>
-    
     <item>
       <title>Release 2.3.0 is available</title>
       <link>https://ratis.apache.org/post/2.3.0.html</link>
       <pubDate>Thu, 19 May 2022 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.3.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone use 
cases. See the changes between 2.2.0 and 2.3.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone use 
cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.2.0...ratis-2.3.0&#34;&gt;changes
 between 2.2.0 and 2.3.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a [...]
     </item>
-    
     <item>
       <title>Release 2.2.0 is available</title>
       <link>https://ratis.apache.org/post/2.2.0.html</link>
       <pubDate>Wed, 20 Oct 2021 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.2.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone use 
cases. See the changes between 2.1.0 and 2.2.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone use 
cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.1.0...ratis-2.2.0&#34;&gt;changes
 between 2.1.0 and 2.2.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a [...]
     </item>
-    
     <item>
       <title>Release 2.1.0 is available</title>
       <link>https://ratis.apache.org/post/2.1.0.html</link>
       <pubDate>Mon, 19 Jul 2021 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.1.0.html</guid>
-      <description>Download
-It contains improvements and bug fixes based on various Apache Ozone use 
cases. See the changes between 2.0.0 and 2.1.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains improvements and bug fixes based on various Apache Ozone use 
cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-2.0.0...ratis-2.1.0&#34;&gt;changes
 between 2.0.0 and 2.1.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested with &lt;a [...]
     </item>
-    
     <item>
       <title>Release 2.0.0 is available</title>
       <link>https://ratis.apache.org/post/2.0.0.html</link>
       <pubDate>Wed, 24 Mar 2021 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/2.0.0.html</guid>
-      <description>Download
-It contains around 260 improvements and bug fixes based on various Apache 
Ozone use cases. See the changes between 1.0.0 and 2.0.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains around 260 improvements and bug fixes based on various Apache Ozone 
use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-1.0.0...ratis-2.0.0&#34;&gt;changes
 between 1.0.0 and 2.0.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested [...]
     </item>
-    
     <item>
       <title>GA Release 1.0.0 is available</title>
       <link>https://ratis.apache.org/post/1.0.0.html</link>
       <pubDate>Mon, 20 Jul 2020 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/1.0.0.html</guid>
-      <description>Download
-It contains around 119 improvements and bug fixes based on various Apache 
Ozone use cases. See the changes between 0.5.0 and 1.0.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data and to provide high availability.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains around 119 improvements and bug fixes based on various Apache Ozone 
use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-0.5.0-rc0...ratis-1.0.0&#34;&gt;changes
 between 0.5.0 and 1.0.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
te [...]
     </item>
-    
     <item>
       <title>Release 0.5.0 is available</title>
       <link>https://ratis.apache.org/post/0.5.0.html</link>
       <pubDate>Tue, 04 Feb 2020 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.5.0.html</guid>
-      <description>Download
-It contains more than 94 improvements and bug fixes based on various Apache 
Ozone use cases. See the changes between 0.4.0 and 0.5.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains more than 94 improvements and bug fixes based on various Apache Ozone 
use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/0.4.0-rc4...ratis-0.5.0-rc0&#34;&gt;changes
 between 0.4.0 and 0.5.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
te [...]
     </item>
-    
     <item>
       <title>Release 0.4.0 is available</title>
       <link>https://ratis.apache.org/post/0.4.0.html</link>
       <pubDate>Thu, 12 Sep 2019 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.4.0.html</guid>
-      <description>Download
-It contains more than 89 improvements and bug fixes based on various Apache 
Ozone use cases. See the changes between 0.3.0 and 0.4.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains more than 89 improvements and bug fixes based on various Apache Ozone 
use cases.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-0.3.0...0.4.0-rc4&#34;&gt;changes
 between 0.3.0 and 0.4.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt;p&gt;It has been 
tested [...]
     </item>
-    
     <item>
       <title>Release 0.3.0 is available</title>
       <link>https://ratis.apache.org/post/0.3.0.html</link>
       <pubDate>Sun, 21 Apr 2019 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.3.0.html</guid>
-      <description>Download
-It contains new features such as multi-raft and watch request, as well 
contains 73 improvements and 72 bug fixes. See the changes between 0.2.0 and 
0.3.0 releases.
-It has been tested with Apache Ozone where Apache Ratis is used to replicate 
raw data.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;&lt;a 
href=&#34;https://ratis.apache.org/downloads.html&#34;&gt;Download&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It
 contains new features such as multi-raft and watch request, as well contains 
73 improvements and 72 bug fixes.&#xA;See the &lt;a 
href=&#34;https://github.com/apache/ratis/compare/ratis-0.2.0...ratis-0.3.0&#34;&gt;changes
 between 0.2.0 and 0.3.0&lt;/a&gt; releases.&lt;/p&gt;&#xA;&lt; [...]
     </item>
-    
     <item>
       <title>Release 0.2.0 is available</title>
       <link>https://ratis.apache.org/post/0.2.0.html</link>
       <pubDate>Sun, 15 Jul 2018 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.2.0.html</guid>
-      <description>0.2.0 is the second Apache release and the first release 
which provides binary release with example Raft applications.
-It contains more than 130 bug fixes and features since the previous release.
-This version also heavily tested with Apache Ozone where Apache Ratis is used 
to replicate raw Hadoop data.
-The release is available from the downloaded section or (as Ratis is a java 
library) from the Apache and Maven central maven repositories.</description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;0.2.0 is the second Apache release and the first 
release which provides binary release with example Raft 
applications.&lt;/p&gt;&#xA;&lt;p&gt;It contains more than 130 bug fixes and 
features since the previous release.&lt;/p&gt;&#xA;&lt;p&gt;This version also 
heavily tested with &lt;a href=&#34;https://ozone.apache.org&#34;&gt;Apache 
Ozone&lt;/a&gt; where Apache Ratis is used to replicate  [...]
     </item>
-    
     <item>
       <title>Release 0.1.0-alpha is available</title>
       <link>https://ratis.apache.org/post/0.1.0-alpha.html</link>
       <pubDate>Tue, 02 May 2017 00:00:00 +0000</pubDate>
-      
       <guid>https://ratis.apache.org/post/0.1.0-alpha.html</guid>
-      <description>This is the first incubator release of Apache Ratis.
-Key features:
- Pluggable transports (Hadoop Rpc, GRpc, Netty) Pluggable statemachine 
Pluggable raft log implementation.  </description>
+      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML 
omitted --&gt;&#xA;&lt;p&gt;This is the first incubator release of Apache 
Ratis.&lt;/p&gt;&#xA;&lt;p&gt;Key 
features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pluggable transports (Hadoop 
Rpc, GRpc, Netty)&lt;/li&gt;&#xA;&lt;li&gt;Pluggable 
statemachine&lt;/li&gt;&#xA;&lt;li&gt;Pluggable raft log 
implementation.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
     </item>
-    
   </channel>
 </rss>
diff --git a/post/page/1.html b/post/page/1.html
index 8e0db4832..15eee7bb2 100644
--- a/post/page/1.html
+++ b/post/page/1.html
@@ -1 +1,10 @@
-<!DOCTYPE 
html><html><head><title>https://ratis.apache.org/post.html</title><link 
rel="canonical" href="https://ratis.apache.org/post.html"/><meta name="robots" 
content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" 
content="0; url=https://ratis.apache.org/post.html"; /></head></html>
\ No newline at end of file
+<!DOCTYPE html>
+<html lang="en-us">
+  <head>
+    <title>https://ratis.apache.org/post.html</title>
+    <link rel="canonical" href="https://ratis.apache.org/post.html";>
+    <meta name="robots" content="noindex">
+    <meta charset="utf-8">
+    <meta http-equiv="refresh" content="0; 
url=https://ratis.apache.org/post.html";>
+  </head>
+</html>
diff --git a/post/page/2.html b/post/page/2.html
index 7ca2b5746..235af9a8d 100644
--- a/post/page/2.html
+++ b/post/page/2.html
@@ -105,6 +105,18 @@
     <h1 id="title">Posts Archive</h1>
         <ul id="list">
             
+            <h1><a href="/post/2.1.0.html">Release 2.1.0 is available</a></h1>
+            <p><small>2021 Jul 19 </small></p>
+
+            <!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<p><a href="https://ratis.apache.org/downloads.html";>Download</a></p>
+<p>It contains improvements and bug fixes based on various Apache Ozone use 
cases.
+See the <a 
href="https://github.com/apache/ratis/compare/ratis-2.0.0...ratis-2.1.0";>changes
 between 2.0.0 and 2.1.0</a> releases.</p>
+<p>It has been tested with <a href="https://ozone.apache.org";>Apache Ozone</a> 
where Apache Ratis is used to replicate raw data and to provide high 
availability.</p>
+
+
+            
             <h1><a href="/post/2.0.0.html">Release 2.0.0 is available</a></h1>
             <p><small>2021 Mar 24 </small></p>
 
diff --git a/sitemap.xml b/sitemap.xml
index 7e7cbafab..754bfcbe3 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -3,10 +3,13 @@
   xmlns:xhtml="http://www.w3.org/1999/xhtml";>
   <url>
     <loc>https://ratis.apache.org/</loc>
-    <lastmod>2024-06-29T00:00:00+00:00</lastmod>
+    <lastmod>2024-09-26T00:00:00+00:00</lastmod>
   </url><url>
     <loc>https://ratis.apache.org/post.html</loc>
-    <lastmod>2024-06-29T00:00:00+00:00</lastmod>
+    <lastmod>2024-09-26T00:00:00+00:00</lastmod>
+  </url><url>
+    <loc>https://ratis.apache.org/post/3.1.1.html</loc>
+    <lastmod>2024-09-26T00:00:00+00:00</lastmod>
   </url><url>
     <loc>https://ratis.apache.org/post/3.1.0.html</loc>
     <lastmod>2024-06-29T00:00:00+00:00</lastmod>
@@ -60,10 +63,8 @@
     <lastmod>2017-05-02T00:00:00+00:00</lastmod>
   </url><url>
     <loc>https://ratis.apache.org/logservice.html</loc>
-    <priority>0</priority>
   </url><url>
     <loc>https://ratis.apache.org/logservice/testing.html</loc>
-    <priority>0</priority>
   </url><url>
     <loc>https://ratis.apache.org/downloads.html</loc>
   </url><url>
@@ -76,12 +77,8 @@
     <loc>https://ratis.apache.org/getting_started.html</loc>
   </url><url>
     <loc>https://ratis.apache.org/logservice/lifecycle.html</loc>
-  </url><url>
-    <loc>https://ratis.apache.org/logservice/</loc>
   </url><url>
     <loc>https://ratis.apache.org/logservice/security.html</loc>
-  </url><url>
-    <loc>https://ratis.apache.org/logservice/testing/</loc>
   </url><url>
     <loc>https://ratis.apache.org/source.html</loc>
   </url><url>
diff --git a/tags/index.xml b/tags/index.xml
index e6095daf7..871e4f2b5 100644
--- a/tags/index.xml
+++ b/tags/index.xml
@@ -4,7 +4,8 @@
     <title>Tags on Apache Ratis</title>
     <link>https://ratis.apache.org/tags.html</link>
     <description>Recent content in Tags on Apache Ratis</description>
-    <generator>Hugo -- gohugo.io</generator>
-    <language>en-us</language><atom:link 
href="https://ratis.apache.org/tags/index.xml"; rel="self" 
type="application/rss+xml" />
+    <generator>Hugo</generator>
+    <language>en-us</language>
+    <atom:link href="https://ratis.apache.org/tags/index.xml"; rel="self" 
type="application/rss+xml" />
   </channel>
 </rss>
diff --git a/tags/page/1.html b/tags/page/1.html
index 83cd251d9..026082a9a 100644
--- a/tags/page/1.html
+++ b/tags/page/1.html
@@ -1 +1,10 @@
-<!DOCTYPE 
html><html><head><title>https://ratis.apache.org/tags.html</title><link 
rel="canonical" href="https://ratis.apache.org/tags.html"/><meta name="robots" 
content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh" 
content="0; url=https://ratis.apache.org/tags.html"; /></head></html>
\ No newline at end of file
+<!DOCTYPE html>
+<html lang="en-us">
+  <head>
+    <title>https://ratis.apache.org/tags.html</title>
+    <link rel="canonical" href="https://ratis.apache.org/tags.html";>
+    <meta name="robots" content="noindex">
+    <meta charset="utf-8">
+    <meta http-equiv="refresh" content="0; 
url=https://ratis.apache.org/tags.html";>
+  </head>
+</html>

Reply via email to