Skip to content

localai 4.2.0#282016

Merged
BrewTestBot merged 2 commits into
mainfrom
bump-localai-4.2.0
May 11, 2026
Merged

localai 4.2.0#282016
BrewTestBot merged 2 commits into
mainfrom
bump-localai-4.2.0

Conversation

@BrewTestBot

Copy link
Copy Markdown
Contributor

Created by brew bump


Created with brew bump-formula-pr.

Details

release notes
# 🎉 LocalAI 4.2.0 Release! 🚀




LocalAI 4.2.0 is out!

This release teaches LocalAI to see and hear. New /v1/voice/* and /v1/audio/diarization endpoints, a full face-recognition pipeline with antispoofing, word-level timestamps for faster-whisper, and a client-cancellable Whisper. There is also a drop-in Ollama API, video generation in stable-diffusion.ggml, a redesigned chat with i18n and admin-configurable branding, eleven new backends, an interactive model config editor with autocomplete, and a hardened distributed mode v2. vLLM finally hits feature parity with llama.cpp and gets tensor-parallel distributed workers.


📌 TL;DR

Feature Summary
🎙️ Voice Recognition New /v1/voice/*. Verify, identify, embed and analyze speakers.
👤 Face Recognition + Liveness 1:1 verify, 1:N identify, detect, analyze, embed, and reject spoofed photos.
🎬 Diarization New /v1/audio/diarization endpoint, "who spoke when?" via sherpa-onnx + vibevoice.cpp.
🗣️ Better Transcriptions Word-level timestamps, client-cancellable Whisper, segments + duration + language on the stream-done event.
🦙 Ollama API Drop-in compatibility. Point your ollama client straight at LocalAI.
🎬 Video Generation stable-diffusion.ggml now generates video (i2v, first-last-frame).
💬 Redesigned UI Chat redesign, Nord palette, i18n (5 languages), admin-configurable branding.
✏️ Interactive Model Editor Autocomplete-driven config editor in the UI.
📦 Universal Importer Imports across most backends, not just llama.cpp.
🚦 Concurrency Groups Per-model exclusive groups for safe backend loading.
🧪 11 New Backends sglang, ik-llama-cpp, TurboQuant, sam.cpp, Kokoros, qwen3tts.cpp, tinygrad-multimodal, LocalVQE, vibevoice-cpp, insightface (liveness), voice-rec.
vLLM @ parity Feature parity with llama.cpp + tensor-parallel distributed workers + full engine_args.
🛰️ Distributed v2 Hardened orchestrator, round-robin replicas, scoped Upgrade All, NATS install/upgrade split.

🚀 New Features & Major Enhancements

🎙️ Voice Recognition

LocalAI is now ears-on. New /v1/voice/* endpoints let you verify, identify, analyze and embed speakers, powered by a SpeechBrain + ONNX Python backend.

  • 1:1 Verify, "is this the same speaker?"
  • 1:N Identify, "who is talking, out of my enrolled users?"
  • Embeddings, voice fingerprints for your own pipelines
  • Analyze, age, gender, emotion attributes per segment

🔥 Pairs naturally with the new diarization endpoint for full speaker pipelines.

voice.mp4

👤 Face Recognition & Antispoofing

A complete face-biometrics pipeline, built on InsightFace + ONNX.

  • 1:1 Verify, match two faces
  • 1:N Identify, resolve a face against an enrolled set
  • Detection & Analysis, find faces, extract attributes (age, gender, emotion, race)
  • Embeddings, facial fingerprints for your own stack
  • 🆕 Antispoofing (liveness), reject spoofed photos and videos

✅ Samples never leave your machine. They go only to the running backend.

face.mp4

🎬 Diarization & a smarter audio pipeline

Audio is a first-class citizen now.

  • /v1/audio/diarization, segments speech by speaker turn (sherpa-onnx + vibevoice.cpp)
  • Word-level timestamps for faster-whisper
  • Client cancellation for Whisper via the ggml abort_callback. Stop a transcription mid-flight and free the GPU.
  • Stream-done metadata on /v1/audio/transcriptions. segments, duration and language on the final event.
  • Audio transformations UI (LocalVQE), explore audio FX directly from the React UI
  • Transcription error visibility, handler errors land in the access log and on the client

🦙 Ollama drop-in API

Point your existing Ollama client at LocalAI. Everything keeps working. Another front door, same engine.

OLLAMA_HOST=http://localhost:8080 ollama run qwen3

🎬 Video Generation

The stable-diffusion.ggml backend now generates video, with curated gallery entries for Wan 2.1 FLF2V 14B 720P and Wan i2v 720p, plus a new stablediffusion-ggml-development meta backend to track the cutting edge.


🎨 React UI: total refresh

A massive UI cycle landed in 4.2:

  • 💬 Chat redesign, cleaner layout, faster perceived latency, better message density
  • 🎨 Editorial refresh with the Nord palette, calmer, more focused, dark-mode-first
  • 🌍 Multilingual / i18n, English, Italiano, Español, Deutsch, 简体中文
  • 🪪 Brandable instance, admin-configurable name, tagline, and assets (logo, favicon)
  • ✏️ Interactive model config editor, autocomplete over known fields, live validation, automatic file-renaming on save
  • 🧰 Backend management UX, revamped backend list with concrete versions
  • 🛟 Better error UX, distributed backend management errors surface cleanly

💡 Self-host with your branding. The login page, sidebar, footer, and browser tab all pick up the instance name and logo.

chat.mp4
i18n.mp4

🔄 Backend & model lifecycle

  • Backend versioning with automatic upgrade detection
  • Pin models so they survive the reaper
  • On-demand toggle per model to control auto-load
  • Concurrency groups, per-model exclusive groups so heavy backends won't trample each other
  • Universal importer, single flow that imports across most backends, with clean multi-shard GGUF handling and dedicated importers for vibevoice-cpp and whisper.cpp HF repos
importer.mp4
model-editor.mp4

🧪 New Backends!

Backend What it brings
sglang High-throughput LLM serving + speculative decoding (EAGLE/EAGLE3/DFLASH/MTP)
ik-llama.cpp ikawrakow's llama.cpp fork
TurboQuant Quant-focused llama.cpp fork
sam.cpp Segment Anything detection
Kokoros Rust-native Kokoro TTS
qwen3tts.cpp Qwen3 TTS
tinygrad-multimodal (experimental) tinygrad-powered multimodal
vibevoice.cpp Diarization-grade speech
LocalVQE Audio transformations / FX
insightface Face antispoofing
voice-rec Speaker recognition / embeddings

⚡ vLLM at parity (and beyond)

  • vLLM parity with llama.cpp, same feature surface, same ergonomics
  • vLLM engine_args, the full AsyncEngineArgs exposed via a generic YAML map
  • Tensor-parallel distributed workers, fan a single model across nodes
  • CUDA 13 builds for vLLM, vLLM-omni and sglang
  • L4T arm64 (CUDA 13), vLLM/vLLM-omni/sglang variants for Jetson-class arm64
  • MLX backend refactored, shared helpers and enhanced functionality
  • llama.cpp split_mode for explicit multi-GPU placement
  • Speculative decoding wired through for llama.cpp, Gemma 4 thinking support added
  • Vision / mtmd marker propagated from the backend via ModelMetadata

🛰️ Distributed Mode v2

Distributed mode keeps maturing. This release was a hardening pass across the orchestration loop:

  • Orchestrator resilience, auto-upgrade routing, worker bind-wait, RAG-init crash, log-spam fixes
  • Round-robin across replicas of the same model
  • Upgrade All scoped to nodes that actually have the backend installed
  • NATS install / upgrade split, backend.upgrade no longer piggybacks on install
  • Cached-replica lookup honors NodeSelector, the reconciler no longer scales up empty backends
  • VRAM/RAM reporting correct on NVIDIA unified-memory hosts
  • Agent nodes, queue loops stop on teardown, dead-letter cap added
  • Autoscaling, load-model extracted from Route() and applied during autoscale

🔐 Auth & Security

  • Settings API, env-supplied ApiKeys are stripped before persisting (no accidental leaks)
  • grpc-server hardening, removed unsafe sprintf() in the C++ grpc server
  • OIDC, bumped go-oidc/v3 to 3.18.0
  • Security hardening pass across the codebase
  • AI coding assistants policy, LocalAI now follows the Linux kernel's DCO/attribution guidelines (Assisted-by: trailer, no AI co-authors)

🖥️ Hardware & deployment

  • CUDA 13 for vLLM, vLLM-omni, and sglang
  • NVIDIA L4T arm64 (CUDA 13) for Jetson-class boards
  • ROCm 7.x bumped to latest
  • gfx1151 (Strix Halo / Ryzen AI MAX) support, AMDGPU_TARGETS exposed as a build-arg
  • Intel GPU, latest oneapi-basekit (b70 support) across Intel images
  • arm64 CI, cpu-whisperx and cpu-faster-whisper now ship arm64 images
  • whisperx, ROCm/HIPBLAS target dropped (pinned to rocm6.4 wheels)

🛠️ Under the Hood

  • Better CLI errors with actionable guidance
  • golangci-lint baseline (new-from-merge-base) keeps drift in check
  • Coding-agent discoverability, new APIs let coding agents introspect and configure LocalAI
  • Autoparser, prefers backend-emitted chat deltas, correct logprob passthrough, strips partial reasoning tags during warm-up
  • Reasoning + tools, no more empty content from thinking models in retry loops
  • Streaming hygiene, deduped content, deduped tool calls, recovered reasoning, unique tool_call IDs in deferred flushes
  • HTTP, handler-error status now visible in the access log + transcription error surface
  • Backend monitor accepts model as a query parameter
  • Config loader, YAML backup files are ignored
  • GGUF thinking probe respects explicit reasoning config
  • Inference defaults refreshed from Unsloth
  • Embeddings on collection upload, dim changes handled gracefully
  • Python backends, JIT subprocesses use tempfile.gettempdir() instead of hardcoded /tmp
  • Draft model paths, relative paths now resolve against the models dir
  • whisper-cpp: implement streaming transcription and context cancellation

🐞 Notable fixes

  • Cascading user deletion on PostgreSQL, deleting a user removes all owned data
  • Importer emits all shards for multi-part GGUF models
  • Open Responses parses OpenAI-spec nested tool_choice and uses the correct setter
  • llama-cpp: server-chat.cpp included in grpc-server TU, common -> llama-common rename, turboquant common.h detection
  • ik-llama-cpp: adapted to common_grammar in sampling.h, patched clip.cpp for the new ggml_quantize_chunk signature
  • Kokoros: trait stubs (face_verify, face_analyze, audio_transcription_stream), CI publish
  • stable-diffusion.ggml: MP4 container forced in ffmpeg mux, new i2v options
  • Gallery: orphaned meta-backend uninstall, gemma-4 URIs, flux-kontext param overrides, Wan dedup, z-image-turbo load, Qwen3.5 typo override, tag-casing normalization
  • Streaming: content + tool-call dedup, reasoning recovery, unique tool-call IDs in deferred flush
  • Realtime: consume ChatDeltas when the C++ autoparser clears Response
  • Tool-calls: use SetFunctionCallNameString when forcing a specific tool
  • Faster-whisper: cast segment timestamps to int after multiplication
  • mlx-vlm: pinned to v0.4.4 to unblock CUDA builds
  • vLLM: dropped flash-attn wheel to avoid torch 2.10 ABI mismatch
  • Downloader: list supported URL schemes in DownloadFile errors
  • Backend: resolve relative draft_model paths against the models dir
  • CI: wire AMDGPU_TARGETS through the backend workflow, switch gallery-agent to sigs.k8s.io/yaml, recover rerankers + vllm-omni on aarch64, unbreak master CI for docs/kokoros/vibevoice-cpp ABI

🆕 Gallery additions

  • Wan 2.1 FLF2V 14B 720P (video)
  • Wan i2v 720p (image-to-video)
  • stablediffusion-ggml-development meta backend
  • chroma1-hd (diffusers)
  • Gemma 4 (+ mmproj)
  • EmbeddingGemma
  • Qwen 3.5, Qwen-ASR, OCR entries for llama.cpp
  • Qwen3-VL Reranker, Qwen3-VL Embedding (tagged)
  • A steady stream of automated gallery-agent model additions throughout the cycle 🤖

🚀 The Complete Local Stack for Privacy-First AI

LocalAI Logo

LocalAI

The free, Open Source OpenAI alternative. Drop-in REST API compatible with OpenAI specs for local AI inferencing. No GPU required.

Link: https://github.com/mudler/LocalAI

LocalAGI Logo

LocalAGI

Local AI agent management platform. Drop-in for OpenAI's Responses API, with advanced agentic capabilities and a no-code UI.

Link: https://github.com/mudler/LocalAGI

LocalRecall Logo

LocalRecall

RESTful API and knowledge-base management providing persistent memory and storage for AI agents. Pairs with LocalAI and LocalAGI.

Link: https://github.com/mudler/LocalRecall


❤️ Thank You

LocalAI is a true FOSS movement, built by contributors, powered by community.

If you believe in privacy-first, self-hosted AI:

  • Star the repo
  • 💬 Contribute code, docs, translations or feedback
  • 📣 Share with others

Your support keeps this stack alive.


✅ Full Changelog

📋 Click to expand full changelog

What's Changed

Bug fixes :bug:

Exciting New Features 🎉

View the full release notes at https://github.com/mudler/LocalAI/releases/tag/v4.2.0.


@github-actions github-actions Bot added go Go use is a significant feature of the PR or issue nodejs Node or npm use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels May 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🤖 An automated task has requested bottles to be published to this PR.

Caution

Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch.

@github-actions github-actions Bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label May 11, 2026
@BrewTestBot
BrewTestBot enabled auto-merge May 11, 2026 16:20
@BrewTestBot
BrewTestBot added this pull request to the merge queue May 11, 2026
Merged via the queue into main with commit 483f533 May 11, 2026
22 checks passed
@BrewTestBot
BrewTestBot deleted the bump-localai-4.2.0 branch May 11, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. go Go use is a significant feature of the PR or issue nodejs Node or npm use is a significant feature of the PR or issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants