# LocalAI changelog > LocalAI release notes. - Vendor: LocalAI - Category: AI - Official site: https://localai.io/ - Tracked by: What's New (https://whatsnew.fyi/product/localai) - Harvested from: GitHub (mudler/LocalAI) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### v4.7.1 - Date: 2026-07-14 - Version: v4.7.1 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.7.1 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.7.1 - **fixed** — Only inject llama.cpp serving options on the llama.cpp path ##### What's Changed ###### Other Changes * fix(config): only inject llama.cpp serving options on the llama.cpp path by @localai-bot in https://github.com/mudler/LocalAI/pull/10822 **Full Changelog**: https://github.com/mudler/LocalAI/compare/v4.7.0...v4.7.1 ### v4.7.0 - Date: 2026-07-14 - Version: v4.7.0 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.7.0 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.7.0 - **added** — Managed voice cloning profiles with UI recording/uploading, saving reusable profiles, and referencing via localai://voice-profiles/ URI - **added** — REST endpoints for voice profile management: GET/POST /api/voice-profiles, GET /api/voice-profiles/:id/audio, DELETE /api/voice-profiles/:id - **added** — MCP admin tools for voice profiles: list_voice_profiles, create_voice_profile, delete_voice_profile - **added** — LongCat video backend for text-to-video, image-to-video, and audio-driven talking-avatar generation - **added** — Support for interleaved reasoning and tool calls in assistant turns with reasoning_content alias and Anthropic thinking block support - **added** — moss-transcribe-cpp backend for one-pass diarized transcription with multi-speaker detection and timestamps - **added** — Real streaming TTS support in vibevoice-cpp with true incremental audio streaming - **added** — F5-TTS integration for voice cloning in CrispASR - **added** — context_size: -1 to run models at their full trained context window using GGUF metadata - **added** — GPU device selection for llama.cpp via options [devices:CUDA1,CUDA2] to restrict offload to named GPUs - **added** — DFlash speculative-decoding gallery models for Qwen 4B, 9B, 27B, and 35B-A3B - **added** — known_input_modalities and known_output_modalities configuration fields - **changed** — Voice cloning capability auto-discovered across 12+ TTS backends without hardcoded backend names - **changed** — Transcription language and translate settings now reach the backend - **fixed** — Model-load cooldown prevents deterministically-failing models from respawning on every poll and leaking VRAM - **fixed** — OIDC support for EC/PS/EdDSA-signed tokens #### 🎉 LocalAI 4.7.0 Release! 🚀




LocalAI 4.7.0 is out! This release widens what LocalAI can generate and how you drive it: a UI-managed voice cloning library, local video and audio-driven avatar generation, and interleaved reasoning that travels with tool calls. It also lands new audio engines (one-pass diarized transcription, F5-TTS, true streaming TTS) and a batch of reliability fixes across auth, transcription, and the model gallery. **Highlights:** - 🎙️ **Managed voice cloning** - record or upload a consented reference in the UI, save it as a reusable profile, and reference it from any cloning-capable TTS backend with a stable `localai://voice-profiles/` URI. No more hand-edited YAML or copying audio into model folders. - 🎬 **Local video & avatars** - a new `longcat-video` backend brings text-to-video, image-to-video, and audio-driven talking-avatar generation, wired into the Studio UI with audio and reference-image controls. - 🧠 **Interleaved thinking with tool calls** - an assistant turn can now carry `reasoning` and `tool_calls` together and keep the reasoning across the tool-result loop, with a `reasoning_content` inbound alias and Anthropic `thinking` block support. - 🗣️ **New audio engines** - one-pass diarized transcription (`moss-transcribe-cpp`), F5-TTS voice cloning in CrispASR, and true streaming TTS in vibevoice-cpp (time-to-first-audio 2.38s vs 39.96s on CPU). - 🎚️ **Auto full context** - `context_size: -1` runs a model at its full trained context window, read from GGUF metadata per-model, with a VRAM-fit warning. - 🖥️ **Sharper control** - pick which GPUs llama.cpp offloads to (`devices:`), and a new model-load cooldown stops a deterministically-failing model from respawning its backend on every poll and leaking VRAM. Plus DFlash speculative-decoding gallery models, an OIDC fix for EC/PS/EdDSA-signed tokens, transcription language/translate settings that reach the backend, and the usual set of dependency updates.

