llama.cpp 发布 v1.0.0:主版本号从此标记 API 与 ABI 不兼容,下游可据此锁定接口
核心概要
llama.cpp 与底层张量库 ggml 同时发布 v1.0.0,把语义化版本规则落到公开 C 接口上:只有 ./include 中的公开 C API 发生破坏性变更才升主版本号,向后兼容的功能、后端更新、模型支持或 API 新增升次版本号,无 API 变更的缺陷修复升补丁号。项目在 3.5 年间积累了大量下游应用,接口稳定性因此成为发布管理的核心,而此前版本号并不承担这一承诺。
深度剖析
llama.cpp 和 ggml 的版本号从此承担接口承诺:主版本号变化即表示公开 C API 或 ABI 出现不兼容。 此前项目已运行 3.5 年并积累大量依赖其库接口的下游应用,但版本号本身并不向这些开发者标示接口边界。 发布说明给出的规则是:./include 中公开 C API 的破坏性变更升主版本号,向后兼容的功能、后端更新、模型支持或 API 新增升次版本号,无 API 变更的缺陷修复升补丁号。
两个库以同一版本号一起发布,公开头文件分别位于 llama.cpp/include 与 ggml/include。 llama.cpp 负责 C/C++ 大语言模型推理,ggml 是其下的机器学习张量库,二者各自带一套公开头文件。 发布说明把 llama.cpp v1.0.0 对应到 libllama 与 llama.cpp/include,把 ggml v1.0.0 对应到 libggml 与 ggml/include。
分发渠道覆盖预发布构建产物以及 Docker、Debian、Homebrew、conda-forge、MacPorts、Winget 和 XCFramework。 预发布构建产物面向 Linux、macOS、Windows、Android 和 iOS,其余渠道按平台分别提供。 发布说明按渠道列出平台:Docker 与 Debian 为 Linux,Homebrew 为 macOS 与 Linux,conda-forge 为 Windows、macOS 与 Linux,MacPorts 为 macOS,Winget 为 Windows,XCFramework 为 iOS 与 macOS。
启示与展望
发布说明面向依赖 llama.cpp 与 ggml 库接口的下游开发者,规则适用于所有采用语义化版本的 ggml-org 项目;文中未给出具体下游应用数量或接口变更清单。
发布说明称后续会随着采用规模扩大更严格地让这些边界对下游可见,但未说明具体执行方式或时间表;对 LLM 参与开发流程只表述为继续以审慎合理的方式整合。
