v0.12.0-beta.1Pre-release
Added 10
- Desktop version now supports MMD models with motion import and adjustment of physics, gaze, lip sync, expressions, and materials
- Desktop version now supports Tachie archives that switch complete character images to match emotions
- VRM characters now react when you click their heads, arms, hands, or feet
- New Hearing playground lets you monitor the active speech-recognition pipeline and review each completed speech segment
- Desktop version can relay conversations to a connected Minecraft bot and read supported bot speech aloud
- Mobile version now has a permission panel and clearer onboarding
- Android microphone selection is now available on mobile
- You can enable Thinking for supported Consciousness models from one model option
- Steam sign-in and account linking are now available
- Hosted authentication now supports Apple sign-in and native Apple ID tokens
Changed 18
- Live2D imports now support CJK paths and older filename encodings
- You can now mute voice output across sessions or stop all current speech from the Controls Island
- Speech recognition now keeps transcript corrections and handles voice activity, pauses, and streaming audio more reliably
- Long conversations use less rendering work so chat remains responsive as the history grows
- Tool messages now remain available across chat turns
- Streamed messages no longer flash and tool-call progress stays synchronized
- Chat math now uses consistent syntax for predictable display
- The Controls Island now moves to the nearest window corner after you reposition the desktop window
- Connection status now lives inside the Controls Island
- Desktop pairing settings and QR codes now stay synchronized
- Mobile browsers no longer have the software keyboard hide or shift the chat input unexpectedly
- DeepSeek now applies its reasoning mode correctly
- Provider validation status now persists and each provider uses its own validation rules
- Tool use works with more providers because AIRI adapts tool schemas to each provider
- Volcengine Coding Plan now lists current models with localized descriptions
- Account deletion now revokes linked social authorizations
- Hosted model routing can fall back across configured provider groups when one route is unavailable
- AIRI now starts on Linux ARM64 and Flatpak installs include desktop and AppStream metadata
Fixed 8
- A provider settings loop could leave AIRI loading forever; the startup and synchronization path is now stable
- Desktop chat creation, switching, deletion, and import refresh now work reliably
- Chat and sign-in state now remain consistent across Electron windows
- AIRI Card drafts, active sessions, avatar Models, and runtime data now remain intact during edits and activation
- Whisper worker errors now stop promptly instead of leaving transcription stuck
- Stopping Kokoro speech no longer destroys the worker needed for the next response
- Safari no longer blocks the authentication interface while it loads code chunks
- If a Live2D model fails to render, the Stage now shows a clear error and remains usable
From AIRI
v0.12.0-beta.1 Highlights
This beta adds new character formats, stronger desktop controls, and major reliability work across chat, speech recognition, and provider settings.
New Contributors
- @ricemaster1 made their first contribution in https://github.com/moeru-ai/airi/pull/2016
- @juyua9 made their first contribution in https://github.com/moeru-ai/airi/pull/1803
- @wuyua9 made their first contribution in https://github.com/moeru-ai/airi/pull/1911
- @Anfi1 made their first contribution in https://github.com/moeru-ai/airi/pull/2072
- @ShiroKSH made their first contribution in https://github.com/moeru-ai/airi/pull/2054
- @kobihikri made their first contribution in https://github.com/moeru-ai/airi/pull/2149
- @vuyua9 made their first contribution in https://github.com/moeru-ai/airi/pull/1871
- @LauraGPT made their first contribution in https://github.com/moeru-ai/airi/pull/2207
- @MilkyWeighW made their first contribution in https://github.com/moeru-ai/airi/pull/2205
- @ztcools made their first contribution in https://github.com/moeru-ai/airi/pull/2178
- @xianjianlf2 made their first contribution in https://github.com/moeru-ai/airi/pull/2280
- @yzxcj797 made their first contribution in https://github.com/moeru-ai/airi/pull/2300
- @ppdbxdawj made their first contribution in https://github.com/moeru-ai/airi/pull/2321
Product updates
Models and Stage
- Desktop ver. now supports MMD models. You can import motions and adjust physics, gaze, lip sync, expressions, and materials.
- Desktop ver. now supports Tachie archives that switch complete character images to match emotions.
- VRM characters now react when you click their heads, arms, hands, or feet.
- Live2D imports now support CJK paths and older filename encodings.
- If a Live2D model fails to render, the Stage now shows a clear error and remains usable.
Chat, Hearing, and Speech
- You can now mute voice output across sessions or stop all current speech from the Controls Island.
- The new Hearing playground lets you monitor the active speech-recognition pipeline and review each completed speech segment.
- Speech recognition now keeps transcript corrections and handles voice activity, pauses, and streaming audio more reliably.
- Long conversations use less rendering work, so chat remains responsive as the history grows.
- Tool messages now remain available across chat turns.
- Streamed messages no longer flash, and tool-call progress stays synchronized.
- Chat math now uses consistent syntax for predictable display.
Desktop and Mobile
- The Controls Island now moves to the nearest window corner after you reposition the desktop window.
- Connection status now lives inside the Controls Island, and tray-based window moves use animations.
- Desktop pairing settings and QR codes now stay synchronized.
- Desktop ver. can relay conversations to a connected Minecraft bot and read supported bot speech aloud.
- AIRI now starts on Linux ARM64. Flatpak installs also include desktop and AppStream metadata.
- Mobile ver. now has a permission panel, clearer onboarding, and Android microphone selection.
- On mobile browsers, the software keyboard no longer hides or shifts the chat input unexpectedly.
Accounts and providers
- You can enable Thinking for supported Consciousness models from one model option.
- DeepSeek now applies its reasoning mode correctly.
- Provider validation status now persists, and each provider uses its own validation rules.
- Tool use works with more providers because AIRI adapts tool schemas to each provider.
- Volcengine Coding Plan now lists current models with localized descriptions.
- Steam sign-in and account linking are now available.
- Hosted authentication now supports Apple sign-in and native Apple ID tokens.
- Account deletion now revokes linked social authorizations.
- Hosted model routing can fall back across configured provider groups when one route is unavailable.
Important fixes
- A provider settings loop could leave AIRI loading forever. The startup and synchronization path is now stable.
- Desktop chat creation, switching, deletion, and import refresh now work reliably.
- Chat and sign-in state now remain consistent across Electron windows.
- AIRI Card drafts, active sessions, avatar Models, and runtime data now remain intact during edits and activation.
- Whisper worker errors now stop promptly instead of leaving transcription stuck.
- Stopping Kokoro speech no longer destroys the worker needed for the next response.
- Safari no longer blocks the authentication interface while it loads code chunks.
To developers
- The CCv3 codec now accepts older and newer cards while preserving unknown fields for forward compatibility.
- Hosted chat WebSockets now expose versioned Eventa contracts. Version 2 authenticates after connection and enforces payload limits.
- The desktop plugin SDK now preserves nullable enum schemas correctly.
- MMD and Tachie renderer packages expose reusable scene components and runtime controls.
- Hosted configuration values can reload from PostgreSQL without a service restart.
To contributors
- Audio tests can now drive the full input and output pipeline with deterministic microphone fixtures.
- Vitest browser projects now run headlessly in CI.
- Vishot now lives in its public repository. AIRI also has updated capture and pull-request skills.
- Polaroid captures now include imported Live2D models.
- The new i18n glossary and Crowdin workflow keep product terms consistent across translations.
- Release workflows now support Steam desktop deployment, image provenance, SBOM attestations, and automated README artifact updates.
- The documentation site now includes Korean content and smoother search, theme, and page transitions.
Upgrade notes
- Run the Resource API and Auth as separate services.
- Set
AUTH_SERVER_URL,AUTH_SERVER_INTERNAL_URL,PUBLIC_URL, andRESOURCE_SERVER_URLfor the new service boundary. - On Railway, set
RATE_LIMIT_TRUSTED_PROXY=railwayonly for services that receive Railway proxy traffic. - Do not run shared database migrations from Auth. The Resource API remains the only migration owner.
- Before you build or run Godot tests, install the .NET 10 SDK.
Full Changelog: https://github.com/moeru-ai/airi/compare/v0.11.3...v0.12.0-beta.1