llama.cpp
llama.cpp 0.5.0 lets the server listen on several addresses and reads sampling settings from the environment
Checked by machine against llama.cpp’s page on · confirmed by no person.
llama.cpp 0.5.0 focuses on backend performance and correctness, broader model coverage, and more robust server and router operation. The project's own summary lists what that means: HRM-Text (DFM Mimir 1B) support, MiMo-V2.6 and HunyuanOCR conversion, ggml 0.25.0, multi-address HTTP binding, image outputs from function calls, and chat parser and interface fixes. The release page dates it 23 September, 20:50. If you run the built-in server, two of these change how you start it — and if you run models on a Mac or an NVIDIA card, two more change what happens under it.
What changed
The server can now bind to multiple addresses. In practice that is the--hostargument: it accepts comma-separated TCP addresses and UNIX sockets. The sampling settings you used to pass as arguments can now come from environment variables — temperature, top-p, min-p and the penalties. And a function call's output returned to the server can now carry aninput_image.
On models, the release adds HRM-Text / DFM Mimir 1B support and MiMo-V2.6 conversion support. For images, a SigLIP buffer overrun on tall or wide images is fixed.
Under the models, CUDA's conv2d is accelerated with implicit GEMM , and Metal gains MoE and SSM_CONV fusion optimizations. ggml moves to v0.25.0 , a release the page describes as expanding hyper-connection, flash-attention and fused MoE/SSM support across backends, with robustness, quantization, data-layout and RPC improvements. Its API changes include RPC protocol major version 7.
The router — the part of the server that starts one child process per model — gets two fixes: its eviction races and child-process lifecycle handling are fixed , and the log file and the API key file are no longer passed to the children it spawns.
What it was before
The page lists all of the above as the changes since v0.4.1. In that release, ggml went from v0.23.0 to v0.24.0 ; this one takes it to v0.25.0.
What it means for you
If you reach the server from more than one place — your own machine and your local network, say, or a UNIX socket for a local tool — you no longer need two servers or a proxy in front of one: give --hostthe addresses separated by commas.
If you run the server as a service or in a container, where setting the environment is easier than editing the command line, the sampling settings can now live there. The release note names the settings, not the variables; look the exact names up before you rely on them, and remember that an environment variable and an argument can now both set the same thing.
If you serve several models through the router and keep an API key in a file, that file is no longer handed to each child process. That is one fewer place a key is copied to, and a reason to update if you run the router on a shared machine.
If you run a vision model, update before you feed it very tall or very wide images: that is the case the SigLIP fix covers. And if you use llama.cpp's RPC backend across machines, update every machine together — the protocol's major version moved to 7.
On a Mac or an NVIDIA card the backend work may change your speed, but the page gives no numbers. Measure on your own machine, before and after; what decides the result is explained in our guideWhich Machine Runs a Model Locally.
The source
The release page on GitHub: llama.cpp v0.5.0, under the ggml-org organisation.