LocalAI v4.4.0stable Released Jun 10, 2026
Impact Score: 5/10

LocalAI v4.4.0 β€” Release Notes & Engineering Impact

Source available β€” automated, not human-reviewed

Component: localai Β· Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified β€” check source notes
πŸ“„ .MD
⚑ Executive Summary (TL;DR)

LocalAI v4.4.0. Source highlight: πŸŽ‰ LocalAI 4.4.0 Release! πŸš€

Who Does This Impact? (Role-Based Analysis)

πŸ’» Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

πŸ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

βš™οΈ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

✨ New Features & Capabilities (6)

  • feat: prefix-cache-aware routing for distributed mode
  • feat(ds4): layer-split distributed inference
  • feat(crispasr): add CrispASR backend β€” multi-architecture ASR + TTS
  • feat(worker): add LOCALAI_PREFETCH_MODELS for boot-time gallery prefetch
  • feat(distributed): resumable file uploads via HTTP Content-Range
  • feat(localvqe/audio): v1.3 release and add spectrograms to audio transform UI

πŸ”§ Bug Fixes & Patches (6)

  • **Configurable WebRTC ICE candidates (#10231).** New `LOCALAI_WEBRTC_NAT_1TO1_IPS` / `LOCALAI_WEBRTC_ICE_INTERFACES` knobs fix `/v1/realtime` calls dropping a few seconds in under Docker host networking (unroutable `docker0`/`veth` candidates).
  • **Backend capability registration fixes** so the right backend is picked for the right job: register 5 backends missing from `BackendCapabilities` (#10107), and add face/speaker-recognition constants registering `insightface` + `speaker-recognition` (#10110).
  • fix(config): register 5 backends missing from BackendCapabilities
  • fix(config): register parakeet-cpp as a transcript backend (#9718)
  • fix(parakeet-cpp): cublas/hipblas/vulkan builds were silently CPU-only
  • fix(nemo): pin texterrors to 1.1.6 for GLIBCXX compatibility
πŸ“„ View Raw Release Notes (Original Developer Log)
# πŸŽ‰ LocalAI 4.4.0 Release! πŸš€ <h1 align="center"> <br> <img height="300" src="https://raw.githubusercontent.com/mudler/LocalAI/refs/heads/master/core/http/static/logo.png"> <br> <br> </h1> LocalAI 4.4.0 is out! This is a big, **multimodal-and-distributed** release. Two brand-new audio backends land - **parakeet.cpp** (NVIDIA NeMo Parakeet ASR) and **CrispASR** (a multi-architecture ASR **and** TTS engine) - alongside native **object detection + segmentation** (`rfdetr-cpp`), **video understanding** in `llama-cpp`, and **LTX-2 video generation** in `stablediffusion-ggml`. Distributed mode grows up: **prefix-cache-aware routing** is on by default, and file transfers become **resumable**. There's a new **intelligent middleware** layer for request routing, PII filtering and cloud-model proxying, a **security hardening** pass that closes a credential-leak class across every outbound HTTP client, an interactive **`local-ai chat`** CLI, **RAG source citations** for agents, and a long run of reasoning / tool-call streaming fixes. --- ## πŸ“Œ TL;DR | Area | Summary | |------|---------| | πŸŽ™οΈ **Two new ASR backends** | `parakeet-cpp` (NeMo FastConformer TDT/CTC/RNNT, streaming, word/segment timestamps) and `crispasr` (many ASR architectures **+ TTS** in one binary). | | 🧭 **Intelligent Middleware** | Capability-based model **routing**, **PII** detection/redaction, **cloud-model proxies** + a MITM proxy for subscription-auth Claude Code / Codex. | | πŸ›°οΈ **Distributed v4** | Prefix-cache-aware routing (on by default), **NATS JWT auth + TLS/mTLS**, worker registration-token enforcement, resumable HTTP file transfers, boot-time model prefetch, ds4 layer-split inference. | | πŸŽ₯ **Video, both ways** | Video **input** (understanding) in `llama-cpp` via mtmd, and video **generation** via **LTX-2** in `stablediffusion-ggml`. | | πŸ‘οΈ **Detection + Segmentation** | New native `rfdetr-cpp` backend (RF-DETR), 32 prebuilt GGUFs, bbox + per-detection PNG masks. | | πŸ” **Outbound HTTP hardening** | `pkg/httpclient` refuses cross-host credential-leaking redirects across every outbound client (GHSA-3mj3-57v2-4636). | | πŸ—£οΈ **TTS per-request control** | `instructions` + a generic `params` map plumbed end to end (Qwen3-TTS VoiceDesign / CustomVoice, Chatterbox). | | πŸ’» **`local-ai chat`** | Interactive terminal chat against a running server, with `/models`, `/model`, `/clear`. | | πŸ“š **RAG citations** | Agent answers now append a clickable `Sources:` block from the Knowledge Base. | | 🧠 **Models** | Gemma 4 QAT family + QAT-matched **MTP** speculative-decoding bundles, Ideogram4, LTX-2.3 22B GGUFs. | --- ## πŸš€ New Features & Major Enhancements ### πŸŽ™οΈ Audio Gets Serious: Two New ASR Backends This release doubles down on speech-to-text with two independent, cgo-less Go backends (purego, `CGO_ENABLED=0`), each shipping a full CI matrix, gallery importer and docs. **`parakeet-cpp` - NVIDIA NeMo Parakeet (#10084).** Wraps [parakeet.cpp](https://github.com/mudler/parakeet.cpp), a C++/ggml port of NeMo Parakeet (FastConformer TDT/CTC/RNNT/hybrid) that matches the upstream PyTorch models on CPU. Text transcription, OpenAI-compatible **word timestamps**, and **cache-aware streaming** (16 kHz PCM chunks, `<EOU>`/`<EOB>` utterance boundaries). GGUFs for all 10 Parakeet models Γ— 5 quants ship in [`mudler/parakeet-cpp-gguf`](https://huggingface.co/mudler/parakeet-cpp-gguf). Follow-ups in this cycle made it production-grade: - **Dynamic batching (#10112)** - concurrent transcription requests are batched for throughput. - **Real, NeMo-faithful segment timestamps (#10207)** - words are grouped into segments exactly like NeMo's `get_segment_offsets` (sentence-punctuation boundaries by default, opt-in `segment_gap_threshold` silence splitting in encoder frames). Streaming `FinalResult` segments now carry `start`/`end` when the library exposes the ABI v4 JSON entry points. - **`nemotron-3.5-asr` multilingual streaming (#10199)** + per-request language selection. **`crispasr` - many architectures + TTS in one backend (#10099).** Wraps [CrispASR](https://github.com/CrispStrobe/CrispASR) (a whisper.cpp/ggml fork, MIT) through its session C-ABI. One backend serves **ASR or TTS** depending on the loaded model, with the architecture auto-detected from the GGUF (or forced via `backend:`). The gallery gains **36 `-crispasr` entries (32 ASR + 4 TTS)**: - **ASR** (e2e-verified across Whisper / Parakeet / Moonshine): parakeet, canary, cohere, qwen3, voxtral, granite, fastconformer-ctc, wav2vec2, hubert, data2vec, glm-asr, kyutai-stt, firered-asr, moonshine, mimo-asr, and more. - **TTS** (all four e2e-verified to valid 24 kHz mono WAV): **vibevoice**, **chatterbox**, **qwen3-tts CustomVoice**, **orpheus** - via `backend:` / `codec:` / `speaker:` / `voice:` model options. --- ### 🧭 Intelligent Middleware: Routing, PII Filtering & Cloud Proxies A new middleware layer (#9802) analyzes, routes, filters and transforms chat requests before they hit a model. - **Capability-based routing.** Requests are classified (e.g. via an ArchRouter-style model) and scored across the capabilities they may require, then routed to the smallest model that satisfies them - easy requests go to small specialized models, hard or uncertain ones to larger general-purpose models. Classified embeddings are reused via cosine similarity so similar requests skip re-classification. - **PII filtering.** Private information is detected per-pattern and can be **redacted, rerouted, or blocked**, with a streaming PII filter that preserves a buffered-emit invariant on `/v1/chat/completions`, Anthropic `/v1/messages`, and `/v1/completions`. A per-model PII pattern editor lives in the model config UI. - **Cloud model proxies + MITM.** Cloud models and a MITM proxy can take part in routing/filtering - send easy requests to local models and hard ones to the cloud, and use **Claude Code / Codex subscriptions (OAuth)** through the PII filter via the MITM proxy (subject to provider ToS). Emits `proxy_connect` + `proxy_traffic` audit events and restores its listener from `runtime_settings.json` on restart. Usage stats are recorded end to end and surfaced in REST, the UI, and MCP. Outbound clients used by this path were also the trigger for the security pass below. --- ### πŸ›°οΈ Distributed Mode v4 Distributed mode keeps maturing across routing, security and resilience. **Prefix-cache-aware routing, on by default (#10071).** Routing now biases toward the replica that already holds the relevant KV/prefix cache, as a **load-guarded hint that never routes worse than today's round-robin**. A generic prefix tree (`pkg/radixtree`) maps cumulative prompt-prefix hashes to nodes; `core/services/nodes/prefixcache` turns the rendered prompt into a deterministic xxhash chain and makes a filter-then-score decision (narrow to load-eligible replicas, then prefer the longest-prefix match), feeding a `preferredNodeID` into the existing atomic `SELECT ... FOR UPDATE` pick. Observations sync across frontends over NATS. Round-robin is the floor; disable with `--distributed-prefix-cache=false`. **NATS JWT auth + TLS/mTLS (#10159).** Previously anyone with access to the NATS port could publish backend-install messages or agent jobs (an SSRF / accidental-exposure risk). This adds JWT authentication and TLS/mTLS options, with workers acquiring and auto-refreshing their NATS credentials. Complemented by **worker file-transfer registration-token enforcement (#10183)**. **Resumable file transfers (#10109).** Large model GGUFs over flaky/throttled links no longer restart from byte 0. The worker's `PUT /v1/files/<key>` honors `Content-Range` (308/416 resume semantics, `X-Content-SHA256` binding, final-hash verification) and the master-side stager HEAD-probes for the last accepted offset and resumes, switching to an outer time budget (`LOCALAI_FILE_TRANSFER_BUDGET`, default 1h) with exponential backoff. **ds4 layer-split distributed inference (#10098).** Manual layer-split inference for the ds4 backend: a **coordinator** owns layers `0:K` and listens; **workers** dial in and own higher ranges, each loading only its slice of the GGUF (a new dependency-free `ds4-worker` binary, driven via `local-ai worker ds4-distributed`). Fully back-compatible when `ds4_role` is absent. **Operational glue.** Boot-time gallery prefetch via `LOCALAI_PREFETCH_MODELS` (#10108); a gated `X-LocalAI-Node` response header for attribution (#9976); plus fixes: self-heal stale "model not loaded" routing (#10181), stage directory-based models to remote nodes (#10175), in-flight tracking for non-LLM methods - VAD, diarize, voice (#10238), reconciler survives frontend restarts (#9981), cross-replica OpCache sync (#9983), and the reinstall/upgrade UI no longer sticks on "reinstalling" (#10214). --- ### πŸŽ₯ Video, Both Directions **Video input / understanding in `llama-cpp` (#10216).** Video-capable multimodal models (e.g. SmolVLM2-Video) can now be sent a video in a chat request, mirroring the existing image and audio paths. Tracks the upstream mtmd video landing (ggml-org/llama.cpp#24269); `grpc-server.cpp` forwards `request->videos()` into the mtmd `files` vector on both the template and non-template paths, and the React chat UI accepts `video/*`, renders an inline `<video controls>` player, and emits `video_url` content parts. `allow_video` is auto-gated by whether the loaded mmproj supports it. ffmpeg/ffprobe (already in the runtime image) extract frames. **Video generation via LTX-2 (#9980).** `stablediffusion-ggml` wires `audio_vae_path` and `embeddings_connectors_path` through to the upstream LTX-2 fields, with a new `gallery/ltx-ggml.yaml` template (T2V / I2V / FLF2V recipes) and **six LTX-2.3 22B GGUF gallery entries** (dev + distilled, UD-Q4_K_M / Q4_K_M / Q8_0), each bundling the text encoder + video VAE + audio VAE + embeddings connectors. Follow-up fixes wired the `diffusion_model` flag and `vae_decode_only:false` for the i2v/flf2v paths (#9986, #9987) and muxed LTX-2 audio into the output MP4 (#9990). --- ### πŸ‘οΈ Native Object Detection + Segmentation: `rfdetr-cpp` A new Go native gRPC backend (#10028) dlopens `librfdetr.so` (built from [mudler/rf-detr.cpp](https://github.com/mudler/rf-detr.cpp)) and exposes the RF-DETR pipeline through LocalAI's `Detect` RPC. Supports all 5 detection variants (Nano…Large) and 3 segmentation variants (SegNano/SegSmall/SegMedium) at F32/F16/Q8_0/Q4_K, with **32 prebuilt GGUFs** on HuggingFace. Detection returns bbox + class_name + confidence; segmentation adds **per-detection PNG-encoded masks**. Matches PyTorch on CPU (sub-pixel bbox match, mask IoU 0.99+), with an HF gallery importer that auto-routes GGUF repos to the native backend. > πŸ”— PR: #10028. Also new: **Ideogram4** support in `stablediffusion-ggml` (#10201). --- ### πŸ—£οΈ TTS: Per-Request Instructions & Params The OpenAI-compatible `/v1/audio/speech` `instructions` field was silently dropped at the HTTPβ†’gRPC boundary, so style/voice could only come from static YAML. PR #10172 plumbs a generic per-request `instructions` string **and** an optional backend-specific `params` map end to end (proto, schema, `core/backend/tts.go`), unlocking per-line emotion/style (Qwen3-TTS CustomVoice, Chatterbox) and describe-a-voice (Qwen3-TTS VoiceDesign) from a single model config. Fully backward compatible - empty `instructions` falls back to YAML. ```bash curl http://localhost:8080/v1/audio/speech -H "Content-Type: application/json" -d '{ "model": "qwen-tts-design", "input": "Hello world, this is a test.", "instructions": "A calm, low-pitched elderly storyteller with a warm tone." }' ``` Also: Qwen3-TTS request-language normalization for flexible matching (#10174), and LocalVQE **v1.3** with input/output spectrogram views in the Audio Transform UI (#10113). --- ### 🧠 Reasoning & Tool-Call Streaming Hardening A focused run of correctness fixes for reasoning models and streaming tool calls: - **`reasoning_effort` honored per request** and forwarded to the backend so jinja models can act on it (#10082, #10184). - **`<think>` parsing**: stop `<think>` leaking into content in pure-content mode (#9991), stop a prefilled `<think>` from swallowing tag-less answers (#10225), and don't auto-enable self-spec MTP for draft-only assistant GGUFs (#10208). - **Streaming + tools**: stop tool-call double-emission when the autoparser is active (#10055), stop tool-call JSON leaking into content on tokenizer-template models (#10057), validate auto-detected XML tool-call names with a robust glm-4.5/Hermes guard (#10059), and stop healing-marker stubs / prefill-misclassified content from corrupting the stream (#9999, #10000). --- ### πŸ’» `local-ai chat` + πŸ“š RAG Citations + πŸ›°οΈ Realtime - **Interactive CLI chat (#10226).** A new opt-in `local-ai chat` command connects to a running server over the OpenAI-compatible API, streams completions, and supports `/models`, `/model <name>`, `/clear`, `/exit`. Keeps `local-ai run` focused on the server lifecycle. (Fixes #1535.) - **RAG source citations (#10228).** When an agent answers from the Knowledge Base, the response now appends a clickable `Sources:` block listing the original documents - deduplicated per source, with the citation-free version saved to long-term memory. (Closes #9331.) - **Configurable WebRTC ICE candidates (#10231).** New `LOCALAI_WEBRTC_NAT_1TO1_IPS` / `LOCALAI_WEBRTC_ICE_INTERFACES` knobs fix `/v1/realtime` calls dropping a few seconds in under Docker host networking (unroutable `docker0`/`veth` candidates). - **"Fits in my GPU" filter (#10017)** on the Install Models page, plus a single shared `/api/operations` poller across UI consumers (#10029) and a React bundle code-split (#10042). --- ### 🧩 Backend Capability Registration & Startup Speed - **Backend capability registration fixes** so the right backend is picked for the right job: register 5 backends missing from `BackendCapabilities` (#10107), and add face/speaker-recognition constants registering `insightface` + `speaker-recognition` (#10110). - **Faster startup (#10213)**: skip vocab arrays and mmap GGUF headers during config parsing. --- <details> <summary> Click for the full changelog below! </summary> ## What's Changed ### Bug fixes :bug: * fix(config): register 5 backends missing from BackendCapabilities by @Dennisadira in https://github.com/mudler/LocalAI/pull/10107 * fix(config): register parakeet-cpp as a transcript backend (#9718) by @Dennisadira in https://github.com/mudler/LocalAI/pull/10106 * fix(parakeet-cpp): cublas/hipblas/vulkan builds were silently CPU-only by @localai-bot in https://github.com/mudler/LocalAI/pull/10120 * fix(nemo): pin texterrors to 1.1.6 for GLIBCXX compatibility by @fqscfqj in https://github.com/mudler/LocalAI/pull/10134 * fix(parakeet-cpp): convert audio before the non-batched transcribe path by @localai-bot in https://github.com/mudler/LocalAI/pull/10161 * fix(distributed): stage directory-based models to remote nodes by @localai-bot in https://github.com/mudler/LocalAI/pull/10175 * fix(config): add face/speaker recognition constants and register insightface + speaker-recognition by @Dennisadira in https://github.com/mudler/LocalAI/pull/10110 * fix(distributed): self-heal stale 'model not loaded' routing by @localai-bot in https://github.com/mudler/LocalAI/pull/10181 * fix(docs): use relearn notice shortcode instead of unsupported alert by @localai-bot in https://github.com/mudler/LocalAI/pull/10206 * fix(mtp): don't auto-enable self-spec MTP for draft-only assistant GGUFs by @localai-bot in https://github.com/mudler/LocalAI/pull/10208 * fix(config): skip vocab arrays and mmap GGUF headers to speed up startup by @Dennisadira in https://github.com/mudler/LocalAI/pull/10213 * fix: distributed backend reinstall/upgrade UI stuck on 'reinstalling' by @localai-bot in https://github.com/mudler/LocalAI/pull/10214 * fix(reasoning): stop prefilled <think> from swallowing tag-less answers by @localai-bot in https://github.com/mudler/LocalAI/pull/10225 * fix(cli): handle chat output errors by @Oceankj in https://github.com/mudler/LocalAI/pull/10229 * fix(distributed): track in-flight for non-LLM inference methods (VAD, diarize, voice, ...) by @localai-bot in https://github.com/mudler/LocalAI/pull/10238 ### Exciting New Features πŸŽ‰ * feat: prefix-cache-aware routing for distributed mode by @localai-bot in https://github.com/mudler/LocalAI/pull/10071 * feat(ds4): layer-split distributed inference by @localai-bot in https://github.com/mudler/LocalAI/pull/10098 * feat(crispasr): add CrispASR backend β€” multi-architecture ASR + TTS by @localai-bot in https://github.com/mudler/LocalAI/pull/10099 * feat(worker): add LOCALAI_PREFETCH_MODELS for boot-time gallery prefetch by @localai-bot in https://github.com/mudler/LocalAI/pull/10108 * feat(distributed): resumable file uploads via HTTP Content-Range by @localai-bot in https://github.com/mudler/LocalAI/pull/10109 * feat(localvqe/audio): v1.3 release and add spectrograms to audio transform UI by @richiejp in https://github.com/mudler/LocalAI/pull/10113 * feat(parakeet-cpp): dynamic batching for concurrent transcription requests by @localai-bot in https://github.com/mudler/LocalAI/pull/10112 * feat(distributed): Add NATS JWT authentication and TLS/mTLS options by @richiejp in https://github.com/mudler/LocalAI/pull/10159 * feat(tts): support per-request instructions and params by @localai-bot in https://github.com/mudler/LocalAI/pull/10172 * feat(qwen3-tts-cpp): normalize request language for flexible matching by @localai-bot in https://github.com/mudler/LocalAI/pull/10174 * feat(distributed): enforce registration token for worker file transfer by @richiejp in https://github.com/mudler/LocalAI/pull/10183 * feat: forward reasoning_effort to the backend so jinja models honor it by @localai-bot in https://github.com/mudler/LocalAI/pull/10184 * Harden gallery-agent Hugging Face fetches against transient rate limiting by @Copilot in https://github.com/mudler/LocalAI/pull/10187 * feat(parakeet-cpp): nemotron-3.5-asr multilingual streaming model + request language support by @localai-bot in https://github.com/mudler/LocalAI/pull/10199 * feat: support Ideogram4 in stablediffusion-ggml backend + gallery by @localai-bot in https://github.com/mudler/LocalAI/pull/10201 * feat(parakeet-cpp): real segment timestamps (NeMo-faithful) by @localai-bot in https://github.com/mudler/LocalAI/pull/10207 * feat(llama-cpp): video input support (mtmd #24269) by @localai-bot in https://github.com/mudler/LocalAI/pull/10216 * feat(agents): surface KB source citations in RAG responses by @petechentw in https://github.com/mudler/LocalAI/pull/10228 * feat(cli): add interactive chat mode by @Oceankj in https://github.com/mudler/LocalAI/pull/10226 * feat(realtime): make WebRTC ICE candidates configurable by @localai-bot in https://github.com/mudler/LocalAI/pull/10231 ### 🧠 Models * chore(model gallery): :robot: add 1 new models via gallery agent by @localai-bot in https://github.com/mudler/LocalAI/pull/10163 * chore(model gallery): :robot: add 1 new models via gallery agent by @localai-bot in https://github.com/mudler/LocalAI/pull/10200 * chore(model gallery): :robot: add 1 new models via gallery agent by @localai-bot in https://github.com/mudler/LocalAI/pull/10209 * feat(gallery): add Gemma 4 QAT family + MTP speculative-decoding pairs by @localai-bot in https://github.com/mudler/LocalAI/pull/10215 ### πŸ“– Documentation and examples * docs: :arrow_up: update docs version mudler/LocalAI by @localai-bot in https://github.com/mudler/LocalAI/pull/10091 * docs: :arrow_up: update docs version mudler/LocalAI by @localai-bot in https://github.com/mudler/LocalAI/pull/10114 * docs: fix documentation typos by @Zhao73 in https://github.com/mudler/LocalAI/pull/10125 * docs(llama.cpp): note tensor split now works with quantized KV cache by @mudler in https://github.com/mudler/LocalAI/pull/10135 * docs: position LocalAI as a composable engine, not a bundle by @localai-bot in https://github.com/mudler/LocalAI/pull/10136 * docs: architecture & feature diagrams (blueprint style) by @localai-bot in https://github.com/mudler/LocalAI/pull/10137 * docs: fix distributed-mode diagram (workers use NATS, not PostgreSQL) by @localai-bot in https://github.com/mudler/LocalAI/pull/10138 ### πŸ‘’ Dependencies * chore: :arrow_up: Update ikawrakow/ik_llama.cpp to `3f40e73c367ad9f0c1b1819f28c7348c26aa340d` by @localai-bot in https://github.com/mudler/LocalAI/pull/10097 * chore: :arrow_up: Update antirez/ds4 to `ba00a8a88c4c5810a3d1fed6b7b8fa2b44b82fdc` by @localai-bot in https://github.com/mudler/LocalAI/pull/10095 * chore: :arrow_up: Update leejet/stable-diffusion.cpp to `d2797b86670622b6538123b4aeb5fbb6be2653c5` by @localai-bot in https://github.com/mudler/LocalAI/pull/10094 * chore: :arrow_up: Update ggml-org/llama.cpp to `d6588daa800058dfa54f1d7ea695b1a810c8ae18` by @localai-bot in https://github.com/mudler/LocalAI/pull/10093 * chore: :arrow_up: Update mudler/parakeet.cpp to `cb45f68068081af01e7092e91b038ee353eb56be` by @localai-bot in https://github.com/mudler/LocalAI/pull/10116 * chore: :arrow_up: Update ggml-org/whisper.cpp to `fe69461618ffc50ba8afa65c25cc6c6e34d4537f` by @localai-bot in https://github.com/mudler/LocalAI/pull/10117 * chore: :arrow_up: Update leejet/stable-diffusion.cpp to `be65ac7511b30379b003626c15224798929e33d4` by @localai-bot in https://github.com/mudler/LocalAI/pull/10118 * chore: :arrow_up: Update ggml-org/llama.cpp to `399739d5c5978351f39e3454bfbfbab4f369088f` by @localai-bot in https://github.com/mudler/LocalAI/pull/10119 * chore(model-gallery): :arrow_up: update checksum by @localai-bot in https://github.com/mudler/LocalAI/pull/10131 * chore: :arrow_up: Update ggml-org/whisper.cpp to `23ee03506a91ac3d3f0071b40e66a430eebdfa1d` by @localai-bot in https://github.com/mudler/LocalAI/pull/10130 * chore: :arrow_up: Update leejet/stable-diffusion.cpp to `7948df8ac1070f5f6881b8d34675821893eb97d6` by @localai-bot in https://github.com/mudler/LocalAI/pull/10127 * chore: :arrow_up: Update mudler/parakeet.cpp to `8a7c48209d7882a7ce79a6b306270e4703194543` by @localai-bot in https://github.com/mudler/LocalAI/pull/10129 * chore: :arrow_up: Update ggml-org/llama.cpp to `5dcb71166686799f0d873eab7386234302d05ecf` by @localai-bot in https://github.com/mudler/LocalAI/pull/10128 * chore: :arrow_up: Update CrispStrobe/CrispASR to `05e60432bcb5bc2113f8c395a41e86497c11504a` by @localai-bot in https://github.com/mudler/LocalAI/pull/10115 * chore(deps): bump github.com/mudler/edgevpn from 0.32.2 to 0.34.0 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/10153 * chore: :arrow_up: Update mudler/parakeet.cpp to `9edf17c3ada66e0f881dcff155492867db7ac4cf` by @localai-bot in https://github.com/mudler/LocalAI/pull/10141 * chore(deps): bump go.opentelemetry.io/otel/exporters/prometheus from 0.65.0 to 0.66.0 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/10151 * chore(deps): bump grpcio from 1.80.0 to 1.81.0 in /backend/python/vllm by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/10157 * chore(deps): bump github.com/google/go-containerregistry from 0.21.5 to 0.21.6 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/10149 * chore: :arrow_up: Update leejet/stable-diffusion.cpp to `2d40a8b2adcdf8b5b0ca0535f3bb7801b6ba13e5` by @localai-bot in https://github.com/mudler/LocalAI/pull/10144 * chore(deps): bump securego/gosec from 2.22.9 to 2.27.1 by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/10147 * chore: :arrow_up: Update ggml-org/whisper.cpp to `610e664ba7cfe3af46125ed1b5a1184fccb51bcd` by @localai-bot in https://github.com/mudler/LocalAI/pull/10140 * chore(deps): bump grpcio from 1.80.0 to 1.81.0 in /backend/python/transformers by @dependabot[bot] in https://github.com/mudler/LocalAI/pull/10158 * chore: :arrow_up: Update ggml-org/llama.cpp to `5c394fdc8b564eff6faacc50a139529d875f0e36` by @localai-bot in https://github.com/mudler/LocalAI/pull/10143 * chore: :arrow_up: Update antirez/ds4 to `477c0e82e2699b35a65fd0a1ed6fe66b41087dfe` by @localai-bot in https://github.com/mudler/LocalAI/pull/10142 * chore(model-gallery): :arrow_up: update checksum by @localai-bot in https://github.com/mudler/LocalAI/pull/10169 * chore: :arrow_up: Update ggml-org/llama.cpp to `94a220cd6745e6e3f8de62870b66fd5b9bc92700` by @localai-bot in https://github.com/mudler/LocalAI/pull/10168 * chore: :arrow_up: Update leejet/stable-diffusion.cpp to `1f9ee88e09c258053fa59d5e05e23dfb10fa0b13` by @localai-bot in https://github.com/mudler/LocalAI/pull/10166 * chore: :arrow_up: Update CrispStrobe/CrispASR to `13d54e110e1538e0f0bc3af0680b9ab246cfb48d` by @localai-bot in https://github.com/mudler/LocalAI/pull/10145 * chore: :arrow_up: Update predict-woo/qwen3-tts.cpp to `136e5d36c17083da0321fd96512dc7b263f94a44` by @localai-bot in https://github.com/mudler/LocalAI/pull/10165 * chore: :arrow_up: Update mudler/parakeet.cpp to `b11fe5bca78ad8b342dd559a43d76df3984bb447` by @localai-bot in https://github.com/mudler/LocalAI/pull/10167 * chore: :arrow_up: Update ikawrakow/ik_llama.cpp to `1520eda980564241434b791ce2bbbd128c4be9ea` by @localai-bot in https://github.com/mudler/LocalAI/pull/10180 * chore: :arrow_up: Update ggml-org/llama.cpp to `7c158fbb4aec1bdc9c81d6ca0e785139f4826fae` by @localai-bot in https://github.com/mudler/LocalAI/pull/10179 * chore: :arrow_up: Update ggml-org/whisper.cpp to `99613cb720b65036237d44b52f753b51f75c2797` by @localai-bot in https://github.com/mudler/LocalAI/pull/10178 * chore: :arrow_up: Update vllm-project/vllm cu130 wheel to `0.22.1` by @localai-bot in https://github.com/mudler/LocalAI/pull/10188 * chore: bump LocalAGI + localrecall (fix pgvector hybrid search seqscan, #10186) by @localai-bot in https://github.com/mudler/LocalAI/pull/10192 * chore: :arrow_up: Update mudler/parakeet.cpp to `843600590f96a31467a5199f827c253f34c110f7` by @localai-bot in https://github.com/mudler/LocalAI/pull/10198 * chore: :arrow_up: Update ikawrakow/ik_llama.cpp to `6b9de3dbaa21ae95ea80638e5ee836795cc48c93` by @localai-bot in https://github.com/mudler/LocalAI/pull/10190 * chore: :arrow_up: Update mudler/parakeet.cpp to `abd0087dcc92ec5ad1f96f9fd86c49eb26a5ce67` by @localai-bot in https://github.com/mudler/LocalAI/pull/10204 * chore: :arrow_up: Update ggml-org/whisper.cpp to `a8ec021f2750a473ff4a8f3883bc9fdf5feafa84` by @localai-bot in https://github.com/mudler/LocalAI/pull/10202 * chore(turboquant): bump to 7d9715f1 + fix compilation against rebased fork by @localai-bot in https://github.com/mudler/LocalAI/pull/10205 * chore: :arrow_up: Update ggml-org/llama.cpp to `31e82494c0a3913c919c1027fa70500fbf4c07dd` by @localai-bot in https://github.com/mudler/LocalAI/pull/10191 * chore: :arrow_up: Update mudler/parakeet.cpp to `e270af73b94c9a5c37ec516230219ed4580e1db6` by @localai-bot in https://github.com/mudler/LocalAI/pull/10212 * chore: :arrow_up: Update leejet/stable-diffusion.cpp to `b3d56d0ba1bd437886079e339118e8e75bb79ee7` by @localai-bot in https://github.com/mudler/LocalAI/pull/10211 * chore: :arrow_up: Update ggml-org/llama.cpp to `9e3b928fd8c9d14dbf15a8768b9fdd7e5c721d66` by @localai-bot in https://github.com/mudler/LocalAI/pull/10210 * chore: :arrow_up: Update antirez/ds4 to `c463029c205c2ec8d7ab6c0df4a3f52979091286` by @localai-bot in https://github.com/mudler/LocalAI/pull/10189 * chore: :arrow_up: Update CrispStrobe/CrispASR to `f7838a306687f22c281d29c250f879a4ab3df2d7` by @localai-bot in https://github.com/mudler/LocalAI/pull/10177 * chore: :arrow_up: Update antirez/ds4 to `512d07cb08f234b704b5a5959aa9e2d4c466eeb0` by @localai-bot in https://github.com/mudler/LocalAI/pull/10224 * chore: :arrow_up: Update ikawrakow/ik_llama.cpp to `2768b6251548b78b6610e95edad13f888ad95982` by @localai-bot in https://github.com/mudler/LocalAI/pull/10219 * chore: :arrow_up: Update leejet/stable-diffusion.cpp to `19bdfe22d255d5b4dff39d449318b9bc5ea2317f` by @localai-bot in https://github.com/mudler/LocalAI/pull/10222 * chore: :arrow_up: Update CrispStrobe/CrispASR to `97cad527d247edefc904e6c40c4cf5ee78bed055` by @localai-bot in https://github.com/mudler/LocalAI/pull/10221 * chore: :arrow_up: Update ggml-org/whisper.cpp to `df7638d8229a243af8a4b5a8ae557e0d74e0a0ae` by @localai-bot in https://github.com/mudler/LocalAI/pull/10220 * chore: :arrow_up: Update ikawrakow/ik_llama.cpp to `e6f8112f3ba126eed3ff5b30cdd08085414a7516` by @localai-bot in https://github.com/mudler/LocalAI/pull/10233 * chore: :arrow_up: Update antirez/ds4 to `91bafb5acd5a6cf00b1e55ef68bf40ddd207bee7` by @localai-bot in https://github.com/mudler/LocalAI/pull/10234 * chore: :arrow_up: Update ggml-org/llama.cpp to `039e20a2db9e87b2477c76cc04905f3e1acad77f` by @localai-bot in https://github.com/mudler/LocalAI/pull/10223 * chore: :arrow_up: Update CrispStrobe/CrispASR to `c29f6653a516a3001d923944dad8892072cc7334` by @localai-bot in https://github.com/mudler/LocalAI/pull/10236 ### Other Changes * refactor(routing): extract replica picker into pkg/clusterrouting by @localai-bot in https://github.com/mudler/LocalAI/pull/10123 * test(react-ui): add page render-smoke specs, reset the coverage gate by @richiejp in https://github.com/mudler/LocalAI/pull/10122 </details> --- ## πŸ™Œ New Contributors * @TLoE419 made their first contribution in https://github.com/mudler/LocalAI/pull/9978 * @fqscfqj made their first contribution in https://github.com/mudler/LocalAI/pull/10012 * @bozhouDev made their first contribution in https://github.com/mudler/LocalAI/pull/10055 * @Oceankj made their first contribution in https://github.com/mudler/LocalAI/pull/10019 * @Zhao73 made their first contribution in https://github.com/mudler/LocalAI/pull/10125 * @petechentw made their first contribution in https://github.com/mudler/LocalAI/pull/10228 Enjoy! --- **Full Changelog**: https://github.com/mudler/LocalAI/compare/v4.3.0...v4.4.0