ui-home

--- ##### 📌 TL;DR | Area | Summary | |------|---------| | 🎙️ **Voice Library** | Admin-managed voice cloning profiles: record/upload consented reference audio in the UI, preview, and reference via `localai://voice-profiles/`. New `GET/POST/DELETE /api/voice-profiles`, MCP tools (`list/create/delete_voice_profile`), and a typed `tts.voice_cloning` config. Cloning declared as a capability across 12+ TTS backends (self-discovered, no hardcoded backend names). | | 🎬 **LongCat video & avatars** | New `longcat-video` Python backend: text-to-video, image-to-video, and LongCat-Video-Avatar 1.5 audio-driven avatars. Gallery entries `longcat-video` and `longcat-video-avatar-1.5`; new `known_input_modalities`/`known_output_modalities` config fields; `/video` endpoint extended with staged audio. CUDA 12/13 x86_64 + CUDA 13 ARM64 images. | | 🧠 **Interleaved thinking** | Assistant turns carry `reasoning` + `tool_calls` together and preserve reasoning across the tool loop. `reasoning_content` accepted as an inbound alias; Anthropic Messages local path round-trips `thinking` blocks (gated on `thinking: {type: "enabled"}`). | | 🗣️ **moss-transcribe-cpp** | New Go backend over the C++/ggml MOSS-Transcribe-Diarize port: joint multi-speaker transcription + diarization + timestamps in one pass. Gallery model `moss-transcribe-cpp-0.9b`. Offline; 1.6-2.2x faster than reference on CPU, bit-exact on CUDA. | | ⚡ **vibevoice streaming TTS** | Real incremental streaming via `vv_capi_tts_stream`: TTFA 2.38s vs 39.96s batch (~17x) on CPU for `VibeVoice-Realtime-0.5B`. | | 🎨 **F5-TTS** | F5-TTS linked into CrispASR + `f5-tts-cr _[Truncated at 4000 characters — full notes: https://github.com/mudler/LocalAI/releases/tag/v4.7.0]_ ### v4.6.2 - Date: 2026-07-06 - Version: v4.6.2 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.6.2 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.6.2 - **changed** — Use slices.Contains to simplify code - **fixed** — Shard single-arch backend matrix under GitHub's 256-job limit - **added** — Add MiniCPM series models to model gallery ##### What's Changed ###### 👒 Dependencies * chore(deps): bump actions/cache from 4 to 6 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/10704 ###### Other Changes * refactor: use slices.Contains to simplify code by @weifanglab in https://github.com/mudler/LocalAI/pull/10702 * fix(ci): shard single-arch backend matrix under GitHub's 256-job limit by @localai-bot in https://github.com/mudler/LocalAI/pull/10703 * chore(model gallery): add MiniCPM series models by @ZMXJJ in https://github.com/mudler/LocalAI/pull/10699 ##### New Contributors * @weifanglab made their first contribution in https://github.com/mudler/LocalAI/pull/10702 * @ZMXJJ made their first contribution in https://github.com/mudler/LocalAI/pull/10699 **Full Changelog**: https://github.com/mudler/LocalAI/compare/v4.6.1...v4.6.2 ### v4.6.1 - Date: 2026-07-06 - Version: v4.6.1 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.6.1 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.6.1 - **fixed** — Log the real cause of OIDC/OAuth user-info failures - **added** — Add GET /v1/models/capabilities endpoint - **fixed** — Center the home empty-state wizard in UI - **added** — Add native Prometheus metrics for agent chat runs - **fixed** — Don't persist request-scoped reasoning_effort as an operator disable - **fixed** — Scope generated-content and upload dirs to the current user on startup - **fixed** — Cap auto-derived context to fit VRAM - **fixed** — Cap single-pass embedding batch to fit VRAM ##### What's Changed ###### Other Changes * fix(auth): log the real cause of OIDC/OAuth user-info failures by @localai-bot in https://github.com/mudler/LocalAI/pull/10679 * feat(api): add GET /v1/models/capabilities endpoint by @localai-bot in https://github.com/mudler/LocalAI/pull/10687 * chore: :arrow_up: Update CrispStrobe/CrispASR to `1109cb3fcae2e242c2b3d42ec0e3fd6e813f2ce7` by @localai-bot in https://github.com/mudler/LocalAI/pull/10685 * chore: :arrow_up: Update ggml-org/llama.cpp to `665892536dfb1b7532161e3182304bd35c33e768` by @localai-bot in https://github.com/mudler/LocalAI/pull/10681 * chore(model-gallery): :arrow_up: update checksum by @localai-bot in https://github.com/mudler/LocalAI/pull/10686 * chore: :arrow_up: Update vllm-metal (darwin) to `v0.3.0.dev20260704102955` by @localai-bot in https://github.com/mudler/LocalAI/pull/10668 * fix(ui): center the home empty-state wizard by @localai-bot in https://github.com/mudler/LocalAI/pull/10691 * docs: :arrow_up: update docs version mudler/LocalAI by @localai-bot in https://github.com/mudler/LocalAI/pull/10680 * chore: :arrow_up: Update CrispStrobe/CrispASR to `09df654e304947f7521e1f52992ceacccf03c300` by @localai-bot in https://github.com/mudler/LocalAI/pull/10693 * chore: :arrow_up: Update ServeurpersoCom/omnivoice.cpp to `daedb763fd442e0916eb130a479fdd74947291c0` by @localai-bot in https://github.com/mudler/LocalAI/pull/10682 * chore: :arrow_up: Update ServeurpersoCom/qwentts.cpp to `73fe0c67bbf0898ba2999535e0680a02a7f8537d` by @localai-bot in https://github.com/mudler/LocalAI/pull/10683 * feat(agents): native Prometheus metrics for agent chat runs by @walcz-de in https://github.com/mudler/LocalAI/pull/10689 * chore: :arrow_up: Update ggml-org/llama.cpp to `2da668617612d2df773f966e3b0ee22dc2beef7b` by @localai-bot in https://github.com/mudler/LocalAI/pull/10694 * fix(reasoning): don't persist request-scoped reasoning_effort as an operator disable (#10622) by @Anai-Guo in https://github.com/mudler/LocalAI/pull/10623 * fix(startup): scope generated-content and upload dirs to the current user by @localai-bot in https://github.com/mudler/LocalAI/pull/10698 * fix(config): cap auto-derived context to fit VRAM by @localai-bot in https://github.com/mudler/LocalAI/pull/10696 * fix(llama-cpp): cap single-pass embedding batch to fit VRAM by @localai-bot in https://github.com/mudler/LocalAI/pull/10695 **Full Changelog**: https://github.com/mudler/LocalAI/compare/v4.6.0...v4.6.1 ### v4.6.0 - Date: 2026-07-04 - Version: v4.6.0 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.6.0 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.6.0 - **fixed** — AMD ROCm ggml audio backends now compile with -DGGML_HIP=ON and link HIP for real GPU offload - **fixed** — hipBLASLt kernel-tuning data (TensileLibrary files) is now bundled and HIPBLASLT_TENSILE_LIBPATH is exported - **fixed** — rocm-vllm backend now installs from the AMD ROCm wheel index instead of the CUDA-only PyPI wheel - **fixed** — ASIC ID table (amdgpu.ids) is now symlinked so compute-only hipblas images can find it - **added** — Realtime sessions eagerly warm the entire pipeline (VAD, ASR, LLM, TTS) at session start - **added** — New POST /backend/load and POST /v1/backend/load API endpoints to load models into memory - **added** — Load into memory UI button in the built-in chat interface - **added** — Chat forking capability allowing regeneration of any assistant answer, branching from any turn, duplicating conversations, and copying as Markdown - **fixed** — Dead worker no longer pins the per-model PostgreSQL advisory lock during distributed model loads - **fixed** — Backend workers now self-terminate on parent death instead of holding VRAM - **added** — Prometheus counter localai_pii_events_total for tracking PII detections, masks, and blocks - **fixed** — Gallery config URL fetches are now validated against private, loopback, link-local, and cloud-metadata addresses to prevent SSRF - **changed** — POST /backends/apply and LOCALAI_EXTERNAL_BACKENDS no longer re-pull already-installed backends unless force: true is specified - **fixed** — Non-streaming vLLM tool calls are now restored - **fixed** — MLX and Python backends now decode tool-call arguments for chat templates and split closing-only reasoning blocks #### 🎉 LocalAI 4.6.0 Release! 🚀




