v4.9.0
Breaking Changes📦 localaiView on GitHub →
⚠ 1 breaking✨ 15 features🐛 2 fixes🔧 17 symbols
Summary
LocalAI 4.9.0 introduces significant improvements in authentication, chat context compression, and UI organization. It also expands model support with MiniMax-H3 video generation and Qwen3-TTS on llama.cpp, alongside performance enhancements for downloads and backend operations.
⚠️ Breaking Changes
- Authentication is now deny-by-default. Every HTTP route requires credentials unless it is explicitly listed in a public registry. This may break access to previously public routes like `/moderations`, `/models`, `/backends`, and `/mcp/chat/completions` if they are not explicitly whitelisted. To fix this, ensure that your authentication method (e.g., database auth, legacy API keys) is correctly configured, or add necessary prefixes to `ApplicationConfig.PathWithoutAuth` for embedded deployments. Generated audio, image, video, and 3D URLs now also require credentials by default.
Migration Steps
- If using database auth or legacy API keys, ensure they are correctly configured as previously public routes now require credentials.
- For embedded deployments, consider adding narrow prefixes to `ApplicationConfig.PathWithoutAuth` if certain routes need to remain public.
- Update any bookmarks or direct links to `/app/models` and `/app/backends` as their structure has been unified.
- Old `/app/manage` bookmarks will redirect, but it's recommended to update them to the new unified UI structure.
✨ New Features
- Authentication is now deny-by-default, requiring credentials for most HTTP routes unless explicitly listed in a public registry.
- Chat context compression is now available as an opt-in feature per model, compressing older turns to preserve context.
- Models and backends now have a single canonical page in the UI, consolidating previous separate pages.
- vllm-cpp now supports MiniMax-H3 video generation with joint video and audio rendering, including an AAC track.
- Qwen3-TTS is now supported on the llama.cpp backend across multiple accelerators (CUDA, ROCm, SYCL, Vulkan, Metal, L4T).
- KNN is introduced as a first-class router for similarity-weighted voting over a persisted corpus of labelled prompts.
- Global admission control and live backend traces are implemented, providing process-wide HTTP admission bounds and visibility into in-flight backend operations.
- Reversible PII pseudonyms are implemented, masking values with request-scoped deterministic pseudonyms that can be restored.
- Parallel Hugging Face downloads are now supported, allowing multiple whole-file transfers concurrently to speed up repository materialization.
- Cold model loads are now durable jobs, preventing advisory locks from spanning multi-GB transfers.
- vllm-cpp now supports a wider range of CUDA architectures on amd64 and arm64.
- Realtime now uses a single shared WebRTC UDP port.
- Metal is now enabled in macOS Stable Diffusion and Parakeet builds.
- Backend crash diagnostics are available at the default log level.
- Portuguese (Brazil) and Indonesian UI translations have been added.
🐛 Bug Fixes
- Fixed a class bug where a primary button without a `className` would fall back to browser chrome.
- Fixed a bug where `class="btn btn-primary fas fa-save fa-upload"` would set Font Awesome as the button's font and cause icon conflicts.