diff --git a/config.toml b/config.toml
index 56055ee..a25687c 100644
--- a/config.toml
+++ b/config.toml
@@ -36,6 +36,6 @@
 version_asyncweb = "2.0.0-SNAPSHOT"
 version_mina_2_0 = "2.0.23"
 version_mina_2_1 = "2.1.6"
-version_ftpserver = "1.1.2"
+version_ftpserver = "1.1.3"
 version_sshd = "2.8.0"
 version_vysper = "0.7"
diff --git a/layouts/ftpserver/baseof.html b/layouts/ftpserver/baseof.html
index aa426c3..0a84c94 100644
--- a/layouts/ftpserver/baseof.html
+++ b/layouts/ftpserver/baseof.html
@@ -34,6 +34,7 @@
                     <li><a href="/ftpserver-project/index.html">Home</a> </li>
                     <li><a href="/ftpserver-project/features.html">Features</a> </li>
                     <li><a href="/ftpserver-project/documentation.html">Documentation</a></li>
+                    <li><a href="/ftpserver-project/gen-docs/latest/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc {{ .Site.Params.version_ftpserver }}</a></li>
                     <li><a href="/ftpserver-project/downloads.html">Downloads</a></li>
                     <li><a href="/ftpserver-project/getting_source.html">Sources</a></li>
                     <li><a href="/ftpserver-project/faq.html">FAQ</a></li>
