diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 79001f94ac5e22c5f60f1583c9a9088ff7ca03a6..8b383f9566c642f2dde51fe3c254c516d3ff0452 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -48,15 +48,15 @@ test_opam_test:
 
 # automating version numbering
 release:
+  image: node:12-buster-slim
+  stage: release
   before_script:
-    - yarn install --frozen-lockfile
-  image: node:12
+    - apt-get update && apt-get install -y --no-install-recommends git-core ca-certificates
+    - npm install -g semantic-release  @semantic-release/gitlab
+  script:
+    - semantic-release
   only:
     - master
-  script:
-    - $(yarn bin)/semantic-delivery-gitlab --preset eslint  --token ${GITLAB_AUTH_TOKEN}
-  stage: release
-
 
 
 
diff --git a/.releaserc b/.releaserc
new file mode 100644
index 0000000000000000000000000000000000000000..b124bfa234dea6919d00927ec410f1124b80266f
--- /dev/null
+++ b/.releaserc
@@ -0,0 +1,13 @@
+{
+    "plugins": [
+        "@semantic-release/commit-analyzer",
+        "@semantic-release/release-notes-generator",
+        ["@semantic-release/gitlab", {
+            "gitlabUrl": "https://gricad-gitlab.univ-grenoble-alpes.fr",
+            "assets": [
+                {"path": "dist/asset.min.css", "label": "CSS distribution"},
+                {"path": "dist/asset.min.js", "label": "JS distribution"}
+            ]
+        }],
+    ]
+}
diff --git a/Makefile.version b/Makefile.version
index d00fd8f491f19107c108012db5c62dd975ebb4d7..5f7e69afb65b11c6caef70caafd7be40a78d1816 100644
--- a/Makefile.version
+++ b/Makefile.version
@@ -1,8 +1,7 @@
 
 SHA:=$(shell git log -1 --pretty=format:"%h"|| echo "opam")
 BRANCH:=$(shell git branch | grep "*" | cut -d ' ' -f 2 || basename `pwd` | echo "opam")
-
-VERSION=$(shell git describe --tags|| basename `pwd` | cut -d '.' -f2-4)
+VERSION=$(shell git describe --tags --abbrev=0 || basename `pwd` | cut -d '.' -f2-4)
 
 del_version:
 	rm -f lib/sasacore/sasaVersion.ml
diff --git a/algo.opam b/algo.opam
index daf9df789372c521a1dda3b7c2b9607079d23615..3ffd70d2fb17a4f14380516ab71c6308e75e37a0 100644
--- a/algo.opam
+++ b/algo.opam
@@ -7,10 +7,9 @@ Contains the API to program sasa nodes.
 authors: [ "Erwan Jahier" ]
 license: "CeCILL"
 homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
+dev-repo: "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
 bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+build: ["dune" "build" "-p" name "-j" jobs]
 depends: [
   "ocaml"
   "ocamlfind"
diff --git a/gui.opam b/gui.opam
index 6935db2b3ea3eb0b444edfa647bb6a40b3f367f3..1751cd6d92b4d83f6ef3a04e8859037b4e5834d4 100644
--- a/gui.opam
+++ b/gui.opam
@@ -1,21 +1,22 @@
 opam-version: "2.0"
 synopsis: "A Graphical User Interface for XXX"
-maintainer: "XXX"
-description: """
-sasa is a *Self-stabilizing Algorithms SimulAtor*. XXX
-"""
-authors: [ "XXX" ]
-license: "CeCILL"
-homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
-bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+description: "sasa is a *Self-stabilizing Algorithms SimulAtor*. XXX"
+maintainer: "erwan.jahier@univ-grenoble-alpes.fr"
+authors: "erwan.jahier@univ-grenoble-alpes.fr"
+license: "CeCILL-2.1"
+homepage:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
+bug-reports:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
 depends: [
   "lablgtk3"
   "sasa"
+  "dune" {>= "2.8.5"}
+  "lutils" {>= "0"}
 ]
-depexts: [
-  ["graphviz" "emacs" "gnuplot" "zathura"]
-]
-post-messages: ["The last version can be obtained via (opam repo add) http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository/ "]
+build: ["dune" "build" "-p" name "-j" jobs]
+post-messages:
+  "The last version can be obtained via (opam repo add) http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository/"
+depexts: ["graphviz" "emacs" "gnuplot" "zathura"]
+dev-repo:
+  "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
diff --git a/package.json b/package.json
index 99d276a80a60af8bcb663c9c6a6dd38e418eddc9..eda823da3ac3e0e0dadd3e539fbe3c40cb2f1166 100644
--- a/package.json
+++ b/package.json
@@ -15,8 +15,8 @@
     "simulation"
   ],
   "author": "Erwan Jahier",
