diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 362d353e..aaff4d48 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -7,6 +7,7 @@ name: docker CI
 on:
   push:
     branches: [ master ]
+    tags: [ "v*.*.*" ]
   pull_request:
     branches: [ master ]
 
@@ -62,3 +63,60 @@ jobs:
           ./coq.hb reset `find . -name \*.v`
           mv _CoqProject.test-suite.bak _CoqProject.test-suite
           git diff --exit-code
+
+  release:
+    runs-on: ubuntu-latest
+    if: startsWith(github.ref, 'refs/tags/')
+    needs: [opam]
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+      - name: Inject slug/short variables
+        uses: rlespinasse/github-slug-action@v4
+
+      - name: Create archive
+        run: |
+          VERSION="${GITHUB_REF_NAME_SLUG#v}"
+          git archive -o hierarchy-builder-$VERSION.tar.gz --prefix=hierarchy-builder-$VERSION/ $GITHUB_SHA .
+
+      - name: Release
+        uses: softprops/action-gh-release@v1
+        with:
+          files: hierarchy-builder-*.tar.gz
+          fail_on_unmatched_files: true
+          prerelease: true
+          generate_release_notes: true
+          name: Hierarchy Builder ${{ github.ref }}
+
+      - name: Use OCaml 4.14.x
+        uses: avsm/setup-ocaml@v2
+        with:
+          ocaml-compiler: 4.14.x
+          opam-local-packages: |
+            !coq-hierarchy-builder*.opam
+
+      - name: Write PAT
+        env:
+          OPAM_PUBLISH_TOKEN: ${{ secrets.OPAM_PUBLISH_TOKEN }}
+        run: |
+          mkdir -p ~/.opam/plugins/opam-publish
+          printf "$OPAM_PUBLISH_TOKEN" > ~/.opam/plugins/opam-publish/coqelpibot.token
+          
+      - name: Setup SSH
+        uses: webfactory/ssh-agent@v0.8.0
+        with:
+          ssh-private-key: ${{ secrets.BOT_SSH_KEY }}
+          
+      - name: Install opam-publish # 2.0.3 because more recent versions do not respect OPAMYES
+        run: opam install -y -j 2 opam-publish=2.0.3
+
+      - name: Publish
+        run: |
+          eval $(opam env)
+          git config --global user.name coqelpibot
+          git config --global user.email coqelpibot@inria.fr
+          OPAM_SUITE=released
+          TAG=`git tag --sort=-v:refname|head -1`
+          opam-publish --tag=$TAG --packages-directory=$OPAM_SUITE/packages --repo=coq/opam --no-browser -v ${TAG##v}	https://github.com/math-comp/hierarchy-builder/releases/download/$TAG/hierarchy-builder-${TAG##v}.tar.gz
+
diff --git a/Changelog.md b/Changelog.md
index 87e09e71..b4dc0c63 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,6 +1,18 @@
 # Changelog
 
-## UNRELEASED
+## [1.6.0] - 2023-09-20
+
+Compatible with
+- Coq 8.16 with Coq-Elpi 1.15.x and 1.16.x
+- Coq 8.17 with Coq-Elpi 1.17.x and 1.18.x
+- Coq 8.18 with Coq-Elpi 1.19.x
+This version is required if Elpi is >= 1.17.0
+
+### General
+
+- **Speedup** speedup in coercion compression
+- **Speedup** accumulate clauses in batches (on Coq-Elpi >= 8.18.0)
+- **Change** remove generation of eta expanded instances (was unused)
 
 ## [1.5.0] - 2023-08-04
 
diff --git a/coq-hierarchy-builder.opam b/coq-hierarchy-builder.opam
index f8f6f85e..501bd205 100644
--- a/coq-hierarchy-builder.opam
+++ b/coq-hierarchy-builder.opam
@@ -12,7 +12,7 @@ build: [ [ make "build"]
          [ make "test-suite" ] {with-test}
        ]
 install: [ make "install" ]
-depends: [ "coq-elpi" { (>= "1.15" & < "1.20~") | = "dev" } ]
+depends: [ "coq-elpi" { (>= "1.16" & < "1.20~") | = "dev" } ]
 conflicts: [ "coq-hierarchy-builder-shim" ]
 synopsis: "High level commands to declare and evolve a hierarchy based on packed classes"
 description: """