MIRA v0.331.0 — public beta
Pre-release
Pre-release
MIRA v0.331.0 — public beta. A security- and reliability-hardening release rolling up v0.322.0 → v0.331.0. No breaking changes; safe to upgrade in place. A few new settings are opt-in and default off.
Self-hostable single binary, AGPL-3.0-or-later, signed with the vexillon.ai release key.
Install
# Linux / macOS
curl -fsSL https://get.vexillon.ai/install.sh | sh
# Windows (PowerShell)
irm https://get.vexillon.ai/install.ps1 | iex
Configuration & schema
- Every config key is now either implemented or removed — the settings surface was audited "declared vs wired." Old configs still load: removed keys are dropped by an upgrade-safe migration.
- Removed (no-ops):
server.webhook_secret,server.allowed_origins,server.max_connections,calendar.caldav.*,channels.telegram.webhook_url,channels.signal.socket_path,memory.vector_backend,memory.qdrant_url,memory.per_user_isolation,memory.share_across_channels. - Now honored (were inert):
video.openai.default_size/default_seconds,session.max_turns,calendar.{google,outlook}.scopes,tui.show_timestamps/show_token_count; plus an in-memory vector cache.
- Removed (no-ops):
- The bundled settings reference is generated from the schema, so docs and config can't drift.
Text-to-speech & logging
tts.streamingnow actually gates streaming vs. full-buffer chat TTS (the toggle was previously inert).- Size-based log rotation —
logging.max_file_size_mb/logging.max_filesare honored, and the live log stream follows the rotated file.
Privacy & safety
- "Off the record" is now recorded to the tamper-evident audit log (as a consent-skip) and an off-the-record turn no longer stores a companion engagement label — while genuine distress still escalates.
- Care-net escalations deliver over the contact's real messaging channel (Signal / Telegram / email / …), with the web thread kept as a durable record. The "no one was alerted" alarm fires only if both paths fail.
Guardian
- New opt-in, staged on-ramp for autonomous action when the Guardian can't reach you: a per-action allowlist (
guardian.isolation_autonomy_kinds, default["rerun_audit"]), a Settings → Guardian → "Autonomous action" section with an explicit confirm, and a hard code ceiling that config cannot widen. Observe-only (off) by default.
Verify (optional)
Every archive is signed with the vexillon.ai minisign key committed at verification/release-pubkey.minisign:
minisign -Vm mira-0.331.0-<target>.tar.gz -p verification/release-pubkey.minisign