🚀 New Features
- External Model Registration: Register model containers that aren't in the catalog, and make eligible ones available to the Apps marketplace
🐛 Bug Fixes
- Fixed valid deployment records being falsely marked as stopped, along with a batch of Voice Agent and deploy-progress issues found in prod mode:
- Voice Agent models now deploy sequentially instead of colliding on a
deploy_in_flight409, and the page shows download progress - Prod mode runs a single uvicorn worker — four workers were splitting in-memory deploy state, so progress polls hit the wrong process and healthy deploys reported
not_found; the deployment store also gained a per-process tmp file andfsyncso concurrent writes can't corruptdeployments.json - Benign
HF_TOKENlog lines (including✅ HF_TOKEN is valid.) are no longer classified as authentication failures - Weightless models (Whisper, SpeechT5) use the full progress bar during image pull instead of sitting at 25%
- The Voice Agent no longer records forever when VAD misses speech onset, and
.mjsis served with a JavaScript MIME type so the VAD runtime loads in prod - Added
check_hf_reposfor per-repository Hugging Face access checks, so gated models are handled before deployment
- Voice Agent models now deploy sequentially instead of colliding on a
- Fixed deploy secrets being lost when deploys run concurrently
- Fixed Docker Control supervisors accumulating and fighting over port 8002
- Fixed the wakeword WebSocket not being proxied in nginx prod, which broke voice activation in production
- Ungated models now deploy without a Hugging Face token saved
- The footer shows all device IDs for multi-chip models instead of just the first
🤖 Model Support
- Catalog Cleanup: Removed Z-Image-Turbo
🔧 Technical Improvements
- Refreshed
CODEOWNERSfor the current repo layout and review lanes - Granted write permissions to the community labeling workflow
- Added
qbge-devex-01andqbge-devex-02as selectable runner labels in the deploy healthcheck workflow
Full changelog → #1287