Releases: qualcomm/GenieX
Release list
v0.6.1
What's Changed
- fix: vlm does not have chat template applied in accuracy mode with pr… by Paul Zhu (@vinovo) in #1428
Full Changelog: v0.6.0...v0.6.1
Hexagon HTP
Microsoft-signed HTP catalog (llama.cpp @ 0eadef). No cert import required on Windows on Snapdragon.
v0.6.0
What's Changed
- docs(docs): geniex-bench tutorial for Windows and Linux by Mengsheng Wu (@mengshengwu) in #1371
- fix(server): honour deprecated max_tokens in chat completions by RemiliaForever (@RemiliaForever) in #1377
- fix(sdk): retry transient QDC 5xx during job status/log polling by Mengsheng Wu (@mengshengwu) in #1373
- fix(sdk): align llama_cpp MTP speculative decode with llama.cpp by Mengsheng Wu (@mengshengwu) in #1376
- fix(cli): release model resources when serve shuts down by Mengsheng Wu (@mengshengwu) in #1385
- feat(sdk): add geniex_model_get_detailed for single-model lookups by RemiliaForever (@RemiliaForever) in #1386
- chore(deps): bump geniex-qairt to fix KV-shift occupancy derivation by RemiliaForever (@RemiliaForever) in #1387
- fix(cli): restore the local precision picker for infer by RemiliaForever (@RemiliaForever) in #1381
- fix(cli): report a precision typo on infer instead of a generic SDK error by RemiliaForever (@RemiliaForever) in #1382
- fix(cli): hide already-downloaded precisions from the pull picker by RemiliaForever (@RemiliaForever) in #1383
- fix(sdk): keep sibling chunks alive when one chunk download fails by Mengsheng Wu (@mengshengwu) in #1388
- feat(cli): warn when a second Ctrl+C aborts serve's teardown by Mengsheng Wu (@mengshengwu) in #1392
- refactor(sdk): guard ggml backend dir scan behind GGML_BACKEND_DL by RemiliaForever (@RemiliaForever) in #1391
- fix(cli): match pre-run skip lists on the top-level command by RemiliaForever (@RemiliaForever) in #1394
- test(python): decode greedily and drive the device matrix from models.json by Mengsheng Wu (@mengshengwu) in #1384
- chore(deps): bump actions/setup-java from 5 to 6 by Dependabot (@dependabot)[bot] in #1399
- Fix/server model lookups by RemiliaForever (@RemiliaForever) in #1396
- fix(cli): harden the model-manager call surface by RemiliaForever (@RemiliaForever) in #1401
- fix(sdk): unblock the llama.cpp GPU path on RB3 Gen 2 by RemiliaForever (@RemiliaForever) in #1402
- chore: bump up geniex-qairt for smollm support by Paul Zhu (@vinovo) in #1404
- refactor(sdk): split geniex-bench into per-concern modules by RemiliaForever (@RemiliaForever) in #1378
- docs: document geniex model commands and RB3 Gen 2 VLM limit by RemiliaForever (@RemiliaForever) in #1406
- fix(sdk): default llama_cpp thread counts to llama.cpp's own value by Mengsheng Wu (@mengshengwu) in #1367
- ci(bench): add SmolVLM-2B and SmolVLM2-2.2B to the QDC bench matrix by Mengsheng Wu (@mengshengwu) in #1408
- feat(cli): stream text and tool calls as they complete by RemiliaForever (@RemiliaForever) in #1405
- feat(sdk): add preflight disk-space check to model pull by Mengsheng Wu (@mengshengwu) in #1416
- fix(sdk): local QAIRT precision fix + generic LLM family factory bump by David Qian (@Davidqian123) in #1419
- fix(server): keep tool messages in the chat completions prompt by RemiliaForever (@RemiliaForever) in #1407
- feat(cli): parse Qwen3.5, GPT-OSS and LFM2 tool calls by RemiliaForever (@RemiliaForever) in #1417
- fix(sdk): resolve untagged GGUF quants from general.file_type by Mengsheng Wu (@mengshengwu) in #1415
- fix(sdk): pin mtmd vision encoder to HTP for npu/hybrid by Mengsheng Wu (@mengshengwu) in #1420
- feat(sdk): apply chat template in geniex-bench --accuracy mode by Mengsheng Wu (@mengshengwu) in #1421
- fix(server): trigger keepalive reset from divergent conversations, not a header by RemiliaForever (@RemiliaForever) in #1422
- refactor(qairt): resolve the runtime path in one place, reachable from every binding by Perry Cheng (@zhycheng614) in #1423
- feat(sdk): re-introduce ModelScope hub for geniex pull by MAN$I VERMA (@mansiverma897993) in #1418
- feat(qairt): bundled QAIRT runtime by default, --qnn-lib as an optional override by Perry Cheng (@zhycheng614) in #1389
- chore(qairt): bump the plugin submodule to native-KV bundle support by David Qian (@Davidqian123) in #1425
- rename(cli): --qnn-lib -> --qairt-lib by Paul Zhu (@vinovo) in #1427
Full Changelog: v0.5.0...v0.6.0
Hexagon HTP
Microsoft-signed HTP catalog (llama.cpp @ 0eadef). No cert import required on Windows on Snapdragon.
v0.5.0
Hexagon HTP
Microsoft-signed HTP catalog (llama.cpp @ 873e5d). No cert import required on Windows on Snapdragon.
What's Changed
- ci(bench): add gemma-4 GPU cells and a --compute filter to QDC bench by Mengsheng Wu (@mengshengwu) in #1335
- fix(server): report speculative-decoding stats in OpenAI usage by Mengsheng Wu (@mengshengwu) in #1336
- ci(bench): add gemma-4-26B-A4B-it QAT GGUF for QDC bench by Mengsheng Wu (@mengshengwu) in #1347
- fix(bench): run VLM llama_cpp cells as text LLM in ctx/pp/tg sweep by Mengsheng Wu (@mengshengwu) in #1343
- fix(sdk): default llama.cpp swa_full to false by Mengsheng Wu (@mengshengwu) in #1346
- feat(server): parse Gemma 4 tool-call format by RemiliaForever (@RemiliaForever) in #1345
- feat(sdk): add MTP speculative-decoding coverage to bench matrix by Mengsheng Wu (@mengshengwu) in #1348
- feat(sdk): return PROMPT_TOO_LONG when the prompt itself overflows by RemiliaForever (@RemiliaForever) in #1349
- feat(sdk): measure media encoder time separately from prefill by RemiliaForever (@RemiliaForever) in #1354
- fix(cli): drop unsupported modalities before VLM generate by RemiliaForever (@RemiliaForever) in #1356
- fix(cli): run update installer silently by MAN$I VERMA (@mansiverma897993) in #1352
- test(sdk): add CPU + qairt unit tests for chat template, KV shift, mtmd by Mengsheng Wu (@mengshengwu) in #1355
- fix(bench): raise QDC job timeout and drop hybrid from the matrix by Mengsheng Wu (@mengshengwu) in #1358
- test(sdk): add cross-backend logits parity check by Mengsheng Wu (@mengshengwu) in #1357
- test(qdc): skip test_mtp_multi_turn on QCS9075M by Mengsheng Wu (@mengshengwu) in #1359
- feat(sdk): inject tools into the QAIRT VLM chat template by RemiliaForever (@RemiliaForever) in #1360
- feat(sdk): accept an explicit device list as a compute unit by Mengsheng Wu (@mengshengwu) in #1361
- fix(sdk): reuse VLM KV via char-level prefix match by RemiliaForever (@RemiliaForever) in #1363
- test(python): disable thinking in llm quality keyword cells by RemiliaForever (@RemiliaForever) in #1365
- fix(resume): re-fetch file when size mismatches legacy no-marker state by Mengsheng Wu (@mengshengwu) in #1364
- feat(sdk): add a CPU-only linux build variant for baseline armv8.0 boards by David Qian (@Davidqian123) in #1340
- feat(sdk): resolve AIHM version from latest.txt instead of pinning by zdc (@Hahahaooovvv) in #1353
- test(sdk): stop leaking tempdirs in model-manager store tests by RemiliaForever (@RemiliaForever) in #1368
- feat(android): add a CPU-only AAR for baseline armv8.0 devices by RemiliaForever (@RemiliaForever) in #1366
- docs(docs): document multi-HTP device list in MTP tutorial and CLI reference by Mengsheng Wu (@mengshengwu) in #1370
- feat(sdk): fetch AIHM index from releases/latest/, pinned as fallback by zdc (@Hahahaooovvv) in #1372
- chore: bump up llama.cpp by Paul Zhu (@vinovo) in #1374
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Hexagon HTP
Microsoft-signed HTP catalog (llama.cpp @ 6ba5ef). No cert import required on Windows on Snapdragon.
What's Changed
- chore(deps): bump docker/login-action from 4.5.2 to 4.6.0 by Dependabot (@dependabot)[bot] in #1270
- docs(release): add release check list and fix HTP file count by RemiliaForever (@RemiliaForever) in #1265
- feat(cli/server): hint --host 0.0.0.0 when bound to loopback by RemiliaForever (@RemiliaForever) in #1264
- fix(sdk): restore mtmd_input_text.text_len in VLM tokenize by MAN$I VERMA (@mansiverma897993) in #1273
- fix(sdk): select clip backend from the resolved device, not ngl by Sanoop Sadheerthan (@sanoop-sadheerthan) in #1248
- feat(cli): show models cache root on list by RemiliaForever (@RemiliaForever) in #1263
- feat(cli): show size/location/precision on pull by RemiliaForever (@RemiliaForever) in #1271
- feat(cli): print backend/device summary on infer --verbose by RemiliaForever (@RemiliaForever) in #1274
- fix(go): print only crashing goroutine on backend abort() by RemiliaForever (@RemiliaForever) in #1275
- fix(cli/server): print qairt compute-coercion warning on serve (#1295) by RemiliaForever (@RemiliaForever) in #1276
- docs(docs): add tutorials section with MTP guide and explicit chipset list by Alan Zhu (@alanzhuly) in #1280
- fix(sdk): filter chipset list to the host OS by RemiliaForever (@RemiliaForever) in #1279
- geniex-bench: honour --prompt-file in the VLM run loop by Paul Zhu (@vinovo) in #1278
- docs: document --nctx and improve context-exceeded UX by RemiliaForever (@RemiliaForever) in #1281
- feat(cli): add --log flag equivalent to GENIEX_LOG by RemiliaForever (@RemiliaForever) in #1283
- docs(cli): refresh update-checks section in run.md by RemiliaForever (@RemiliaForever) in #1287
- feat(python): show progress bar during pip install SDK fetch by Mengsheng Wu (@mengshengwu) in #1282
- perf(python): coalesce range GETs in install-time SDK fetch by Mengsheng Wu (@mengshengwu) in #1288
- build(release): rename Python sdist assets to match other release artifacts by Mengsheng Wu (@mengshengwu) in #1290
- ci(qdc): reconstruct pytest summary from --report-log on abort by Mengsheng Wu (@mengshengwu) in #1291
- feat(sdk): add InternVL 3.5 QAIRT model support and fix Gemma4 geniex-bench errors by David Qian (@Davidqian123) in #1285
- fix(sdk): reacquire HTP sessions on all devices, not just NPU by Mengsheng Wu (@mengshengwu) in #1289
- fix(cli): echo compute alias in model-loaded line by RemiliaForever (@RemiliaForever) in #1296
- fix(sdk): patch llama.cpp OpenCL cpy kernel for Adreno by RemiliaForever (@RemiliaForever) in #1284
- fix(server): send spec-compliant finish_reason on stream chunks by MAN$I VERMA (@mansiverma897993) in #1246
- feat(server): match tool-call JSON by braces instead of tags by RemiliaForever (@RemiliaForever) in #1298
- fix(cli): apply --log to the SDK log callback by RemiliaForever (@RemiliaForever) in #1299
- fix(cli): suggest --log debug in model-load failure hint by RemiliaForever (@RemiliaForever) in #1300
- ci: split test surface into Unit Test + QDC Test workflows by Mengsheng Wu (@mengshengwu) in #1297
- fix(ci): avoid rebuilding SDK inside QDC Test when called from test.yml by Mengsheng Wu (@mengshengwu) in #1302
- fix(sdk): fully clear VLM memory on reset by zdc (@Hahahaooovvv) in #1301
- fix(cli): route --spec-type through the LLM path for VLM-classified models by Mengsheng Wu (@mengshengwu) in #1295
- ci(test): change-gate PR runs, tag-gate full matrix, JSON model manifest by Mengsheng Wu (@mengshengwu) in #1303
- feat(cli): add 'geniex model list' for AI Hub catalogue by RemiliaForever (@RemiliaForever) in #1304
- ci(qdc): route matrix values through env to satisfy zizmor by Mengsheng Wu (@mengshengwu) in #1307
- ci(test): add Rust model-manager unit-test job to PR check by Mengsheng Wu (@mengshengwu) in #1309
- feat(cli): auto-detect RB3 Gen2 and default compute to cpu by RemiliaForever (@RemiliaForever) in #1306
- chore: bump up geniex-qairt to include qnwe3 0.6b and gemma 4 fix by Paul Zhu (@vinovo) in #1310
- test(qdc): run llama_cpp LLM + VLM QDC matrix on cpu/gpu/npu by Mengsheng Wu (@mengshengwu) in #1308
- fix(server): route reasoning_format to split thinking into reasoning_content by RemiliaForever (@RemiliaForever) in #1305
- refactor(server): split chat handler and unify token routing by RemiliaForever (@RemiliaForever) in #1315
- refactor(sdk)!: remove unused fields from geniex.h and sync bindings by RemiliaForever (@RemiliaForever) in #1319
- docs(docs): use PowerShell backtick continuation in mtp tutorial by Mengsheng Wu (@mengshengwu) in #1320
- docs(docs): trim mtp tutorial and flatten tutorials nav by Alan Zhu (@alanzhuly) in #1321
- feat(server): add raw /v1/completions for FIM autocompletion by MAN$I VERMA (@mansiverma897993) in #1317
- Add Android SM8850 leg to QDC test matrix by Mengsheng Wu (@mengshengwu) in #1318
- docs(docs): document audio input across CLI, server, and Python by RemiliaForever (@RemiliaForever) in #1325
- sdk(model-manager): bump DEFAULT_AI_HUB_VERSION to v0.60.0 by David Qian (@Davidqian123) in #1327
- fix(sdk): only last MTP-prefill token needs logits by Mengsheng Wu (@mengshengwu) in #1333
- fix(sdk): fix MTP failures caused by HTP session churn and VLM model leak by Mengsheng Wu (@mengshengwu) in #1334
- fix(server): guard in-use models from keep-alive destruction by MAN$I VERMA (@mansiverma897993) in #1324
- fix(sdk): accept both QAIRT runtime enums when selecting AI Hub assets by David Qian (@Davidqian123) in #1338
New Contributors
- Sanoop Sadheerthan (@sanoop-sadheerthan) made their first contribution in #1248
- zdc (@Hahahaooovvv) made their first contribution in #1301
Full Changelog: v0.3.18...v0.4.0
v0.3.20
Hexagon HTP
Microsoft-signed HTP catalog (llama.cpp @ 6ba5ef). No cert import required on Windows on Snapdragon.
What's Changed
- test(qdc): run llama_cpp LLM + VLM QDC matrix on cpu/gpu/npu by Mengsheng Wu (@mengshengwu) in #1308
- fix(server): route reasoning_format to split thinking into reasoning_content by RemiliaForever (@RemiliaForever) in #1305
- refactor(server): split chat handler and unify token routing by RemiliaForever (@RemiliaForever) in #1315
- refactor(sdk)!: remove unused fields from geniex.h and sync bindings by RemiliaForever (@RemiliaForever) in #1319
- docs(docs): use PowerShell backtick continuation in mtp tutorial by Mengsheng Wu (@mengshengwu) in #1320
- docs(docs): trim mtp tutorial and flatten tutorials nav by Alan Zhu (@alanzhuly) in #1321
- feat(server): add raw /v1/completions for FIM autocompletion by MAN$I VERMA (@mansiverma897993) in #1317
- Add Android SM8850 leg to QDC test matrix by Mengsheng Wu (@mengshengwu) in #1318
- docs(docs): document audio input across CLI, server, and Python by RemiliaForever (@RemiliaForever) in #1325
- sdk(model-manager): bump DEFAULT_AI_HUB_VERSION to v0.60.0 by David Qian (@Davidqian123) in #1327
- fix(sdk): only last MTP-prefill token needs logits by Mengsheng Wu (@mengshengwu) in #1333
- fix(sdk): fix MTP failures caused by HTP session churn and VLM model leak by Mengsheng Wu (@mengshengwu) in #1334
- fix(server): guard in-use models from keep-alive destruction by MAN$I VERMA (@mansiverma897993) in #1324
Full Changelog: v0.3.19...v0.3.20
v0.3.19
What's Changed
- chore(deps): bump docker/login-action from 4.5.2 to 4.6.0 by Dependabot (@dependabot)[bot] in #1270
- docs(release): add release check list and fix HTP file count by RemiliaForever (@RemiliaForever) in #1265
- feat(cli/server): hint --host 0.0.0.0 when bound to loopback by RemiliaForever (@RemiliaForever) in #1264
- fix(sdk): restore mtmd_input_text.text_len in VLM tokenize by MAN$I VERMA (@mansiverma897993) in #1273
- fix(sdk): select clip backend from the resolved device, not ngl by Sanoop Sadheerthan (@sanoop-sadheerthan) in #1248
- feat(cli): show models cache root on list by RemiliaForever (@RemiliaForever) in #1263
- feat(cli): show size/location/precision on pull by RemiliaForever (@RemiliaForever) in #1271
- feat(cli): print backend/device summary on infer --verbose by RemiliaForever (@RemiliaForever) in #1274
- fix(go): print only crashing goroutine on backend abort() by RemiliaForever (@RemiliaForever) in #1275
- fix(cli/server): print qairt compute-coercion warning on serve (#1295) by RemiliaForever (@RemiliaForever) in #1276
- docs(docs): add tutorials section with MTP guide and explicit chipset list by Alan Zhu (@alanzhuly) in #1280
- fix(sdk): filter chipset list to the host OS by RemiliaForever (@RemiliaForever) in #1279
- geniex-bench: honour --prompt-file in the VLM run loop by Paul Zhu (@vinovo) in #1278
- docs: document --nctx and improve context-exceeded UX by RemiliaForever (@RemiliaForever) in #1281
- feat(cli): add --log flag equivalent to GENIEX_LOG by RemiliaForever (@RemiliaForever) in #1283
- docs(cli): refresh update-checks section in run.md by RemiliaForever (@RemiliaForever) in #1287
- feat(python): show progress bar during pip install SDK fetch by Mengsheng Wu (@mengshengwu) in #1282
- perf(python): coalesce range GETs in install-time SDK fetch by Mengsheng Wu (@mengshengwu) in #1288
- build(release): rename Python sdist assets to match other release artifacts by Mengsheng Wu (@mengshengwu) in #1290
- ci(qdc): reconstruct pytest summary from --report-log on abort by Mengsheng Wu (@mengshengwu) in #1291
- feat(sdk): add InternVL 3.5 QAIRT model support and fix Gemma4 geniex-bench errors by David Qian (@Davidqian123) in #1285
- fix(sdk): reacquire HTP sessions on all devices, not just NPU by Mengsheng Wu (@mengshengwu) in #1289
- fix(cli): echo compute alias in model-loaded line by RemiliaForever (@RemiliaForever) in #1296
- fix(sdk): patch llama.cpp OpenCL cpy kernel for Adreno by RemiliaForever (@RemiliaForever) in #1284
- fix(server): send spec-compliant finish_reason on stream chunks by MAN$I VERMA (@mansiverma897993) in #1246
- feat(server): match tool-call JSON by braces instead of tags by RemiliaForever (@RemiliaForever) in #1298
- fix(cli): apply --log to the SDK log callback by RemiliaForever (@RemiliaForever) in #1299
- fix(cli): suggest --log debug in model-load failure hint by RemiliaForever (@RemiliaForever) in #1300
- ci: split test surface into Unit Test + QDC Test workflows by Mengsheng Wu (@mengshengwu) in #1297
- fix(ci): avoid rebuilding SDK inside QDC Test when called from test.yml by Mengsheng Wu (@mengshengwu) in #1302
- fix(sdk): fully clear VLM memory on reset by zdc (@Hahahaooovvv) in #1301
- fix(cli): route --spec-type through the LLM path for VLM-classified models by Mengsheng Wu (@mengshengwu) in #1295
- ci(test): change-gate PR runs, tag-gate full matrix, JSON model manifest by Mengsheng Wu (@mengshengwu) in #1303
- feat(cli): add 'geniex model list' for AI Hub catalogue by RemiliaForever (@RemiliaForever) in #1304
- ci(qdc): route matrix values through env to satisfy zizmor by Mengsheng Wu (@mengshengwu) in #1307
- ci(test): add Rust model-manager unit-test job to PR check by Mengsheng Wu (@mengshengwu) in #1309
- feat(cli): auto-detect RB3 Gen2 and default compute to cpu by RemiliaForever (@RemiliaForever) in #1306
- chore: bump up geniex-qairt to include qnwe3 0.6b and gemma 4 fix by Paul Zhu (@vinovo) in #1310
New Contributors
- Sanoop Sadheerthan (@sanoop-sadheerthan) made their first contribution in #1248
- zdc (@Hahahaooovvv) made their first contribution in #1301
Full Changelog: v0.3.18...v0.3.19
Hexagon HTP
Microsoft-signed HTP catalog (llama.cpp @ 6ba5ef). No cert import required on Windows on Snapdragon.
v0.3.18
Hexagon HTP
Support Gemma4-E2B and Gemma4-E4B QAIRT inference through local path.
Microsoft-signed HTP catalog (llama.cpp @ 6ba5ef). No cert import required on Windows on Snapdragon.
What's Changed
- docs(install): cross-link Docker and native Linux install paths by Mengsheng Wu (@mengshengwu) in #1231
- docs(server): rewrite tool-calling example as VLM + web_search round-trip by Mengsheng Wu (@mengshengwu) in #1238
- fix(sdk): forward quant suffix on benchmark cache hit by RemiliaForever (@RemiliaForever) in #1239
- ci: harden workflows against zizmor high-severity findings by RemiliaForever (@RemiliaForever) in #1240
- chore(release): source signed HTP bundle from qcom-ai-hub/geniex LFS by Mengsheng Wu (@mengshengwu) in #1237
- chore(deps): bump actions/stale from 10 to 11 by Dependabot (@dependabot)[bot] in #1249
- chore(sdk): drop stale gitattributes and gitmodules by Mengsheng Wu (@mengshengwu) in #1251
- chore(deps): bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 by Dependabot (@dependabot)[bot] in #1253
- refactor(sdk): drop default-quant from model-manager by Mengsheng Wu (@mengshengwu) in #1252
- feat(sdk)!: generalize llama_cpp speculative decoding to all types by Mengsheng Wu (@mengshengwu) in #1195
- feat(qairt): Add Gemma 4 QAIRT support by David Qian (@Davidqian123) in #1257
- chore(deps): bump docker/login-action from 4 to 4.5.2 by Dependabot (@dependabot)[bot] in #1258
- fix(sdk): key QAIRT ModelFile by precision so name:precision ids resolve by Mengsheng Wu (@mengshengwu) in #1261
- fix(sdk): recognize scalar ggml quant tags (F/BF/FP/I) by Mengsheng Wu (@mengshengwu) in #1262
- feat(sdk): expose raw logits (geniex_llm_forward_logits) in bench + serve by RemiliaForever (@RemiliaForever) in #1256
Full Changelog: v0.3.17...v0.3.18
v0.3.17
Hexagon HTP
Microsoft-signed HTP catalog (llama.cpp @ ae9291). No cert import required on Windows on Snapdragon.
What's Changed
- chore(deps): bump actions/setup-python from 6 to 7 by Dependabot (@dependabot)[bot] in #1205
- fix(cli): exclude resumed bytes from download speed by Mengsheng Wu (@mengshengwu) in #1206
- ci(release): use Trusted Publishing for TestPyPI by Mengsheng Wu (@mengshengwu) in #1207
- ci: remove manual llama.cpp Windows ARM64 build workflow by Mengsheng Wu (@mengshengwu) in #1194
- docs(cli): move host-dependency install into CLI page by RemiliaForever (@RemiliaForever) in #1213
- docs(cli): tidy host-dependency intro wording by RemiliaForever (@RemiliaForever) in #1214
- docs(cli): add libqnn1 for linux by RemiliaForever (@RemiliaForever) in #1215
- docs(server): add non-streaming and tool-calling examples by Mengsheng Wu (@mengshengwu) in #1208
- fix(server): populate id and type on tool_calls response by Mengsheng Wu (@mengshengwu) in #1212
- fix(sdk): fold :default quant to its lower-case sentinel by MAN$I VERMA (@mansiverma897993) in #1216
- fix(server): unblock cross-origin browser clients in CORS middleware by MAN$I VERMA (@mansiverma897993) in #1222
- feat(sdk): auto-detect Dragonwing IQ-8275 EVK via socinfo by Mengsheng Wu (@mengshengwu) in #1224
- feat(sdk): honor HF_ENDPOINT for HuggingFace downloads by Mengsheng Wu (@mengshengwu) in #1221
- feat(cli): gate windows update on installer signing by RemiliaForever (@RemiliaForever) in #1219
- chore(sdk): bump pinned aihub release to v0.58.0 by RemiliaForever (@RemiliaForever) in #1226
- feat(sdk): auto-detect Snapdragon X2 Plus hosts by MAN$I VERMA (@mansiverma897993) in #1228
- feat(sdk): detect chipset via Adreno GPU by CZ Zhang (@changzheng-zhang) in #1229
- chore(sdk): trim excess comments in detect.rs by Mengsheng Wu (@mengshengwu) in #1230
- docs: bump toolchain image to v0.1.0 and update release notes by RemiliaForever (@RemiliaForever) in #1232
- fix(sdk): invalidate aihub index cache on version change by RemiliaForever (@RemiliaForever) in #1234
New Contributors
- MAN$I VERMA (@mansiverma897993) made their first contribution in #1216
- CZ Zhang (@changzheng-zhang) made their first contribution in #1229
Full Changelog: v0.3.16...v0.3.17
v0.3.16
Hexagon HTP
Microsoft-signed HTP catalog (llama.cpp @ ae9291). No cert import required on Windows on Snapdragon.
What's Changed
- docs: simplify Docker install to Docker Hub only by Zack Li (@zhiyuan8) in #1139
- docs(dx): add same NPU troubleshooting to Chinese docs by Perry Cheng (@zhycheng614) in #1142
- feat(server): add server-wide nctx/ngl/compute defaults to serve by RemiliaForever (@RemiliaForever) in #1141
- fix(ci): unify source license headers to BSD-3-Clause by RemiliaForever (@RemiliaForever) in #1144
- docs: drop HOME export step from Linux ARM64 install by Alan Zhu (@alanzhuly) in #1145
- fix(python): fix VLM multi-turn image guard and test message order by Mengsheng Wu (@mengshengwu) in #1130
- fix(sdk): report qairt prefill rate over padded prompt length by RemiliaForever (@RemiliaForever) in #1148
- fix(sdk): load non-ASCII image paths in qairt VLM on Windows by RemiliaForever (@RemiliaForever) in #1152
- docs: add Simplified Chinese README and sync cn docs by RichardDoong in #1146
- chore(ci): drop dead .apk content-type branch in release.js by RemiliaForever (@RemiliaForever) in #1158
- docs(python): update install instructions to use production PyPI by Mengsheng Wu (@mengshengwu) in #1151
- feat(sdk): support input_ids and get_model_info in qairt plugin by David Qian (@Davidqian123) in #1157
- ci(release): use Trusted Publishing for production PyPI by Perry Cheng (@zhycheng614) in #1156
- feat(sdk): support batched prompts in geniex-bench via --- separator by RemiliaForever (@RemiliaForever) in #1159
- docs(linux): surface host-dependency setup as an install pre-step by Mengsheng Wu (@mengshengwu) in #1167
- feat(qairt): opt-in sliding window CLI flag and env var by David Qian (@Davidqian123) in #1160
- ci(build-sdk): build unsigned HTP skels when signing secret is absent by Mengsheng Wu (@mengshengwu) in #1171
- fix(cli): align serve short aliases with infer/run by RemiliaForever (@RemiliaForever) in #1172
- ci(build-sdk): override cached HTP cert path so unsigned fork builds skip signing by Mengsheng Wu (@mengshengwu) in #1173
- feat(sdk): pull models from Docker Hub's ai/* namespace by Eric Curtin (@ericcurtin) in #1165
- fix(sdk): default to npu and stop clobbering explicit ngl by RemiliaForever (@RemiliaForever) in #1174
- feat(cli): fetch updates from S3 index instead of GitHub releases by RemiliaForever (@RemiliaForever) in #1164
- chore(deps): bump actions/setup-node from 6 to 7 by Dependabot (@dependabot)[bot] in #1176
- fix(sdk): fail cleanly on CPUs missing required armv8.2 features by RemiliaForever (@RemiliaForever) in #1180
- chore(sdk): bump geniex-qairt submodule pointer by David Qian (@Davidqian123) in #1175
- refactor(sdk): remove dead license_key / validation subsystem by Mengsheng Wu (@mengshengwu) in #1184
- chore(sdk): bump llama.cpp to b10019 by RemiliaForever (@RemiliaForever) in #1182
- Remove Mixpanel integration from documentation by AlexCHEN (@alexchen4ai) in #1188
- chore(deps): bump actions/setup-go from 6 to 7 by Dependabot (@dependabot)[bot] in #1189
- docs(docs): expand contributing guide for open-source contributors by Mengsheng Wu (@mengshengwu) in #1177
- docs(cli): sync Chinese README with English CLI docs by Ting Heng Nguan (@HengNguan) in #1192
- fix(ci): bump Windows Hexagon SDK to 6.6.0.0 for parity with Linux/Android by Mengsheng Wu (@mengshengwu) in #1193
- fix(python): exclude resumed bytes from download speed by Mengsheng Wu (@mengshengwu) in #1190
- fix(sdk): fix gemma-4-E2B VLM load and MTP quant selection by RemiliaForever (@RemiliaForever) in #1197
- fix(sdk): enable clip GPU backend when n_gpu_layers is -1 by RemiliaForever (@RemiliaForever) in #1198
- chore(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1 by Dependabot (@dependabot)[bot] in #1200
New Contributors
- RichardDoong made their first contribution in #1146
- Eric Curtin (@ericcurtin) made their first contribution in #1165
- Ting Heng Nguan (@HengNguan) made their first contribution in #1192
Full Changelog: v0.3.14...v0.3.16
v0.3.14
Hexagon HTP
Microsoft-signed HTP catalog (llama.cpp @ be4a6a). No cert import required on Windows on Snapdragon.
What's Changed
- chore(deps): bump GitHub Actions (checkout, setup-buildx-action, configure-pages) by RemiliaForever (@RemiliaForever) in #1123
- fix(sdk): auto-detect QAIRT VLM bundles in geniex-bench by David Qian (@Davidqian123) in #1124
- Added developer preview tag by Alan Zhu (@alanzhuly) in #1127
- fix(build): bump Hexagon toolchain to v0.7 to fix miscompiled HTP v75… by Perry Cheng (@zhycheng614) in #1128
- fix(docs): update style.css by RemiliaForever (@RemiliaForever) in #1129
- chore(sdk): bump pinned aihm release to v0.57.0 by David Qian (@Davidqian123) in #1133
- chore: add BSD-3-Clause SPDX headers to satisfy Repolinter by AlexCHEN (@alexchen4ai) in #1136
- ci(release): publish stable tags to production PyPI by Paul Zhu (@vinovo) in #1134
- docs(dx): add NPU driver symlink and hybrid CPU-fallback troubleshooting by Perry Cheng (@zhycheng614) in #1137
Full Changelog: v0.3.13...v0.3.14