diff --git a/src/site/markdown/release-guide.md b/src/site/markdown/release-guide.md
new file mode 100644
index 0000000000000000000000000000000000000000..f844c120991a00caa43e728de2864de1765d26a6
--- /dev/null
+++ b/src/site/markdown/release-guide.md
@@ -0,0 +1,379 @@
+# Rugged Release Guide
+
+This release guide is largely inspired from [Hipparchus Release
+Guide](https://www.hipparchus.org/release-guide.html) and [Orekit Release Guide](https://www.orekit.org/site-orekit-development/release-guide.html). It lists the steps that
+have been used in the past to release a new version of Rugged. When in doubt
+ask the experts: Sébastien Dinot <sebastien.dinot@csgroup.eu> for website questions
+and Luc Maisonobe <luc.maisonobe@csgroup.eu> for everything else.
+
+## Prerequisites
+
+1. Obtain private key of the Rugged Signing Key, key id:
+   `xxxxxxxxxxxxxxxxxx`
+2. Register for account on OSSRH and associate it with the Rugged project, see:
+   https://central.sonatype.org/pages/ossrh-guide.html
+
+If you need help with either, ask on the [development section of the Rugged
+forum](https://forum.orekit.org/c/rugged-development/7).
+
+Once you have a SonaType OSS account, the corresponding credentials must be set
+in the `servers` section of your `$HOME/.m2/settings.xml` file, using an id of
+`ossrh`:
+
+    <servers>
+      <server>
+        <id>ossrh</id>
+        <username>the user name to connect to the OSS site</username>
+        <password>the encrypted password</password>
+      </server>
+    </servers>
+
+Use `mvn -ep` to generate an encrypted password.
+
+## Install Graphviz
+
+[Graphviz (dot)](https://graphviz.org) is used to generated diagrams of 
+the technical documentation (static site).
+
+## Verify the status of develop branch
+
+Before anything, check on the [continuous integration
+site](https://sonar.orekit.org/dashboard?id=org.orekit%3Arugged) that everything is fine on
+develop branch:
+
+* All tests pass;
+* Code coverage is up to the requirements;
+* There are no bugs, vulnerabilities or code smells.
+
+If not, fix the warnings and errors first !
+
+It is also necessary to check on the [Gitlab CI/CD](https://gitlab.orekit.org/orekit/rugged/pipelines)
+that everything is fine on develop branch (i.e. all stages are passed).
+
+## Prepare Git branch for release
+
+Release will be performed on a dedicated branch, not directly on master or
+develop branch. So a new branch must be created as follows and used for
+everything else:
+
+    git branch release-X.Y
+    git checkout release-X.Y
+
+## Update maven plugins versions
+
+Release is a good opportunity to update the maven plugin versions. They are all
+gathered at one place, in a set of properties in `rugged/pom.xml`, for instance:
+
+    <rugged.spotbugs-maven-plugin.version>4.0.4</rugged.spotbugs-maven-plugin.version>
+    <rugged.jacoco-maven-plugin.version>0.8.5</rugged.jacoco-maven-plugin.version>
+    <rugged.maven-assembly-plugin.version>3.1.1</rugged.maven-assembly-plugin.version>
+    ...
+
+You can find the latest version of the plugins using the search feature at
+[http://search.maven.org/#search](http://search.maven.org/#search). The
+properties name all follow the pattern `rugged.some-plugin-name.version`, the
+plugin name should be used in the web form to check for available versions.
+
+Beware that in some cases, the latest version cannot be used due to
+incompatibilities. For example when a plugin was not recently updated and
+conflicts appear with newer versions of its dependencies.
+
+Beware also that some plugins use configuration files that may need update too.
+This is typically the case with `maven-checkstyle-plugin` and
+`spotbugs-maven-plugin`. The `/checkstyle.xml` and `/spotbugs-exclude-filter.xml` files may need to be checked.
+
+Before committing these changes, you have to check that everything works. So
+run the following command:
+
+    mvn clean
+    LANG=C mvn -Prelease site
+
+If something goes wrong, either fix it by changing the plugin configuration or
+roll back to an earlier version of the plugin.
+
+Browse the generated site starting at page `target/site/index.html` and check
+that everything is rendered properly. You may also check the contents of the pages.
+
+When everything runs fine and the generated site is OK, then you can commit the
+changes:
+
+    git add rugged/pom.xml rugged/checkstyle.xml rugged/spotbugs-exclude-filter.xml
+    git commit -m "Updated maven plugins versions."
+
+## Updating changes.xml
+
+Finalize the file `src/changes/changes.xml` file.
+
+The release date and description, which are often only set to `TBD` during
+development, must be set to appropriate values. The release date at this step
+is only a guess one or two weeks in the future, in order to take into account
+the 5 days release vote delay.
+
+Replace the `TBD` description with a text describing the version released:
+state if it is a minor or major version, list the major features introduced by
+the version etc (see examples in descriptions of former versions).
+
+Commit the `changes.xml` file.
+
+    git add src/changes/changes.xml
+    git commit -m "Updated changes.xml for official release."
+
+## Updating documentation
+
+Several files must be updated to take into account the new version:
+
+|            file name                |           usage            |                                     required update                                                    |
+|-------------------------------------|----------------------------|--------------------------------------------------------------------------------------------------------|
+| `src/site/markdown/index.md`        | site home page             | Update the text about the new features (see changes from **changes.xml**)  |
+| `src/site/markdown/downloads.md.vm` | downloads links            | Declare the new versions, don't forget the date                                                        |
+
+Once the files have been updated, commit the changes:
+
+    git add src/site/markdown/*.md
+    git commit -m "Updated documentation for the release."
+
+## Change library version number
+
+The `pom.xml` file contains the version number of the library. During
+development, this version number has the form `X.Y-SNAPSHOT`. For release, the
+`-SNAPSHOT` part must be removed.
+
+Commit the change:
+
+    git add pom.xml
+    git commit -m "Dropped -SNAPSHOT in version number for official release."
+
+## Check the JavaDoc
+
+Depending the JDK version (Oracle, OpenJDK, etc), some JavaDoc warnings can be present.
+Make sure there is no JavaDoc warnings by running the following command:
+
+    mvn javadoc:javadoc
+
+If possible, run the above command with different JDK versions.
+
+## Tag and sign the git repository
+
+When all previous steps have been performed, the local git repository holds the
+final state of the sources and build files for the release. It must be tagged
+and the tag must be signed. Note that before the vote is finished, the tag can
+only signed with a `-RCx` suffix to denote Release Candidate. The final tag
+without the `-RCx` suffix will be put once the vote succeeds, on the same
+commit (which will therefore have two tags). Tagging and signing is done using
+the following command, with `-RCn` replaced with the Release Candidate number:
+
+    git tag X.Y-RCn -s -u xxxxxxxxxxxxxxxxxx -m "Release Candidate n for version X.Y."
+
+The tag should be verified using command:
+
+    git tag -v X.Y-RCn
+
+## Pushing the branch and the tag
+
+When the tag is ready, the branch and the tag must be pushed to Gitlab so
+everyone can review it:
+
+    git push --tags origin release-X.Y
+
+## Static site (technical documentation)
+
+The static site is generated locally using:
+
+    mvn clean
+    LANG=C mvn site
+
+The official site is automatically updated on the hosting platform when work is 
+merged into branches `develop`, `release-*` or `master`.
+
+## Generating signed artifacts
+
+When these settings have been set up, generating the artifacts is done by
+running the following commands:
+
+    mvn deploy -DskipStagingRepositoryClose=true -Prelease
+
+During the generation, maven will trigger gpg which will ask the user for the
+pass phrase to access the signing key. If maven didn’t prompt to you, you have to
+add `-Dgpg.passphrase=[passphrase]`
+
+Once the commands ends, log into the SonaType OSS site
+[https://oss.sonatype.org/](https://oss.sonatype.org/) and check the staging
+repository contains the expected artifacts with associated signatures and
+checksums:
+
+- rugged-X.Y.pom
+- rugged-X.Y.jar
+- rugged-X.Y-sources.jar
+- rugged-X.Y-javadoc.jar
+
+The signature and checksum files have similar names with added extensions `.asc`,
+`.md5` and `.sha1`.
+
+Sometimes, the deployment to Sonatype OSS site also adds files with double extension
+`.asc.md5` and `.asc.sha1`, which are in fact checksum files on a signature file
+and serve no purpose and can be deleted.
+
+Remove `rugged-X.Y.source-jar*` since they are duplicates of the
+`rugged-X.Y-sources.jar*` artifacts. Then click the “Close” button.
+
+## Update Rugged version in Rugged test website
+
+One edit needs to be made to the Rugged website before calling the vote. Fetch the current code:
+
+    git clone https://gitlab.orekit.org/orekit/website-2015
+
+Switch to `develop` branch and edit `_data/rugged/versions.yml` by adding the new version X.Y 
+to the list. 
+
+Once the modification pushed to develop branch, the [test website](https://test.orekit.org/rugged) will be updated
+
+## Calling for the vote
+
+Everything is now ready so the developers and PMC can vote for the release.
+Create a post in the [Rugged development category of the forum](https://forum.orekit.org/c/rugged-development/7)
+with a subject line of the form:
+
+    [VOTE] Releasing Rugged X.Y from release candidate n
+
+and content of the form:
+
+    This is a VOTE in order to release version X.Y of the Rugged library.
+    Version X.Y is a maintenance release.
+
+
+    Highlights in the X.Y release are:
+      - feature 1 description
+      ...
+      - feature n description
+
+    The release candidate n can be found on the GitLab repository as
+    tag X.Y-RCn in the release-X.Y branch:
+    <https://gitlab.orekit.org/orekit/rugged/tree/X.Y-RCn>
+
+    The release notes can be read here:
+    <https://test.orekit.org/site-rugged-X.Y/changes-report.html>
+
+    Maven artifacts are available at
+    <https://oss.sonatype.org/content/repositories/orgorekit-xxxx/>
+
+    The votes will be tallied in 120 hours for now, on 20yy-mm-ddThh:mm:00Z
+    (this is UTC time).
+
+You should also ping PMC members so they are aware of the vote. Their
+vote is essential for a release as per project governance.
+
+## Failed vote
+
+If the vote fails, the maven artifacts must be removed from OSS site by
+dropping the repository. Then a new release candidate must
+be created, with a new number, a new tag and new artifacts. Another vote is
+needed for this new release candidate. So make the necessary changes and then
+start from the “Tag and sign the git repository” step.
+
+## Successful vote
+
+When the vote for a release candidate succeeds, follow the steps below to
+publish the release.
+
+## Tag release version
+
+As the vote passed, a final signed tag must be added to the succeeding release
+candidate, verified and pushed:
+
+    git tag X.Y -s -u xxxxxxxxxxxxxxxxxx -m "Version X.Y."
+    git tag -v X.Y
+    git push --tags
+
+## Merge release branch into master
+
+Merge the release branch into the `master` branch to include any changes made.
+
+    git checkout master
+    git merge --no-ff release-X.Y
+
+Then commit and push.
+
+## Merge master branch into develop
+
+Merge the `master` branch into the `develop` branch to include any changes made.
+
+    git checkout develop
+    git merge --no-ff master
+
+Then update the version number to prepare for the next development cycle:
+
+- edit the pom.xml to update version to a SNAPSHOT,
+- make space in the `/src/changes/changes.xml` file for new changes. 
+
+Then commit and push.
+
+## Publish maven artifacts
+
+The maven artifacts must be published using OSS site to release the repository.
+Select the Rugged repository in "Staging Repositories" and click the “Release”
+button in [Nexus Repository Manager](https://oss.sonatype.org/).
+
+## Upload to Gitlab
+
+Navigate to Projects > Rugged > Repository > Tags. Find the X.Y tag and
+click the edit button to enter release notes. Use the **path** in the [Nexus 
+repository](https://packages.orekit.org/#browse/browse:maven-releases:org%2Forekit%2Frugged) to
+set the artifacts in the release notes.
+
+- rugged-X.Y.jar
+- rugged-X.Y-sources.jar
+- rugged-X.Y-javadoc.jar
+
+Navigate to Projects > Rugged > Project Overview > Releases and make sure it looks nice.
+
+## Update Rugged website
+
+Several edits need to be made to the Rugged website after the vote.
+
+Edit `download/.htaccess` and replace the URLs of the 3 Rugged artifacts
+with the ones used to create the release notes.
+
+Edit `_layouts/home_rugged.html` and edit the text of the button to use the new version.
+
+Edit `rugged/overview.html` with the new Orekit and Hipparchus versions. Don't forget to update the
+rugged/img/overview.png image with the new dependencies.
+
+Create a new post for the release in `_post/` using as template a previous Rugged post (in order to be published in the Rugged News page).
+
+Run:
+
+    jekyll serve
+
+and make sure the website looks nice. View it on http://localhost:4000/
+
+## Close X.Y milestone
+
+In Gitlab, navigate to Projects > Rugged > Issues > Milestones.
+Click “Close Milestone” for the line corresponding to the release X.Y.
+
+## Announce release
+
+The last step is to announce the release by creating a post in the 
+[Rugged announcements category of the forum](https://forum.orekit.org/c/rugged-announcements/10) 
+with a subject line of the form:
+
+    Rugged X.Y released
+
+and content of the form:
+
+    The Rugged team is pleased to announce the release of Rugged version X.Y. 
+    This is a minor/major version, including both new features and bug fixes. 
+    The main changes are:
+
+      - feature 1 description
+      ...
+      - feature n description
+
+    This version depends on Orekit X.x and Hipparchus Y.y.
+
+    For complete release notes please see:
+    https://www.orekit.org/site-rugged-X.Y/changes-report.html
+
+    The maven artifacts are available in maven central. 
+    The source and binaries can be retrieved from the forge releases page:
+    https://gitlab.orekit.org/orekit/rugged/-/releases
diff --git a/src/site/site.xml b/src/site/site.xml
index 739072c625ce99cff6c901d35714f0910f02387e..8a15e49254d7cb1fbfbb77f0377c56e06cdb2717 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -32,7 +32,7 @@
       <item name="Building"                 href="/building.html"                           />
       <item name="Configuration"            href="/configuration.html"                      />
       <item name="FAQ"                      href="/faq.html"                                />
-      <item name="License"                  href="/licenses.html"                            />
+      <item name="License"                  href="/licenses.html"                           />
       <item name="Downloads"                href="/downloads.html"                          />
       <item name="Changes"                  href="/changes-report.html"                     />
       <item name="Contact"                  href="/contact.html"                            />
@@ -41,7 +41,7 @@
       <item name="Overview"                 href="/design/overview.html"                    />
       <item name="Technical choices"        href="/design/technical-choices.html"           />
       <item name="Digital Elevation Model"  href="/design/digital-elevation-model.html"     />
-      <item name="Design"		    href="/design/design.html"          />
+      <item name="Design"		            href="/design/design.html"                      />
     </menu>
     <menu name="Tutorials">
       <item name="Direct location"          href="/tutorials/direct-location.html"          />
@@ -53,7 +53,8 @@
       <item name="Contributing"             href="/contributing.html"                       />
       <item name="Guidelines"               href="/guidelines.html"                         />
       <item name="Javadoc"                  href="/apidocs/index.html"                      />
-      </menu>
+      <item name="Release guide"            href="/release-guide.html"                      />
+    </menu>
     <menu ref="reports"/>
   </body>
   <poweredBy>