github ggml-org/llama.cpp v0.7.0

3 hours ago

Overview

llama.cpp v0.7.0 adds the LiliCorr speculative decoding technique and MTP for GLM5-Next, a new GPU cache for MoE experts kept in host memory (--moe-cache-mib, up to ~2.2x decode speedup when experts are offloaded), and a large batch of new models: K2 Horizon (dense and MoVA), Prism Bonsai 2 27B, EmbeddingGemma-2 (text+vision+audio), the LiquidAI d1/d1-omni and vLLM decision 2/d3 decision models, pplx-decider, MiniCPM-V 4.7, Nemotron Super 3.5 VL / Nemotron Bolt and maion-coder. The server gets a refactored chat session API (common_chat_session, part-based formatted output), much better slot and prompt-cache restore behavior, decision-model support for the new architectures and a new default port (9931), the web UI gains a full models manager, and ggml is updated to v0.27.0.

Highlights

  • New GPU cache for host-memory MoE experts (--moe-cache-mib): experts run on the GPU from an LRU cache, up to 2.2x faster decode #29887
  • The expert cache is now shared across multiple GPUs #30112
  • LiliCorr speculative decoding: candidate selection with a small draft transformer on top of DFlash #30506
  • GLM5-Next: MTP speculative decoding with an optimized sparse attention path #29928
  • K2 Horizon support in both dense and MoVA variants: conversion, tokenizer, chat template, -sm tensor splitting #29535
  • Prism Bonsai 2 27B ternary model support #29600
  • EmbeddingGemma-2: text + vision + audio embedding model #30054
  • New decision models: LiquidAI d1-3B, d1-omni-600M, vLLM decision 2, vLLM d3 and pplx-decider #30110 #30114 #30378 #30383 #30044
  • PLaMo-3 tokenizer implements reference pre-segmentation for exact tokenization parity #30045
  • RPC server supports -sm tensor (tensor-parallel RPC, RPC protocol v8) #26610
  • Server now listens on port 9931 by default instead of 8080 #30159

API changes

  • include/llama.h: new moe_cache_size context param for the host-expert GPU cache #29887
  • include/llama.h: new LLAMA_VOCAB_TYPE_PLAMO3 vocab type #30045
  • include/llama.h: llama_perf_context_data reports graph reallocations during inference #30329
  • include/llama.h: embeddings now skips the LM head when a pooling type other than NONE is used #30445
  • include/llama.h: llama_batch_ext_set_embd_state returns false when the context has no state embedding, M-RoPE order documented #30506
  • tools/server: chat layer refactored around common_chat_session with feed() / finish() #30210
  • tools/server: formatted chat output is now an array of parts instead of a single string #30389
  • tools/server: default listening port changed to 9931 (Docker images keep 8080 inside the container) #30159

New models

  • K2 Horizon: dense and MoVA variants with conversion, tokenizer, chat template and -sm tensor support #29535
  • Prism Bonsai 2 27B (ternary) #29600
  • EmbeddingGemma-2: text + vision + audio embeddings #30054
  • LiquidAI d1-3B and d1-omni-600M decision models #30110 #30114
  • vLLM decision 2 and vLLM d3 models #30378 #30383
  • pplx-decider decision model #30044
  • MiniCPM-V 4.7 multimodal model #29416
  • Nemotron Super 3.5 VL and Nemotron Bolt 74B A9B #30520
  • maion-coder architecture #29778
  • Mellum: MoE gating parameters read from GGUF and unified RoPE handling #30578
  • LiliCorr draft model conversion and graph #30506
  • Rerankers: classifier_activation support, exact GELU for ModernBERT encoders #29692 #30108

