Skip to content
NLEN
Illustration: OpenAI pipeline found 948 Linux root bugs in one run: what autonomous bug hunting means

llama.cpp and ggml reach version 1.0: the C API becomes a contract

By Ivo Donker · — text: Claude (AI)

What changes with llama.cpp v1.0.0? On November 13, 2026 the ggml team shipped the first stable major version of llama.cpp and of its underlying library ggml. From now on, any change that breaks the public C API or the ABI gets a new major version number. The same release removes 35 deprecated functions, adds an FP8 KV cache and a cache for MoE experts, and hardens llama-server.

We read the release page on GitHub and the announcement on the Hugging Face blog. The topic also appeared in the trending briefing of November 14.

What happened

llama.cpp is the widely used C/C++ runtime for running language models locally, from a laptop to a server. Until now it shipped a steady stream of numbered builds (b-tags) with no promise about header stability. In the announcement on the Hugging Face blog, Daniel Bevenius and Georgi Gerganov write that llama.cpp and ggml will now reflect API and ABI incompatibilities with major-version bumps. They follow semantic versioning: a major for breaking changes to the public C API in ./include, a minor for additions, backends and model support, and a patch for bug fixes that leave the API alone.

The v1.0.0 release on GitHub appeared on November 13. ggml moves to 1.0.0 in the same release.

The details

The release cleans house. llama.h loses 35 deprecated functions, plus llama_set_warmup. The defrag_thold option and the --defrag-thold flag are gone, clip.h has been folded into mtmd, and llama_set_embd_state_src is now called llama_set_ctx_state_src. The NextN and speculative decoding API moves from llama-ext.h into llama.h. We explained how that technique works in our piece on speculative decoding.

The details
AreaWhat is new
KV cacheFP8 via -ctk/-ctv f8_e4m3, optionally with static per-tensor scales
MoEexpert cache with moe_cache_size and moe_cache_cpu_share in llama_context_params
Serveropt-in flags --allow-unauthenticated-tools and --media-allow-private-urls, fixes for CORS, DNS rebinding and SSRF
AudioOpenAI-compatible /v1/audio/speech endpoint and the drama-3 speech model
ArchitecturesKimi-K3.1-Pro, Ripple-65B-Preview and xing4_0; for vision MageVL-Cowork and Kimi-K3.1 vision

An FP8 KV cache roughly halves the memory the context takes compared with 16 bit. If you already shrink models, our piece on quantization in production gives the background. The expert cache targets mixture-of-experts models: part of the experts can stay in CPU memory, and the runtime no longer waits on the CPU for experts that are already cached. Why those models are cheaper to run is covered in our article on mixture of experts.

For llama-server, security comes first. Tools without authentication and media from private URLs now have to be switched on explicitly. HF_TOKEN is only sent to huggingface.co hosts, and MCP tool calls are cancelled when the connection drops or times out.

What this means

If you build an app, binding or plugin on llama.cpp, the versioning promise is the main change. Code that still calls the removed functions will not compile against 1.0; after that one-off fix you can pin a major version. If you use llama.cpp through Ollama, nothing changes yet: on November 14 the latest stable Ollama release on GitHub was v0.40.16 from November 9, with v0.40.17-rc0 as a test build. The rolling b-builds continue in parallel; the stable choice is v1.0.0. It fits the wider growth of open software for local models that we track in our overview of open-source LLM trends.

What we did not check

We did not build or benchmark v1.0.0 ourselves. How much memory the FP8 cache and the expert cache save in practice depends on model and hardware; the release gives no figures. We did not read Georgi Gerganov's announcement on X verbatim. Whether and when Ollama moves to the 1.0 API is not known.

Checked on November 14, 2026.

This article was written with AI (Claude) and checked against the sources below.

Sources