Change8

v4.9.0

Breaking Changes
📦 localaiView on GitHub →
1 breaking15 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

  1. If using database auth or legacy API keys, ensure they are correctly configured as previously public routes now require credentials.
  2. For embedded deployments, consider adding narrow prefixes to `ApplicationConfig.PathWithoutAuth` if certain routes need to remain public.
  3. Update any bookmarks or direct links to `/app/models` and `/app/backends` as their structure has been unified.
  4. 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.

Affected Symbols