Last updated: November 13, 2026
llama.cpp 1.0.0, released November 13, 2026, is the first semantically versioned release of the local inference engine. It removes the deprecated C API, adds FP8 KV caches, a MoE expert cache and external shard loading, hardens llama-server, adds an OpenAI-compatible speech endpoint and ships a redesigned web UI.
Our earlier llama.cpp 0.9.0 guide covered the November 4 release. This guide covers only what changed in 1.0.0 and what to check before you upgrade.
Contents
- What is new in 1.0.0
- The new versioning rules
- Breaking API changes
- FP8 KV cache, MoE cache and shards
- llama-server security and speech
- How to upgrade safely
- Frequently asked questions
What is new in 1.0.0
The v1.0.0 release notes group the changes as follows.
| Area | What changed in 1.0.0 |
|---|---|
| Public API | Deprecated functions removed; NextN (speculative) API promoted from llama-ext.h to llama.h |
| KV cache | OCP FP8 caches with -ctk/-ctv f8_e4m3, with optional static per-tensor scales |
| MoE models | Host-memory expert cache with a configurable CPU share for cache misses |
| Model files | External PLE/engram loading from separate GGUF shards via --shard or --ple |
| New models | Kimi-K3.1-Pro, Ripple-65B-Preview, xing4_0 text models; drama-3 TTS; MageVL-Cowork and Kimi-K3.1 vision |
| Server | SSRF, CORS and DNS rebinding fixes, MCP tool cancellation, new /v1/audio/speech endpoint |
| Web UI | Chat groups, foldable sidebar, live-preview markdown editor, native phone layout |
| ggml | Updated to ggml v1.0.0 |
The Hugging Face announcement says llama.cpp now supports more than 150 architecture variants and all mainstream speculative decoding methods (Hugging Face blog).
The new versioning rules
The practical headline is stability. Until now, downstream apps had to track a fast-moving library with frequent interface changes. From 1.0.0, both llama.cpp (libllama) and ggml (libggml) signal API and ABI incompatibilities with major-version bumps.
| Bump | Meaning |
|---|---|
| Major | Breaking change to the public C API in ./include |
| Minor | Backward-compatible feature, backend update, model support or API addition |
| Patch | Bug fix with no API change |
Numbered nightly builds such as b12366 continue alongside the tagged release. The blog lists distribution through pre-release artifacts for Linux, macOS, Windows, Android and iOS, plus Docker, Debian, Homebrew, conda-forge, MacPorts, Winget and an XCFramework for Apple platforms.
Breaking API changes
If you embed llama.cpp in your own code, review these items from the release notes before you rebuild:
llama_set_warmup, 35 deprecated functions anddefrag_tholdare removed fromllama.h, along with the--defrag-tholdflag.llama_set_embd_state_srcis renamed tollama_set_ctx_state_src.llama_context_paramsgainsmoe_cache_sizeandmoe_cache_cpu_share.clip.his removed, and the multimodal model code is consolidated intomtmd.mtmd-helper.haddsmtmd_helper_resamplerfor streaming raw PCM at the model’s sample rate.
Projects that only call the command-line tools or the server API are less affected, but scripts that still pass --defrag-thold need updating.
FP8 KV cache, MoE cache and shards
FP8 KV cache. The server documentation now lists f8_e4m3 as an allowed value for -ctk and -ctv, next to f16 (the default), bf16 and the quantized types. The same values apply to the draft model’s cache flags for speculative decoding.
MoE expert cache. For mixture-of-experts models whose experts stay in system memory, --moe-cache-mib N sets a GPU cache in MiB for those experts (default 0, disabled). --moe-cache-cpu-share F, from 0 to 1, sets the share of cache misses the CPU computes instead of uploading experts to the GPU once the cache is full. The release notes add LRFU and ClassLRU replacement policies, and the CPU no longer waits on cached experts.
External shards. --shard (alias --ple) loads extra GGUF shards from any path, including a different drive, and can be given more than once. This lets per-layer embedding or engram files live apart from the main model file.
Windows also gets an unbuffered model load path that mirrors the Linux DirectIO path.
llama-server security and speech
Version 1.0.0 tightens what a networked llama-server exposes. Two new opt-in flags reverse the stricter defaults:
--allow-unauthenticated-toolsallows server tools, MCP servers or the MCP proxy on a non-loopback address without an API key. The documentation says to use it only on trusted networks.--media-allow-private-urlsallows media URLs such asimage_urlthat point to local or private addresses. By default, only public addresses are fetched.
The release also fixes --cors-origins handling, DNS rebinding and a CORS proxy SSRF issue, restricts HF_TOKEN to huggingface.co hosts, and cancels MCP tool calls when a client disconnects or times out.
The new POST /v1/audio/speech endpoint follows the OpenAI Speech API for models that generate audio. Per the server documentation, it returns WAV by default (not MP3) or raw PCM, keeps the model’s native sample rate, accepts only speed 1.0 and ignores instructions. OpenAI voice names such as alloy are not mapped; use a voice listed by GET /props.
How to upgrade safely
- Read the release notes and note which removed functions or flags your code or scripts use.
- Remove
--defrag-tholdfrom launch scripts and replacellama_set_embd_state_srccalls withllama_set_ctx_state_src. - If you build from source, check out the
v1.0.0tag; if you use prebuilt binaries, the matching nightly is b12359. - If llama-server listens on a non-loopback address with tools or MCP enabled, set an API key rather than reaching for
--allow-unauthenticated-tools. - Test
-ctk f8_e4m3 -ctv f8_e4m3on one model with a fixed prompt and context length, and compare output quality and reported memory against your current cache type. - For large MoE models offloaded to the CPU, start with a modest
--moe-cache-mibvalue and adjust--moe-cache-cpu-sharewhile watching throughput. - Pin the major version in your package or build pipeline so a future 2.0.0 cannot break you unannounced.
Apps built on llama.cpp, such as Ollama and LM Studio Bionic, ship their own builds, so these changes reach them on their own schedules. For newly supported models, see our Ripple-65B Preview guide. For server-class serving, compare vLLM 0.32.
Frequently asked questions
When was llama.cpp 1.0.0 released?
The ggml-org team published llama.cpp v1.0.0 and ggml v1.0.0 on November 13, 2026, with an announcement on the Hugging Face blog. The release notes list nightly build b12359 as the matching asset.
Is llama.cpp 1.0.0 a breaking change?
Yes, for code that links against libllama. The release removes llama_set_warmup, 35 deprecated functions and the defrag_thold setting, renames llama_set_embd_state_src and removes clip.h. Users of the command-line tools mainly need to drop –defrag-thold.
What does the version number mean from now on?
Both llama.cpp and ggml now follow semantic versioning. A major bump marks a breaking change to the public C API, a minor bump adds backward-compatible features or model support, and a patch bump fixes bugs without an API change.
How do I use the FP8 KV cache in llama.cpp?
Pass -ctk f8_e4m3 and -ctv f8_e4m3 to llama-server or llama-cli. The server documentation lists f8_e4m3 alongside f16, bf16, q8_0 and other cache types, with f16 still the default.
Does llama-server 1.0.0 support text to speech?
Yes. It adds an OpenAI-compatible POST /v1/audio/speech endpoint for models that can generate audio. It returns WAV by default or raw PCM, accepts only speed 1.0, and does not map OpenAI voice names such as alloy.
Sources
- llama.cpp v1.0.0 release notes (GitHub, November 13, 2026)
- llama.cpp v1.0.0: A stronger foundation for the local AI ecosystem (Hugging Face blog, November 13, 2026)
- llama.cpp server README at v1.0.0 (GitHub)
- ggml v1.0.0 release (GitHub)