v0.4.7

MinishLab/semblev0.4.7Oct 14, 2026by github-actions[bot]

Upgrading?

AI Summary

Enhances TypeScript support with option order handling and expands the Go SDK with question and sequence decoding capabilities, alongside fixes for routing, calibration, and Docker.

Key Highlights

  • TypeScript: Honor question's `option_order` across encoding and decoding
  • Go: Questions, sequences, and answer decoding
  • Docker: Distinguish HTTP liveness from inference
  • Fixes for router validation before checkpoint load and calibration JSON version handling

New Features

  • TypeScript: Honor question's `option_order` across encoding and decoding
  • Go: Questions, sequences and answer decoding
  • MCP: Expose core tournament selection as laya_tournament
  • Benchmarks: MPS fp16 autocast on Apple M5 Pro

Full Release Notes

## What's Changed
* docs(docker): distinguish HTTP liveness from inference by @maxfield-allison in https://github.com/NandhaKishorM/laya/pull/1181
* test(docker): add an optional cached HTTP inference check by @maxfield-allison in https://github.com/NandhaKishorM/laya/pull/1182
* fix(cli): an interactive session returns the exit code its requests earned by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1184
* fix(evals): hash option_order into the question fingerprint by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1187
* fix(ts): read email text the way the Python reference does by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1188
* test(citations): a :NNN citation must fall inside the symbol it names by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1189
* fix(common): report a bool temperature a checkpoint shipped, not load it silently by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1190
* fix(ts): report a bool temperature a checkpoint shipped, not load it silently by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1191
* fix(ts): read a temperature as float() does, not as Number() does by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1192
* fix(presets): an empty category map falls back to the defaults by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1193
* docs(hooks): the RuntimeWarning arrives once per distinct message, not per failure by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1194
* fix(ts): normalise the action head at the model boundary, not in the decoder by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1195
* feat(ts): honour a question's `option_order` across encoding and decoding by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1196
* docs(benchmarks): MPS fp16 autocast against fp32 on an Apple M5 Pro by @sandole in https://github.com/NandhaKishorM/laya/pull/1199
* fix(router): validate questions in predict before checkpoint load (#707) by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/1201
* fix(calibrate): refuse a non-integral JSON version instead of truncating it by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1202
* feat(serve): narrow large choices on /v1/systemone/batch too (#302) by @kmitul in https://github.com/NandhaKishorM/laya/pull/1204
* fix(ts): verify the ONNX graphs before anything lands in --out-dir by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1206
* fix(compose): forward tournament group knob to laya-serve by @NAVEENPRASAATH23 in https://github.com/NandhaKishorM/laya/pull/1207
* fix(common): report lang_temperatures overrides that inherited the checkpoint's temperatures by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1208
* docs(calibrate): name what actually covers a bucket the abstention floor omits by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1209
* docs(index): routing and the HTTP API have pages; link them, and hold the front door to the tree by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1167
* feat(go): questions, sequences and answer decoding by @keemsisi in https://github.com/NandhaKishorM/laya/pull/1169
* docs(onnx): teach the stride default as half the effective window by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1170
* fix(evals): an unwritable report path is a usage error, not exit 1 by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1171
* ci(suites): a crashing suite leaves its output and an exit status by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1172
* fix(evidence): stop calling a limitation "fitted with" when it says "not fitted" by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1173
* feat(evals): attribute tournament elimination and final-choice errors by @xinpingzh in https://github.com/NandhaKishorM/laya/pull/1175
* fix(evals): read a report's identity wherever the report puts it by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1177
* feat(mcp): expose core tournament selection as laya_tournament by @Rish-it in https://github.com/NandhaKishorM/laya/pull/1178
* test(batch): pin the two hook cases the batch path can still get wrong by @PerryLink in https://github.com/NandhaKishorM/laya/pull/1179
* docs(typescript-sdk): say which endpoints the client actually calls by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1180
* ci(dependabot): cover the TypeScript HTTP SDK by @maxfield-allison in https://github.com/NandhaKishorM/laya/pull/1183
* fix(shortlist): hold every tournament call to the reply shape it indexes by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1185
* fix(compose): forward LAYA_SHA256_DIGESTS to quickstart service in compose.yaml by @NAVEENPRASAATH23 in https://github.com/NandhaKishorM/laya/pull/1186

## New Contributors
* @sandole made their first contribution in https://github.com/NandhaKishorM/laya/pull/1199

**Full Changelog**: https://github.com/NandhaKishorM/laya/compare/v0.4.6...v0.4.7

Related Repositories