diff --git a/.github/workflows/e2e_plano_tests.yml b/.github/workflows/e2e_plano_tests.yml
index 9c2acbf2..f1ca76fc 100644
--- a/.github/workflows/e2e_plano_tests.yml
+++ b/.github/workflows/e2e_plano_tests.yml
@@ -30,7 +30,7 @@ jobs:
- name: build arch docker image
run: |
- cd ../../ && docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.5 -t katanemo/plano:latest
+ cd ../../ && docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.6 -t katanemo/plano:latest
- name: start plano
env:
diff --git a/.github/workflows/e2e_test_currency_convert.yml b/.github/workflows/e2e_test_currency_convert.yml
index a80fd5a1..0b8dd43c 100644
--- a/.github/workflows/e2e_test_currency_convert.yml
+++ b/.github/workflows/e2e_test_currency_convert.yml
@@ -24,7 +24,7 @@ jobs:
- name: build plano docker image
run: |
- docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.5
+ docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.6
- name: install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
diff --git a/.github/workflows/e2e_test_preference_based_routing.yml b/.github/workflows/e2e_test_preference_based_routing.yml
index 6f196b27..9bb7f206 100644
--- a/.github/workflows/e2e_test_preference_based_routing.yml
+++ b/.github/workflows/e2e_test_preference_based_routing.yml
@@ -24,7 +24,7 @@ jobs:
- name: build arch docker image
run: |
- docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.5
+ docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.6
- name: install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
diff --git a/.github/workflows/validate_arch_config.yml b/.github/workflows/validate_arch_config.yml
index b3eaccf6..2b8230e1 100644
--- a/.github/workflows/validate_arch_config.yml
+++ b/.github/workflows/validate_arch_config.yml
@@ -24,7 +24,7 @@ jobs:
- name: build arch docker image
run: |
- docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.5
+ docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.6
- name: validate arch config
run: |
diff --git a/apps/www/src/components/Hero.tsx b/apps/www/src/components/Hero.tsx
index aec1a13b..2fc99651 100644
--- a/apps/www/src/components/Hero.tsx
+++ b/apps/www/src/components/Hero.tsx
@@ -24,7 +24,7 @@ export function Hero() {
>
- v0.4.5
+ v0.4.6
—
diff --git a/build_filter_image.sh b/build_filter_image.sh
index b5d5b582..9c76be60 100644
--- a/build_filter_image.sh
+++ b/build_filter_image.sh
@@ -1 +1 @@
-docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.5
+docker build -f Dockerfile . -t katanemo/plano -t katanemo/plano:0.4.6
diff --git a/cli/planoai/__init__.py b/cli/planoai/__init__.py
index 28eb0c9d..a3b304e1 100644
--- a/cli/planoai/__init__.py
+++ b/cli/planoai/__init__.py
@@ -1,3 +1,3 @@
"""Plano CLI - Intelligent Prompt Gateway."""
-__version__ = "0.4.5"
+__version__ = "0.4.6"
diff --git a/cli/planoai/consts.py b/cli/planoai/consts.py
index 83582704..a2538e73 100644
--- a/cli/planoai/consts.py
+++ b/cli/planoai/consts.py
@@ -5,5 +5,5 @@ PLANO_COLOR = "#969FF4"
SERVICE_NAME_ARCHGW = "plano"
PLANO_DOCKER_NAME = "plano"
-PLANO_DOCKER_IMAGE = os.getenv("PLANO_DOCKER_IMAGE", "katanemo/plano:0.4.5")
+PLANO_DOCKER_IMAGE = os.getenv("PLANO_DOCKER_IMAGE", "katanemo/plano:0.4.6")
DEFAULT_OTEL_TRACING_GRPC_ENDPOINT = "http://host.docker.internal:4317"
diff --git a/cli/pyproject.toml b/cli/pyproject.toml
index 744e305b..85e35713 100644
--- a/cli/pyproject.toml
+++ b/cli/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "planoai"
-version = "0.4.5"
+version = "0.4.6"
description = "Python-based CLI tool to manage Plano."
authors = [{name = "Katanemo Labs, Inc."}]
readme = "README.md"
diff --git a/config/validate_plano_config.sh b/config/validate_plano_config.sh
index fae236bf..daefe08e 100644
--- a/config/validate_plano_config.sh
+++ b/config/validate_plano_config.sh
@@ -5,7 +5,7 @@ failed_files=()
for file in $(find . -name config.yaml -o -name arch_config_full_reference.yaml); do
echo "Validating ${file}..."
touch $(pwd)/${file}_rendered
- if ! docker run --rm -v "$(pwd)/${file}:/app/arch_config.yaml:ro" -v "$(pwd)/${file}_rendered:/app/arch_config_rendered.yaml:rw" --entrypoint /bin/sh katanemo/plano:0.4.5 -c "python -m planoai.config_generator" 2>&1 > /dev/null ; then
+ if ! docker run --rm -v "$(pwd)/${file}:/app/arch_config.yaml:ro" -v "$(pwd)/${file}_rendered:/app/arch_config_rendered.yaml:rw" --entrypoint /bin/sh katanemo/plano:0.4.6 -c "python -m planoai.config_generator" 2>&1 > /dev/null ; then
echo "Validation failed for $file"
failed_files+=("$file")
fi
diff --git a/demos/use_cases/preference_based_routing/README.md b/demos/use_cases/preference_based_routing/README.md
index 8f78542b..561d87a2 100644
--- a/demos/use_cases/preference_based_routing/README.md
+++ b/demos/use_cases/preference_based_routing/README.md
@@ -15,9 +15,9 @@ Make sure your machine is up to date with [latest version of plano]([url](https:
```bash
(venv) $ planoai up --service plano --foreground
# Or if installed with uv: uvx planoai up --service plano --foreground
-2025-05-30 18:00:09,953 - planoai.main - INFO - Starting plano cli version: 0.4.5
+2025-05-30 18:00:09,953 - planoai.main - INFO - Starting plano cli version: 0.4.6
2025-05-30 18:00:09,953 - planoai.main - INFO - Validating /Users/adilhafeez/src/intelligent-prompt-gateway/demos/use_cases/preference_based_routing/config.yaml
-2025-05-30 18:00:10,422 - cli.core - INFO - Starting arch gateway, image name: plano, tag: katanemo/plano:0.4.5
+2025-05-30 18:00:10,422 - cli.core - INFO - Starting arch gateway, image name: plano, tag: katanemo/plano:0.4.6
2025-05-30 18:00:10,662 - cli.core - INFO - plano status: running, health status: starting
2025-05-30 18:00:11,712 - cli.core - INFO - plano status: running, health status: starting
2025-05-30 18:00:12,761 - cli.core - INFO - plano is running and is healthy!
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 51f3819d..f4d88f19 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -17,7 +17,7 @@ from sphinxawesome_theme.postprocess import Icons
project = "Plano Docs"
copyright = "2025, Katanemo Labs, Inc"
author = "Katanemo Labs, Inc"
-release = " v0.4.5"
+release = " v0.4.6"
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
diff --git a/docs/source/get_started/quickstart.rst b/docs/source/get_started/quickstart.rst
index ae756a61..7bccc1a9 100644
--- a/docs/source/get_started/quickstart.rst
+++ b/docs/source/get_started/quickstart.rst
@@ -37,7 +37,7 @@ Plano's CLI allows you to manage and interact with the Plano efficiently. To ins
.. code-block:: console
- $ uv tool install planoai==0.4.5
+ $ uv tool install planoai==0.4.6
**Option 2: Install with pip (Traditional)**
@@ -45,7 +45,7 @@ Plano's CLI allows you to manage and interact with the Plano efficiently. To ins
$ python -m venv venv
$ source venv/bin/activate # On Windows, use: venv\Scripts\activate
- $ pip install planoai==0.4.5
+ $ pip install planoai==0.4.6
.. _llm_routing_quickstart:
@@ -90,7 +90,7 @@ Start Plano:
$ planoai up plano_config.yaml
# Or if installed with uv tool: uvx planoai up plano_config.yaml
- 2024-12-05 11:24:51,288 - planoai.main - INFO - Starting plano cli version: 0.4.5
+ 2024-12-05 11:24:51,288 - planoai.main - INFO - Starting plano cli version: 0.4.6
2024-12-05 11:24:51,825 - planoai.utils - INFO - Schema validation successful!
2024-12-05 11:24:51,825 - planoai.main - INFO - Starting plano
...
diff --git a/docs/source/resources/deployment.rst b/docs/source/resources/deployment.rst
index 686f4943..1848c149 100644
--- a/docs/source/resources/deployment.rst
+++ b/docs/source/resources/deployment.rst
@@ -25,7 +25,7 @@ Create a ``docker-compose.yml`` file with the following configuration:
# docker-compose.yml
services:
plano:
- image: katanemo/plano:0.4.5
+ image: katanemo/plano:0.4.6
container_name: plano
ports:
- "10000:10000" # ingress (client -> plano)