v3.12.0
mudler/LocalAIv3.12.0Feb 20, 2026by mudler
AI Summary
Major release featuring multi-modal realtime conversations, new Voxtral TTS backend, multi-GPU support for Diffusers, and UI improvements with dark/light theme.
Key Highlights
- Multi-modal Realtime: Send text, images, and audio in real-time
- Voxtral Backend: New high-quality text-to-speech backend
- Multi-GPU Support: Improved Diffusers performance with multiple GPUs
- Legacy CPU Optimization: Enhanced compatibility for older processors
- UI Theme: Dark/light theme variants and navigation improvements
- Realtime Stability: Multiple fixes for audio, image, and model handling
New Features
- Multi-modal Realtime conversations
- Voxtral text-to-speech backend
- Multi-GPU support for Diffusers
- Legacy CPU optimization for stablediffusion-ggml
- UI left navbar with dark/light theme
- Experimental sd_embed-style prompt embedding support
- Thinking models support in realtime
Full Release Notes
# 🎉 LocalAI 3.12.0 Release! 🚀 <h1 align="center"> <br> <img height="300" src="https://raw.githubusercontent.com/mudler/LocalAI/refs/heads/master/core/http/static/logo.png"> <br> <br> </h1> LocalAI 3.12.0 is out! | Feature | Summary | |--------|--------| | **Multi-modal Realtime** | Send text, images, and audio in real-time conversations for richer interactions. | | **Voxtral Backend** | New high-quality text-to-speech backend added. | | **Multi-GPU Support** | Improved Diffusers performance with multiple GPUs. | | **Legacy CPU Optimization** | Enhanced compatibility for older processors. | | **UI Theme & Layout** | Improved UI theme (dark/light variants) and navigation | | **Realtime Stability** | Multiple fixes for audio, image, and model handling. | | **Logging Improvements** | Reduced excessive logs and optimized processing. | --- ## Local Stack Family Liking LocalAI? LocalAI is part of an integrated suite of AI infrastructure tools, you might also like: - **[LocalAGI](https://github.com/mudler/LocalAGI)** - AI agent orchestration platform with OpenAI Responses API compatibility and advanced agentic capabilities - **[LocalRecall](https://github.com/mudler/LocalRecall)** - MCP/REST API knowledge base system providing persistent memory and storage for AI agents - 🆕 **[Cogito](https://github.com/mudler/cogito)** - Go library for building intelligent, co-operative agentic software and LLM-powered workflows, focusing on improving results for small, open source language models that scales to any LLM. Powers LocalAGI and LocalAI MCP/Agentic capabilities - 🆕 **[Wiz](https://github.com/mudler/wiz)** - Terminal-based AI agent accessible via Ctrl+Space keybinding. Portable, local-LLM friendly shell assistant with TUI/CLI modes, tool execution with approval, MCP protocol support, and multi-shell compatibility (zsh, bash, fish) - 🆕 **[SkillServer](https://github.com/mudler/skillserver)** - Simple, centralized skills database for AI agents via MCP. Manages skills as Markdown files with MCP server integration, web UI for editing, Git synchronization, and full-text search capabilities ## ❤️ Thank You LocalAI is a true FOSS movement — built by contributors, powered by community. If you believe in privacy-first AI: - ✅ **Star** the repo - 💬 **Contribute** code, docs, or feedback - 📣 **Share** with others Your support keeps this stack alive. --- ## ✅ Full Changelog <details> <summary>📋 Click to expand full changelog</summary> ## What's Changed ### Bug fixes :bug: * security: validate URLs to prevent SSRF in content fetching endpoints by @kolega-ai-dev in https://github.com/mudler/LocalAI/pull/8476 * fix(realtime): Use user provided voice and allow pipeline models to have no backend by @richiejp in https://github.com/mudler/LocalAI/pull/8415 * fix(realtime): Sampling and websocket locking by @richiejp in https://github.com/mudler/LocalAI/pull/8521 * fix(realtime): Send proper image data to backend by @richiejp in https://github.com/mudler/LocalAI/pull/8547 * fix: prevent excessive logging in capability detection by @localai-bot in https://github.com/mudler/LocalAI/pull/8552 * fix(voxcpm): pin setuptools by @mudler in https://github.com/mudler/LocalAI/pull/8556 * fix(llama-cpp): populate tensor_buft_override buffer so llama-cpp properly performs fit calculations by @cvpcs in https://github.com/mudler/LocalAI/pull/8560 * fix: pin neutts-air to known working commit by @localai-bot in https://github.com/mudler/LocalAI/pull/8566 * fix: improve watchdown logics by @mudler in https://github.com/mudler/LocalAI/pull/8591 * fix(llama-cpp): Pass parameters when using embedded template by @richiejp in https://github.com/mudler/LocalAI/pull/8590 * fix(realtime): Better support for thinking models and setting model parameters by @richiejp in https://github.com/mudler/LocalAI/pull/8595 * fix(realtime): Limit buffer sizes to prevent DoS by @richiejp in https://github.com/mudler/LocalAI/pull/8596 * fix(ui): improve view on mobile by @mudler in https://github.com/mudler/LocalAI/pull/8598 * fix(diffusers): sd_embed is not always available by @mudler in https://github.com/mudler/LocalAI/pull/8602 * fix: do not keep track model if not existing by @mudler in https://github.com/mudler/LocalAI/pull/8603 ### Exciting New Features 🎉 * feat(stablediffusion-ggml): Improve legacy CPU support for stablediffusion-ggml backend by @cvpcs in https://github.com/mudler/LocalAI/pull/8461 * feat(voxtral): add voxtral backend by @mudler in https://github.com/mudler/LocalAI/pull/8451 * feat(diffusers): add experimental support for sd_embed-style prompt embedding by @cvpcs in https://github.com/mudler/LocalAI/pull/8504 * chore: improve log levels verbosity by @localai-bot in https://github.com/mudler/LocalAI/pull/8528 * feat(realtime): Allow sending text, image and audio conversation items" by @richiejp in https://github.com/mudler/LocalAI/pull/8524 * chore: compute capabilities once by @mudler in https://github.com/mudler/LocalAI/pull/8555 * feat(ui): left navbar, dark/light theme by @mudler in https://github.com/mudler/LocalAI/pull/8594 * fix: multi-GPU support for Diffusers (Issue #8575) by @localai-bot in https://github.com/mudler/LocalAI/pull/8605 ### 🧠 Models * chore(model gallery): Add Ministral 3 family of models (aside from base versions) by @rampa3 in https://github.com/mudler/LocalAI/pull/8467 * chore(model gallery): add voxtral (which is only available in development) by @mudler in https://github.com/mudler/LocalAI/pull/8532 * chore(model gallery): Add npc-llm-3-8b by @rampa3 in https://github.com/mudler/LocalAI/pull/8498 * chore(model gallery): add nemo-asr by @mudler in https://github.com/mudler/LocalAI/pull/8533 * chore(model gallery): add voxcpm, whisperx, moonshine-tiny by @mudler in https://github.com/mudler/LocalAI/pull/8534 * chore(model gallery): add neutts by @mudler in https://github.com/mudler/LocalAI/pull/8535 * chore(model gallery): add vllm-omni models by @mudler in https://github.com/mudler/LocalAI/pull/8536 * chore(model-gallery): :arrow_up: update checksum by @localai-bot in https://github.com/mudler/LocalAI/pull/8540 * feat(gallery): Add nanbeige4.1-3b by @richiejp in https://github.com/mudler/LocalAI/pull/8551 * chore(model-gallery): :arrow_up: update checksum by @localai-bot in https://github.com/mudler/LocalAI/pull/8593 * chore(model-gallery): :arrow_up: update checksum by @localai-bot in https://github.com/mudler/LocalAI/pull/8600 ### 👒 Dependencies * chore(deps): bump github.com/anthropics/anthropic-sdk-go from 1.20.0 to 1.22.0 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/8482 * chore(deps): bump github.com/jaypipes/ghw from 0.21.2 to 0.22.0 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/8484 * chore(deps): bump github.com/onsi/ginkgo/v2 from 2.28.0 to 2.28.1 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/8483 * chore(deps): bump github.com/alecthomas/kong from 1.13.0 to 1.14.0 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/8481 * chore(deps): bump github.com/openai/openai-go/v3 from 3.17.0 to 3.19.0 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/8485 * chore: bump cogito by @mudler in https://github.com/mudler/LocalAI/pull/8568 * fix(gallery): Use YAML v3 to avoid merging maps with incompatible keys by @richiejp in https://github.com/mudler/LocalAI/pull/8580 * chore(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.1 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/8583 * chore(deps): bump github.com/jaypipes/ghw from 0.22.0 to 0.23.0 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/8587 * chore(deps): bump github.com/modelcontextprotocol/go-sdk from 1.2.0 to 1.3.0 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/8585 * chore(deps): bump cogito and add new options to the agent config by @mudler in https://github.com/mudler/LocalAI/pull/8601 ### Other Changes * docs: :arrow_up: update docs version mudler/LocalAI by @localai-bot in https://github.com/mudler/LocalAI/pull/8462 * docs: update model gallery documentation to reference main repository by @veeceey in https://github.com/mudler/LocalAI/pull/8452 * chore: :arrow_up: Update ggml-org/whisper.cpp to `4b23ff249e7f93137cb870b28fb27818e074c255` by @localai-bot in https://github.com/mudler/LocalAI/pull/8463 * chore: :arrow_up: Update ggml-org/llama.cpp to `e06088da0fa86aa444409f38dff274904931c507` by @localai-bot in https://github.com/mudler/LocalAI/pull/8464 * chore: :arrow_up: Update antirez/voxtral.c to `c9e8773a2042d67c637fc492c8a655c485354080` by @localai-bot in https://github.com/mudler/LocalAI/pull/8477 * chore: :arrow_up: Update ggml-org/llama.cpp to `262364e31d1da43596fe84244fba44e94a0de64e` by @localai-bot in https://github.com/mudler/LocalAI/pull/8479 * chore: :arrow_up: Update ggml-org/whisper.cpp to `764482c3175d9c3bc6089c1ec84df7d1b9537d83` by @localai-bot in https://github.com/mudler/LocalAI/pull/8478 * chore: :arrow_up: Update ggml-org/llama.cpp to `57487a64c88c152ac72f3aea09bd1cc491b2f61e` by @localai-bot in https://github.com/mudler/LocalAI/pull/8499 * chore: :arrow_up: Update ggml-org/llama.cpp to `4d3daf80f8834e0eb5148efc7610513f1e263653` by @localai-bot in https://github.com/mudler/LocalAI/pull/8513 * chore: :arrow_up: Update ggml-org/llama.cpp to `338085c69e486b7155e5b03d7b5087e02c0e2528` by @localai-bot in https://github.com/mudler/LocalAI/pull/8538 * fix: update moonshine API, add setuptools to voxcpm requirements by @mudler in https://github.com/mudler/LocalAI/pull/8541 * chore: :arrow_up: Update ggml-org/llama.cpp to `05a6f0e8946914918758db767f6eb04bc1e38507` by @localai-bot in https://github.com/mudler/LocalAI/pull/8553 * chore: :arrow_up: Update ggml-org/llama.cpp to `01d8eaa28d57bfc6d06e30072085ed0ef12e06c5` by @localai-bot in https://github.com/mudler/LocalAI/pull/8567 * chore: :arrow_up: Update ggml-org/whisper.cpp to `364c77f4ca2737e3287652e0e8a8c6dce3231bba` by @localai-bot in https://github.com/mudler/LocalAI/pull/8576 * chore: :arrow_up: Update antirez/voxtral.c to `134d366c24d20c64b614a3dcc8bda2a6922d077d` by @localai-bot in https://github.com/mudler/LocalAI/pull/8578 * chore: :arrow_up: Update ggml-org/llama.cpp to `27b93cbd157fc4ad94573a1fbc226d3e18ea1bb4` by @localai-bot in https://github.com/mudler/LocalAI/pull/8577 * chore: :arrow_up: Update ggml-org/llama.cpp to `d612901116ab2066c7923372d4827032ff296bc4` by @localai-bot in https://github.com/mudler/LocalAI/pull/8588 * chore: :arrow_up: Update ggml-org/llama.cpp to `2b089c77580d347767f440205103e4da8ec33d89` by @localai-bot in https://github.com/mudler/LocalAI/pull/8592 * chore: :arrow_up: Update ggml-org/llama.cpp to `b55dcdef5dcd74dc75c4921090e928d43453c157` by @localai-bot in https://github.com/mudler/LocalAI/pull/8599 * chore: :arrow_up: Update ggml-org/whisper.cpp to `21411d81ea736ed5d9cdea4df360d3c4b60a4adb` by @localai-bot in https://github.com/mudler/LocalAI/pull/8606 * chore: :arrow_up: Update ggml-org/llama.cpp to `11c325c6e0666a30590cde390d5746a405e536b9` by @localai-bot in https://github.com/mudler/LocalAI/pull/8607 * chore(ui): improve navigation and buttons placement by @mudler in https://github.com/mudler/LocalAI/pull/8608 </details> ## New Contributors * @veeceey made their first contribution in https://github.com/mudler/LocalAI/pull/8452 * @cvpcs made their first contribution in https://github.com/mudler/LocalAI/pull/8461 * @kolega-ai-dev made their first contribution in https://github.com/mudler/LocalAI/pull/8476 **Full Changelog**: https://github.com/mudler/LocalAI/compare/v3.11.0...v3.12.0