Upgrade llama.cpp from b10333 to b10360 - #387
Merged
Merged
Conversation
Intermediate chunk of the b10333->b10359 walk (61 KiB / 5 commits, under the 100 KiB threshold). Diff review: all changes are in the ggml-webgpu backend (not built by this project - GGML_WEBGPU not referenced in CMakeLists.txt), upstream CI workflow files, and a llama-model-saver.cpp KV-key fix (not called by project source). No project source changes required. All 6 patches re-verified against a clean b10338 checkout (sequential git apply). Configure-only verification (fresh cmake -B build succeeds).
Intermediate chunk of the b10333->b10359 walk (1460 KiB full / 49 KiB
excluding tools/ui, 4 commits - the WebUI dominates and is auto-followed,
no per-bump review needed there). Diff review: adds the Granite-Switch
model architecture entirely inside src/models/ + src/llama-*.{cpp,h}
(internal model implementation, not include/llama.h) plus Python
conversion/gguf-py changes (not built here). No project source changes
required.
All 6 patches re-verified against a clean b10342 checkout (sequential
git apply). Configure-only verification (fresh cmake -B build succeeds).
Intermediate chunk of the b10333->b10359 walk (79 KiB, 2 commits). Diff review: vendors cpp-httplib 0.52.0 -> 0.53.0, entirely additive WebSocketClient (outbound websocket) API surface - not used by server-http.cpp (httplib::Server side, unaffected) or any project source (confirmed via grep). Remaining changes are Nemotron-H-MoE model work internal to src/models/ + src/llama-model.cpp, not include/llama.h. All 6 patches re-verified against a clean b10344 checkout (sequential git apply). Full local verification (real build, given the compiled vendor dependency bump): fresh cmake -B build + full cmake --build (libjllama.so + jllama_test compile and link, -O3, no undefined references) + ctest 482/482 passing.
Intermediate chunk of the b10333->b10359 walk (159 KiB full / 135 KiB excluding tools/ui, 9 commits - unavoidable single-commit-sized step per the chunking helper). Diff review: - New Muse-Glimmer model family: purely additive chat-template parser (common/chat.cpp), vision projector type/preprocessor (tools/mtmd/ clip-impl.h, clip-model.h, mtmd-image.h, mtmd.cpp), and model impl (src/models/, tools/mtmd/models/) - no existing declaration changed, tools/mtmd/mtmd.h itself has zero diff. - vendor/sheredom/subprocess.h gains the SUBPROCESS_SPAWN_REPORTS_EXEC_ERRORS pre-glibc-2.24 guard - the exact upstream PR #106 fix CLAUDE.md's 0009-patch-drop note already anticipated ("neither affects this project"); purely additive, old-glibc manylinux2014 unaffected. - server-tools.{h,cpp}: internal struct rename (docker_runtime -> runtime, now also covers podman/ssh) - setup() signature unchanged, not referenced by jllama.cpp. - common/arg.cpp, common/speculative.cpp, server.cpp: help-text/comment wording only, no signature changes. All 6 patches re-verified against a clean b10353 checkout (sequential git apply). Full local verification (build size warranted it): fresh cmake -B build + full cmake --build (libjllama.so + jllama_test compile and link, -O3, no undefined references) + ctest 482/482 passing.
Trivial intermediate chunk of the b10333->b10359 walk (1 commit, 0 KiB excluding tools/ui by the chunking helper's threshold since the only change is a 1-line ggml-cpu.c fix for Android CPU affinity - internal, not a header, not built for the x86_64 CI targets that exercise it. All 6 patches re-verified against a clean b10354 checkout (sequential git apply). Configure-only verification (fresh cmake -B build succeeds).
Intermediate chunk of the b10333->b10359 walk (113 KiB, 1 commit - unavoidable single-commit size, PR #25532 "multi-output backend sampling"). Diff review against the priority list: - include/llama.h: llama_context_params gains n_outputs_max_per_seq (inserted mid-struct, source-compatible - jllama.cpp never constructs this struct directly, only via common_init_from_params); llama_sampler_i gains backend_reset/copy_state callbacks and llama_sampler_copy() (all additive). - common/speculative.h: purely additive common_speculative_output_limits/common_speculative_get_output_limits; common_speculative_init/_draft/_accept signatures unchanged, and jllama.cpp doesn't call any common_speculative_* function directly anyway (confirmed via grep). - common/sampling.h changed too but is on CLAUDE.md's own "safe to skip" list. All 6 patches re-verified against a clean b10355 checkout (sequential git apply). Full local verification (llama.h touched, warrants it): fresh cmake -B build + full cmake --build (libjllama.so + jllama_test compile and link, -O3, no undefined references) + ctest 482/482 passing.
Final chunk of the b10333->b10359 walk (46 KiB, 4 commits). Diff review: include/llama.h loses only two comment lines (llama_sampler_copy signature unchanged); rest is upstream CI workflow files, ggml-opencl flash-attn kernel/internals (compiled but no header API we call directly), and ggml-webgpu (unused backend). No project source changes required. All 6 patches re-verified against a clean b10359 checkout (sequential git apply). Full local verification (mandatory for the final target): fresh cmake -B build + full cmake --build (libjllama.so + jllama_test compile and link, -O3, no undefined references) + ctest 482/482 passing. Closes the b10333->b10359 walk (5 steps: b10333->b10338->b10342->b10344 ->b10353->b10354->b10355->b10359).
Appends per-step diff-review and patch/build-verification rows for the 6-step chunked walk (b10333->b10338->b10342->b10344->b10353->b10354-> b10355->b10359), per CLAUDE.md's "append a new row covering the upgrade range" instruction.
Single-step bump (3 KiB, 1 commit, under the 100 KiB threshold). Diff review: common/peg-parser.cpp only (#26780, suppress incomplete escape sequences in the JSON PEG grammar) - internal bugfix, peg-parser.h itself unchanged (also on CLAUDE.md's "safe to skip" list). No project source changes required. All 6 patches re-verified against a clean b10360 checkout (sequential git apply). Full local verification (mandatory for the final target): fresh cmake -B build + full cmake --build (libjllama.so + jllama_test compile and link, -O3, no undefined references) + ctest 482/482 passing.
bernardladenthin
had a problem deploying
to
startgate
August 11, 2026 15:28 — with
GitHub Actions
Error
bernardladenthin
had a problem deploying
to
maven-central
August 11, 2026 15:28 — with
GitHub Actions
Failure
bernardladenthin
had a problem deploying
to
maven-central
August 11, 2026 15:28 — with
GitHub Actions
Failure
PR Review: llama.cpp b10333 → b10360Summary: Well-executed version bump with thorough upstream analysis and comprehensive local verification. Strengths:
Verification complete:
Status: Ready for CI validation. No blockers identified. |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
docs/upgrade/llama-cpp-version-bump.md): b10333→b10338→b10342→b10344→b10353→b10354→b10355→b10359→b10360llama/CMakeLists.txt,README.md,CLAUDE.md, andLlamaCppVersion.javato the final pindocs/history/llama-cpp-breaking-changes.mdNotable upstream changes reviewed (none required project source changes)
jllamaviaserver-http.cpp): entirely additiveWebSocketClient(outbound websocket client) API surface, not used byhttplib::Server(the side this project uses) or any project sourceinclude/llama.h:llama_context_paramsgainsn_outputs_max_per_seq(multi-output backend sampling, PR #25532) — inserted mid-struct but source-compatible, sincejllama.cppnever constructs this struct directly (only via upstream'scommon_init_from_params)vendor/sheredom/subprocess.h: gains the pre-glibc-2.24posix_spawnexec-error-reporting guard — exactly the upstream PR Claude/document build artifacts ls8 xc #106 fixCLAUDE.md's0009-patch-drop note already anticipated as not affecting this projectTest plan
git apply, matching thePATCH_COMMANDapplier order)ctestat every checkpoint where the diff touched compiled/vendored code (httplib bump, Muse-Glimmer step,llama.hsampling step) and at the final target — 482/482 C++ tests passing throughoutRelated issues / PRs
Follow-up to #386 (CUDA 13.3 fixes merged on the same branch history)
Checklist
CONTRIBUTING.mdandCODE_OF_CONDUCT.mdhttps://claude.ai/code/session_01CtT7KLNmC8gEoDS1EiGGwD
Generated by Claude Code