LocalAI 4.6.0 is out! This is a reliability-focused release: AMD ROCm backends now run on-GPU at full speed, distributed model loads no longer wedge when a worker dies, and realtime sessions warm up predictably. It also brings conversation forking to the built-in chat UI, a Prometheus counter for PII/audit events, and an SSRF fix for the model gallery. **Highlights:** - 🔴 **AMD ROCm runs correctly** - ggml audio backends offload to the GPU, hipBLASLt kernel-tuning data is bundled (no more slow generic kernels), `rocm-vllm` installs the right wheel, and the ASIC ID table is found. - 🎙️ **Predictable realtime** - sessions eagerly warm the whole pipeline (VAD, ASR, LLM, TTS) up front, so the first turn no longer pays per-model cold-start stalls, plus a new `POST /backend/load` API and "Load into memory" UI button. - 🌿 **Forking chat** - retry *any* assistant answer, branch a new chat from any point, duplicate, or copy the whole conversation, directly in the built-in UI. - 🛡️ **Distributed hardening** - a dead worker can no longer pin the model-load advisory lock (the ~15-minute wedge is gone), and orphaned backend workers self-terminate instead of holding VRAM. - 📊 **PII/audit metrics** - PII detections/masks/blocks are exported as a Prometheus counter, so you can alert when the filter stops firing. - 🔒 **Gallery SSRF fix** - `POST /models/apply` config-URL fetches are validated against private/loopback/metadata addresses. Plus idempotent backend installs, tool-calling and reasoning fixes across the vLLM and Python/MLX backends, cloud-proxy compatibility with the newest reasoning models, and the usual set of dependency updates. --- ##### 📌 TL;DR | Area | Summary | |------|---------| | 🔴 **AMD ROCm reliability** | ggml audio backends now compile with `-DGGML_HIP=ON` and link HIP (real GPU offload); hipBLASLt `TensileLibrary` data bundled + `HIPBLASLT_TENSILE_LIBPATH` exported; `rocm-vllm` installs from the AMD wheel index on Python 3.12; `amdgpu.ids` symlinked so the ASIC table is found. | | 🎙️ **Realtime warm-up + load API** | Sessions block-warm the full pipeline at start (errors surface up front); new `POST /backend/load` / `POST /v1/backend/load`, a "Load into memory" UI action, and a `load_model` MCP tool. Opt out per pipeline with `disable_warmup: true`. | | 🌿 **Forking chat** | Regenerate any assistant answer (not just the last), branch a new chat from any turn, duplicate a chat, or copy it as Markdown - all client-side in the React UI. | | 🛡️ **Process & distributed lifecycle** | A dead worker no longer pins the per-model PostgreSQL advisory lock (bounded load ceiling + context-scoped `lock_timeout`); backend workers self-terminate on parent death (`LOCALAI_BACKEND_PARENT_WATCH`); the watchdog stops logging optional `Free()` as an error. | | ⚙️ **Idempotent backend installs** | `POST /backends/apply` and the `LOCALAI_EXTERNAL_BACKENDS` boot loop no longer re-pull an already-installed backend unless `force: true`. | | 📊 **PII/audit Prometheus counter** | `localai_pii_events_total{kind,origin,action,direction}` on `/metrics`, complementing the `/api/pii/events` ring buffer. | | 🔒 **Gallery SSRF hardening** | Gallery config URL fetches run through `ValidateExternalURL`, blocking private, loopback, link-local, and cloud-metadata addresses. | | 🧩 **Tool-calling & reasoning fixes** | Non-streaming vLLM tool calls restored; MLX/Python backends decode tool-call arguments for chat templates and split closing-only `` reasoning blocks. | --- ##### 🚀 New Features & Major Enhancements ###### 🔴 AMD ROCm backends run correctly on-GPU Four coupled fixes make ROCm/hipBLAS backends actually run on AMD hardware, and at full speed, instead of silently falling back _[Truncated at 4000 characters — full notes: https://github.com/mudler/LocalAI/releases/tag/v4.6.0]_ ### v4.5.6 - Date: 2026-06-30 - Version: v4.5.6 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.5.6 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.5.6 - **fixed** — Missing agent NATS permission in distributed mode - **added** — SyncedMap component for distributed cross-replica state - **changed** — Migrate finetune/quant/agent-tasks to cross-replica state - **removed** — Drop the darwin/metal build target for fish-speech - **fixed** — Fall back to DefaultContextSize for unparseable GGUFs and pin NVFP4 gallery context_size - **fixed** — Gallery mmproj/model quant matching to prevent F16 from selecting BF16 - **fixed** — Return empty backend list for agent nodes instead of failing backend.list - **added** — LOCALAI_DISTRIBUTED_SHARED_MODELS environment variable to skip staging on shared volumes - **fixed** — Bound resume-stream buffer and enforce response ownership in openresponses - **fixed** — IK-llama multimodal path ported to mtmd API - **added** — Voice-detect and face-detect ggml backends to replace Python insightface/speaker-recognition - **fixed** — Kokoro add explicit click dependency so spacy CLI works on intel build - **fixed** — Launcher binary download/upgrade with resume, rate-limit, and improved UX - **fixed** — Fish-speech allow invalid_reference_casting so tokenizers builds on darwin - **fixed** — OCI retry layer downloads on transient network errors - **fixed** — SGLang parse tool_call function arguments before applying the chat template - **added** — Semantic VAD EOU token for realtime - **fixed** — OpenAI stop max_tokens streaming retry loop on reasoning models - **fixed** — Import derive model name from selected GGUF for repo-root URIs - **fixed** — Avoid quadratic-time debug logging in CleanupLLMResult and ParseFunctionCall ##### What's Changed ###### 👒 Dependencies * chore(deps): bump actions/cache from 4 to 6 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/10593 ###### Other Changes * docs: :arrow_up: update docs version mudler/LocalAI by @localai-bot in https://github.com/mudler/LocalAI/pull/10560 * fix(distributed): missing agent NATS permission by @ALameLlama in https://github.com/mudler/LocalAI/pull/10549 * feat(distributed): SyncedMap component + migrate finetune/quant/agent-tasks to cross-replica state by @localai-bot in https://github.com/mudler/LocalAI/pull/10542 * chore(fish-speech): drop the darwin/metal build target by @localai-bot in https://github.com/mudler/LocalAI/pull/10561 * fix(config): fall back to DefaultContextSize for unparseable GGUFs; pin NVFP4 gallery context_size by @localai-bot in https://github.com/mudler/LocalAI/pull/10563 * ci(vibevoice): skip the ASR transcription e2e on release tag builds by @localai-bot in https://github.com/mudler/LocalAI/pull/10567 * fix(gallery): match mmproj/model quant as a whole token so F16 no longer selects BF16 (#10559) by @localai-bot in https://github.com/mudler/LocalAI/pull/10564 * fix(distributed): return empty backend list for agent nodes instead of failing backend.list (#10545) by @localai-bot in https://github.com/mudler/LocalAI/pull/10565 * feat(distributed): add LOCALAI_DISTRIBUTED_SHARED_MODELS to skip staging on shared volumes (#10556) by @localai-bot in https://github.com/mudler/LocalAI/pull/10566 * chore: :arrow_up: Update leejet/stable-diffusion.cpp to `9956436c925a367daeab097598b1ea1f32d3503f` by @localai-bot in https://github.com/mudler/LocalAI/pull/10533 * fix(openresponses): bound resume-stream buffer and enforce response ownership by @localai-bot in https://github.com/mudler/LocalAI/pull/10569 * chore: :arrow_up: Update ggml-org/whisper.cpp to `0ae02cdb2c7317b50991367c165736ce42ed96ac` by @localai-bot in https://github.com/mudler/LocalAI/pull/10532 * chore: :arrow_up: Update CrispStrobe/CrispASR to `6514c9da00b03a2f0f1b49a43fae4f3a01a41844` by @localai-bot in https://github.com/mudler/LocalAI/pull/10535 * chore: :arrow_up: Update ggml-org/llama.cpp to `0ed235ea2c17a19fc8238668653946721ed136fd` by @localai-bot in https://github.com/mudler/LocalAI/pull/10536 * fix(ik-llama): port multimodal path to mtmd API and bump to f96eaddb (#10534) by @localai-bot in https://github.com/mudler/LocalAI/pull/10568 * feat(backends): add voice-detect + face-detect ggml backends (replace Python insightface/speaker-recognition) by @localai-bot in https://github.com/mudler/LocalAI/pull/10441 * fix(kokoro): add explicit click dep so spacy CLI works on intel build by @localai-bot in https://github.com/mudler/LocalAI/pull/10572 * fix(launcher): robust binary download/upgrade (resume, rate-limit, UX) by @localai-bot in https://github.com/mudler/LocalAI/pull/10575 * fix(distributed): missing agent NATS permissions by @ALameLlama in https://github.com/mudler/LocalAI/pull/10571 * fix(fish-speech): allow invalid_reference_casting so tokenizers builds on darwin by @localai-bot in https://github.com/mudler/LocalAI/pull/10573 * fix(oci): retry layer downloads on transient network errors by @localai-bot in https://github.com/mudler/LocalAI/pull/10579 * chore(model-gallery): :arrow_up: update checksum by @localai-bot in https://github.com/mudler/LocalAI/pull/10585 * chore: :arrow_up: Update leejet/stable-diffusion.cpp to `c1790754d31bec0731ed5fddc9d5b9ff22ee19cd` by @localai-bot in https://github.com/mudler/LocalAI/pull/10584 * chore: :arrow_up: Update CrispStrobe/CrispASR to `6b50f76e59700665358a1aabf5295597fa318e06` by @localai-bot in https://github.com/mudler/LocalAI/pull/10583 * chore: :arrow_up: Update ggml-org/llama.cpp to `dbdaece23de9ac63f2e7ca9e6bfcdc4fc156a3fa` by @localai-bot in https://github.com/mudler/LocalAI/pull/10582 * chore: :arrow_up: Update mudler/voic _[Truncated at 4000 characters — full notes: https://github.com/mudler/LocalAI/releases/tag/v4.5.6]_ ### v4.5.5 - Date: 2026-06-27 - Version: v4.5.5 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.5.5 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.5.5 - **fixed** — Repair release CI build and test breaks for kokoros, fish-speech, llama-cpp-quantization, and sglang backends - **added** — Add 1 new model to the model gallery - **fixed** — Whisper Darwin run.sh loads whichever fallback library exists (.so or .dylib) ##### What's Changed ###### Other Changes * fix(backends): repair release CI build/test breaks (kokoros, fish-speech, llama-cpp-quantization, sglang) by @localai-bot in https://github.com/mudler/LocalAI/pull/10547 * chore(model gallery): :robot: add 1 new models via gallery agent by @localai-bot in https://github.com/mudler/LocalAI/pull/10544 * fix(backends): whisper darwin run.sh loads whichever fallback lib exists (.so/.dylib) by @localai-bot in https://github.com/mudler/LocalAI/pull/10553 **Full Changelog**: https://github.com/mudler/LocalAI/compare/v4.5.4...v4.5.5 ### v4.5.4 - Date: 2026-06-27 - Version: v4.5.4 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.5.4 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.5.4 - **fixed** — Derive darwin RUN_BINARY from the exec line only in backends ##### What's Changed ###### Other Changes * fix(backends): derive darwin RUN_BINARY from the exec line only by @localai-bot in https://github.com/mudler/LocalAI/pull/10541 **Full Changelog**: https://github.com/mudler/LocalAI/compare/v4.5.3...v4.5.4 ### v4.5.3 - Date: 2026-06-26 - Version: v4.5.3 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.5.3 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.5.3 - **added** — Sign and notarize the DMG, app, and server binary on macOS - **fixed** — Set rpath on the piper darwin binary so it can load its bundled libs - **fixed** — Darwin packaging for silero-vad backend - **fixed** — Show a node's existing labels on the detail view - **fixed** — Bundle transitive dependencies of GPU runtime libs - **fixed** — Broadcast admin model-config changes across replicas in distributed mode - **fixed** — Stop reinterpreting plain-string message content as JSON in llama-cpp ##### What's Changed ###### Other Changes * feat(macos): sign and notarize the DMG, app, and server binary by @localai-bot in https://github.com/mudler/LocalAI/pull/10510 * fix(backends): set rpath on the piper darwin binary so it can load its bundled libs by @localai-bot in https://github.com/mudler/LocalAI/pull/10525 * fix(backends): darwin packaging for silero-vad (last Linux-only Go backend) by @localai-bot in https://github.com/mudler/LocalAI/pull/10528 * chore(model gallery): :robot: add 1 new models via gallery agent by @localai-bot in https://github.com/mudler/LocalAI/pull/10526 * fix(nodes): show a node's existing labels on the detail view by @localai-bot in https://github.com/mudler/LocalAI/pull/10529 * docs: :arrow_up: update docs version mudler/LocalAI by @localai-bot in https://github.com/mudler/LocalAI/pull/10531 * chore: :arrow_up: Update mudler/parakeet.cpp to `f469a57270a1cc4554acb15febf60e56619673b9` by @localai-bot in https://github.com/mudler/LocalAI/pull/10530 * fix(gpu-libs): bundle transitive deps of GPU runtime libs (#10537) by @localai-bot in https://github.com/mudler/LocalAI/pull/10539 * fix(distributed): broadcast admin model-config changes across replicas by @localai-bot in https://github.com/mudler/LocalAI/pull/10540 * fix(llama-cpp): stop reinterpreting plain-string message content as JSON (#10524) by @localai-bot in https://github.com/mudler/LocalAI/pull/10538 **Full Changelog**: https://github.com/mudler/LocalAI/compare/v4.5.2...v4.5.3 ### v4.5.2 - Date: 2026-06-26 - Version: v4.5.2 - Original notes: https://github.com/mudler/LocalAI/releases/tag/v4.5.2 - Permalink: https://whatsnew.fyi/product/localai/releases/v4.5.2 - **fixed** — make the opus backend build and package on macOS/Darwin ##### What's Changed ###### Other Changes * fix(backends): make the opus backend build and package on macOS/Darwin by @localai-bot in https://github.com/mudler/LocalAI/pull/10523 **Full Changelog**: https://github.com/mudler/LocalAI/compare/v4.5.1...v4.5.2