diff --git a/docs/00-introduction.ipynb b/docs/00-introduction.ipynb
index f2b89433fd910074ea3854959868809e2470de6d..87c63d8b10a6db056863d13a353636e5c23c0688 100644
--- a/docs/00-introduction.ipynb
+++ b/docs/00-introduction.ipynb
@@ -41,7 +41,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pip install -qU semantic-router==0.0.30"
+    "!pip install -qU semantic-router==0.0.31"
    ]
   },
   {
diff --git a/docs/01-save-load-from-file.ipynb b/docs/01-save-load-from-file.ipynb
index a06892f2564294dfd9f889e28d1ee5762b8b8294..c6328cdb59fe6db9015ddc74905013bd1d881b07 100644
--- a/docs/01-save-load-from-file.ipynb
+++ b/docs/01-save-load-from-file.ipynb
@@ -36,7 +36,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pip install -qU semantic-router==0.0.30"
+    "!pip install -qU semantic-router==0.0.31"
    ]
   },
   {
diff --git a/docs/02-dynamic-routes.ipynb b/docs/02-dynamic-routes.ipynb
index fcf80cfa49b4a6867540702a119305a99995f777..2243c998b75d75bbe4db0f1ce3234eed534ee716 100644
--- a/docs/02-dynamic-routes.ipynb
+++ b/docs/02-dynamic-routes.ipynb
@@ -48,7 +48,7 @@
       },
       "outputs": [],
       "source": [
-        "!pip install -qU semantic-router==0.0.30"
+        "!pip install -qU semantic-router==0.0.31"
       ]
     },
     {
diff --git a/docs/05-local-execution.ipynb b/docs/05-local-execution.ipynb
index d06f4541335e7e9c7e8a580b96cfd10592c14ac1..b47a77ef5011cfbdedd6950ea95d72e0ed330155 100644
--- a/docs/05-local-execution.ipynb
+++ b/docs/05-local-execution.ipynb
@@ -41,7 +41,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pip install -qU \"semantic-router[local]==0.0.30\""
+    "!pip install -qU \"semantic-router[local]==0.0.31\""
    ]
   },
   {
diff --git a/docs/06-threshold-optimization.ipynb b/docs/06-threshold-optimization.ipynb
index 6b8a75c0f26849c605b38a080f2beb6a36df6ed1..c3033f820c3f79c16f6d923058d6cd6f83884b22 100644
--- a/docs/06-threshold-optimization.ipynb
+++ b/docs/06-threshold-optimization.ipynb
@@ -29,7 +29,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pip install -qU \"semantic-router[local]==0.0.30\""
+    "!pip install -qU \"semantic-router[local]==0.0.31\""
    ]
   },
   {
diff --git a/docs/07-multi-modal.ipynb b/docs/07-multi-modal.ipynb
index 01187a8ec037d16b0b12f798828cdf91135c1374..3277b221ead96d7ea010fdc5f76be414923e9af3 100644
--- a/docs/07-multi-modal.ipynb
+++ b/docs/07-multi-modal.ipynb
@@ -100,7 +100,7 @@
    ],
    "source": [
     "!pip install -qU \\\n",
-    "    \"semantic-router[vision]==0.0.30\" \\\n",
+    "    \"semantic-router[vision]==0.0.31\" \\\n",
     "    datasets==2.17.0"
    ]
   },
diff --git a/docs/09-route-filter.ipynb b/docs/09-route-filter.ipynb
index d7c1a0011bb03ca4322ee4548bddc4f175978bad..4cadf97a451729367dfb64d994846c32559d8aa9 100644
--- a/docs/09-route-filter.ipynb
+++ b/docs/09-route-filter.ipynb
@@ -41,7 +41,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "!pip install -qU semantic-router==0.0.30\n"
+    "!pip install -qU semantic-router==0.0.31\n"
    ]
   },
   {
diff --git a/docs/examples/unstructured-element-splitter.ipynb b/docs/examples/unstructured-element-splitter.ipynb
index c4413c9bc037904946535af08e52d4402a0b8412..278b20a40c64733d091ef99c405c6633a62ab23f 100644
--- a/docs/examples/unstructured-element-splitter.ipynb
+++ b/docs/examples/unstructured-element-splitter.ipynb
@@ -16,7 +16,7 @@
     "# It may take longer to install the package\n",
     "!pip install -qU \\\n",
     "    \"unstructured[pdf]==0.12.4\" \\\n",
-    "    \"semantic-router==0.0.30\""
+    "    \"semantic-router==0.0.31\""
    ]
   },
   {
diff --git a/pyproject.toml b/pyproject.toml
index 78a5fcc0d08054e87bbd60f520246b4f8cb2b219..3e10df3b495072a85771602959fb440394184c3d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "semantic-router"
-version = "0.0.30"
+version = "0.0.31"
 description = "Super fast semantic router for AI decision making"
 authors = [
     "James Briggs <james@aurelio.ai>",
diff --git a/semantic_router/__init__.py b/semantic_router/__init__.py
index 731e15c7eb32da320c3572d02c672fd842f0c9ee..086c7eafd80443c61243a33c8c45b1734a63f2ab 100644
--- a/semantic_router/__init__.py
+++ b/semantic_router/__init__.py
@@ -4,4 +4,4 @@ from semantic_router.route import Route
 
 __all__ = ["RouteLayer", "HybridRouteLayer", "Route", "LayerConfig"]
 
-__version__ = "0.0.30"
+__version__ = "0.0.31"