Skip to content

Releases: NandhaKishorM/laya

v0.4.15

Choose a tag to compare

@github-actions github-actions released this 24 Oct 19:17

What's Changed

  • test(java): follow #1315's English words in two stale router tests by @aashish254 in #1323
  • fix(laya-ts): spell floats >= 1e16 like CPython in serializeState by @thread3d in #1341
  • fix(dotnet): parse and re-emit JSON without recursion, so depth cannot overflow the stack by @thread3d in #1346
  • fix(ci): run the real bf16 forward in the child, not a stand-in by @thread3d in #1347
  • docs(hooks): align calibration input and fixture requirements by @xinpingzh in #1348
  • perf(lang): optimize unicode script detection with binary search by @HamidRezaLS in #1349
  • build(deps): bump github/codeql-action/init from 4.38.3 to 4.39.1 by @dependabot[bot] in #1353
  • build(deps): bump github/codeql-action/analyze from 4.38.3 to 4.39.1 by @dependabot[bot] in #1356
  • fix(evals): a threshold names its metric, and noul_accuracy is not choice_accuracy by @aashish254 in #1317
  • fix(evals): a gate policy nested too deep for json is a usage error, not a crash by @aashish254 in #1318
  • fix(evals): a dataset that cannot be read is a usage error, not a traceback by @aashish254 in #1319
  • fix(evidence): a too-deep JSON artifact names the file it came from by @aashish254 in #1320
  • fix(integrations): refuse a remote answers field that is not an object by @aashish254 in #1321
  • fix(evals): refuse a dataset row that is not a row as an EvalError by @aashish254 in #1322
  • test(rust): pin Python 0.4.14's English question words and sample its live vocabulary by @kevin-gatimu in #1325
  • fix(agent): allow end hooks to remove long-scan probe answers by @Boulea7 in #1326
  • fix(java): copy AgentConfig's temperature table instead of aliasing it by @thread3d in #1327
  • fix(java): close the ONNX session options, and a half-built split graph by @thread3d in #1328
  • fix(java): leave nothing that can throw between taking a router lease and releasing it by @thread3d in #1329
  • fix(lang): describe the state in analyse, and round rates like Python by @cyberspace-cs in #1330
  • fix(serve): bound the request-body read so a stalled upload frees its slot by @thread3d in #1331
  • fix(serve): a caller batch_size may shrink a pass, never widen one by @thread3d in #1332
  • fix(serve): serve no docs or schema when a bearer is required by @thread3d in #1333
  • fix(lang): count letters the interpreter's Unicode database does not know by @thread3d in #1334
  • fix(integrations): fail closed on malformed nested decision fields by @thread3d in #1335
  • fix(laya-ts): stop reading all-caps lines as French or Portuguese by @thread3d in #1336
  • fix(laya-ts): forward a detected "en" so lang_temperatures.en applies by @thread3d in #1337
  • fix(laya-ts): forward maxLen / headMaxLen through Router.predict by @thread3d in #1338
  • fix(laya-ts): end batch request contexts in reverse start order by @thread3d in #1339
  • fix(laya-ts): forward per-call hooks through decideBatch on a Router by @thread3d in #1340
  • fix(laya-ts): take the noul enum shortcut only for two distinct booleans by @thread3d in #1342
  • fix(typescript-sdk): accept option_order and noul labels on a question by @thread3d in #1343
  • fix(rust,dotnet): clip shortlist cosines to the documented [-1, 1] by @thread3d in #1344
  • chore(rust): record 0.4.14 in the routing golden meta by @thread3d in #1345

New Contributors

Full Changelog: v0.4.14...v0.4.15

v0.4.14

Choose a tag to compare

@github-actions github-actions released this 23 Oct 12:50

What's Changed

  • fix(integrations): fail closed on a non-numeric or bool probability in LayaToolSelector.select by @aashish254 in #1300
  • fix(integrations): reject a non-object remote decision response in LangChain, CrewAI and LlamaIndex by @aashish254 in #1301
  • fix(integrations): guard the score-rail against a malformed probabilities block by @aashish254 in #1302
  • docs: add pydecide to Community Tools, local inference by default by @gopaljigaur in #1304
  • docs(api): clarify independent probability rounding by @monsterlag in #1305
  • feat(go): install a calibration payload at Open by @keemsisi in #1306
  • feat(go): presets and embedding shortlist by @keemsisi in #1307
  • feat(go): port laya.email (CleanBody, State) by @keemsisi in #1308
  • feat(go): port the routing half of laya.router (Route, RouteBatch) by @keemsisi in #1310
  • feat(go): router on_route hooks and hook registry by @keemsisi in #1311
  • laya-dotnet: stop ConcurrentLoadsWarnOnce counting other classes' warnings by @keemsisi in #1313
  • fix(hooks): reject invalid reliability calibration evidence by @xinpingzh in #1314
  • fix(lang): count question words and auxiliaries as English evidence by @Rish-it in #1315
  • feat(go): runnable quickstart and benchmark samples by @keemsisi in #1309

