From d3587b1d8eb98b43faf48da837bf1e76bcf94993 Mon Sep 17 00:00:00 2001 From: yuneng-jiang Date: Sat, 14 Mar 2026 19:54:54 -0700 Subject: [PATCH] fix: bump PyJWT to 2.12.0 in all Dockerfiles and tar to 7.5.11 All Dockerfiles were pinning PyJWT 2.9.0 (Dockerfile, Dockerfile.database, Dockerfile.dev) or had a stale wheel build for 2.9.0 (Dockerfile.non_root). Updated to 2.12.0 to match pyproject.toml. Also bumps tar to 7.5.11 in Dockerfile.non_root for security. Co-Authored-By: Claude Opus 4.6 --- Dockerfile | 2 +- docker/Dockerfile.database | 2 +- docker/Dockerfile.dev | 2 +- docker/Dockerfile.non_root | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4c6f22a95b..7bda32acf2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,7 +39,7 @@ RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt # ensure pyjwt is used, not jwt RUN pip uninstall jwt -y RUN pip uninstall PyJWT -y -RUN pip install PyJWT==2.9.0 --no-cache-dir +RUN pip install PyJWT==2.12.0 --no-cache-dir # Runtime stage FROM $LITELLM_RUNTIME_IMAGE AS runtime diff --git a/docker/Dockerfile.database b/docker/Dockerfile.database index b69dc049ce..3e1c55a75a 100644 --- a/docker/Dockerfile.database +++ b/docker/Dockerfile.database @@ -112,7 +112,7 @@ RUN sed -i 's/\r$//' docker/install_auto_router.sh && chmod +x docker/install_au # ensure pyjwt is used, not jwt RUN pip uninstall jwt -y RUN pip uninstall PyJWT -y -RUN pip install PyJWT==2.9.0 --no-cache-dir +RUN pip install PyJWT==2.12.0 --no-cache-dir # Build Admin UI (runtime stage) # Convert Windows line endings to Unix and make executable diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 17fb3733b1..e3e7ac0e0d 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -31,7 +31,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ # Fix JWT dependency conflicts early RUN pip uninstall jwt -y || true && \ pip uninstall PyJWT -y || true && \ - pip install PyJWT==2.9.0 --no-cache-dir + pip install PyJWT==2.12.0 --no-cache-dir # Copy only necessary files for build COPY pyproject.toml README.md schema.prisma poetry.lock ./ diff --git a/docker/Dockerfile.non_root b/docker/Dockerfile.non_root index c9684eb8bd..db3981fb7e 100644 --- a/docker/Dockerfile.non_root +++ b/docker/Dockerfile.non_root @@ -32,7 +32,7 @@ RUN for i in 1 2 3; do \ # Cache Python dependencies COPY requirements.txt . RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt \ - && pip wheel --no-cache-dir --wheel-dir=/wheels/ "semantic_router==0.1.11" "aurelio-sdk==0.0.19" "PyJWT==2.9.0" + && pip wheel --no-cache-dir --wheel-dir=/wheels/ "semantic_router==0.1.11" "aurelio-sdk==0.0.19" "PyJWT==2.12.0" # Copy source after dependency layers COPY . . @@ -106,7 +106,7 @@ RUN for i in 1 2 3; do \ apk add --no-cache python3 py3-pip bash openssl tzdata nodejs npm supervisor && break || sleep 5; \ done \ && apk upgrade --no-cache nodejs \ - && npm install -g npm@latest tar@7.5.10 glob@11.1.0 @isaacs/brace-expansion@5.0.1 minimatch@10.2.4 diff@8.0.3 \ + && npm install -g npm@latest tar@7.5.11 glob@11.1.0 @isaacs/brace-expansion@5.0.1 minimatch@10.2.4 diff@8.0.3 \ && GLOBAL="$(npm root -g)" \ && find "$GLOBAL/npm" -type d -name "tar" -path "*/node_modules/tar" | while read d; do \ rm -rf "$d" && cp -rL "$GLOBAL/tar" "$d"; \