Abstract
Overview This release adds the LiquidAI LFM3 family (text, vision, audio and omni) together with a new experimental streaming-audio API in mtmd , and wires realtime audio in and out of the server through the new /v1/realtime and /tts endpoints. A batch of new architectures landed: DeepSeek V4.1 Flash, SenseNova U1, Beam, Kolibri-1, Flint, Muse Spark, Granite Switch Decision, plus decision/embedding models from LiquidAI, Baidu and NVIDIA. The core got sparse-attention (QSA/DSA) reworked onto a fused masking op, a 50/50 SLRU cache for host-resident MoE experts, and cleaner no_alloc memory handling; the server got router memory-management and tool-calling improvements; the UI can now browse and download models straight from HF Hub, search conversations and compact them. Finally, ggml was bumped to v0.28.0, bringing GGML_OP_TOP_K_MASK , -1 expert-index semantics and large backend performance work (CUDA chunked graph launches, SYCL graph replay, OpenCL Q2_K/Q3_K, Hexagon HTP rework, KleidiAI SVE kernels). Highlights LFM3 family: LFM3-1.7B (text) and LFM3-VL-2B (vision), verified against the reference HF implementation llama/31252 LFM3-Audio-2B and LFM3-Omni-2B: ASR, TTS and voice chat from a single model, with streaming audio input and output llama/31257 API changes DRY sampler: new LLAMA_DRY_MAX_SEQ_BREAKERS (64) caps distinct sequence breakers, each costing O(n_vocab) at init llama/31035 mtmd : new experimental mtmd_audio_stream API turning PCM fed as it arrives into decoder-ready embedding rows llama/30629 mtmd : audio generation is now stateful - mtmd_gen_state replaces the raw state_data buffers of the audio gen API llama/30902 mtmd : mtmd_caps gained gen_audio ; new TTS types SOPRANO and LFM3A ; repetition penalty for sampled codes llama/28607 llama/31257 mtmd_helper_get_capabilities() to query the capabilities of an mmproj file from helper code llama/31183 Server: new /v1/realtime endpoint implementing the OpenAI realtime protocol for conversation and transcription llama/31269 llama/30636 Server: new POST /tts endpoint for text-to-speech models llama/26603 Server: reasoning effort levels of the chat template are exposed and selectable via the API llama/31271 Chat API: support for deferred tools and tool_reference content parts llama/31256 CLI: --model or -hf is now required llama/31242 New models LiquidAI LFM3-1.7B, LFM3-VL-2B, LFM3-Audio-2B, LFM3-Omni-2B llama/31252 llama/31257 LiquidAI d1-2B and d1-omni-2B decision models llama/31275 DeepSeek V4.1 Flash llama/31086 SenseNova U1 llama/28919 Beam (Reflection) llama/30670 Kolibri-1 (Aleph-Alpha) llama/30673 Flint llama/30928 Muse Spark Open (text, vision and audio) llama/30616 Granite Switch Decision, including the 256-way decision head llama/30676 llama/30693 Nemotron-3(.5)-Embed, with non-standard GQA and BPE tokenizer support llama/30877 llama/23343 H2O-Lightning-4B decision model llama/30361 MiniCPM-OCR 1.0 and MiniCPM-OCR-Jev llama/30979 llama/30980 Soprano TTS llama/28607 LFM2 short-conv and FFN blocks moved into a shared LFM base reused by newer LFM models llama/30874 Core changes MoE experts kept in host memory now use a 50/50 SLRU cache instead of a plain LRU cache llama/30637 Sparse attention: fused QSA mask op, QSA/DSA selection built without kq_mask , k-pool views shared between layers llama/30640 llama/31009 llama/30965 llama/31243 llama/30613 MoE: amax rescaling enabled for laguna , and -sm tensor denied on arches that use it llama/31147 llama/31081 Memory: no_alloc respected in all memory caches, moved out of llama_hparams , obsolete n_pad dropped llama/31087 llama/31141 llama/31200 Vocabulary loading optimized; d2t placed next to its set_rows use so it can stay on the GPU llama/30679 llama/30912 Tokenizer: new clean_spaces and metaspace prepend-scheme GGUF keys, hybrid DNA tokenizer fixes llama/30940 llama/30825 Tokenizer: Tekken pre-tokenizer for Pixtral, \p{M} in Tekken/GPT-4o lookaheads, Nemotron-3.5-Embed tokenization fix llama/30960 llama/30845 llama/30974 Grammar: recursion depth limited (and enforced) to prevent stack overflow; deep JSON rejected before walking it llama/29755 llama/31153 llama/30242 Qwen: merge tensors on convert, 2D output reshape, Qwen3 bidirectional attention and dense_2 output projection llama/31028 llama/30823 llama/30607 Speculative decoding: persist the dynamic ngram cache, probabilistic DFlash2 drafts, optional DFlash FC input scale llama/22055 llama/30663 llama/30945 llama/30927 LoRA: support for prism.hadamard folded weights llama/30910 Tensor parallel: stepfun and laguna now support 4-10 GPUs llama/24554 GGUF tools reject truncated tensor data in split , export-lora and merge llama/30497 llama/31044 llama-quant : fix 4D tensor quantization with ggml_nrows() and name-based expert detection llama/30820 convert-hf : faster endian conversion with more datatypes, text-only checkpoints in pplx-decider llama/30647 llama/30575 convert-hf : fixes for Granite speech tensors, Granite Switch MultiSwitch block count, Mistral-format DeepseekV2 llama/30628 llama/30621 llama/30669 Common: honor HTTP_PROXY / HTTPS_PROXY , allow concurrent downloads, pin model resolution on real HF repo layouts llama/21752 llama/29312 llama/30548 Multi-modality changes Streaming audio input via mtmd_audio_stream , used to support voxtral-realtime llama/30629 Soprano TTS support and MiniCPM-OCR 1.0 support llama/28607 llama/30979 Image preprocessing aligned with transformers/torchvision: LFM2 resize, tiles and layout, Qwen-VL resize llama/30943 llama/30261 llama/30736 LFM2 tiling parameters are read from the GGUF metadata llama/30840 lightonocr defaults to native resolution instead of forcing a 1540 longest edge llama/30600 build_inp_temporal_merge moved to the mtmd base class; fix Gemma-4 FFN activation llama/31065 llama/30882 Server changes Realtime conversation and transcription on /v1/realtime , with response.done sent after the committed audio drains llama/31269 llama/30636 llama/30994 POST /tts endpoint for TTS models llama/26603 Expose the reasoning effort levels of the chat template llama/31271 Router: configurable device memory margin for dynamic unloading of models llama/21231 Router: propagate client disconnects to the child task, stop re-adding the mmproj margin on sleep/resume llama/29707 llama/28233 Rerank endpoint accepts typed content input and substitutes the placeholder from the original template llama/29625 llama/30864 Anthropic /v1/messages : forward llama.cpp sampling params and pass id_slot through the conversion llama/30856 llama/28554 Support logprobs together with speculative decoding llama/27196 Fix usage.completion_tokens undercounting with n > 1 and missing output_index in Responses API SSE events llama/29486 llama/30863 Fix SWA checkpoint invalidation logic llama/30666 New --connect flag to allow p2p access to the server outside the LAN llama/28277 UI changes Discover and download models directly from HF Hub, with org-less models listed first llama/29584 llama/31215 New search dialog for conversations and messages llama/31173 Conversation compaction to keep long chats within the context llama/27401 Models manager moved to its own route, model details open in a drawer without leaving the page llama/30988 llama/31176 Reasoning menu built from the chat template's effort levels, with a clearer highlighted toggle llama/31273 llama/31212 Support OGG audio attachments by converting them to WAV llama/31237 New "Show tool call in progress" setting llama/30681 Save and reset settings buttons shown only when there are unsaved changes llama/31248 Sidebar resizing and general layout/UX improvements llama/31119 llama/31030 Fixes: draft lost after "Add System Message", system row stretching in WebKit llama/31214 llama/31246 Fixes: clipped attachment text preview, markdown tables and lists cut off on phones llama/30806 llama/30687 ggml changes Bumped from v0.27.0 to ggml v0.28.0 New GGML_OP_TOP_K_MASK fused sparse-attention mask, plus accessors for the precision configured on a compute node -1 is now a valid expert index in MUL_MAT_ID / ADD_ID : the slot is skipped and the output row zeroed SCALE accepts non-contiguous row views; SUM accepts non-contiguous inputs on CPU, CUDA, Vulkan and WebGPU Backends: fused MoE top-k and gate/up+GLU with chunked graph launches on CUDA, graph record/replay on SYCL Backends: Q2_K/Q3_K weights and a lightning indexer on OpenCL, subgroup reductions and src1 precision on Vulkan More: restructured Hexagon HTP backend, flash attention on ZDNN, Q2_0 on WebGPU, KleidiAI SVE GEMV/GEMM kernels Assets Nightly build: b11960 More info Releases and versioning of ggml-org projects Changelog since v0.7.0 8642541 llama.cpp : bump version to 0.8.0 ( #31309 ) d4f1b18 mtmd: enable video input support for LFM3 model family ( #31283 ) d1eb0de server : support tool calls in /v1/realtime ( #31287 ) 5d7793d sync : ggml ec941ee ggml : bump version to v.28.0 (ggml/1676) e486a4b ui: build the reasoning menu from the template effort levels ( #31273 ) f1a7dea tests : adjust constants to reduce irrelevant warnings ( #31254 ) a7af149 cuda : add top-k MoE fusion for 384 experts ( #31288 ) 2864937 vulkan: clamp A prefetch to end_k in coopmat1 int8 matmul ( #30283 ) a71c00f chat : stop qwen3-coder reasoning and content before template separators ( #30557 ) f4d8af6 ui : show save and reset settings buttons only when relevant ( #31248 ) 02d502f ui: Support OGG audio attachments by converting them to WAV ( #31237 ) b1756b2 ui: Fix draft for new message disappearing after using "Add System Message" action ( #31214 ) 6886628 ui : Search dialog ( #31173 ) 8ca4060 server : add realtime conversation and transcription on /v1/realtime ( #31269 ) d05706b model : add LiquidAI/d1-2B and LiquidAI/d1-omni-2B ( #31275 ) 1b4554e server: expose the reasoning effort levels of the chat template ( #31271 ) a919179 tests: fix CI riscv timeout in test-llama-context ( #31265 ) 338fce6 HIP/CUDA: remove pragma unroll from loops in conv2d where itteration count cant be infered at compile time ( #31255 ) 19ff817 model : add LiquidAI/LFM3-Audio-2B and LiquidAI/LFM3-Omni-2B ( #31257 ) eb7818c common : support deferred tools and tool_reference content parts ( #31256 ) 6c44591 snapdragon: switch QDC artifact upload and log download to v2 API ( #31240 ) 19cce69 model : add LiquidAI/LFM3-1.7B and LiquidAI/LFM3-VL-2B ( #31252 ) e86f5fd cmake: WASI doesn't support spawning ( #30751 ) 27b7a8a llama : build the k-pool sparse selection independently of the kq_mask shape ( #31243 ) 7ecb57f rpc : catch std::length_error in recv_msg ( #31204 ) 8542e94 tests : speed up tensor data generation and model saving ( #31145 ) 922f53e vulkan: fix CI llvmpipe by allowing dim 3 broadcast in MUL_MAT ( #31239 ) 0c8c59e mtmd-cli: Reduced scope of batch pointer ( #31155 ) ( #31165 ) 3ab37ae ui: fix system message row stretching to full prompt height in WebKit ( #31246 ) 85cc432 server: add router device memory margin parameter for dynamic unloading ( #21231 ) 74a1fd3 common : --model or -hf is required ( #31242 ) 7eed6b7 model: Add MiniCPM-OCR-Jev ( #30980 ) 2763785 metal : add GGML_OP_TOP_K_MASK ( #31230 ) d78f40d glm5-next : QSA without kq_mask (+ DSA) ( #31009 ) fae9ac5 ci : use ccache depend mode for ROCm release builds ( #31231 ) a8276b7 ci : force python 3.12 on ubuntu 26.04 ( #31222 ) de5122d ggml : relax scale to non-contiguous views ( #31146 ) 6666a73 tests : fix multi-seq split replay and partial-state cases for trained models ( #31216 ) 7a2e5ab llama : remove obsolete n_pad from memory instances ( #31200 ) 0d5ca60 ui: list org-less models first in the model selector ( #31215 ) d930fe3 opencl: refine mul mat id -1 index ( #31170 ) a2b3e12 opencl: initial support for q3_k ( #31172 ) 823df7d ui: Highlight reasoning toggle on hover and align it with model selector ( #31212 ) 1a97e38 ui: add conversation compaction ( #27401 ) bc262f3 ui: Open model details in a drawer without leaving the page ( #31176 ) f5892ca ui: use shared confirmation dialog for conversation deletion ( #31187 ) 7aca0d2 hexagon: add GGML_HEXAGON_VTCM_SIZE ( #31221 ) 961c376 llama : enable moe amax rescaling for laguna ( #31147 ) 4244ad7 ci : add windows behavior check ( #31191 ) 63b4b30 opencl: write KV-cache views in set_tensor so a state restore is not dropped ( #30471 ) caa8191 hexagon: MUL_MAT_ID row skipping optimizations and improvements ( #31169 ) a469940 llama : move no_alloc out of llama_hparams ( #31141 ) 4b851fb models : replace ggml_tensor** out-params with output structs ( #31142 ) 4d71b42 ggml-cpu : rewrite concat as one row kernel for all types ( #31179 ) 70c5f26 vulkan: rms norm optimization using subgroup reductions ( #29882 ) 5cd62ff sycl: template the plain MMVQ launch triples ( #31013 ) 38645c2 sycl: template the per-quant concat impls ( #31008 ) 02269b4 sycl: add set_tensor_2d for faster tensor-split loading ( #30358 ) 5320c87 sycl : bound reorder temp memory to 32 MiB ( #31062 ) 74b104c common: pin model resolution on real HF repo layouts ( #30548 ) c6fb3b5 mtmd: add mtmd_helper_get_capabilities ( #31183 ) 8b28c23 ggml-cpu : fix unused variables in arm arch ( #31180 ) fd8f845 tests : refactor test-llama-archs to not link internal libllama symbols ( #30880 ) 9125a2e ci : fix race in webgpu memset ( #31162 ) 9b8446b metal : stop overflow from happening in large matrix output offsets ( #30072 ) dc9e3be ui: UX improvements ( #31030 ) 69b3cc4 ui: Sidebar resizing improvements ( #31119 ) 224d94c ci : bump server timeout during startup ( #31174 ) 48c3611 ci : drop the macos-latest-x64 job ( #31175 ) a074215 deepseekv4.1: follow-up review fixes ( #31137 ) d854d98 cuda : use std::string instead of VLA for archName ( #30463 ) 48c9f08 common, grammar: add recursive depth limit, make it a requirement ( #31153 ) 6050b46 tests : adjust default threads for test-llama-context ( #31157 ) 2280f0f qwen: merge tensors on convert ( #31028 ) 1a0b56c ci : disable test-llama-context with fa off in the webgpu ( #30977 ) 63412d8 llama: fix exhausting CPU and MEM caused by dry sequence breaker ( #31035 ) 5c965fd llama-quant : fix 4D tensor quantization using ggml_nrows() and name-based expert detection ( #30820 ) f1168ac grammar: limit recursion depth to prevent stack overflow ( #29495 ) ( #29755 ) fa3645f llama : respect no_alloc in all memory caches ( #31087 ) 7790a92 tools : reject truncated GGUF tensor data in merge ( #31044 ) c49edf0 CUDA: fuse FFN gate/up matmuls and GLU in MMQ with interleaved gate/up rows ( #29948 ) a55c16e ggml-cuda: fuse qwen MRoPE + set-rows ( #31025 ) e321bda vulkan: Add a larger tile size for conv3d (coopmat2 only) ( #29920 ) 459a1ba vulkan : one warp tile per subgroup in the small matmul tiles ( #30106 ) f0fb598 hexagon: generic dims collapse/reshape for unary, binary and matmul ops ( #31071 ) 9a4580b opencl: add topk and lightning indexer ( #31026 ) b083c38 opencl: add initial q2_k support ( #30999 ) 344be0a ci : update CPU job assignments ( #31136 ) b3fa699 chat : reject JSON nested more than 128 levels before walking it ( #30242 ) 74bca39 model: DSV4.1 flash ( #31086 ) d327bf1 jinja : fix select and selectattr argument handling ( #31059 ) 78a8ae1 hexagon: KV-head team split for multicore HMX flash attention ( #31055 ) f3269ef server: refactor server entrypoint ( #31113 ) 3f03b17 metal : remove mul_mm_id amax rescaling ( #30924 ) 9a0fde9 rpc : add bounds check in rdma_recv ( #30399 ) e168e04 ui: Models Manager as Route + UI improvements ( #30988 ) ea1d7d6 fix(ui): align hover card and context popup styling with dropdown menu ( #30978 ) 71255fe ci : pass per-runner results dir to self-hosted jobs on T4 runners ( #31100 ) 73adf89 minimax-m3 : forward quant scales to the graph (fixes #31063 ) ( #31097 ) df9beac tests : fix test-llama-context for large n_batch ( #31083 ) 4d32b29 ci : exclude test-speculative-rejection-sampling from macos-latest-arm64 ( #31088 ) 3032209 llama : deny -sm tensor for arches with moe amax rescaling ( #31081 ) 701fd25 ggml : allow MUL_MAT_ID -1 index to skip the computation ( #26631 ) 3642238 tests : add speculative rejection draft sampling test ( #30213 ) 6b9ba4f ci : fix data race between runners sharing the model cache ( #31046 ) 8e5a58d vulkan: ggml src1 precision support ( #30656 ) 1ddffe9 HIP: add byte permute fallback when __builtin_amdgcn_perm is unavailable ( #30915 ) 7894e8b mtmd: move build_inp_temporal_merge to base class ( #31065 ) edc3538 mtmd : lfm2 resize matches torchvision ( #30943 ) 9ae73e6 mtmd : add Soprano TTS support ( #28607 ) 0ae0e19 hexagon: add SGN op ( #30346 ) 21ec307 common : allow concurrent downloads across processes ( #29312 ) 9145ddb hip: fix bf16 WMMA operand vector type for gfx11/gfx12 ( #30885 ) 1a24df1 ggm-cuda: Enforce DP4A MMQ tile height multiple of warp size ( #30837 ) 9ff0d7e CUDA: fix build after chunked CUDA graphs ( #30804 ) ( #31053 ) 06230cb allows the usage of 4-10 gpus for stepfun and laguna in tensor parallel ( #24554 ) 5c31142 qwen4exp : build the QSA selection without the kq_mask ( #30965 ) da2ee1e vendor : update LibreSSL to 4.4.0 [no ci] ( #31049 ) 280141e CUDA: chunk graphs to amortize graph launch ( #30804 ) 36e36e6 hexagon: add CEIL op ( #31006 ) e1e3b2c ui : bump packages to clear npm audit ( #31038 ) 4231b23 ggml : fix time overflow in ggml_time_us ( #30969 ) f00c908 ci : add behavior check workflow ( #31036 ) f5027fb CANN: missing const qualifiers added for consistency ( #30933 ) f64a498 sycl : pass device into mul_mat_uses_onednn ( #31014 ) 1ab09d6 Extend probabilistic sampling for DFlash2 drafts ( #30663 ) f9599d0 vocab : fix Nemotron-3.5-Embed tokenization ( #30974 ) 643b0cd hexagon: Op Fusion refactoring, optimizations and new fusions like BINARY_NX (back-to-back ADDs, etc) ( #30843 ) 0a9ef00 sycl: Replace host waits in fattn-mkl with explicit dependencies ( #30684 ) 7377bad sycl: Add graph record and replay ( #28725 ) 184f653 server: Substitute rerank placeholder from the original template only. ( #30864 ) d814cbb server: realtime API: send complete after committed audio drains ( #30994 ) 970b51c opencl: add depthwise conv2d ( #30900 ) a08ab75 mtmd : add MiniCPM-OCR 1.0 support ( #30979 ) 19ab5a5 clef : include for std::find and std::copy ( #30981 ) 36cbf41 Fix !30793 5c19a5a glm5 : optimize inputs ( #30932 ) d9ee007 model : fix qwen4exp layer inputs for DFlash drafters ( #30927 ) d81d0d8 Multi-column on Intel XMX matrix engines refactored ( #29864 ) d772569 vulkan: replace std::aligned_alloc with posix_memalign for termux compatibility ( #30828 ) 0693dbf nemotron : support non-standard GQA, BPE tokenizer and domyn-small pre-type ( #23343 ) a5d2227 server : support typed content input for RERANK endpoint ( #29625 ) 5f5acfe ci : disable slow WebGPU tests ( #30963 ) 1f4c2ee ci : be able to reconfigure HTTP port for server pytest workers ( #30972 ) 7170cad sycl: fix CONV_2D wrong results for non-contiguous input ( #30363 ) d88040c vocab : add clean_spaces GGUF key ( #30940 ) e197cef vocab : use Tekken pre-tokenizer for pixtral rather than the Llama 3 one ( #30960 ) bf039c8 models : Record layer inputs for all granite models ( #30957 ) dfeea52 kleidiai : add Q8_0 SVE dotprod GEMV and SVE i8mm GEMM kernels ( #30808 ) e3797b1 sycl: merge the fp16 and fp32 dequant switches ( #30740 ) 0b1281a webgpu : add Q2_0 support ( #30914 ) 4912ac2 dflash : load optional FC input scale ( #30945 ) 84746c5 ui: Add "Show tool call in progress" setting ( #30681 ) 0682a57 lora : support prism.hadamard folded weights ( #30910 ) a6b83d4 ui : key draft sidecar badges by model instead of repo ( #30919 ) c7fc509 opencl: add F32-to-I32 ARGMAX ( #30897 ) a37cc46 models : add Flint model (FlintForCausalLM) ( #30928 ) 99fb997 jinja : fix namespace attributes shadowed by dict methods ( #30941 ) 7775ffb model: Add support for SenseNova U1 model ( #28919 ) d454a20 llama: create new fused op for QSA mask ( #30640 ) 0756e83 sycl: q8 fast dequant ( #30775 ) 9febe63 jinja: support hexadecimal string escapes ( #30929 ) 9b56ccf ggml-opencl : add IM2COL_3D support ( #30895 ) 0a1ef30 mtmd: add state object for mtmd_gen ( #30902 ) 261700b server : forward llama.cpp sampling params on /v1/messages ( #30856 ) f849095 vendor: update BoringSSL to 0.20261020.0 ( #30889 ) 824eaec llama : optimize vocabulary loading ( #30679 ) eb182d8 llama : place d2t by its set_rows use so it can stay on the GPU ( #30912 ) ea9e344 metal : fix memory leaks and cleanup logic in GPU capture path ( #30890 ) 0efe8e4 hexagon: neon-vectorized and threaded repack (tiling) ( #30901 ) b531e4c opencl: add dp4a GEMM variants to vector load activation ( #30753 ) 74b115c sycl : fix fa crash for Query head dimension mismatch (neq0 != HSK / D=2048/4096) ( #30286 ) 96caa80 sycl: collapse duplicate need_check launch bodies in mmq ( #30739 ) 479a527 ggml-cpu : compute f32 gelu_quick and geglu_quick without the fp16 table ( #30737 ) 8baabd5 llama : scale moe down projection per expert token ( #30861 ) 493253f Sycl iq3 crash fix ( #30604 ) 339f324 opencl: fix rope program build error with newer Clang ( #30893 ) 9a3b91c server : fix usage.completion_tokens undercount with n > 1 ( #29486 ) 5c0b49a server : add POST /tts endpoint for TTS models ( #26603 ) 1242be6 server: add realtime transcription API ( #30636 ) 84e66d0 refactor : move LFM2 shortconv and FFN blocks into a shared LFM base ( #30874 ) 52ffa02 model : support Nemotron-3(.5)-Embed ( #30877 ) 839a572 qwen: reshape output to 2d instead of 3d ( #30823 ) ead9f32 server: Support logprobs with speculative decoding ( #27196 ) b684b49 hexagon: fix VTCM size query on images that need layout out-params ( #30655 ) 4a45de4 mtmd : lfm2 tiles and layout match transformers ( #30261 ) 7e3eeee model : add H2O-Lightning-4B decision model ( #30361 ) 5ba3b9f mtmd: fix gemma 4 ffn act ( #30882 ) 5a9a34d server : avoid repeated mmproj memory margin addition on sleep/resume ( #28233 ) 39da130 ggml-cuda : support ssm_conv kernel size 7 ( #30873 ) 4e20138 server: Router wasn't propagating the client disconnects fully to the child, the response wait could cause a delayed cancellation ( #29707 ) 1ba568c server: fix missing output_index in Responses API SSE events for compatibility ( #30863 ) 36140db mtmd : read LFM2 tiling params from GGUF metadata ( #30840 ) df11702 metal : optimize argmax and pool_1d ( #30862 ) 9df0b73 model : drop the redundant precision overrides in the Kolibri-1 router ( #30865 ) b38960f ci : remove superfluous webgpu jobs ( #30868 ) a01ce9f opencl: add several gemm variants for small batches and some fixes ( #30850 ) 8115b4c sycl : replace memset due to not always ordered ( #30812 ) 119f68d ggml-cpu : select the NEON fp32->fp16 conversion ( #30505 ) b684498 HIP/CUDA: Fix reduction in mmf getting tile widths not devisiable by 64 ( #30836 ) 522f2b6 ggml-zdnn: introduce flash attention op ( #30512 ) 83c2d01 spec : save the dynamic ngram cache file ( #22055 ) 13786fb CUDA: Clear CUDA graphs after legacy memory pool flush ( #26771 ) d806193 server : pass id_slot through the Anthropic /v1/messages conversion ( #28554 ) 704366d metal : fix missing MoE kernel variant for 9 experts per token ( #30610 ) ( #30699 ) 707616f ci: Fix --strict mode for API check ( #30623 ) d8d9297 vocab : add \p{M} to lookaheads in Tekken and GPT-4o pre-tokenizer regexes ( #30845 ) 7879491 tests : make MoE router selection independent of the backend noise ( #30818 ) 8466395 hexagon: update to snapdragon-toolchain v0.8 and enable hexagon v85 ( #30854 ) dd002b9 sycl: fix compiler warnings - missing prototypes, dead code, extra semicolons ( #30271 ) 1d88cb0 ui: hide the native clear button in SearchInput ( #30719 ) 3bb63cb sycl : fix get_rows on reordered quantized weights ( #30430 ) f711c8f mtmd : match the transformers Qwen-VL resize ( #30736 ) 921257f ci, docs: add WASI CI and docs ( #30754 ) 3ffb629 ci : re-enable type/lint-check for skills ( #30713 ) 7adf160 server: add --connect, allow p2p access to server outside LAN ( #28277 ) ab7ed0d ui : fix attachment text preview clipped when a line is longer than the container ( #30806 ) 4c3c581 hybrid dna tokenizer fixes ( #30825 ) 1b29621 opencl: add cooperative-k dp4a gemm for q4_0, q4_k and q6_k ( #30741 ) 6fa4f6c opencl: add get_rows for i32, cpy for i32 and f32 ( #30756 ) 0ce8cd1 jinja : implement unique filter ( #30819 ) f174553 server : fix swa checkpoint invalidation logic ( #30666 ) 7951f60 vendor : update cpp-httplib to 0.62.0 ( #30785 ) 33d6135 moe-cache : replace MoE LRU cache with a 50/50 SLRU cache ( #30637 ) 098ce52 metal : fix moe_reduce fusion race when dst aliases its inputs ( #30795 ) f3fb2fc cann : refactor #ifdef blocks to avoid unreachable code after return ( #25273 ) fda00f1 tests: add big-endian conversion tests ( #30705 ) 4866db3 CUDA: fix warning for nonexistent extra semicolon ( #30774 ) 42b7003 ggml-cpu: vectorize ggml_v_silu and ggml_v_expf ( #30791 ) 4c1004c cuda: cap MMQ Stream-K blocks at available work ( #30553 ) 412a363 qwen3 : bidirectional attention and dense_2 output projection ( #30607 ) 2b57148 ui: Fix markdown tables and lists being cut off on phones ( #30687 ) 8f97d82 tools : reject truncated GGUF tensor data in split and export tools ( #30497 ) 27af581 tests : update Metal fusion baseline for beam ( #30764 ) 7db0d3d pi : turn .pi/gg into a system prompt addendum ( #30762 ) 99db719 CUDA: fix shared-memory WAR hazard in flash_attn_ext_vec ( #30573 ) 31288c9 hexagon: FLASH_ATTN_EXT improvements for longer context and SWA models ( #30731 ) fe8841a hexagon: allow multistream FA ( #30218 ) ff5a233 cuda : fuse qwen4exp's SCALE -> SIGMOID -> SCALE -> hc_post chain ( #30602 ) 0878f7c ggml: support non-contiguous SUM (CPU, CUDA, Vulkan, WebGPU) ( #28851 ) 5aeac37 ggml-cuda: fattn do not check oob if k_VKQ_max = (k_VKQ_max - nbatch_fa) ( #30572 ) 547208d Restore ESIMD kernels on FFN path ( #30239 ) 848bbda hexagon: add support for hadamard MUL_MAT and GET_ROW for flat and tiled Q1_0 and Q2_0 ( #30627 ) 797de63 hexagon: add support for Q1_0 and Q2_0 ( #30122 ) 9d1878a ggml-cuda: HIP: use __builtin_amdgcn_perm for q1_0 unpacking ( #29927 ) c0fd786 ui : Discover & Download Models from HF Hub ( #29584 ) 2744e48 CUDA: faster MMVQ for low-bit types ( #30517 ) 10b8b75 tests: give the random model generator a per-tensor filler table ( #30674 ) 9d1e036 cuda : fix -Wtautological-compare in fattn vec dispatch ( #30519 ) f2f667b cuda : add grouped experts top-k fusion ( #29181 ) 62318cd model : add Kolibri-1 (Aleph-Alpha) support ( #30673 ) 83f9389 ci : added ABI reports as github artifact ( #30619 ) 1268eda model : Granite switch decision 256 options ( #30693 ) f74e2fa sycl: fix prompt-processing regression after Q4_0/Q8_0 weight reorder ( #30374 ) ea0c4c2 skills: add slice-model ( #30677 ) 6420cf5 ci: update device matrix for Snapdragon jobs by removing SM8750 ( #30620 ) 27c7a76 hexagon: vectorize softplus with HVX ( #30435 ) 2f2763d opencl: Add MxFP4 MoE bin kernel for Adreno X1 devices ( #30691 ) 01fc3aa model: add Beam (Reflection) ( #30670 ) 23f7aab model : Granite Switch Decision ( #30676 ) 7182ef7 common: honor HTTP_PROXY/HTTPS_PROXY env vars in http client ( #21752 ) 2a66703 convert : respect Mistral format for DeepseekV2Model ( #30669 ) f336359 Add more benchmarks to llama-eval ( #26174 ) ceefd16 hexagon: correct HMX FA sinks ( #30581 ) 9a16f1d model : MTP support for Mellum2.1 ( #30612 ) b84ea5c convert : speed up model endian conversion and add more datatype support ( #30647 ) a30fb49 [SYCL]: fix memory errors in mul_mat, split buffer, host pool ( #29889 ) 495c580 gguf-py : add numpy Q1_0 and Q2_0 de/quantization support ( #30630 ) 623c163 CUDA: HIP: rms_norm: add variants that load float4 at a time and store x in registers ( #29720 ) 13b8048 common : read ngram cache parts by reference instead of copying ( #30061 ) 0f43762 convert : support text-only checkpoints in pplx-decider ( #30575 ) 3dbcb7f cpu : reduce AVX2 tiled accumulators together ( #30296 ) c804754 ggml-cpu: refactor s309x repack helper functions ( #30588 ) c0083e3 sycl : reduce the build threads to half ( #30236 ) 13de11e sycl: wide stores for the q4_K/q5_K weight dequant ( #29696 ) 88aaf32 tests : catch vanished rows in the fusion baseline ( #30618 ) a8d9a7e vulkan: fix gpu-visible host memory issues ( #30468 ) f12aaa3 Fix failing RocM tests ( #30611 ) 5e03a1f graph : add precision handling for MELLUM architecture ( #30584 ) b797b9c hexagon: tensor repacking rework and support for tiled and flat quantized and fp weights ( #30635 ) 6afa9a3 llama : share the k-pool input views between layers ( #30613 ) b6334e3 Limit max CUDA pinned host buffer size to 4 GB ( #30449 ) e707790 sycl: support reordered Q8_0 MoE weights ( #29337 ) 43d57fb [SYCL] Enable ssl in build script and CI ( #30456 ) 2851b3b mtmd: add mtmd_audio_stream + support voxtral-realtime ( #30629 ) 59d5fad convert : fix Granite Switch block_count for MultiSwitch checkpoints ( #30621 ) e287bd8 convert : fix regression in mapping of Granite speech tensors ( #30628 ) 2f729cf mtmd: lightonocr does not require longest edge to always be 1540, native resolution is the default ( #30600 ) ba3c05f model: add Muse Spark Open (text, vision and audio) ( #30616 ) b76b133 pi : expand AI disclosure with hardware and stats ( #30615 )