# LocalAI v4.7.0 — Release & Upgrade Intelligence
- **Product:** LocalAI (https://localai.io)
- **Version:** v4.7.0
- **Released:** Jul 14, 2026
- **Impact Score:** 7/10
- **Breaking Changes:** Source flagged
- **Canonical Analysis:** https://changelogs.us/localai/updates/v4.7.0/

## Executive Summary (TL;DR)
LocalAI v4.7.0. Source highlight: 🎉 LocalAI 4.7.0 Release! 🚀

## Breaking Changes & Deprecations
- - `fix(ui)`: prevent a large data table from breaking the flexbox layout and forcing a page-wide horizontal scrollbar - #10754

## New Features
- Introduces declarative capability metadata: new `known_input_modalities` / `known_output_modalities` config fields so generic code discovers what a checkpoint accepts instead of branching on backend or checkpoint names. The HF importer emits matching self-describing recipe metadata.
- The `/video` endpoint gains staged audio and video-generation parameters, with distributed audio staging (input bounded to 128 MiB). Avatar mode supports multi-segment generation, BF16 or optional INT8 quantization, and distillation settings, documented in a new `features/longcat-video.md` page.
- Verified live: `lfm2.5-8b-a1b` and `gemma-4-e2b` return `reasoning` plus structured `tool_calls` in a single turn. A new `features/interleaved-thinking.md` doc is cross-linked from the model-configuration, text-generation, and functions guides.
- **Inference defaults** (#10741): adds recommended sampling defaults for `deepseek-v4` (auto-generated from unsloth), so LocalAI applies correct generation parameters for the family automatically.
- Plus new gallery models added via the gallery agent (#10743, #10755).

## Bug Fixes
- **llama.cpp device selection** (#10724): a new `device` / `devices` option in the llama.cpp `options:` array maps to upstream `--device`, so you can restrict offload to specific GPUs (for example excluding a display or debug GPU). Example: `options: [devices:CUDA1,CUDA2,CUDA3]`. Device names come from `llama-server --list-devices`.
- `fix(auth)`: accept EC/PS/EdDSA-signed OIDC ID tokens, not just RS256 (OIDC login was 500ing at callback with EC-signed tokens, e.g. Authentik) - #10736
- `fix(transcription)`: honor model-config `parameters.language`/`parameters.translate` and the OpenAI `language` form field, which were silently ignored for multipart uploads - #10731
- `fix(backends)`: `opus` and `local-store` now refuse foreign model loads, so an LLM with no explicit backend cannot silently bind to the audio codec or vector store during backend probing - #10769
- `fix(gallery)`: backend (re)install is now a clean atomic replace (stage, validate, swap, rollback) instead of an overlay, so stale files from a prior version no longer shadow the new one - #10726
- `fix(vram)`: report the largest single GGUF quant instead of summing every quant in an HF repo, so a 9B model no longer shows as 71 GB / "May not fit" - #10707
