v0.12.25
azophy/sshifuv0.12.25Aug 31, 2026by DmitriyG228
Upgrading?
AI Summary
A maintenance release that closes gaps since v0.12.23, adding participant reading, Teams passcode support, and pod sizing for quota-controlled namespaces.
Key Highlights
- Meeting participants can now be read via API
- Teams bots can join with numeric IDs and passcodes
- Spawned pods declare CPU/memory requests and limits
- MCP report_issue tool is now available
New Features
- Participants API
- Teams passcode joins
- Pod sizing
- MCP report_issue tool
- Meetings list ordering by event time
Full Release Notes
## v0.12.25
Maintenance release: everything merged since v0.12.23 (v0.12.24's lite/compose images were never published — its tag predated the release-commit convention; this release closes that gap too).
### Added
- **Meeting participants read** — `GET /meetings/{platform}/{native_meeting_id}/participants`, rows labelled `invite` / `speaker`, owner-scoped, with an honest `observed_roster: "not_recorded"` marker (#451).
- **Teams passcode joins** — numeric Teams id + `passcode` now builds the real `…/meet/<id>?p=<passcode>` URL; unknown aliases are a typed `422`; the passcode stays out of stored URLs and logs (#892).
- **Sized spawned pods** — bot and agent-worker pods declare CPU/memory requests + limits via `runtime.workloadResources`, so quota-controlled namespaces admit them (#1005).
- **MCP `report_issue`** — an agent can file a ticket from inside its session, bound to the cluster's record of the same meeting (#1272).
### Changed
- **One API home for interactive acts** — `POST …/acts` per ADR-0035; speak/chat kept as aliases; screen/avatar retire from `api.v1`; the status page stops overstating speak (#1089).
- **Meetings list ordered by event time**, active meetings pinned to the top (#1226).
### Fixed
- **Capture-fault ≠ empty room** — a bot whose audio capture breaks mid-meeting no longer ends a live meeting as `completed(left_alone)`; it logs a suspected capture fault and attempts a restart (#1192).
- **Restart mid-leave no longer strands meetings in "stopping"** (#1280).
- **Text-only STT hardening** — the transcription client tolerates JSON-only/Voxtral-style engines (#1149, #1343).
- **Terminal honors `DEFAULT_BOT_NAME` without a rebuild** (#1259).
- **Gate failures print their diagnostic** — empty stdout Buffer no longer swallows the real error at 21 call sites (#1107).
### Delivery evidence
Validated at station `t25-01225` (vexa-stations: battery, row-0 image-ID proofs, live-meeting run, five promise-exercises, full-green lite probe S0–S8). Production runs this train as channel entry `0.12.23-estate-20260829-seq11` (cosign-signed, verifier verdict ELIGIBLE).
Related Repositories
ollama/ollama★ 184,205
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frp★ 110,051
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
asheshgoplani/agent-deck★ 102,148
Terminal session manager for AI coding agents. One TUI for Claude, Gemini, OpenCode, Codex, and more.
infiniflow/ragflow★ 92,612
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
gohugoio/hugo★ 90,198
The world’s fastest framework for building websites.