Repository navigation
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 costingO(n_vocab)at init llama/31035 mtmd: new experimentalmtmd_audio_streamAPI turning PCM fed as it arrives into decoder-ready embedding rows llama/30629mtmd: audio generation is now stateful -mtmd_gen_statereplaces the rawstate_databuffers of the audio gen API llama/30902mtmd:mtmd_capsgainedgen_audio; new TTS typesSOPRANOandLFM3A; repetition penalty for sampled codes llama/28607 llama/31257mtmd_helper_get_capabilities()to query the capabilities of an mmproj file from helper code llama/31183- Server: new
/v1/realtimeendpoint implementing the OpenAI realtime protocol for conversation and transcription llama/31269 llama/30636 - Server: new
POST /ttsendpoint 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_referencecontent parts llama/31256 - CLI:
--modelor-hfis 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 tensordenied on arches that use it llama/31147 llama/31081 - Memory:
no_allocrespected in all memory caches, moved out ofllama_hparams, obsoleten_paddropped llama/31087 llama/31141 llama/31200 - Vocabulary loading optimized;
d2tplaced next to itsset_rowsuse so it can stay on the GPU llama/30679 llama/30912 - Tokenizer: new
clean_spacesand 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_2output 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.hadamardfolded weights llama/30910 - Tensor parallel:
stepfunandlagunanow support 4-10 GPUs llama/24554 - GGUF tools reject truncated tensor data in
split,export-loraandmergellama/30497 llama/31044 llama-quant: fix 4D tensor quantization withggml_nrows()and name-based expert detection llama/30820convert-hf: faster endian conversion with more datatypes, text-only checkpoints in pplx-decider llama/30647 llama/30575convert-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 supportvoxtral-realtimellama/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
lightonocrdefaults to native resolution instead of forcing a 1540 longest edge llama/30600build_inp_temporal_mergemoved to themtmdbase class; fix Gemma-4 FFN activation llama/31065 llama/30882
Server changes
- Realtime conversation and transcription on
/v1/realtime, withresponse.donesent after the committed audio drains llama/31269 llama/30636 llama/30994 POST /ttsendpoint 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 passid_slotthrough the conversion llama/30856 llama/28554 - Support
logprobstogether with speculative decoding llama/27196 - Fix
usage.completion_tokensundercounting withn > 1and missingoutput_indexin Responses API SSE events llama/29486 llama/30863 - Fix SWA checkpoint invalidation logic llama/30666
- New
--connectflag 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_MASKfused sparse-attention mask, plus accessors for the precision configured on a compute node -1is now a valid expert index inMUL_MAT_ID/ADD_ID: the slot is skipped and the output row zeroedSCALEaccepts non-contiguous row views;SUMaccepts 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
src1precision 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
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)