v0.3.22
datalab-to/suryav0.3.22Sep 29, 2026by github-actions[bot]
Upgrading?
AI Summary
Large update adding TypeScript SDK, evaluation harness, and reverse proxy support.
Key Highlights
- TypeScript SDK
- Selective-prediction report
- Reverse proxy URL prefixes
- Evaluation harness
New Features
- TypeScript SDK
- Selective-prediction report
- Reverse proxy support
- Eval harness
- Batch decision endpoint
Full Release Notes
## What's Changed * feat(ts): per-checkpoint SHA-256 artifact verification in Router by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/723 * feat(serve): forward the /v1/systemone controls a JSON body can state by @aashish254 in https://github.com/NandhaKishorM/laya/pull/724 * chore(deps): Bump actions/upload-artifact from 4.6.2 to 7.0.1 by @dependabot[bot] in https://github.com/NandhaKishorM/laya/pull/627 * chore(deps): Bump zensical from 0.0.64 to 0.0.65 by @dependabot[bot] in https://github.com/NandhaKishorM/laya/pull/632 * fix(serve): read the checkpoints a client may name from laya.router by @aashish254 in https://github.com/NandhaKishorM/laya/pull/638 * feat(eval): selective-prediction report for metamorphic variants by @Charanraj-24 in https://github.com/NandhaKishorM/laya/pull/639 * fix(agent): say what precision a call runs in, not only the autocast target (#621) by @phant0um in https://github.com/NandhaKishorM/laya/pull/641 * feat(ts): port confidence-based abstention gating on answer_confidence (#361) by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/644 * fix(ts): validate questions and reject null state before serialization (#607, #608) by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/648 * feat(research): non-English fixed states for presentation_checks (#602, part b) by @hiroki-abe-58 in https://github.com/NandhaKishorM/laya/pull/650 * feat(integrations): forward budgets and hooks from CrewAI/LlamaIndex by @aashish254 in https://github.com/NandhaKishorM/laya/pull/652 * fix(agent): merge per-question usage across predict_long windows by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/653 * feat(cli): make core's length grouping reachable from every surface by @aashish254 in https://github.com/NandhaKishorM/laya/pull/654 * fix(integrations): read text out of LangChain content-block lists by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/655 * feat(serve): support reverse-proxy URL prefixes by @SomSamantray in https://github.com/NandhaKishorM/laya/pull/656 * feat(mcp): expose core's min_confidence abstention control on the decision tools by @aashish254 in https://github.com/NandhaKishorM/laya/pull/657 * fix(mcp): normalise LAYA_DEVICE once, so torch and laya_status agree by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/659 * fix(evals): return the documented exit code for a usage error by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/661 * fix(onnx): reject the same invalid inputs Agent.predict_batch already rejected by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/662 * feat(evals): a run identity, and a gate that refuses a baseline it cannot match by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/664 * fix(docker): run the child command instead of exec'ing it on Windows by @liwenjie200543 in https://github.com/NandhaKishorM/laya/pull/665 * fix(structured): honour minimum when a score answer has no probabilities by @cr-sbarbouche in https://github.com/NandhaKishorM/laya/pull/666 * fix(common): report state truncation from the token budget that applies by @somtri in https://github.com/NandhaKishorM/laya/pull/668 * fix(ts): honour score minimum in structured projection (#663) by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/676 * fix(evals): use nearest-rank 95th percentile by @rahul05ranjan in https://github.com/NandhaKishorM/laya/pull/682 * fix(structured): expose answer_confidence on DecisionResult by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/685 * fix(email): cut a sign-off whose name carries a mark from any script by @Denimworld12 in https://github.com/NandhaKishorM/laya/pull/686 * fix(serve): measure the state limit on the text the tokenizer receives by @keemsisi in https://github.com/NandhaKishorM/laya/pull/691 * fix(agent): preserve start-hook questions in long scans by @kapelame in https://github.com/NandhaKishorM/laya/pull/692 * fix(security): split the CVE audit into shipped (blocking) and extras (advisory) by @devloper961-maker in https://github.com/NandhaKishorM/laya/pull/694 * docs(common): the state budget is max_len - head_len - 1, not max_len - head_max_len by @Parswanadh in https://github.com/NandhaKishorM/laya/pull/696 * research: accuracy against evidence position at fixed document length by @Parswanadh in https://github.com/NandhaKishorM/laya/pull/697 * fix(notebook): trim train items before DDP sharding by @lab1207 in https://github.com/NandhaKishorM/laya/pull/699 * perf(agent): reuse CUDA autocast weight cache across batches by @RagingSilence in https://github.com/NandhaKishorM/laya/pull/700 * feat(finetune): single-device training script for any checkpoint by @wlfonseca in https://github.com/NandhaKishorM/laya/pull/704 * feat(eval): report budget-confounded metamorphic comparisons by @Rukafuu in https://github.com/NandhaKishorM/laya/pull/706 * fix(agent): reject malformed question types with clear errors by @zhangxinping666 in https://github.com/NandhaKishorM/laya/pull/708 * fix(ts): reject a null choice label, as Python does (#508 parity) by @Divit-aggarwal in https://github.com/NandhaKishorM/laya/pull/710 * fix(ts): reject choice labels that share an answer key, as Python does (#496 parity) by @Divit-aggarwal in https://github.com/NandhaKishorM/laya/pull/711 * fix(ts): refuse a temperature that is not a list of 3 at construction, as Python does (#502 parity) by @Divit-aggarwal in https://github.com/NandhaKishorM/laya/pull/712 * fix(ts): let emailState set the body budget, as Python does (#589 parity) by @Divit-aggarwal in https://github.com/NandhaKishorM/laya/pull/713 * fix(examples): the demo's model field must resolve names like core by @aashish254 in https://github.com/NandhaKishorM/laya/pull/714 * fix(docker): forward LAYA_REVISION so a Compose deployment can actually pin by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/715 * fix(onnx): export at batch 2 with explicit Dims so the graph runs at any batch size by @cklxx in https://github.com/NandhaKishorM/laya/pull/717 * feat(agent): opt-in warmup() so compile=True does not stall the first requests by @cklxx in https://github.com/NandhaKishorM/laya/pull/718 * docs: engineering notes for compile=True and the TileLang fast path by @cklxx in https://github.com/NandhaKishorM/laya/pull/719 * feat: fit and persist per-bucket temperatures by @mvanhorn in https://github.com/NandhaKishorM/laya/pull/19 * fix(benchmarks): trace every table to its run, align script outputs with cited paths by @Nafeel005 in https://github.com/NandhaKishorM/laya/pull/190 * feat(sdk): add TypeScript SDK by @baninaveen in https://github.com/NandhaKishorM/laya/pull/198 * feat(ts): port Agent.predict_batch and Router.route_batch/predict_batch by @aashish254 in https://github.com/NandhaKishorM/laya/pull/329 * feat(ts): report state truncation in usage from the real token budget by @aashish254 in https://github.com/NandhaKishorM/laya/pull/336 * feat(agent): let a question choose the order its options are shown in by @Suzzt in https://github.com/NandhaKishorM/laya/pull/352 * feat(notebooks): add Apple Silicon fine-tuning script by @Angboo in https://github.com/NandhaKishorM/laya/pull/355 * feat(serve): add batch decision endpoint (/v1/systemone/batch) by @sirgio03 in https://github.com/NandhaKishorM/laya/pull/387 * research: refresh the 51-language multilingual columns from the re-run (#208) by @PerryLink in https://github.com/NandhaKishorM/laya/pull/389 * feat(ts): retrying loads with abort signal and progress by @nnlgsakib in https://github.com/NandhaKishorM/laya/pull/411 * docs(ts): point examples at the shipped model weights by @nnlgsakib in https://github.com/NandhaKishorM/laya/pull/412 * feat(ts): dx helpers, shortlist auto-embed, and encode caches by @nnlgsakib in https://github.com/NandhaKishorM/laya/pull/414 * docs: add the Questions and answers guide (#390) by @PerryLink in https://github.com/NandhaKishorM/laya/pull/418 * docs(reference): render answer_confidence, which no page documented by @PerryLink in https://github.com/NandhaKishorM/laya/pull/419 * fix(agent): a score legend echoed the caller own type instead of level text by @PerryLink in https://github.com/NandhaKishorM/laya/pull/420 * fix(hooks): hooks_installed removed a hook it did not install by @PerryLink in https://github.com/NandhaKishorM/laya/pull/424 * fix(agent): lang_temperatures crashed on the inputs it exists to reject by @PerryLink in https://github.com/NandhaKishorM/laya/pull/428 * docs(benchmarks): add independent NVIDIA capacity results by @bhushankinge in https://github.com/NandhaKishorM/laya/pull/429 * docs: add command line and MCP server guide by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/430 * fix(mcp): handle auto model in routing fallback by @soumojit-D48 in https://github.com/NandhaKishorM/laya/pull/445 * fix(serve): a lone surrogate in the body was a 500 instead of a 400 by @PerryLink in https://github.com/NandhaKishorM/laya/pull/454 * fix(agent): the over-budget message named the one knob that makes it worse by @PerryLink in https://github.com/NandhaKishorM/laya/pull/455 * fix(ts): make split ONNX loadable in the browser by @nnlgsakib in https://github.com/NandhaKishorM/laya/pull/457 * feat(laya-ts): browser triage demo with custom questions by @nnlgsakib in https://github.com/NandhaKishorM/laya/pull/458 * fix(agent): scope the autocast fallback to the failed request by @MoonPointer-Byte in https://github.com/NandhaKishorM/laya/pull/459 * fix(lang): repeated English word colliding with a foreign function word routed English to multilingual by @AlKor13 in https://github.com/NandhaKishorM/laya/pull/460 * feat(examples): add the 41-script learning path by @thread3d in https://github.com/NandhaKishorM/laya/pull/465 * feat(verify): add the local verification harnesses by @thread3d in https://github.com/NandhaKishorM/laya/pull/466 * fix(email): preserve request text after device mentions by @lloyd-aloysius in https://github.com/NandhaKishorM/laya/pull/468 * docs(confidence): note option-count sensitivity by @humairaambreen in https://github.com/NandhaKishorM/laya/pull/476 * test(serve): verify inference timing headers are absent on 4xx responses by @peterfriese in https://github.com/NandhaKishorM/laya/pull/481 * docs(security): document opt-in revision pinning and digest verification by @keemsisi in https://github.com/NandhaKishorM/laya/pull/528 * chore(deps): Bump actions/setup-node from 4.4.0 to 7.0.0 by @dependabot[bot] in https://github.com/NandhaKishorM/laya/pull/626 * chore(deps): Bump actions/download-artifact from 4.3.0 to 8.0.1 by @dependabot[bot] in https://github.com/NandhaKishorM/laya/pull/628 * chore(deps): Bump actions/setup-python from 5.6.0 to 7.0.0 by @dependabot[bot] in https://github.com/NandhaKishorM/laya/pull/629 * chore(deps): Bump actions/checkout from 4.4.0 to 7.0.1 by @dependabot[bot] in https://github.com/NandhaKishorM/laya/pull/630 * test(mcp): gate the shortlist k default against laya.shortlist by @aashish254 in https://github.com/NandhaKishorM/laya/pull/636 * feat(mcp): carry each batch request's token budget to the forward pass by @aashish254 in https://github.com/NandhaKishorM/laya/pull/640 ## New Contributors * @Charanraj-24 made their first contribution in https://github.com/NandhaKishorM/laya/pull/639 * @phant0um made their first contribution in https://github.com/NandhaKishorM/laya/pull/641 * @SomSamantray made their first contribution in https://github.com/NandhaKishorM/laya/pull/656 * @cr-sbarbouche made their first contribution in https://github.com/NandhaKishorM/laya/pull/666 * @Denimworld12 made their first contribution in https://github.com/NandhaKishorM/laya/pull/686 * @kapelame made their first contribution in https://github.com/NandhaKishorM/laya/pull/692 * @Parswanadh made their first contribution in https://github.com/NandhaKishorM/laya/pull/696 * @lab1207 made their first contribution in https://github.com/NandhaKishorM/laya/pull/699 * @wlfonseca made their first contribution in https://github.com/NandhaKishorM/laya/pull/704 * @mvanhorn made their first contribution in https://github.com/NandhaKishorM/laya/pull/19 * @Nafeel005 made their first contribution in https://github.com/NandhaKishorM/laya/pull/190 * @baninaveen made their first contribution in https://github.com/NandhaKishorM/laya/pull/198 * @Angboo made their first contribution in https://github.com/NandhaKishorM/laya/pull/355 * @soumojit-D48 made their first contribution in https://github.com/NandhaKishorM/laya/pull/445 * @MoonPointer-Byte made their first contribution in https://github.com/NandhaKishorM/laya/pull/459 * @lloyd-aloysius made their first contribution in https://github.com/NandhaKishorM/laya/pull/468 * @humairaambreen made their first contribution in https://github.com/NandhaKishorM/laya/pull/476 **Full Changelog**: https://github.com/NandhaKishorM/laya/compare/v0.3.21...v0.3.22
Related Repositories
public-apis/public-apis★ 491,131
A collective list of free APIs
NousResearch/hermes-agent★ 255,909
The agent that grows with you
yt-dlp/yt-dlp★ 200,005
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,483
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,700
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.