v0.3.23

mufeedvh/code2promptv0.3.23Oct 1, 2026by github-actions[bot]

Upgrading?

AI Summary

A maintenance release focusing on forwarding configuration parameters like abstention gates, confidence thresholds, and language hints across MCP, CLI, and integration layers, alongside fixes for Docker and ONNX handling.

Key Highlights

  • Fixed Windows Docker BOM handling for file-backed secrets
  • Forwarded per-call controls (abstention, confidence, language) to MCP tools and framework wrappers
  • Fixed ONNX quantization defaults and dynamic dimension handling for older Torch versions
  • Added CLI support for language guessing and abstention gates

New Features

  • Spanish phone-turn benchmark and fine-tuning recipe
  • CLI flag `--lang-guess` to reach core's soft language hint
  • CLI flag `--batch -` to read from stdin as UTF-8
  • Attribute shortlist retrieval and decision errors in evaluations
  • Make `laya-evals` run `--min-confidence` reach the abstention gate

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