diff --git a/source/ftpserver-project/download_1.1.3.md b/source/ftpserver-project/download_1.1.3.md
new file mode 100644
index 0000000..814eeef
--- /dev/null
+++ b/source/ftpserver-project/download_1.1.3.md
@@ -0,0 +1,69 @@
+---
+type: ftpserver
+title: Apache FtpServer 1.1.3 Release
+---
+
+# Apache FtpServer 1.1.3 Release
+
+## New Features in 1.1.3
+
+This release fixes the Log4J CVE by embedding the 2.17.1 version and add some fixes for TLS 1.3
+
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA256 hashes  | SHA512 hashes  | PGP Signature file of download |
+|---|---|---|---|---|
+| zip distribution | [apache-ftpserver-1.1.3-bin.zip](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.zip) | [SHA256](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.zip.sha256) | [SHA512](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.zip.sha512) |[ASC](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.zip.asc) |
+| tar.gz distribution | [apache-ftpserver-1.1.3-bin.tar.gz](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.tar.gz) | [SHA256](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.tar.gz.sha256) | [SHA512](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.tar.gz.sha512) | [ASC](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.tar.gz.asc) | 
+| tar.bz2 distribution | [apache-ftpserver-1.1.3-bin.tar.bz2](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.tar.bz2) | [SHA256](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.tar.bz2.sha256) | [SHA512](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.tar.bz2.sha512) | [ASC](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-bin.tar.bz2.asc) | 
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://downloads.apache.org/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+        $ pgpk -a KEYS
+        $ pgpv apache-ftpserver-1.1.3-bin.tar.gz.asc
+
+    or 
+
+        $ pgp -ka KEYS
+        $ pgp apache-ftpserver-1.1.3-bin.tar.gz.asc apache-ftpserver-1.1.3-bin.tar.gz
+
+    or
+
+        $ gpg --import KEYS
+        $ gpg --verify apache-ftpserver-1.1.3-bin.tar.gz.asc apache-ftpserver-1.1.3-bin.tar.gz
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](https://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+```xml
+<dependency>
+    <groupId>org.apache.ftpserver</groupId>
+    <artifactId>ftpserver-core</artifactId>
+    <version>1.1.3</version>
+</dependency>
+```
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA256 hashes | SHA512 hashes | PGP Signature file of download |
+|---|---|---|---|---|
+| zip sources | [apache-ftpserver-1.1.3-src.zip](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.zip) | [SHA256](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.zip.sha256) | [SHA512](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.zip.sha512) | [ASC](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.zip.asc) |
+| tar.gz sources | [apache-ftpserver-1.1.3-src.tar.gz](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.tar.gz) | [SHA256](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.tar.gz.sha256) | [SHA512](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.tar.gz.sha512) | [ASC](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.tar.gz.asc) |
+| tar.bz2 sources | [apache-ftpserver-1.1.3-src.tar.bz2](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.tar.bz2) | [SHA256](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.tar.bz2.sha256) | [SHA512](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.tar.bz2.sha512) | [ASC](https://downloads.apache.org/mina/ftpserver/1.1.3/apache-ftpserver-1.1.3-src.tar.bz2.asc) |
+
+### Git Tag Checkout
+
+    $ git clone https://gitbox.apache.org/repos/asf/mina-ftpserver.git
+    $ git checkout ftpserver-parent-1.1.3
+
+You are now on 1.1.3 branch.
diff --git a/source/ftpserver-project/downloads.md b/source/ftpserver-project/downloads.md
index 26919ca..2cf2ec6 100644
--- a/source/ftpserver-project/downloads.md
+++ b/source/ftpserver-project/downloads.md
@@ -5,25 +5,26 @@
 
 # Latest FTPServer Releases
 
-The latest release is the [Apache FtpServer 1.1.2 Release](download_1.1.2.html)
+The latest release is the [Apache FtpServer 1.1.3 Release](download_1.1.3.html)
 
 # All Releases
 
-* [Apache FtpServer 1.1.1 Release](download_1.1.2.html)
-* [Apache FtpServer 1.1.1 Release](download_1.1.1.html)
-* [Apache FtpServer 1.1.0 Release](download_1.1.0.html)
-* [Apache FtpServer 1.0.6 Release](download_1.0.6.html)
-* [Apache FtpServer 1.0.5 Release](download_1.0.5.html)
-* [Apache FtpServer 1.0.4 Release](download_1.0.4.html)
-* [Apache FtpServer 1.0.3 Release](download_1.0.3.html)
-* [Apache FtpServer 1.0.2 Release](download_1.0.2.html)
-* [Apache FtpServer 1.0.1 Release](download_1.0.1.html)
-* [Apache FtpServer 1.0.0 Release](download_1.0.0.html)
-* [Apache FtpServer 1.0.0-RC2 Release](download_1.0.0-RC2.html)
-* [Apache FtpServer 1.0.0-RC1 release](download_1.0.0-RC1.html)
-* [Apache FtpServer 1.0.0-M4 release](download_1.0.0-M4.html)
-* [Apache FtpServer 1.0.0-M3 release](download_1.0.0-M3.html)
-* [Apache FtpServer 1.0.0-M2 release](download_1.0.0-M2.html)
+* [Apache FtpServer 1.1.3 Release - Feb 25th, 2022](download_1.1.3.html)
+* [Apache FtpServer 1.1.2 Release - Jan 1st, 2022](download_1.1.2.html)
+* [Apache FtpServer 1.1.1 Release - Jul 3rd, 2020](download_1.1.1.html)
+* [Apache FtpServer 1.1.0 Release - May 4th, 2018](download_1.1.0.html)
+* [Apache FtpServer 1.0.6 Release - May 4th, 2018](download_1.0.6.html)
+* [Apache FtpServer 1.0.5 Release - Oct 2nd, 2010](download_1.0.5.html)
+* [Apache FtpServer 1.0.4 Release - Mar 13th, 2010](download_1.0.4.html)
+* [Apache FtpServer 1.0.3 Release - Oct 12th, 2009](download_1.0.3.html)
+* [Apache FtpServer 1.0.2 Release - Jun 17th, 2009](download_1.0.2.html)
+* [Apache FtpServer 1.0.1 Release - May 18th, 2009](download_1.0.1.html)
+* [Apache FtpServer 1.0.0 Release - Feb 28th, 2009](download_1.0.0.html)
+* [Apache FtpServer 1.0.0-RC2 Release - Jan 31th, 2009](download_1.0.0-RC2.html)
+* [Apache FtpServer 1.0.0-RC1 release - Jan 13th, 2009](download_1.0.0-RC1.html)
+* [Apache FtpServer 1.0.0-M4 release - Dec 10th, 2008](download_1.0.0-M4.html)
+* [Apache FtpServer 1.0.0-M3 release - Sep 8th, 2008](download_1.0.0-M3.html)
+* [Apache FtpServer 1.0.0-M2 release - Aug 11th, 2008](download_1.0.0-M2.html) 
 
 # Maven Repositories
 
diff --git a/source/ftpserver-project/releasing.md b/source/ftpserver-project/releasing.md
index eeadf73..5ea5d54 100644
--- a/source/ftpserver-project/releasing.md
+++ b/source/ftpserver-project/releasing.md
@@ -421,8 +421,8 @@
 If you haven't checked out this space, do it now :
 
 ```bash
-$ mkdir -p ~/mina/dist/release/mina
-$ svn co https://dist.apache.org/repos/dist/release/mina/ftpserver ~/mina/dist/release/mina
+$ mkdir -p ~/mina/dist/release/ftpserver
+$ svn co https://dist.apache.org/repos/dist/release/mina/ftpserver ~/mina/dist/release/ftpserver
 ```
 
 That will checkout the full project distributions. 
@@ -430,7 +430,7 @@
 Then move the packages from 'dev' to 'release' :
 
 ```bash
-$ cd ~/mina/dist/release/mina
+$ cd ~/mina/dist/release/ftpserver
 $ cp ~/mina/dist/dev/mina/ftpserver/<version> .
 $ svn add <version>
 $ svn ci <version>
@@ -448,25 +448,15 @@
 target/checkout/target/site
 ```
 
-We will copy four directories :
+We will copy the ```apidocs``` directory.
 
-```text
-apidocs
-testapidocs
-xref
-xref-test
-```
+It will be uploaded to https://nightlies.apache.org/ via WebDAV protocol.
 
-They are uploaded to https://nightlies.apache.org/ via WebDAV protocol.
-
-First create the folders for the version (change the &lt;version&gt; part):
+First create the folder for the version (change the &lt;version&gt; part):
 
 ```
-$ curl -u <your asf id> -X MKCOL 'https://nightlies.apache.org/mina/mina/<version>/'
+$ curl -u <your asf id> -X MKCOL 'https://nightlies.apache.org/mina/ftpserver/<version>/'
 $ curl -u <your asf id> -X MKCOL 'https://nightlies.apache.org/mina/mina/<version>/apidocs'
-$ curl -u <your asf id> -X MKCOL 'https://nightlies.apache.org/mina/mina/<version>/testapidocs'
-$ curl -u <your asf id> -X MKCOL 'https://nightlies.apache.org/mina/mina/<version>/xref'
-$ curl -u <your asf id> -X MKCOL 'https://nightlies.apache.org/mina/mina/<version>/xref-test'
 ```
 
 Each of those commands will ask for your ASF password.
@@ -485,25 +475,45 @@
 pass: <your asf password> (will be stored encrypted)
 ```
 
-Then copy the directories (change the &lt;version&gt; part):
+Then copy the directory (change the &lt;version&gt; part):
 
 ```
 cd target/checkout/target/site
-rclone copy --progress apidocs nightlies:/mina/mina/<version>/apidocs
-rclone copy --progress xref nightlies:/mina/mina/<version>/testapidocs
-rclone copy --progress xref nightlies:/mina/mina/<version>/xref
-rclone copy --progress xref nightlies:/mina/mina/<version>/xref-test
+rclone copy --progress apidocs nightlies:/mina/ftpserver/<version>/apidocs
 ```
 
-Finally update the links in the static/mina-project/gen-docs/.htaccess of the mina-site repo (change the &lt;version&gt; part):
+Finally update the links in the static/ftpserver-project/gen-docs/.htaccess of the mina-site repo (change the &lt;version&gt; part):
 
 ```
-RewriteRule ^latest-2.1$ https://nightlies.apache.org/mina/mina/<version>/ [QSA,L]
-RewriteRule ^latest-2.1/(.*)$ https://nightlies.apache.org/mina/mina/<version>/$1 [QSA,L]
+RewriteRule ^latest$ https://nightlies.apache.org/mina/ftpserver/<version>/ [QSA,L]
+RewriteRule ^latest/(.*)$ https://nightlies.apache.org/mina/ftpserver/<version>/$1 [QSA,L]
 ```
 
 Save and commit the file, the web site should be automatically generated and published.
 
+### Step 13: Wait 24 hours
+
+We have to wait at least 24 hours for all mirrors to retrieve the uploaded files before making any announcement. I'd recommend you to wait for 48 hours because some mirrors might lag due to various issues.
+
+### Step 14: Update the Links in Web Site
+
+Some pages have to be updated. Assuming the MINA site has been checked out in ~/mina/site (this can be done with the command <em>$ git clone http://gitbox.apache.org/repos/asf/mina-site.git ~/mina/mina-site</em>), here are the pages that need to be changed :
+
+* /config.toml: update the `version_ftpserver` variable with the new version.
+* /source/ftpserver-project/downloads-&lt;version&gt;.md: Add the page for this version
+* /source/downloads.md: Refer to the previous page
+
+Commit the changes, and publish the web site, you are done !
+
+### Step 15: Wait another 24 hours
+
+We need to wait until any changes made in the web site and metadata file(s) go live.
+
+### Step 16: Announce the New Release
+
+An announcement message can be sent to [mailto:announce@apache.org], [mailto:announce@apachenews.org], [mailto:users@mina.apache.org] and [mailto:dev@mina.apache.org].  Please note that announcement messages are rejected unless your from-address ends with `@apache.org`.  Plus, you shouldn't forget to post a news to the MINA site main page.
+
+Enjoy !
 
 ## After a successful vote
 
diff --git a/static/ftpserver-project/gen-docs/.htaccess b/static/ftpserver-project/gen-docs/.htaccess
new file mode 100644
index 0000000..d5b4bf0
--- /dev/null
+++ b/static/ftpserver-project/gen-docs/.htaccess
@@ -0,0 +1,10 @@
+Options +FollowSymLinks
+RewriteEngine On
+
+# Redirect to the latest releases
+RewriteRule ^latest$ https://nightlies.apache.org/mina/ftpserver/1.1.3/ [QSA,L]
+RewriteRule ^latest(.*)$ https://nightlies.apache.org/mina/ftpserver/1.1.3/$1 [QSA,L]
+
+# Redirect everything else
+RewriteRule ^(.*)$ https://nightlies.apache.org/mina/ftpserver/$1 [QSA,L]
+
