diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index 216a41ba5b..b3672f79a4 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract"
-version = "0.16.9-pre"
+version = "0.16.9"
 authors = [ "Romain Liautaud <romain.liautaud@snips.ai>", "Mathieu Poumeyrol <kali@zoy.org>"]
 license = "MIT/Apache-2.0"
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -36,14 +36,14 @@ rustls = "0.20.4"
 serde = "1.0.127"
 serde_json = "1.0.66"
 serde_derive = "1.0.127"
-tract-core = { path = "../core" }
-tract-hir = { path = "../hir" }
-tract-nnef = { path = "../nnef" }
-tract-pulse-opl = { optional = true, path = "../pulse-opl" }
-tract-pulse = { optional = true, path = "../pulse" }
-tract-kaldi = { optional = true, path = "../kaldi" }
-tract-onnx = { optional = true, path = "../onnx" }
-tract-tensorflow = { optional = true, path = "../tensorflow" }
+tract-core = "=0.16.9"
+tract-hir = "=0.16.9"
+tract-nnef = "=0.16.9"
+tract-pulse-opl = { optional = true, version = "=0.16.9" }
+tract-pulse = { optional = true, version = "=0.16.9" }
+tract-kaldi = { optional = true, version = "=0.16.9" }
+tract-onnx = { optional = true, version = "=0.16.9" }
+tract-tensorflow = { optional = true, version = "=0.16.9" }
 
 [features]
 default = ["kaldi", "onnx", "tf", "pulse", "pulse-opl"]
diff --git a/core/Cargo.toml b/core/Cargo.toml
index 3aff2d1305..cab933b624 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-core"
-version = "0.16.9-pre"
+version = "0.16.9"
 license = "MIT/Apache-2.0"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -27,8 +27,8 @@ num-integer = "0.1.44"
 num-traits = "0.2.14"
 dyn-clone = "1.0.4"
 smallvec = "1.6.1"
-tract-data = { path = "../data" }
-tract-linalg = { path = "../linalg" }
+tract-data = "=0.16.9"
+tract-linalg = "=0.16.9"
 
 [features]
 default = [ ]
diff --git a/data/Cargo.toml b/data/Cargo.toml
index a3261c66b9..5752d02e5e 100644
--- a/data/Cargo.toml
+++ b/data/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-data"
-version = "0.16.9-pre"
+version = "0.16.9"
 license = "MIT/Apache-2.0"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
diff --git a/hir/Cargo.toml b/hir/Cargo.toml
index ea19a2015c..cbd6c9dd0c 100644
--- a/hir/Cargo.toml
+++ b/hir/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-hir"
-version = "0.16.9-pre"
+version = "0.16.9"
 license = "MIT/Apache-2.0"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -17,7 +17,7 @@ maintenance = { status = "actively-developed" }
 derive-new = "0.5.9"
 educe = "0.4.18"
 log = "0.4.14"
-tract-core = { path = "../core" }
+tract-core = "=0.16.9"
 
 [dev-dependencies]
 env_logger = "0.9.0"