New Contributors

Full Changelog: v0.4.13...v0.4.14

v0.4.13

Choose a tag to compare

@github-actions github-actions released this 21 Oct 13:42

What's Changed

  • feat(lang): add opt-in detection reasons and source diagnostics by @xinpingzh in #1284
  • fix(hooks): preserve label text when renaming options without descriptions (#1285) by @Swatantra-66 in #1286
  • fix(hooks): keep stability calibration and replay on the same precision by @xinpingzh in #1289
  • feat(ts): add local option stability diagnostics by @xinpingzh in #1290
  • fix(dotnet): match the Python SDK exactly in routing, language, email, rounding and config by @kevin-gatimu in #1291
  • feat(rust): add predict_long and match the Python SDK exactly by @kevin-gatimu in #1292
  • fix(tools): fail closed on a non-object remote decision response by @aashish254 in #1293
  • fix(structured): refuse a boolean score bound instead of reading it as 1/0 by @aashish254 in #1294
  • fix(evals): refuse a boolean confidence in _answer_confidence by @aashish254 in #1295
  • fix(agno): reject a non-object remote decision response by @aashish254 in #1296
  • feat(sdk): add Python HTTP batch predictions by @xinpingzh in #1297
  • perf(agent): optimize logit decoding and confidence calculation in _decode_answers by @HamidRezaLS in #1299

Full Changelog: v0.4.12...v0.4.13

v0.4.12

Choose a tag to compare

@github-actions github-actions released this 19 Oct 09:45

What's Changed

  • feat(hooks): add OptionStabilityHook for metamorphic reliability signal (#635) by @Swatantra-66 in #908
  • build(deps): bump actions/setup-java from 6.0.1 to 6.1.0 by @dependabot[bot] in #1272
  • build(deps-dev): bump vitest from 5.0.3 to 5.0.4 in /laya-ts by @dependabot[bot] in #1273
  • build(deps): bump gradle/actions/wrapper-validation from 4.4.3 to 6.4.0 by @dependabot[bot] in #1274
  • test(hooks): count distinct contexts by holding them, not by id() by @muhammadaliqasmi in #1277
  • perf(onnx): reuse question tokens across states in predict_batch by @HamidRezaLS in #1278
  • docs(shortlist): show a dedicated bi-encoder in the example and measure what the query should embed by @zhlei07 in #1281
  • feat(dotnet): add PredictLong, ported from ONNXAgent.predict_long by @kevin-gatimu in #1283
  • perf(common): collate question rows directly into numpy arrays by @HamidRezaLS in #1279

New Contributors

Full Changelog: v0.4.11...v0.4.12

v0.4.11

Choose a tag to compare

@github-actions github-actions released this 17 Oct 17:03

What's Changed

  • feat(rust): add Rust SDK (laya-onnx) by @kevin-gatimu in #672
  • fix(onnx): export a batch-dynamic graph, and check that it is one by @keemsisi in #688
  • docs(onnx): document the calibration knob test_calibrate.py pins by @aashish254 in #731
  • perf(evals): chunk rows whose criteria dicts differ only in key order by @aashish254 in #732
  • feat(mcp): add laya_predict_long for states past the context window by @aashish254 in #738
  • feat(ts): port decideBatch and expose answerConfidence by @Angboo in #750
  • feat(integrations): forward the two Router-only controls task and lang_guess by @aashish254 in #804
  • feat(integrations): add laya[agno] integration for Agno agent routing and guardrails by @VinayChaudhari1996 in #970
  • feat(integrations): add LayaToolSelector for tool and function routing by @LEVELING2108 in #977
  • fix(hooks): refuse a bool hooks_timeout instead of reading it as 1.0 by @aashish254 in #1203
  • perf(onnx): collate question rows directly into numpy arrays by @HamidRezaLS in #1271
  • feat(examples): add start.bat to launch the web UI on Windows by @jaideepkumar69-tech in #432

New Contributors

Full Changelog: v0.4.10...v0.4.11

v0.4.10

Choose a tag to compare

@github-actions github-actions released this 17 Oct 12:04

Full Changelog: v0.4.9...v0.4.10

v0.4.9

Choose a tag to compare

@github-actions github-actions released this 17 Oct 04:34

What's Changed

  • fix(evals): refuse a tolerance that cannot fail the gate by @aashish254 in #1250
  • test(integrations): derive the LangChain control family from _controls by @aashish254 in #1254
  • fix(calibrate): refuse a boolean target_error in fit_abstention_thresholds by @aashish254 in #1256
  • fix(mcp): a door collapses only a numeric 0, never a boolean control by @aashish254 in #1257
  • fix(calibrate): a seed that cannot seed RandomState names itself by @aashish254 in #1258
  • test(lazy-import): pin laya.mcp's documented no-extra import surface by @aashish254 in #1259
  • fix(evals): a JSON container subclass encodes as the mapping it wraps by @aashish254 in #1261
  • perf(router): memoize question schema serialization in predict_batch by @HamidRezaLS in #1262
  • feat(sdk): add a standalone Python HTTP client by @xinpingzh in #1264
  • test(packaging): skip repo-only checks the sdist does not ship by @sathariels in #1265
  • test(evals): the bootstrap batching cannot move paired_delta_ci95 by @aashish254 in #1240
  • fix(evals): escape Markdown cell content in the report's slice labels by @aashish254 in #1241
  • fix(mcp): refuse a LAYA_DEVICE index torch rewrites instead of building another GPU by @aashish254 in #1242
  • fix(compile): read LAYA_INDUCTOR_CACHE_DIR stripped, with blank meaning unset by @aashish254 in #1246
  • feat(go): min_confidence gate for Predict and PredictBatch by @keemsisi in #1247
  • fix(evals): refuse two commits for one --revision checkpoint by @aashish254 in #1248
  • test(confidence): refuse a boolean probability in any position, not only when it is the only one by @aashish254 in #1249
  • fix(evidence): a boolean calibration items is a malformed entry, not a count by @aashish254 in #1251
  • test(evals): pin that questions_fingerprint hashes every schema, in sorted order by @aashish254 in #1252
  • fix(evals): a row built in Python gets the checks a JSONL row already had by @aashish254 in #1253
  • feat(go): per-language temperatures and checkpoint digest verification by @keemsisi in #1260

Full Changelog: v0.4.8...v0.4.9

v0.4.8

Choose a tag to compare

@github-actions github-actions released this 15 Oct 10:52

What's Changed

  • chore(deps): bump ruff from 0.16.10 to 0.17.0 by @dependabot[bot] in #1212
  • chore(deps): bump github/codeql-action/analyze from 4.38.2 to 4.38.3 by @dependabot[bot] in #1216
  • chore(deps): bump github/codeql-action/autobuild from 4.38.2 to 4.38.3 by @dependabot[bot] in #1217
  • chore(deps): bump github/codeql-action/init from 4.38.2 to 4.38.3 by @dependabot[bot] in #1218
  • chore(deps): bump gradle/actions/wrapper-validation from 0b6dd653ba04f4f93bf581ec31e66cbd7dcb644d to ed408507eac070d1f99cc633dbcf757c94c7933a by @dependabot[bot] in #1219
  • chore(deps-dev): bump @types/node from 26.6.4 to 26.6.5 in /laya-ts by @dependabot[bot] in #1213
  • chore(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /sdk/typescript by @dependabot[bot] in #1214
  • feat(go): run the model from laya-go: Predict over ONNX Runtime by @keemsisi in #1222
  • fix(serve): read a blank LAYA_* value as unset by @aashish254 in #1226
  • fix(calibrate): read bins and min_bucket_n as the module's own positive integers by @aashish254 in #1228
  • fix(evals): a report laya-evals cannot read is a usage error, not exit 1 by @aashish254 in #1230
  • fix(common): refuse a bins count ECE cannot histogram by @aashish254 in #1232
  • fix(structured): preserve singleton boolean constraints by @Bortlesboat in #1235
  • docs(mcp): say what LAYA_DEVICE actually goes through by @aashish254 in #1236
  • fix(confidence): refuse a negative probability instead of a Jev confidence outside [0, 1] by @aashish254 in #1238
  • test(email): pin the max_chars slice semantics the port fixtures record by @aashish254 in #1239
  • chore(deps): bump actions/setup-java from 4.7.1 to 6.0.1 by @dependabot[bot] in #1215
  • fix(structured): reject a non-array 'enum' with a path-naming SchemaError by @aashish254 in #1220
  • docs(go): say which packages laya-go actually ships by @aashish254 in #1221
  • fix(evals): refuse a baseline the gate cannot subtract through by @aashish254 in #1223
  • fix(revisions): name which side asked for 'reviewed' when the refusal fires by @aashish254 in #1224
  • fix(evals): refuse a non-finite --min/--max/--tolerance gate parameter by @aashish254 in #1225
  • fix(serve): refuse a bad LAYA_LOG_LEVEL with a message, not a traceback by @aashish254 in #1227
  • perf(agent): reuse sequence stats option count instead of re-rendering options by @HamidRezaLS in #1231
  • feat(go): PredictLong for states longer than the model window by @keemsisi in #1233
  • build(setup): add platform-detecting setup entry point and Linux setup by @richeshgupta in #1234

New Contributors

Full Changelog: v0.4.7...v0.4.8

v0.4.7

Choose a tag to compare

@github-actions github-actions released this 14 Oct 05:25

What's Changed

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

New Contributors

Full Changelog: v0.4.6...v0.4.7

v0.4.6

Choose a tag to compare

@github-actions github-actions released this 12 Oct 09:34

What's Changed

  • fix(router): validate state is not None in route_batch before model load (#707) by @Swatantra-66 in #1165
  • fix(agent): load() returns an ONNXAgent for backend="onnx"; annotate it and say so by @aashish254 in #1166

Full Changelog: v0.4.5...v0.4.6