v0.4.4

google/artemisv0.4.4Oct 12, 2026by github-actions[bot]

Upgrading?

AI Summary

This release improves CLI sorting logic, MCP batch controls, and introduces a Go tokenizer foundation. It also fixes confidence markers and evals CLI handling.

Key Highlights

  • CLI sorting now respects checkpoint groups instead of individual files.
  • Foundation for Go language tokenizer and language detection is added.
  • Confidence markers are cleared when min_confidence reaches 0.0.
  • MCP batch controls are now validated instead of being dropped.

New Features

  • Go tokenizer foundation.
  • CLI sorting improvements.
  • Confidence marker fixes.

Full Release Notes

## What's Changed
* fix(cli): judge the --sort-by-length note per checkpoint group, not per file (#1111) by @akushonkamen in https://github.com/NandhaKishorM/laya/pull/1114
* fix(mcp): send an out-of-range batch control to the validator instead of dropping it by @ahmedandaloes in https://github.com/NandhaKishorM/laya/pull/1118
* fix(confidence): clear the stale low_confidence marker at min_confidence 0.0 by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1119
* fix(evals-cli): fail a mistyped --model as a usage error, not a traceback by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1120
* test(evidence): pin the copied report-identity vocabulary to its originals by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1121
* fix(evals-cli): record the ONNX run's checkpoint commit in the report by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1122
* docs(lang): say that mixed_segment is filled only by the segment scan by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1123
* docs(calibrate): an empty bin rewrites its region to the bin's centre by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1124
* test(structured): decide_batch does not forward model= to predict_batch, and now says what it does by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1125
* docs(calibrate): name the empty map a too-small calibration set fits by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1126
* docs: clarify large-choice runtime parity guidance by @Ha1baraA11 in https://github.com/NandhaKishorM/laya/pull/1127
* docs(revisions): name the blank-revision edge the suite already pins by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1128
* docs(structured): split decide_batch's keywords by who reads them by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1130
* fix(backends): make an eager install push a replacement forward aside by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1131
* fix(mcp): scope the device parse promise to the paths that keep it by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1132
* fix(mcp): declare remote in the package's submodule inventory by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1133
* fix(evals): read a student's abstention from the gate that writes it by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1134
* docs(shortlist): say what the shortlist and tournament metadata counts count by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1135
* docs(guardrails): give the harm_severity column the unit its gate uses by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1136
* docs(security): make the /health revision check fail loudly, not as null by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1137
* docs(compile): the AOTInductor route packages now, so the notes stop reporting the blocker by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1138
* docs(compile): the TileLang CPU lowering is a flag on the same kernels by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1139
* fix(ts): name the hook and event in hook timeout errors by @sathariels in https://github.com/NandhaKishorM/laya/pull/1140
* docs(backends): auto resolves to eager for a parallel-layout checkpoint, on CUDA as well by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1141
* docs(compile): the CUDA graph step and the cross-agent lock are compile=True's, not backend=compile's by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1142
* docs(sdk): /health answers nine keys with idle unloading on, and the gate could not see them by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1143
* docs(integrations): say that LayaLowConfidenceError is opt-in and covers tool selection by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1144
* feat(go): laya-go foundation, a pure-Go tokenizer and language detection with a Python parity lane by @keemsisi in https://github.com/NandhaKishorM/laya/pull/1145
* docs(hooks): a non-finite hooks_timeout is rejected too by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1146
* docs(tl_kernels): the caller that pads these kernels is laya.fast, not base.pad_batch by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1148
* docs(http-api): say what the option budget truncates, and what it refuses by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1149
* fix(evals): drop model= for runners whose predict predates it (#1107) by @akushonkamen in https://github.com/NandhaKishorM/laya/pull/1112

## New Contributors
* @akushonkamen made their first contribution in https://github.com/NandhaKishorM/laya/pull/1114
* @ahmedandaloes made their first contribution in https://github.com/NandhaKishorM/laya/pull/1118

**Full Changelog**: https://github.com/NandhaKishorM/laya/compare/v0.4.3...v0.4.4

Related Repositories