Highlights
Apprentice Server (Docker)
Apprentice now runs as a self-hosted server via the triplebits/apprentice Docker image and a compose file. The UI is served in the browser rather than a desktop.
The server binary accepts its admin password or a bcrypt hash from a mounted file, marks session cookies Secure, and serves unauthenticated /healthz and /readyz health check endpoints for load balancers and orchestrators.
Forwarded proxy headers (X-Forwarded-For and similar) are now ignored by default. If your server sits behind a reverse proxy, you need to opt in explicitly. This prevents a client from spoofing its address past the login rate limiter. Existing installs behind a reverse proxy must enable the option after updating.
The server image runs under a host-only profile. Agents run inside the Apprentice container with no per-agent sandboxing, no CLI providers, no local npm MCP installs, and no browser automation for now. Every surface that offered those capabilities now says so clearly instead of failing silently at run time.
The in-app update flow adapts to deployment: a container install tells you to pull and recreate the image rather than offering a binary update.
Themes
Themes are now named entries rather than a light/dark switch. A new Appearance settings group lists every theme with its full color palette and lets you activate, duplicate, edit, or delete any entry.
Seventeen built-in themes ship: Apprentice Dark and Light, Deep Ocean, Midnight Violet, Paper Light, Dracula, Nord, Tokyo Night, Catppuccin Mocha and Latte, One Dark, Gruvbox Dark, Solarized Dark and Light, Charcoal Teal, Frost Blue, Sapphire, and Crimson.
You can build a custom theme from four colors (background, surface, accent, text) with a live preview across the whole app while you edit. Open terminals and stats charts now follow the active theme instead of keeping the palette they launched with.
Fonts
Fonts are now configured per area: General, Menu, Terminal, and Code Editor each get their own font family picked from your installed system fonts, plus their own size. A live preview updates as you change settings.
Q&A and Dashboard
The Q&A builder now identifies which specific question is blocking a save rather than leaving the save button silently disabled. Choice options now require text so a set cannot ship with unlabeled answers.
The dashboard no longer reports Docker state. The Docker requirement notice has moved to the Claude Code, Codex, and Antigravity CLI provider settings, where you can act on it directly.
Fixes
- Q&A grading now caps awarded points at the question maximum, so a grading agent slip cannot produce a "2 / 1" result, and a grade addressed to a question outside the attempt is rejected rather than silently dropped
- Feedback-only Q&A attempts no longer show per-question point breakdowns, which contradicted the scoreless summary format
- Opening a different Q&A set for the same agent now loads that set correctly instead of leaving the previous one on screen
- Error, success, and status colors across Q&A, integrations, and other panels now render correctly after a fix to undefined color token references that caused borders and highlights to silently disappear