v0.3.23
gohugoio/hugov0.3.23Oct 1, 2026by github-actions[bot]
Upgrading?
AI Summary
This release focuses on improving evaluation controls, MCP forwarding, and CLI usability, while fixing Docker and ONNX issues.
Key Highlights
- Added support for forwarding per-call controls (hooks_timeout, min_confidence) through MCP and serve endpoints.
- Introduced abstention gate controls for evaluations and CLI, allowing users to gate responses based on confidence.
- Added new language detection capabilities, including Swedish and improved language guess heuristics.
- Fixed ONNX quantization defaults and Docker checkpoint handling to ensure compatibility and stability.
- Enhanced SDK and integration wrappers to forward budgets, hooks, and language settings.
New Features
- MCP tools now forward hooks_timeout, min_confidence, and sort_by_length.
- CLI now exposes soft language hint (lang_guess) and abstention gate options.
- Framework wrappers now forward lang, min_confidence, budgets, and hooks.
- Shortlist choice now returns cosine scores.
- Evals now accept --calibration for ONNX and support per-slice quality gates.
Full Release Notes
## What's Changed * fix(docker): read a file-backed secret past a Windows editor BOM by @aashish254 in https://github.com/NandhaKishorM/laya/pull/765 * feat(mcp): forward hooks_timeout, min_confidence and sort_by_length on laya_predict_batch by @aashish254 in https://github.com/NandhaKishorM/laya/pull/766 * fix(examples): example 33 quoted the shipped temperature, not the applied one by @aashish254 in https://github.com/NandhaKishorM/laya/pull/768 * fix(examples): example 03 now shows answer_confidence, the field to gate on by @aashish254 in https://github.com/NandhaKishorM/laya/pull/769 * feat(mcp): forward hooks_timeout on laya_route_batch by @aashish254 in https://github.com/NandhaKishorM/laya/pull/770 * fix(examples): example 04 called the entropy confidence "calibrated" by @aashish254 in https://github.com/NandhaKishorM/laya/pull/771 * fix(examples): the README row for example 33 listed an option count the example never had by @aashish254 in https://github.com/NandhaKishorM/laya/pull/772 * fix(examples): the shared describe() prints answer_confidence, not just entropy by @aashish254 in https://github.com/NandhaKishorM/laya/pull/773 * feat(serve): forward the per-call controls /v1/systemone already forwards on /v1/systemone/batch by @aashish254 in https://github.com/NandhaKishorM/laya/pull/774 * fix(docker): check_torch reports a missing argument and a missing torch by name by @aashish254 in https://github.com/NandhaKishorM/laya/pull/775 * feat(evals): make laya-evals run --min-confidence reach the abstention gate by @aashish254 in https://github.com/NandhaKishorM/laya/pull/777 * feat(examples): forward the per-call controls laya.serve forwards on /v1/systemone by @aashish254 in https://github.com/NandhaKishorM/laya/pull/778 * feat(research): add Spanish phone-turn benchmark and fine-tuning recipe by @fchinch in https://github.com/NandhaKishorM/laya/pull/784 * feat(evals): attribute shortlist retrieval and decision errors by @zhangxinping666 in https://github.com/NandhaKishorM/laya/pull/787 * chore(security): name the advisories in the warning and pin the image boundary by @devloper961-maker in https://github.com/NandhaKishorM/laya/pull/788 * fix(onnx): default --quantize to per-tensor; per-channel collapses the model (#790) by @AlKor13 in https://github.com/NandhaKishorM/laya/pull/792 * feat(cli): make core's soft language hint (lang_guess) reachable with --lang-guess by @aashish254 in https://github.com/NandhaKishorM/laya/pull/795 * feat(mcp): forward Router lang_guess through the single-request tools by @aashish254 in https://github.com/NandhaKishorM/laya/pull/797 * feat(integrations): forward lang and min_confidence through the framework wrappers by @aashish254 in https://github.com/NandhaKishorM/laya/pull/798 * fix(cli): read --batch - from stdin as utf-8 by @plox-sumit in https://github.com/NandhaKishorM/laya/pull/799 * feat(integrations): forward budgets and hooks from LayaDecision by @aashish254 in https://github.com/NandhaKishorM/laya/pull/800 * fix(verify): checkpoints.py repairs a truncated download instead of trusting it by @aashish254 in https://github.com/NandhaKishorM/laya/pull/801 * fix(mcp): reject a LAYA_DEVICE value torch cannot parse where it is read by @aashish254 in https://github.com/NandhaKishorM/laya/pull/802 * fix(benchmarks): plot_results labels the figure from the data and the repo, not literals by @aashish254 in https://github.com/NandhaKishorM/laya/pull/803 * fix(compose): forward the laya-serve knobs the gate deferred by @aashish254 in https://github.com/NandhaKishorM/laya/pull/806 * fix(compose): the example override's model default must be the one the page prints by @aashish254 in https://github.com/NandhaKishorM/laya/pull/807 * fix(examples): keep the /gui 4xx error page off exception text by @modusensus in https://github.com/NandhaKishorM/laya/pull/808 * test(env): hold the AMP dtype spellings the docs promise to the code by @aashish254 in https://github.com/NandhaKishorM/laya/pull/809 * docs(http-api): document every field /health returns, and gate it by @aashish254 in https://github.com/NandhaKishorM/laya/pull/811 * fix(notebooks): fine-tune notebook fits temperatures outside runtime clamp, so served calibration differs (#637) by @Sarthak-Pandey in https://github.com/NandhaKishorM/laya/pull/642 * feat(confidence): report the abstention gate's state on every answer by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/679 * docs(guides): add production use cases and architectural patterns (#675) by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/684 * fix(agent): predict_long skips part of the document and reports that it read it by @keemsisi in https://github.com/NandhaKishorM/laya/pull/689 * fix(router): stop a per-checkpoint pin from silently disabling the ca… by @keemsisi in https://github.com/NandhaKishorM/laya/pull/690 * feat(docker): bake checkpoints from ModelScope at build time by @cgq0816 in https://github.com/NandhaKishorM/laya/pull/720 * feat(cli): make core's abstention gate reachable from the command line by @aashish254 in https://github.com/NandhaKishorM/laya/pull/725 * fix(onnx): declare dynamic dims with dynamic_axes again so export works on torch < 2.9 by @cklxx in https://github.com/NandhaKishorM/laya/pull/726 * test(serve): bound the loopback waits so a stalled bind fails instead of hanging by @Yi-111-a in https://github.com/NandhaKishorM/laya/pull/727 * feat(lang): detect Swedish with MASSIVE evaluation by @yeager in https://github.com/NandhaKishorM/laya/pull/728 * feat(serve): make the routing fallback reachable from the environment by @aashish254 in https://github.com/NandhaKishorM/laya/pull/730 * feat(shortlist): return cosine scores from shortlist_choice on request by @aashish254 in https://github.com/NandhaKishorM/laya/pull/733 * fix(integrations): gate thresholds on answer_confidence, never entropy confidence by @aashish254 in https://github.com/NandhaKishorM/laya/pull/734 * fix(shortlist): refuse a cache write whose embedding width changed by @aashish254 in https://github.com/NandhaKishorM/laya/pull/735 * feat(email): clean French mail clients the way EN/PT/ES are cleaned by @aashish254 in https://github.com/NandhaKishorM/laya/pull/736 * fix(tests): normalize relpath separators in test_env_docs for Windows compatibility by @LEVELING2108 in https://github.com/NandhaKishorM/laya/pull/737 * fix(docs): link the TypeScript SDK guide by URL so the strict build stops failing by @keemsisi in https://github.com/NandhaKishorM/laya/pull/742 * docs(finetune): add Apple Silicon MPS fine-tuning script guide by @Angboo in https://github.com/NandhaKishorM/laya/pull/743 * fix(ci): do not cancel an eval run that is already in flight by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/745 * fix(ts): reject a null or empty instructions, as Python does by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/746 * fix(ts): reject bucket overrides that are not a mapping, as Python does by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/749 * feat(research): choice identical-option control for presentation_checks (#602, part a) by @hiroki-abe-58 in https://github.com/NandhaKishorM/laya/pull/753 * feat(evals): add opt-in per-slice quality gates by @zhangxinping666 in https://github.com/NandhaKishorM/laya/pull/755 * fix(common): refuse a bool where a temperature is expected by @aashish254 in https://github.com/NandhaKishorM/laya/pull/757 * fix(hooks): refuse a skip() whose count breaks the contract it documents by @aashish254 in https://github.com/NandhaKishorM/laya/pull/758 * feat(evals): accept --calibration on laya-evals run --onnx by @NAVEENPRASAATH23 in https://github.com/NandhaKishorM/laya/pull/759 * docs(security): add SECURITY.md vulnerability reporting policy (#740) by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/761 * feat(sdk): expose the per-request controls /v1/systemone forwards by @aashish254 in https://github.com/NandhaKishorM/laya/pull/763 * fix(calibrate): refuse a payload whose shape is not one this code can read by @aashish254 in https://github.com/NandhaKishorM/laya/pull/764 * fix(revisions): find the reviewed pin whatever case the repo id is spelled in by @aashish254 in https://github.com/NandhaKishorM/laya/pull/767 * perf(agent): reuse compiled CUDA graphs across token lengths by @RagingSilence in https://github.com/NandhaKishorM/laya/pull/791 * fix(agent): synchronize GPU OOM fallback to protect concurrent in-flight inference (#649) by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/810 * feat(benchmarks): add Chinese reliability evaluation by @Fanrito in https://github.com/NandhaKishorM/laya/pull/392 * fix(evals): every laya-evals argument says what it is, in --help and on the page by @aashish254 in https://github.com/NandhaKishorM/laya/pull/813 ## New Contributors * @fchinch made their first contribution in https://github.com/NandhaKishorM/laya/pull/784 * @plox-sumit made their first contribution in https://github.com/NandhaKishorM/laya/pull/799 * @Sarthak-Pandey made their first contribution in https://github.com/NandhaKishorM/laya/pull/642 * @cgq0816 made their first contribution in https://github.com/NandhaKishorM/laya/pull/720 * @Yi-111-a made their first contribution in https://github.com/NandhaKishorM/laya/pull/727 * @yeager made their first contribution in https://github.com/NandhaKishorM/laya/pull/728 * @NAVEENPRASAATH23 made their first contribution in https://github.com/NandhaKishorM/laya/pull/759 * @Fanrito made their first contribution in https://github.com/NandhaKishorM/laya/pull/392 **Full Changelog**: https://github.com/NandhaKishorM/laya/compare/v0.3.22...v0.3.23
Related Repositories
ollama/ollama★ 184,215
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frp★ 110,053
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
infiniflow/ragflow★ 92,614
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
junegunn/fzf★ 83,715
:cherry_blossom: A command-line fuzzy finder
caddyserver/caddy★ 78,239
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS