TL;DR
The ggml-org team has released llama.cpp and ggml libraries at v1.0.0, marking a move to explicit semantic versioning for public API changes. Breaking changes to public C APIs will trigger major-version bumps, while compatible additions and bug fixes receive minor and patch bumps.
llama.cpp and ggml have released their libraries as v1.0.0, setting formal versioning rules for changes that could affect developers using their public interfaces. The ggml-org team says future API and ABI incompatibilities will be marked with major-version bumps, giving downstream projects a clearer signal when an update may require changes.
Get business pricing on tech for your team
- Business-only prices and quantity discounts
- Tax-exempt purchasing
- Multiple users, one account, clear invoices
The release covers two libraries: libllama, for LLM inference in C and C++, and libggml, the tensor library used for machine learning. Their public headers are provided in the respective llama.cpp/include and ggml/include directories. The announcement frames v1.0.0 as recognition that many downstream applications already depend on the projects and need interfaces that are flexible while remaining stable.
The versioning policy applies to ggml-org projects that use semantic versioning. A breaking change to the public C API in the include directory calls for a major-version bump. Backward-compatible features, backend updates, model support, and API additions call for a minor bump; bug fixes that do not change the API call for a patch bump. The team says it will be stricter about making compatibility boundaries visible as adoption grows.
The announcement also describes plans to broaden distribution. Listed channels include pre-release artifacts for Linux, macOS, Windows, Android, and iOS; Docker for Linux; Debian packages; Homebrew for macOS and Linux; conda-forge for Windows, macOS, and Linux; MacPorts for macOS; Winget for Windows; and XCFrameworks for iOS and macOS. These are presented as distribution channels in the project announcement; it does not give a schedule or state that every channel is already available.
llama.cpp v1.0.0 Clearer rules for library changes
llama.cpp and ggml introduced semantic versioning for their public interfaces. The policy gives developers a clearer signal when an update may affect their integrations.
What the libraries do
Their public headers are in the llama.cpp/include and ggml/include directories.
libllama
A C and C++ library for LLM inference in llama.cpp.
libggml
The tensor library used for machine learning by llama.cpp.
How version numbers signal change
The policy distinguishes incompatible changes from compatible development and fixes.
Breaking public C API changes—and API or ABI incompatibilities—are signaled with a major bump.
Backward-compatible features, backend updates, model support, and API additions receive a minor bump.
Bug fixes that do not change the API receive a patch bump.
Distribution plans
The announcement lists channels the team intends to support; rollout timing is unspecified.
- Linux, macOS, and Windows
- Android and iOS
- Docker, Debian, Homebrew, and conda-forge
- MacPorts, Winget, and XCFrameworks
Clearer Upgrade Signals for Integrators
Projects that embed libllama or libggml can be affected when a library changes its public interface. The major-version rule gives maintainers and package distributors a visible cue that an upgrade may involve incompatible API changes, while minor and patch increments distinguish compatible additions from fixes without API changes. That can help downstream teams plan upgrades and communicate compatibility to their own users.
The practical value depends on how consistently the policy is applied and how clearly individual releases describe their changes. A version number cannot by itself prevent breakage or replace release notes and compatibility checks. The announcement establishes the intended convention; it does not provide evidence yet about how the policy will work across future releases or how much migration work v1.0.0 requires.
Products Worth Considering

EcoFlow DELTA 3 Max Portable Power Station, 2048Wh LFP Battery

Apple Watch Series 11 GPS + Cellular, 46mm Jet Black Aluminum Case with Black Sport Band (M/L)

Logitech MX Mechanical Wireless Illuminated Keyboard, Clicky Switches
As an affiliate, we earn on qualifying purchases.
From Growing Project to Library Contract
The project team says llama.cpp began about 3.5 years before the announcement and has since accumulated downstream applications. It describes the software as a portable C/C++ implementation that uses quantization and optimized backends to run multimodal language models on a range of hardware, from consumer machines to enterprise servers. Those are descriptions of the project’s design and aims, rather than independently measured performance claims.
llama.cpp uses ggml as its machine-learning engine. The announcement says ggml provides dedicated backends that can be compiled as dynamic libraries and optionally loaded at runtime. It also reports support for more than 150 architecture variants and mainstream speculative decoding methods. The post does not give a breakdown of architectures, benchmark results, or a date-stamped compatibility matrix.
The team also points to continued investment in continuous integration and self-hosted runners, with hardware support from NVIDIA, AMD, Qualcomm, Arm, IBM, and Intel. It says Hugging Face technologies, including HF Buckets and HF Jobs, help scale capacity for checking changes on master branches. These efforts are described as part of development and correctness work, not as a guarantee that every configuration is tested.
““Having a flexible but stable API is paramount.””
— The ggml-org team
Migration and Package Timing
The announcement does not detail whether v1.0.0 introduces any specific breaking changes, list migrations that existing applications may need, or provide a compatibility guide for downstream users. It sets a rule for how future breaking public C API changes should be labeled, but does not spell out separate procedures for ABI changes beyond saying incompatibilities will be reflected in major-version bumps.
It is also unclear when each planned distribution channel will become available and whether all listed platforms will receive packages on the same schedule. The project has not provided, in this announcement, a release cadence, a support window for earlier interfaces, or a detailed account of testing coverage across its hardware backends.
More Release and Packaging Details
Developers can use the v1.0.0 libraries and public headers while checking the project’s release notes for any changes that affect their integrations. The team says it wants to expand how ggml-org software reaches developers and end users, and points package maintainers to a discussion about adding its projects to packaging and release pipelines. The timing of those distribution additions remains unspecified.
Future releases will show how the semantic-versioning policy is applied in practice. Downstream maintainers will be looking for major bumps when public API compatibility breaks, and for clear release information that distinguishes compatible feature work from fixes. The announcement gives no date for a next release or a further milestone.
Where I land
The v1.0.0 releases establish a semantic-versioning convention for llama.cpp and ggml, including major-version bumps for breaking changes to the public C API. The announcement does not identify specific breaking changes in these releases or provide migration guidance.
The policy’s application will be reflected in future release notes and version numbers. The team has also listed distribution channels it intends to support, but has not provided availability dates for those channels.
Source: Hugging Face
Key Questions
What was released as v1.0.0?
libllama, the C/C++ inference library for llama.cpp, and libggml, its underlying tensor library, both reached v1.0.0.
What changes require a major-version bump?
Under the announced policy, a breaking change to the public C API in the project’s include directory requires a major-version bump. The team also says API and ABI incompatibilities will be reflected by major versions.
What do minor and patch versions mean?
A minor bump is for backward-compatible features, backend updates, model support, or API additions. A patch bump is for bug fixes that do not change the API.
Does v1.0.0 mean every package channel is available now?
No such timing is confirmed in the announcement. It lists platforms and package channels the team is looking to support, but does not say that every listing is available or give rollout dates.
Source: Hugging Face
