v1.10.0
1.10.0 (2026-05-31)
Features
This release rebases the image on Debian 13 "trixie" and pre-installs the Chromium runtime libraries the bundled dev-browser plugin needs, so headless-browser automation works out of the box on both linux/amd64 and linux/arm64.
- Base image:
node:24-slim(Debian 12 "bookworm") →node:24-trixie-slim(Debian 13) — glibc 2.36 → 2.41, Python 3.11 → 3.13. - Chromium runtime libraries baked in (Playwright's canonical Debian-13 set:
libglib2.0-0t64,libnss3,libgbm1,libasound2t64,libatk-bridge2.0-0t64, …).dev-browserauto-installs on startup and now launches headless Chromium without an in-containerapt-get— which hardened deployments block by droppingCAP_SETGID. - Removes the fragile musl-binary workaround that older bookworm images needed for
dev-browser; glibc 2.41 satisfies the upstreamdev-browser-linux-{x64,arm64}binaries directly. - Image size: ~1.32 GB → ~1.63 GB uncompressed (the Chromium libraries are the bulk).
⚠️ Upgrade note — one-time Python migration
trixie ships Python 3.13; the previous base shipped 3.11. Any pip-installed packages saved in your volume under python-user/lib/python3.11/ become invisible to the new interpreter (the files stay on disk — they are just off Python 3.13's search path). On first start the container's healthcheck prints a warning pointing here; restore them with:
docker compose exec claudeclaw /migrate-python.shYour config, data, and npm / pnpm / uv tooling are unaffected (those are keyed differently). Nothing else changes — same entrypoint, ports, and /root/.claude volume.
✅ Verified before release
Built and smoke-tested locally on linux/arm64 (amd64 is covered by the Trivy CI build): clean image build, ldd → GLIBC 2.41, python3 → 3.13.5, all Chromium runtime libraries linker-resolvable, the dev-browser binary loads with no GLIBC_2.39 not found, and headless Playwright Chromium (Chrome Headless Shell 148) launches and renders a page with no libglib-2.0.so.0: cannot open shared object error.