Core changes

  • Speculative decoding: MTP for GLM5-Next, LiliCorr drafts, correct mtmd handling in MTP graphs #29928 #30506 #30257
  • Speculative decoding: shared nextn tensor flags with consolidated row cropping and sched re-reserve on flag change #30097 #30017 #30020
  • Speculative decoding: fixed draft sampling and rejection handling, DFlash output head sharing #30095 #30111
  • New --spec-draft-n-ubatch to size the draft context batch separately and save VRAM #30459
  • MoE expert cache: host-memory experts served from a device LRU cache, supported over multiple GPUs #29887 #30112
  • Embedding models: skip the logits buffer and the LM head when pooling is enabled (up to 10x less VRAM) #30255 #30445
  • Embedding graphs: reordered get_rows, dropped the redundant t_embd expand and leftover ggml_cont calls #30160 #30461 #30198
  • No-cache attention: padded KV dimension and KQ bias, avoided graph reallocations #30416 #30446 #30439
  • k-pool models: selection built in the causal mask layout, fixed a scatter data race on shared sequences #30480 #29994
  • GLM5-Next sparse attention: removed the gather path #30042
  • KV cache: honor LLAMA_STATE_SEQ_FLAGS_PARTIAL_ONLY so draft checkpoints stop carrying the full KV #30514
  • Prefetching: merge ranges before issuing system prefetch calls, never map foreign ranges into a backend buffer #30532 #30405
  • Sampling: greedy selection for eligible temperature-zero chains, backend sampling graph kept static across ubatches #29797 #30223
  • Tokenizers: PLaMo-3 pre-segmentation and FiM tokens, opt-in NFC normalization for Unigram, strict UTF-8 validation #30045 #30090 #30390 #30485
  • Jinja: fixed loop variable scoping, Python-compatible tojson rendering, faster context copy #30533 #30483 #30362 #30562
  • Model split: distribute layers evenly when no device reports free memory #29677

Multi-modality changes

  • Added mtmd_build_inp_attn_mask for building non-causal multimodal attention masks #30259
  • Added cohere2 vision encoder support #30062
  • MTP drafts now handle mtmd inputs, Qwen3.8 Flash Next accepts image embeddings #30257 #30397
  • New multimodal architectures: MiniCPM-V 4.7, Nemotron Super 3.5 VL, EmbeddingGemma-2 (vision + audio) #29416 #30520 #30054

Server changes

  • /v1/systemone extended to the new decision models: d1-3B, d1-omni, vLLM decision 2/d3, pplx-decider #30110 #30114 #30378 #30383 #30044
  • Chat refactor: session-based parsing and part-based formatted output #30210 #30389
  • Generated text and tokens are now accumulated as parser input, preparing token-aware parsing #29876
  • Prompt cache: only restorable slot states are saved, so rerank and embedding requests no longer fill the cache #30498
  • Prompt cache: child tasks prefer empty slots and preserve the state they would overwrite #30567
  • A pinned busy slot is left untouched until the request can run on it #30295
  • Slot save/restore now keeps context checkpoints and the draft model state #26004 #30574
  • Fixed an off-by-two in the SWA reuse threshold that discarded restored states #30580
  • Fixed a stack-overflow crash when escaping special tokens with std::regex #30243
  • LLAMA_ARG_SLOT_SAVE_PATH environment variable for --slot-save-path #30272
  • New per-component server tests; vendored cpp-httplib updated to 0.61.0 #30312 #30494 #30134 #30081

UI changes

  • New Models Manager: one table of all served models with expandable quants, search, filters, sorting and favorites #29583
  • Row actions: load/unload, delete from disk, hide/unhide, resumable downloads with progress #29583
  • Model configuration side drawer with model info, chat template and "start a new chat" / "use in this chat" actions #29583
  • Models manager follow-ups: GGUF training context, favorite UX, filter and sort fixes #30228
  • Fixed ui_settings not being applied on the first visit in router mode #29668
  • Fixed text attachment preview overflow for large pasted text #29898
  • Fixed the default agentic turns limit falling back to 10 instead of 100 #30582

