Generators
- Generator STT (GGML) — Buttress applies GPU / flash-attention / thread settings correctly at load time.
- Generator LLM (MLX) — Buttress forwards tokenizer and model config overrides when provided.
WebSocket RPC
- Binary payload serialization —
ArrayBufferpayloads (e.g. from RealtimeTranscriber) and binary auth tokens are now serialized and deserialized as properUint8Array/Buffervalues, fixing previousInvalid paramserrors ontranscribeDataand other binary-payload calls. - Proper error instances — JSON-RPC error responses arrive at callers as
Errorinstances with the server’scode/message, fixing previousTranscription error: [object Object]notifications.
CLI
buttress-server --versionreports the packaged version of the standalone CLI.
Generators
- Generator LLM (GGML) — bumped
llama.cppruntime to b9254 and exposed MTP (multi-token prediction) speculative decoding parameters.
Sessions
- WebSocket session resume — sessions survive reconnects through proxies / tunnels. A server-issued session id is exchanged on the WS handshake and restored on subsequent connects, replacing the previous IP-based scheme.
File uploads
- Per-session scope — uploads and downloads are now scoped to the active session id (
X-Buttress-Sess-Idheader required). Uploaded files land under a per-session subdirectory and are wiped when the session times out.
Authentication
- Workspace-scoped JWT auth — each Buttress server is bound to a workspace via
bricks buttress bindand verifies issued tokens with EdDSA./buttress/rpc,/oai-compat,/anthropic-messages, and upload / download endpoints now require authentication. See workspace binding.
Discovery
- LAN auto-discovery — Launcher selects from a multi-server pool (90s TTL, ranked by hardware caps) and only trusts servers in the workspace’s bound list. See autodiscovery.
- Signed UDP ANNOUNCE — per-server Ed25519 signatures protect LAN discovery from spoofing.
PROTOCOL_VERSIONbumps to 2.0 — re-runbricks buttress bindand restart the server after upgrading.
Compat endpoints
- New TOML config flags
[openai_compat] enabledand[anthropic_messages] enabledto enable the experimental compat endpoints. See configuration.