diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 72ae15c47f85b7bfc935530982707d699d568dc9..d80afe1c3044a7b8481f5313f3edb6acf284af71 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -70,28 +70,27 @@ then you can just skip this section.
 
 First ensure the package is prepared for the release process:
 
-* Make sure any references to the version number in the readme is updated
-  * Version number in dependency maven snippet.
-  * Add new version to javadoc version list.
-* Ensure that none of the dependencies used are snapshots.
+* Make sure any references to the version number or branch name in the readme is at the pre-release branch/version
+  * The branch name in the build pipeline badge
+* Ensure the Aparapi version set in .gitlab.yml correctly points to the pre-release SNAPSHOT
 * Update the changelog file.
-* Check that all Aparapi libraries used as dependencies point to the latest version.
 
 Next lets take a few steps to do the actual release:
 
-1.  Update everything listed above. Do **not** drop the package version's `-SNAPSHOT` suffix in master.
-2.  Create a release branch, but make sure never to push this branch to the server: `git checkout -b release`.
-3.  Update the README.md again to ensure travis badge and javadoc badge point to static tag and not latest.
-4.  Drop the `-SNAPSHOT` suffix from the package version.
-5.  Commit the current changes using a generic commit message such as `build(release): version 1.2.3`.
-6.  Fully test the software before deploying, run all tests and install locally to test against the examples package.
-    You can install the package locally with `mvn clean install`.
-7.  Once satisfied the package is stable deploy it to maven central by executing `mvn -P sign clean package deploy`.
-8.  If deployment was successful then create a new tag for the current version with the following command:
-    `git tag -a v1.2.3 -m "Version 1.2.3"`.
-9.  Push the newly created tags to the server: `git push origin v1.2.3:v1.2.3`.
-10. Go to Github and go to the release. Update the description with the changelog for the version and upload
-    all the artifacts in the target folder.
-10. Checkout master again and then delete the release branch: `git branch -D release`.
-11. Bump the snapshot version of the package to the next expected version, commiting the changes and pushing.
-12. Deploy the new snapshot to the snapshot repository (no need to sign): `mvn clean deploy`.
+1.  Update everything listed above.
+2.  Checkout the branch for the Aparapi version you are working on, for example `git checkout 2.0.0` or create
+    a new one if this is for a new version. For new branches make sure they are off of develop. Never add a `v` to the begining.
+3.  Update the README.md to ensure pipeline badge points to the correct branch for new branches.
+4.  Update .gitlab-ci.yml to ensure the Aparapi version points to the correct version fpr new branches.
+5.  Push the branch to the server, make sure pipeline passes, such as `git push origin 2.0.0:2.0.0`.
+6.  If pipeline passed, create a generic new branch, do not push it, as follows `git checkout -b release`.
+7.  Update the pipeline badge in the readme to point to the to-be-released repository tag/version.
+8.  Commit the current changes using a generic commit message such as `build(release): version 1.2.3 revision 4`. But do not push.
+
+7.  Create a new tag for the current version with the following command: `git tag -a v1.2.3-4 -m "Version 1.2.3 revision 4"`. Ensure 
+    tags **always** have the aparapi version followed by revsion.
+8.  Push the newly created tag to the server: `git push origin v1.2.3-4:v1.2.3-4`.
+9.  Delete the release branch you created locally `git branch -D release`.
+9.  If the Aparapi version deployed is the latest then merge master and develop to the earlier aparapi version specific branch, **not**
+    to the tag you just pushed and not to the temporary release branch. Push master and develop if so.
+10. Go to Github and go to the release. Update the description with the changelog for the version.
diff --git a/README.md b/README.md
index cfa73df38dbf1adb7cdfb6c665524de4f084369b..15eec5093ee0bff7cb6d6df4e3b9a932d8e4d5a6 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 ![](http://aparapi.com/images/logo-text-adjacent.png)
 
+[![pipeline status](http://git.qoto.org/aparapi/aparapi-docker/badges/master/pipeline.svg)](http://git.qoto.org/aparapi/aparapi-docker/-/commits/master)
+[![SemVer](https://img.shields.io/badge/SemVer-v2.0.0-green)](https://semver.org/spec/v2.0.0.html)
 [![License](http://img.shields.io/:license-apache-blue.svg?style=flat-square)](http://www.apache.org/licenses/LICENSE-2.0.html)
 [![Gitter](https://badges.gitter.im/Syncleus/aparapi.svg)](https://gitter.im/Syncleus/aparapi?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
 
@@ -74,6 +76,9 @@ docker run --device /dev/dri -it aparapi/aparapi-amdgpu:latest bash
 
 To run the NVIDIA based OpenCL implementation you can run the following command presuming you have the [NVIDIA Container Toolkit](https://github.com/NVIDIA/nvidia-docker) installed as well as the appropriate drivers.
 
+```bash
+docker run --runtime=nvidia -it aparapi/aparapi-nvidia:latest bash
+```
 
 To run pocl, which only supports CPU processing at the moment, run the following.