-  "license": "CeCILL",
+  "license": "CECILL-2.1",
   "devDependencies": {
-    "@hutson/semantic-delivery-gitlab": "^9.1.0"
+    "semantic-release": "^17.4.4"
   }
 }
diff --git a/rdbgui4sasa.opam b/rdbgui4sasa.opam
index 4f95c8959d7aa7fa9877975a6f3f711f8afd6fff..67b380fd15f6456108c4a5c3de1cdd91ee74daba 100644
--- a/rdbgui4sasa.opam
+++ b/rdbgui4sasa.opam
@@ -1,25 +1,27 @@
 opam-version: "2.0"
 synopsis: "A Graphical User Interface for using rdbg with sasa"
-maintainer: "erwan.jahier@univ-grenoble-alpes.fr"
-description: """
+description: """\
 sasa is a *Self-stabilizing Algorithms SimulAtor*, and rdbg is a reactive 
 program debugger.
 
 The interactive features of sasa are based on rdbg. rdbgui4sasa is a small lablgtk3
-GUI that can be used on top of rdbg when used with sasa.
-"""
-authors: [ "Erwan Jahier" ]
-license: "CeCILL"
-homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
-bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+GUI that can be used on top of rdbg when used with sasa."""
+maintainer: "erwan.jahier@univ-grenoble-alpes.fr"
+authors: "Erwan Jahier"
+license: "CeCILL-2.1"
+homepage:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
+bug-reports:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
 depends: [
   "lablgtk3"
   "sasa"
+  "dune" {>= "2.8.5"}
+  "lutils" {>= "0"}
 ]
-depexts: [
-  ["graphviz" "emacs" "gnuplot" "zathura"]
-]
-post-messages: ["The last version can be obtained via (opam repo add) http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository/ "]
+build: ["dune" "build" "-p" name "-j" jobs]
+post-messages:
+  "The last version can be obtained via (opam repo add) http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository/"
+depexts: ["graphviz" "emacs" "gnuplot" "zathura"]
+dev-repo:
+  "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
diff --git a/sasa.opam b/sasa.opam
index c98f47b2a7fcf5cf5154faf5bb2bac81536cd8b8..dec92ebef7f8aa99284cf184e7f155f54a3e2bfa 100644
--- a/sasa.opam
+++ b/sasa.opam
@@ -13,14 +13,13 @@ Basically, one needs to provide:
 authors: [ "Erwan Jahier" ]
 license: "CeCILL"
 homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
+dev-repo: "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
 bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+build: ["dune" "build" "-p" name "-j" jobs]
 depends: [
   "ocaml" { >= "4.02" }
   "ocamlfind"
-  "dune" { >= "1.11" }
+  "dune" { >= "2.0" }
   "ocamlgraph"
   "lutils"
   "rdbg" { >= "1.194" }
diff --git a/sasacore.opam b/sasacore.opam
index 3a7c649f633d05ccb81de8b424aea5a2d2e2c233..99a7e4cde0d28ca91b3a4efa87b33a73392b4200 100644
--- a/sasacore.opam
+++ b/sasacore.opam
@@ -1,20 +1,21 @@
 opam-version: "2.0"
 synopsis: "SASA core library"
+description: "The library shared by the sasa binary, and the rdbg plugin."
 maintainer: "erwan.jahier@univ-grenoble-alpes.fr"
-description: """
-The library shared by the sasa binary, and the rdbg plugin.
-"""
-authors: [ "Erwan Jahier" ]
-license: "CeCILL"
-homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
-bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+authors: "Erwan Jahier"
+license: "CeCILL-2.1"
+homepage:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
+bug-reports:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
 depends: [
   "ocaml"
   "ocamlfind"
-  "dune" { build }
+  "dune" {build}
   "ocamlgraph"
+  "lutils" {>= "1.51"}
 ]
-available: [ ocaml-version >= "4.02" ]
+available: ocaml-version >= "4.02"
+build: ["dune" "build" "-p" name "-j" jobs]
+dev-repo:
+  "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"