diff --git a/RELEASE-NOTE.txt b/RELEASE-NOTE.txt
index 077ac55..d4cca43 100644
--- a/RELEASE-NOTE.txt
+++ b/RELEASE-NOTE.txt
@@ -1,4 +1,18 @@
 
+Apache Neethi-3.2.0 Release Notes:
+
+3.2.0 is a minor update to 3.1.x.  The main updates are:
+
+1) Support Java 7 has been dropped, but support for Java 17 has been
+added.  3.1.0 now required Java8 or newer.
+
+2) Source control for Neethi has also moved from Subversion to GIT:
+https://gitbox.apache.org/repos/asf/ws-neethi.git
+
+3) XML parsing now enables the FEATURE_SECURE_PROCESSING flag
+
+
+
 Apache Neethi-3.1.1 Release Notes:
 3.1.1 is a minor patch release to fix problems comparing policy name
 attributes (Neethi-19)
diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt
index 651966e..8c1f9e4 100644
--- a/src/site/apt/index.apt
+++ b/src/site/apt/index.apt
@@ -28,10 +28,9 @@
   capabilities.
 
 Latest Release
+  <<September 2021 - Apache Neethi Version 3.2.0 Released!>>
 
-  <<24th January 2018 - Apache Neethi Version 3.1.1 Released!>>
-
-  \[{{{http://ws.apache.org/neethi/download.cgi}Download Neethi 3.1.1}}\]
+  \[{{{http://ws.apache.org/neethi/download.cgi}Download Neethi 3.2.0}}\]
 
 
 Key Features
diff --git a/src/site/xdoc/download.xml b/src/site/xdoc/download.xml
index 259650c..2e1437c 100644
--- a/src/site/xdoc/download.xml
+++ b/src/site/xdoc/download.xml
@@ -33,7 +33,7 @@
     <section>
             <h2>Releases</h2>
             <div align="left">
-                <p>Please select the Apache Neethi version you want to download. Latest release is 3.1.1. You can download both the binary distribution and the source distribution.  All the releases are available for download as source or binary. For more information,
+                <p>Please select the Apache Neethi version you want to download. Latest release is 3.2.0. You can download both the binary distribution and the source distribution.  All the releases are available for download as source or binary. For more information,
                     please see
                     <a href="http://www.apache.org/dev/release.html">Apache Release FAQ</a>
                 </p>
@@ -49,24 +49,42 @@
 							<td>Distribution</td>
 							<td>Date</td>
 							<td>Description</td>
-						</tr>
-                        <tr class="b">
-                            <td>
-                                <a name="3_1_1"></a>3.1.1</td>
-                            <td>Release</td>
-                            <td>Source Distribution <a href="[preferred]/ws/neethi/3.1.1/neethi-3.1.1-source-release.zip">zip</a>
-                                
-                                <a href="https://downloads.apache.org/ws/neethi/3.1.1/neethi-3.1.1-source-release.zip.md5">MD5</a>
-                                <a href="https://downloads.apache.org/ws/neethi/3.1.1/neethi-3.1.1-source-release.zip.asc">PGP</a>
-                                <br></br>
-                                Binary Distribution <a href="[preferred]/ws/neethi/3.1.1/neethi-3.1.1-bin.zip">zip</a>
-                                <a href="https://downloads.apache.org/ws/neethi/3.1.1/neethi-3.1.1-bin.zip.md5">MD5</a>
-                                <a href="https://downloads.apache.org/ws/neethi/3.1.1/neethi-3.1.1-bin.zip.asc">PGP</a>
-                                
-                                <br></br>
-                            </td>
-                            <td>24 - January - 2018</td>
-                            <td>3.1.1 Release (Mirrored)</td>
+						</tr>
+                        <tr class="b">
+                            <td>
+                                <a name="3_2_0"></a>3.2.0</td>
+                            <td>Release</td>
+                            <td>Source Distribution <a href="[preferred]/ws/neethi/3.2.0/neethi-3.2.0-source-release.zip">zip</a>
+
+                                <a href="https://downloads.apache.org/ws/neethi/3.2.0/neethi-3.2.0-source-release.zip.md5">MD5</a>
+                                <a href="https://downloads.apache.org/ws/neethi/3.2.0/neethi-3.2.0-source-release.zip.asc">PGP</a>
+                                <br></br>
+                                Binary Distribution <a href="[preferred]/ws/neethi/3.2.0/neethi-3.2.0-bin.zip">zip</a>
+                                <a href="https://downloads.apache.org/ws/neethi/3.2.0/neethi-3.2.0-bin.zip.md5">MD5</a>
+                                <a href="https://downloads.apache.org/ws/neethi/3.2.0/neethi-3.2.0-bin.zip.asc">PGP</a>
+
+                                <br></br>
+                            </td>
+                            <td>September - 2021</td>
+                            <td>3.2.0 Release (Mirrored)</td>
+                        </tr>
+                        <tr class="b">
+                            <td>
+                                <a name="3_1_1"></a>3.1.1</td>
+                            <td>Release</td>
+                            <td>Source Distribution <a href="[preferred]/ws/neethi/3.1.1/neethi-3.1.1-source-release.zip">zip</a>
+                                
+                                <a href="https://downloads.apache.org/ws/neethi/3.1.1/neethi-3.1.1-source-release.zip.md5">MD5</a>
+                                <a href="https://downloads.apache.org/ws/neethi/3.1.1/neethi-3.1.1-source-release.zip.asc">PGP</a>
+                                <br></br>
+                                Binary Distribution <a href="[preferred]/ws/neethi/3.1.1/neethi-3.1.1-bin.zip">zip</a>
+                                <a href="https://downloads.apache.org/ws/neethi/3.1.1/neethi-3.1.1-bin.zip.md5">MD5</a>
+                                <a href="https://downloads.apache.org/ws/neethi/3.1.1/neethi-3.1.1-bin.zip.asc">PGP</a>
+                                
+                                <br></br>
+                            </td>
+                            <td>24 - January - 2018</td>
+                            <td>3.1.1 Release (Mirrored)</td>
                         </tr>
                         <tr class="b">
                             <td>
