Repository navigation
v0.15.3
[0.15.3] — 2026-10-26
Patch release: the proxy image runs Python 3.14 and is about 600 MB
smaller, the locked dependencies are at their latest versions, and
FastAPI's own OpenTelemetry instrumentation is off in the proxy.
Upgrading the proxy image is recommended.
Security
- The proxy image is built on
python:3.14-slim(Python 3.14.9) instead
ofpython:3.11-slim(Python 3.11.16). The CPython fixes released in
October 2026 (tarfileextraction filters,zipfiledecompression
bounds,ssl/asyncioargument validation,urllib.requestcredential
scoping, among others) are in the image. - The proxy app passes
telemetry=to FastAPI with tracing, metrics, logs
and operation spans off. FastAPI 0.160 and later instrument requests
through the global OpenTelemetry providers, which the proxy sets for its
governance spans, and their logs of validation failures carry the input
values, before any redaction. FastAPI versions before 0.160 ignore the
argument. uv.lock:filelock4.2.4 (CVE-2026-112940, CVE-2026-112913,
CVE-2026-112907; reached throughpresidio-analyzer) andsetuptools
84.2.1 (GHSA-xmj3-9gf7-h52w; reached throughspacy). Both advisories
affect features Admina does not call (filelock.ReadWriteLock, legacy
wheel installation on Windows).- The default image of the execution sandbox is the current
python:3.12-slimdigest
(sha256:a0f57064cbdcd6285fa45f51237ab0b35ea8ebaed06a1f5973e89e19dfb86704,
Python 3.12.15 with the Debian updates of 2026-10-21). With the sandbox
enabled and nosandbox.imagein admina.yaml, pull the new image before
upgrading: the sandbox does not pull images, and refuses calls while the
image is missing.
Changed
- Proxy image: 1.09 GB (full) and 807 MB (slim) instead of 1.72 GB and
1.24 GB. The application and its dependencies are owned by root and
read-only for theadminauser, which owns/app/.adminaonly (the
finalchown -R /appcopied the virtual environment into one more
layer). uv and the Rust toolchain are used at build time and are not in
the images. Bytecode is compiled at build time. admina-coreis compiled in the image with the toolchain of the official
rust:1.99-slim-trixieimage instead of the rustc of the Debian
packages (1.85). The minimum supported Rust (rust-version) is 1.88,
needed bysha20.11; CI runscargo checkwith it, so a dependency
update that needs a newer rustc fails CI.uv.lockandcore-rust/Cargo.lockcarry the latest versions of all the
dependencies within the declared ranges, among them FastAPI 0.162,
Starlette 1.10, uvicorn 0.54, pydantic 2.14, redis 8.1,
clickhouse-connect 1.11, protobuf 7, spaCy 3.8.16, scikit-learn 1.9 and
numpy 2.5 (2.4 on Python 3.11).admina[anthropic]acceptsanthropic>=0.39,<3. The adapter uses
Anthropic(api_key=),messages.createand thecontent/usage
fields of the response, unchanged in 2.x; in 2.xmessages.createhas
notemperatureparameter, so atemperaturepassed to the adapter is
refused by the client.admina[proxy]acceptsnumpy>=1.24,<3(was<2). numpy 1.26 has no
wheels for Python 3.13 and 3.14, sopip install admina[proxy]there
built it from source.- FastAPI 0.160 and later depend on
opentelemetry-api, so
admina[proxy-minimal]installs it.admina doctorreports the
telemetryextra fromopentelemetry-sdk. - Python 3.14 is supported and tested in CI (classifier added to
admina
andadmina-core). The proxy image uses the interpreter of the base
image (UV_PYTHON_PREFERENCE=only-system,UV_PYTHON_DOWNLOADS=never);
.python-version(3.11, the minimum supported version) applies to the
development environment only. - The
devdependency group replacessafetywithpip-audit, and
pytest-covmay be 7.x. CI runspip-auditon every package of
uv.lockand fails on a known vulnerability;make ci-auditruns it
aftercargo audit. Removingsafetyalso removesnltkfrom the lock
(GHSA-8mgp-746c-j5xp, no fixed release). - ruff 0.17 (lock and pre-commit).
ruff formatleaves the Markdown files
alone, so the examples in the docs keep their aligned comments. - The dashboard image is on the current
nginx:alpinedigest. The mock MCP
server and mock agent images, the air-gapped guide andmake ci-linux
usepython:3.14-slim.