diff --git a/kaldi/Cargo.toml b/kaldi/Cargo.toml
index b4fdda4da0..4e8f2d544f 100644
--- a/kaldi/Cargo.toml
+++ b/kaldi/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-kaldi"
-version = "0.16.9-pre"
+version = "0.16.9"
 authors = [
     "Mathieu Poumeyrol <kali@zoy.org>",
     "Theodore Bluche <theodore.bluche@snips.ai>"
@@ -23,5 +23,5 @@ lazy_static = "1.4.0"
 log = "0.4.14"
 maplit = "1.0.2"
 nom = "7.0.0"
-tract-hir = { path = "../hir" }
-tract-pulse = { path = "../pulse" }
+tract-hir = "=0.16.9"
+tract-pulse = "=0.16.9"
diff --git a/linalg/Cargo.toml b/linalg/Cargo.toml
index 6352a0d116..eb5740c984 100644
--- a/linalg/Cargo.toml
+++ b/linalg/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-linalg"
-version = "0.16.9-pre"
+version = "0.16.9"
 license = "MIT/Apache-2.0"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -22,7 +22,7 @@ lazy_static = "1.4.0"
 libc = "0.2.100"
 log = "0.4.14"
 num-traits = "0.2.14"
-tract-data = { path = "../data" }
+tract-data = "=0.16.9"
 paste = "1.0.5"
 scan_fmt = "0.2.6"
 
diff --git a/nnef/Cargo.toml b/nnef/Cargo.toml
index 96d3ae78c1..59a34e066d 100644
--- a/nnef/Cargo.toml
+++ b/nnef/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-nnef"
-version = "0.16.9-pre"
+version = "0.16.9"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 license = "MIT/Apache-2.0"
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -19,7 +19,7 @@ log = "0.4.14"
 nom = "7.0.0"
 tar = "0.4.37"
 flate2 = { version = "1.0.20", optional = true }
-tract-core = { path = "../core" }
+tract-core = "=0.16.9"
 walkdir = "2.3.2"
 
 [features]
diff --git a/onnx-opl/Cargo.toml b/onnx-opl/Cargo.toml
index b628e532aa..e76da3327f 100644
--- a/onnx-opl/Cargo.toml
+++ b/onnx-opl/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-onnx-opl"
-version = "0.16.9-pre"
+version = "0.16.9"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 license = "MIT/Apache-2.0"
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -14,5 +14,5 @@ edition = "2018"
 maintenance = { status = "actively-developed" }
 
 [dependencies]
-tract-nnef = { path = "../nnef" }
+tract-nnef = "=0.16.9"
 educe = "0.4.18"
diff --git a/onnx/Cargo.toml b/onnx/Cargo.toml
index 8579606736..b9df508195 100644
--- a/onnx/Cargo.toml
+++ b/onnx/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-onnx"
-version = "0.16.9-pre"
+version = "0.16.9"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 license = "MIT/Apache-2.0"
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -22,9 +22,9 @@ log = "0.4.14"
 num-integer = "0.1.44"
 prost = "0.9.0"
 smallvec = "1.6.1"
-tract-hir = { path = "../hir" }
-tract-nnef = { path = "../nnef" }
-tract-onnx-opl = { path = "../onnx-opl" }
+tract-hir = "=0.16.9"
+tract-nnef = "=0.16.9"
+tract-onnx-opl = "=0.16.9"
 
 [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
 mapr = "0.8.0"
diff --git a/pulse-opl/Cargo.toml b/pulse-opl/Cargo.toml
index 165cc0f13a..893d1ae507 100644
--- a/pulse-opl/Cargo.toml
+++ b/pulse-opl/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-pulse-opl"
-version = "0.16.9-pre"
+version = "0.16.9"
 license = "MIT/Apache-2.0"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -16,4 +16,4 @@ maintenance = { status = "actively-developed" }
 [dependencies]
 downcast-rs = "1.2.0"
 lazy_static = "1.4.0"
-tract-nnef = { path = "../nnef" }
+tract-nnef = "=0.16.9"
diff --git a/pulse/Cargo.toml b/pulse/Cargo.toml
index 92c790b747..6fa19158ce 100644
--- a/pulse/Cargo.toml
+++ b/pulse/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-pulse"
-version = "0.16.9-pre"
+version = "0.16.9"
 license = "MIT/Apache-2.0"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -16,4 +16,4 @@ maintenance = { status = "actively-developed" }
 [dependencies]
 downcast-rs = "1.2.0"
 lazy_static = "1.4.0"
-tract-pulse-opl = { path = "../pulse-opl" }
+tract-pulse-opl = "=0.16.9"
diff --git a/tensorflow/Cargo.toml b/tensorflow/Cargo.toml
index 377648be28..5e7e2df54c 100644
--- a/tensorflow/Cargo.toml
+++ b/tensorflow/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "tract-tensorflow"
-version = "0.16.9-pre"
+version = "0.16.9"
 authors = ["Mathieu Poumeyrol <kali@zoy.org>"]
 license = "MIT/Apache-2.0"
 description = "Tiny, no-nonsense, self contained, TensorFlow and ONNX inference"
@@ -21,8 +21,8 @@ log = "0.4.14"
 prost = "0.9.0"
 prost-types = "0.9.0"
 tensorflow = { version = "0.17.0", optional = true }
-tract-hir = { path = "../hir" }
-tract-pulse = { path = "../pulse" }
+tract-hir = "=0.16.9"
+tract-pulse = "=0.16.9"
 
 [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
 mapr = "0.8.0"