ggml changes

  • ggml updated to v0.27.0: the backend scheduler gains user callbacks for split weight copying and compute-buffer reallocation, and the RPC protocol is bumped to v8 for tensor-parallel RPC servers. Backends gained chunked gated-delta-net kernels on CUDA/HIP, KleidiAI SME2 k-quant matmuls and AVX2 Q2_0 dot products on CPU, L2-aware coopmat2 scheduling and bf16 activations on Vulkan, reordered-layout MoE kernels (MXFP4, IQ3, Q5_K, grouped XMX GEMM) on SYCL, dp4a MoE GEMMs on OpenCL, tensor-API and wider-head-dim flash attention on Metal, and a DMA/HVX copy overhaul with pooling and 3D im2col ops on Hexagon. Correctness work focused on non-contiguous and strided views, grid and workgroup size limits, out-of-bounds accesses and well-defined mul_mat_id behavior for duplicate expert ids; symbol visibility now defaults to hidden

Assets

Nightly build: b11669

More info

Changelog since v0.6.0

620d222 llama.cpp : bump version to 0.7.0 (#30603)
cd0a5b6 models : add Nemotron Super 3.5 VL and Nemotron Bolt 74B A9B support (#30520)
a11b653 scripts : add ci-status.sh to list active CI runs (#30586)
61ad80b server: fix the off-by-two in the SWA reuse threshold (#30580)
a6b91d8 model : Mellum - read MoE gating params from GGUF, unify RoPE (#30578)
ea736c1 server: save the draft state in the slot file (#30574)
b0d2391 server: prefer empty slots and keep states overwritten by child tasks (#30567)
c0cb53a sync : ggml
4ed1c85 ggml : bump version to 0.27.0
711780f ci : bump ty to 0.0.88 (#30587)
fd55cb9 fix(ui): take the agentic turns default from DEFAULT_AGENTIC_CONFIG (#30582)
3e4dfa8 models : add maion-coder (#29778)
08698c8 jinja : improve context copy constructor performance (#30562)
82e1e2f jinja : write nan and inf in tojson as json.dumps does (#30483)
47f5a64 vulkan : fix concurrent first device init (#29766)
e36df60 sycl : replace oneAPI package by DLE+oneDNN package (#30131)
9166cea opencl: fix OOB tail access for adreno noshuffle gemv kernels (#30421)
2130ca8 jinja : fix loop body variable scoping (#30533)
23f83e0 ggml-cpu : optimize pad_f32 (#30526)
2ce20d2 unicode : reject overlong UTF-8 and out-of-range codepoints (#30485)
68ac765 llama : split llama_prefetch() into merge and prefetch steps (#30532)
77c1f39 opencl: apply flash attn softcap before mask (#30546)
733f57a vulkan : copy strided f16 KV once on AMD so reads spread across memory channels (#27703)
5a638ae cpu: add F16 SWIGLU_OAI reference implementation and validation (#29200)
6e66cb5 metal : add BF16 variant of the tensor API flash attention kernel (#30491)
e467e5b kv-cache: honor PARTIAL_ONLY in the plain KV cache (#30514)
1ddc262 graph: keep the graph non empty without embeddings (#30522)
2639a3b server: save only restorable slot states to the prompt cache (#30498)
843e7dc spec : add lilicorr support (#30506)
3e390af vulkan: Use L2-friendly workgroup scheduling for cm2 mulmat (#30215)
a0e6dc7 opencl: support CLAMP on non-contiguous views (#30186)
23deec0 devops: incorrect COPY instruction (#30529)
683bbc0 gguf-py : detect nfc normalization (#30540)
529ac89 sycl: IQ3 code reorder (#29107)
685f708 ggml-cpu : keep the FP16->FP32 lookup table on x86 with F16C (#30342) (#30343)
c114bd4 docs: update IBM zDNN backend docs (#30527)
5cdadfc ggml-cpu : size set_rows conversion buffer for all threads (#30454)
62df181 cuda, hip: GDN chunked kernel (#29353)
37d6d65 skill: Update code-review skill for UI development (#30509)
6868a52 ggml: fix conv_1d result layout for batched input (#28738)
3fb4767 common : add --spec-draft-n-ubatch (#30459)
318a471 docs : clarify installation recommendation for Intel oneAPI Toolkit (#30407)
8c2134a ggml : add note about mul_mat_id + disable mul_mat_id_dup tests (#30501)
df18bee model: split layers evenly when no device reports free memory (#29677)
3eb1013 vendor : update cpp-httplib to 0.61.0 (#30494)
af0579c ggml : improve RPC tensor transfer logs (#30481)
62bacfa cuda : use SIMT implicit GEMM conv2d on AMD without WMMA (#30325)
77390ba jinja : write floats in tojson as Python does (#30362)
c5a9976 opencl: use buf+offset instead of subbuffer for adreno moe expert sort (#30418)
21a19cd opencl: fix q8_0 dp4a mul_mat_id and mark PREC_F32 mul_mat_id unsupported for adreno (#30365)
9cf967a models: drop the t_embd expand of the embedding graphs (#30461)
4dd6dd4 HIP: use 64-row MMQ tiles for some quant types on RDNA3.5 (#28195)
1431019 vulkan: fix compile error (#30495)
e7268bf llama : build the k-pool selection in the causal mask layout (#30480)
cdce056 vulkan: Add workaround for device free memory > total memory on Intel Windows (#29835)
d524bb6 vulkan: Define the shader count for Intel Arc Pro B65 + B70 (#30431)
7ec420b vulkan: support mulmat bf16 activations (#29069)
10da8c4 unicode : add opt-in NFC normalization for Unigram tokenizers (#30390)
eca5458 convert : export YaRN truncation config (#30288)
091b6a7 Enable OpenSSL in FP32/FP16 SYCL builds to restore HF HTTPS downloads (#30330)
fcac190 webgpu: (Fix CI) fix mul_mat_id with duplicate expert ids (#30451)
04f7226 server : escape the special tokens without std::regex (#30243)
ff026f8 chat: replace output string with parts (#30389)
1b70350 ggml : simplify backend search path error handling (#28367)
d71e324 docs : update zDNN supported ops (#30472)
45451c3 kleidiai: add SME2 Q4_K and Q6_K matmul support (#29219)
77c4540 vulkan: Optimize pool_2d when the pooling window is large (#30119)
ecdd29e meta: recreate all subgraphs when the arena is reallocated (#30453)
ec0bfac hexagon: add configurable HTP DCVS/HMX power mode (#30423)
ace20f6 graph: pad the KQ bias of the no-cache attention (#30446)
b9f3599 llama : do not map foreign ranges into a backend buffer (#30405)
f441d2d model: load YaRN beta metadata for laguna models (#30331)
cb55ffe graph: skip the LM head for pooled embeddings (#30445)
a17e94d tests : consolidate context state tests into test-llama-context (#30023)
b476d9a llama : fix log message (#30452)
e0bcacc vulkan: allow multiple devices to access gpu-visible host memory (#29741)
0a731cc ggml-cpu : add AVX2 dot product for Q2_0 (#30447)
f851e24 cuda : add GGML_CUDA_GRAPH_DEBUG and read env vars once (#30327)
bfe65e1 cuda : fix compiler warnings in mmq-load-tiles.cuh (#30443)
411d548 vulkan : split matmul dispatch when it would exceed maxComputeWorkGroupCount (#29533)
296538a spec : remove tokens assert from dsv4 graph_mtp (#30444)
7f51953 model : allow Qwen3.8 Flash Next to accept image embds for MTP (#30397)
882d671 cuda : fix warnings from dead breaks (#30441)
30f7df1 cuda : warnings cleanup (#30420)
9d7d504 convert : fix LoRA conversion with --outtype auto (#30433)
ed019cd llama : skip logits buffer allocation when graph produces no logits (#30255)
9880157 graph : avoid reallocations in the "no cache" path (#30439)
af50f2f ggml-zdnn : introduce Q8_0 mat mul (#29836)
071b553 models : remove redundant ggml_cont calls now supported by all unary kernels (#30198)
4413a19 hexagon: extend scalar DMA broadcasting support for binary ops (#30245)
8f574b0 ci : build OpenVINO releases with GGML_NATIVE=OFF and CPU backend variants (#30324)
a49f58d ci: fix OpenVINO download links (#30401)
cbe28bb model: fix vllm d3 multi seq case (#30408)
358a420 graph: pad the KV dimension of the no-cache attention to 256 (#30416)
48e9857 metal: fix metal tensor kernel_mul_mm error for large tensor (#28748)
8bb3cf0 hexagon: optimize CPY/CONCAT — round 3, short-rows edition (#30341)
0f701c8 vulkan: pack FMA for f16 accumulation, no dot product op (#29877)
efe3626 model: support vllm d3 models (#30383)
097cf33 model: support vllm decision 2 model (#30378)
ccdbe29 tests : link each test against only the libraries it uses (#30299)
073b740 metal : fix mul_mat_id with duplicate ids (#30373)
77757a3 examples : fix draft sampling and rejection handling (#30095)
972b5fc llama : report compute graph reallocations during inference (#30329)
2f160ba ui: fix text attachment preview overflow (#29898)
f9a95ae sycl: guard DMMV reads at row tails (#29338)
08ffba2 vulkan: use ternary expressions to avoid switch lowering for CM2 quant block size (#30164)
a05e58c ggml: Change default visibility of symbols to hidden (#30014)
b2f036c vulkan: fix buffer logging on 32-bit platforms after source split (#30326)
e937b17 hexagon: optimize q2_k bpw and activation (#30035)
b13a93a hexagon: add IM2COL_3D (#30305)
f2cc728 opencl: improve fa, allow dk512 for gemma-4, improve dk64 (#30266)
c83f305 opencl: fix image limit for q4_k dense bin kernels, q4_0 bcast and rms_norm (#30310)
5c8854f rpc : turn GGML_RPC_DEBUG into a verbosity level and add logs (#29544)
a9d27ac model : support for Prism Bonsai 2 27B (#29600)
1cf7767 cpu: fix AVX2 CPUs not using F16C when available (#30270)
966baae vulkan: handle mul_mat_id duplicates in the prepass rather than looping (#29998)
62a6f74 server: add component tests (#30312)
23b0202 server: leave a busy slot untouched when a request pins it (#30295)
69f201a model : support MiniCPM-V 4.7 (#29416)
abee0c8 cmake(s390x): disable z17 target for unsupported compilers (#30297)
aa94f20 args: add LLAMA_ARG_SLOT_SAVE_PATH env for --slot-save-path (#30272)
781dbc5 spec: properly handle mtmd input for mtp (#30257)
0fd868c mtmd: add build_inp_attn_mask (#30259)
1623d8c cuda: always use MMVQ for MUL_MAT_ID on sm_60 (#27828)
1bb2b9f CUDA/HIP: fix race in flash_attn_ext_f16_process_tile when nbatch_combine != DKQ/2 (#30103)
2bbca8f ggml-cpu: vectorize fp32 to fp16 conversion (#30157)
404f557 vulkan: use 4 rows for NVIDIA MUL_MAT_ID MMVQ (#29274)
b797c82 ggml: fix s390x all cpu build (#30140)
f2918ca opencl: add bin kernels kernel_gemm_moe_q4_k_q8_1_dp4a_bin, kernel_gemm_moe_q6_k_q8_1_dp4a_bin (#30187)
1e6f04a sycl : accelerate MXFP4 MoE with arithmetic decoding and weight reordering (#29809)
10a60cf vendor: apply deep nested json patch from upstream (#30253)
79e2e74 CUDA: fix round issue, under MSVC the CPU and GPU agree (#30229)
8e2d31e graph : reorder get_rows for embeddings (#30160)
baef3ed ui: Models Manager Follow-up Improvements (#30228)
f39148a llama-bench: respect -fitc if bigger than required benchmark size (#28331)
50e3e3e CUDA: Remove redundant CUDA copies after SSM_SCAN (#29807)
64df918 opencl: fix kernel compilation for a6x GPUs (#30176)
6184e92 model : use exact GELU for ModernBERT encoders (#30108)
8b54361 chat : refactor API (#30210)
a518119 llama: keep the backend sampling graph static across ubatches (#30223)
8ae3867 ggml: fix OOB write in ggml_acc with negative offset (#30135)
e60eff9 meta : handle host views (#30217)
ba6439a webgpu: use 2D workgroup dispatch for all the ops which use 1D dispatch (e.g., rms_norm) (#30219)
5e4878e vulkan: fix rms_norm workgroup count overflow (#30145)
609290b convert : support compressed-tensor mixed-precision NVFP4 checkpoint (#28636)
86a2835 musa: drop mp_21 from the default architectures (#30203)
e94acad ci: fix Models Backend webgpu by supporting GGML_OP_DUP (#30216)
5e1d740 ci : set run-name for publish release (#30214)
b42b7e6 server: use port 9931 by default (#30159)
b013e56 ui : add the models manager (#29583)
2c564f4 ci: fix HIP quality check by ignoring the 320/256 FA kernel spill (#30212)
1f8fa52 metal: add the 128/96 flash attention kernels, accept every compiled pair (#30209)
8a1a9b5 CUDA: pass src1 precision to host MMQ config helpers (#30168)
d4d82d6 hexagon: fix IM2COL patch-embed DMA ring overflow (#30189)
3d65c90 sycl : Q5_K reorder-layout MMVQ and fused GLU (#29375)
de7fa0a Musa FWHT fix (#30167)
71ad059 CUDA: improve top-k algorithm selection (#28713)
a11f57b model : fix DFlash output head sharing (#30111)
fc9ce6b CUDA: fix MMQ out-of-bounds reads (#29953)
c35b667 CUDA : looped PAD kernel for more than 65535 rows or slices (#30147)
1167d3f CUDA: fix CCCL version guard breaking on major version rollover (#29453)
4f92965 ui: apply ui_settings on first visit in router mode (#29668)
c811cb8 llama: support MoE cache over multiple GPUs (#30112)
033df86 server : preserve context checkpoints across slot save/restore (#26004)
ff5888f vulkan : fix TOP_K for +inf/NaN inputs and k = 1 on negative values (#30107)
dac3087 vulkan: extend sparse FA support to coopmat2 (#30003)
03aa006 vendor : update cpp-httplib to 0.60.1 (#30134)
08246a2 cuda : support arbitrary striding for unary ops on f16, f32, and bf16 (#29781)
46baf1f sycl: FWHT optimizations (#29605)
097f5b5 hex-mmadd: do not assume aligned read/write when bias-add is fused (#30133)
d888016 cuda : Use byte strides for roll to allow non-contiguous ROLL operations (#29547)
fda1866 CUDA: fix norm family kernels when ne[2]/ne[3] exceed grid dim limits (#28175)
ff30363 sycl: fuse the delta-net alpha gate (add + unary + mul) (#29687)
000bee5 sycl: stage bulk uploads (model loading) through a pinned ring buffer (#29608)
37ac634 model : support classifier_activation for rerankers (#29692)
24e4183 ggml-cuda: assign four GDN state columns per warp (#30087)
847f447 sycl: add grouped MoE XMX GEMM (#29245)
75118a3 convert : support Qwen3.5 embedding models (#27920)
9b4ed0c sycl: remove duplicate block-size defines from op headers (#29507)
9c2e0e4 hexagon: enable alloc_buffer_n (#30126)
06cad0b hexagon: Q6_K weight dequant speedup (#30121)
a657f7e model : add LiquidAI/d1-omni-600M decision model (#30114)
aa5e009 hexagon: support tiled Q4_K and Q6_K GET_ROWS (#30115)
7081510 hexagon: improved GELU accuracy (#30104)
bd4eeaa chat: fix jinja parser for TranslateGemma (#30096)
5de7334 chat : name tool and argument parser rules by index (#30088)
88dcc46 model : add LiquidAI/d1-3B decision model (#30110)
b86d2f0 cuda: FWHT kernels for block widths above 512 (#29100)
50a6c5c mtmd: add cohere2 vision support (#30062)
d6cf9ac llama : add a GPU cache for MoE experts kept in host memory (#29887)
42c787e cuda: update uncoalesced memory reads in pool2d (#29425)
18b5f8b server : accumulate generated text and tokens as parse input (#29876)
448147d llama: share the nextn tensor flags between models (#30097)
9881906 metal : few-row MMA mat-mul for the remaining src0 types (#30065)
7e8324f metal : fix MUL_MAT+ADD fusion when the residual is itself a MUL_MAT (#30100)
b9acf13 feat: add GLM5Next MTP, optimize (#29928)
48499d2 qwen3tts : guard speaker_encoder_config patch for CustomVoice variant (#29179)
d0b490f sampling : use greedy selection for eligible temperature-zero chains (#29797)
42b021b vocab : add plamo fim tokens (#30090)
7481354 convert : fix token configuration for PLaMo-3 (#29843)
ad21565 musa: use the tile lightning indexer kernel (#30080)
b7dafa0 vendor : update cpp-httplib to 0.60.0 (#30081)
2690873 imatrix : include clocale for std::setlocale (#30079)
36a7391 ggml-webgpu: fix flash_attn supports_op check for overlapping KV (#28205)
fa3c2fa tests : retain the anchor when testing recurrent rollback (#29923)
005a1e1 [SYCL] fix the issue in mixed different model GPUs in FA (#29071)
d2a79e6 sycl: accelerate GLM MLA prefill with MKL flash attention (#29171)
5e5b628 sycl : fattn_kv_buffers cleanup (#27689)
4d756bc vulkan: fix amd iGPU slow checkpoint read (#30049)
78651c4 sycl: add IQ3_S multi-column MMVQ (#29500)
f498f86 ggml-webgpu: no dawn native features on wasi (#27069)
c479922 hexagon: CPY/CONCAT/CONT/DUP overhaul to use DMA/HVX for all cases (#30067)
5ad1c5d cuda : add BF16 support for XIELU (#29955)
51ce9c1 ggml-cuda: use per-thread stream for buffer-init padding memset (#28782)
abeada3 vocab : implement PLaMo-3 tokenizer pre-segmentation (#30045)
4625240 model : add K2 Horizon dense and MoVA support (#29535)
3109914 llama: remove the gather path of the glm5-next sparse attention (#30042)
4fbc76d model: support embeddinggemma2 (text+vision+audio) (#30054)
2207c8e opencl: fix OOB read in adreno xmem GEMM (#30041)
a46709b RPC: add -sm tensor (#26610)
65840ed ggml: fix CLAMP on non-contiguous views (CPU, CUDA) (#29517)
ab09ea4 cuda: BF16/FP16 conversion to f32 chunking (#29442)
da263e7 models: support pplx-decider (#30044)
a043d38 metal : fix excess threadgroup memory in quantized flash attention (#29340)
58cb913 vulkan : check for null vkEnumerateInstanceVersion (#29872)
4f54067 HIP: use -O0 for host code in debug builds (#29795)
f0c41e0 models : consolidate nextn row cropping into shared helpers (#30017)
d7a695e scripts : limit apiabi checks to libllama and libmtmd (#30038)
6c73b3e convert : add text_config as fallback [transformers 5.18] (#30040)
1a3011c llama : re-reserve the sched when the nextn extraction flags change (#30020)
6753a03 ggml: refactor selective expert copying to user code (#29943)
cbb7d52 test-llama-archs : initialize backends before generating models (#30034)
63bef27 vendor : update LibreSSL to 4.3.3 [no ci] (#30019)
b9a5a00 ggml-openvino: fix CI tests; fix GPU regressions. (#30037)
43fe9c6 llama: fix k-pool scatter data race on shared sequences (#29994)
5e03bdd hexagon: ssm-conv updates (#29971)
50569eb hexagon: add pool op support (#29995)
7049ff0 ci : add 1accel label [no ci] (#30016)
c250304 ci : skip container re-tagging when Require Docker is disabled (#30008)
8345f33 hexagon: matmul and flash-atten scalability updates (#29974)

Don't miss a new llama.cpp release

NewReleases is sending notifications on new releases.