Skip to content

Releases: NandhaKishorM/laya

v0.4.4

Choose a tag to compare

@github-actions github-actions released this 12 Oct 03:58

What's Changed

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

New Contributors

Full Changelog: v0.4.3...v0.4.4

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 11 Oct 17:08

What's Changed

  • fix(sdk): align TypeScript confidence contract with HTTP responses by @debjyotikm in #1072
  • feat(serve): answer large choices by elimination behind LAYA_TOURNAMENT_GROUP (#302) by @kmitul in #1073
  • fix(verify): isolate the soak concurrency burst in a helper process by @aashish254 in #1074
  • chore(deps): bump actions/checkout from 4.4.0 to 7.0.1 by @dependabot[bot] in #1075
  • chore(deps): bump actions/setup-python from 5.6.0 to 7.0.0 by @dependabot[bot] in #1076
  • chore(deps-dev): bump @types/node from 26.6.3 to 26.6.4 in /laya-ts by @dependabot[bot] in #1078
  • chore(deps): bump ruff from 0.16.9 to 0.16.10 by @dependabot[bot] in #1079
  • chore(deps): bump actions/setup-node from 7.0.0 to 7.1.0 by @dependabot[bot] in #1080
  • chore(deps): bump actions/upload-artifact from 4.6.2 to 7.0.2 by @dependabot[bot] in #1081
  • chore(deps): bump actions/download-artifact from 8.0.1 to 8.0.2 by @dependabot[bot] in #1082
  • docs(guardrails): the #781 page and suite must report only what #781 measured by @aashish254 in #1084
  • fix(serve): the LAYA_DEFAULT_MODEL default column said english by @aashish254 in #1085
  • docs(readme): /predict/batch copies one budget to every state by @aashish254 in #1086
  • ci(java): remeasure model-free test floors on merged main by @Bruce-Yii in #1090
  • fix(mcp): report a dropped option_order instead of refusing the call by @Bruce-Yii in #1091
  • fix(examples): the demo server pinned the routing fallback to english by @aashish254 in #1092
  • docs(routing): the mixed-batch guide omitted the two per-request token budgets by @aashish254 in #1093
  • docs(finetune): table the three laya-train flags no page documented by @aashish254 in #1094
  • test(docs): make prose citations into symbols, and check that they resolve by @aashish254 in #1095
  • test(benchmarks): check the published headline cells against the T4 run by @aashish254 in #1096
  • docs: correct default-model guidance in deployment surfaces by @Bruce-Yii in #1097
  • docs(readme): the abstention cut is not option-count invariant, and the map is the fix by @aashish254 in #1098
  • docs(citations): five prose citations that named no symbol, three pointing elsewhere by @aashish254 in #1099
  • docs(evals): retire a comment describing thresholds the module deleted by @aashish254 in #1101
  • test(packaging): bind CONTRIBUTING.md's suite section to the shared list by @aashish254 in #1103
  • fix(shortlist): the cache dimensionality guard reads under the lock by @aashish254 in #1104
  • fix(mcp): align model schema nullability by @Ha1baraA11 in #1105
  • fix(laya-ts): match min_confidence bucket-key error text to Python and Java (#1100) by @bhargavmehta01 in #1106
  • feat(ts): add tournament selection for large choice sets by @xinpingzh in #1108
  • fix(calibrate): a falsy non-object temperature_by_options is a refused shape by @aashish254 in #1109
  • fix(cli): disambiguate bare question id 'questions' from wrapper object (#1110) by @Sarthak-Pandey in #1113
  • feat(ts): port cached embedder to TypeScript SDK by @Swatantra-66 in #1117
  • feat(confidence): export jev_confidence, the formula behind the served x_jev_confidence by @aashish254 in #1083

New Contributors

Full Changelog: v0.4.2...v0.4.3

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 10 Oct 09:25

What's Changed

  • fix(compose): forward extra models and idle unload knobs to laya-serve by @NAVEENPRASAATH23 in #1053
  • fix(compose): forward batch tokens and strict Jev knobs to laya-serve by @NAVEENPRASAATH23 in #1054
  • feat(router): warn when a registered name is one edit from a built-in by @sathariels in #1055
  • fix(ts): close the hook timeout template literal in hooks.ts by @sathariels in #1056
  • fix(java): router hooks review fixes that #1046's merge did not include by @keemsisi in #1057
  • fix(java): answer single-option questions instead of failing in TopK by @keemsisi in #1059
  • feat(java): add Router.predictBatch, so batched decisions can run on a router by @keemsisi in #1060
  • feat(java): port predict_tournament as Shortlist.predictTournament by @keemsisi in #1061
  • fix(shortlist): drop option_order when a narrow no longer fits it by @Bruce-Yii in #1063
  • feat(serve): report Jev's confidence formula as x_jev_confidence (#302) by @kmitul in #1066
  • docs: note on int8 dynamic quantization on CPU (#1065) by @sathariels in #1067
  • fix(ci): pin tokenizer reference for reproducible parity tables by @debjyotikm in #1068
  • test(router): document and verify explicit Java/.NET defaults by @debjyotikm in #1069
  • feat(evals): compare student agreement with repeated teacher decisions by @xinpingzh in #1071

New Contributors

Full Changelog: v0.4.1...v0.4.2

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 08 Oct 17:29

What's Changed

  • docs(benchmarks): the English-vs-rest table has three columns, so every number sat under the wrong header by @keemsisi in #1024
  • docs(confidence): answer_confidence describes the clamped temperature, not the fitted one by @keemsisi in #1026
  • docs(mcp): the environment table names LAYA_API_KEY by @keemsisi in #1027
  • docs(dotnet): the Instructions remark names the escaping Python stopped doing by @keemsisi in #1029
  • docs(benchmarks): sv moves down in the refreshed sweep, so not every large mover moves up by @keemsisi in #1030
  • fix(fixtures): skip predict_golden when the checkpoint beside the graph is absent by @keemsisi in #1031
  • docs(guardrails): Document prompt_injection limitation on document-shaped text (#781) by @aashish254 in #1032
  • docs(hooks): eight pages describe a dispatch the code does not do by @keemsisi in #1033
  • docs(readme): seven return shapes and feature lists that do not match the code by @keemsisi in #1034
  • fix(choice): sort criteria keys for order-invariant option rendering by @aashish254 in #1035
  • docs(dotnet): six claims in the .NET README and MODELS that the SDK contradicts by @keemsisi in #1037
  • docs(http-api): five tables that disagree with the endpoint they document by @keemsisi in #1038
  • docs(integrations): min_confidence flags the answer, it does not withhold it by @keemsisi in #1039
  • docs(evals): the metric table does not match a default run by @keemsisi in #1040
  • docs(benchmarks): the laya typed-decisions row must round its committed file, like the row below it by @keemsisi in #1041
  • docs(mcp): a remote batch is one request per item for every batch, not only a heterogeneous one by @keemsisi in #1042
  • docs(contributing): the extras list must name all nine, starting with… by @keemsisi in #1043
  • docs(docker): the GPU image installs cu130 wheels, not CUDA 12.8 by @keemsisi in #1044
  • fix(evals): write redirected output as utf-8 by @plox-sumit in #1045
  • feat(java): dispatch router lifecycle hooks, and add AsyncHook by @keemsisi in #1046
  • feat(serve): register extra checkpoints from LAYA_EXTRA_MODELS by @jxoesneon in #1047
  • fix(serve): serve again after the app's lifespan restarts by @hemanthrayuduu in #1049
  • fix(structured): let Router.decide_batch pin a checkpoint by @hemanthrayuduu in #1050
  • fix(onnx): answer single-option questions instead of failing in TopK by @hemanthrayuduu in #1051
  • fix(train): move the model to the device before the base evaluation by @FerryQ in #1052
  • feat(java): language routing, presets and the embedding shortlist by @keemsisi in #938
  • feat(train): print the optimizer-update budget before a run by @Bruce-Yii in #1014
  • fix(ts): reject impossible min_confidence bucket keys in both TypeScript trees by @Bruce-Yii in #1015
  • docs(finetune): add the #963 positive-control and multi-seed diagnostic by @Bruce-Yii in #1016
  • refactor(finetune): converge the Kaggle DDP path on shared training primitives by @Bruce-Yii in #1017
  • docs(window): floor and room binding on two prose sites that teach it by @aashish254 in #1018
  • docs(reference): document the pre-run request sizing surface by @Bruce-Yii in #1019
  • fix(dotnet): synchronize EnsureStrippedTokenizer to prevent race cond… by @LEVELING2108 in #1020
  • docs(hooks): run_id is shared by the predict events, not by on_load/on_evict by @keemsisi in #1021
  • docs(mcp): both batch rows must name every call argument their handler takes by @keemsisi in #1022
  • docs(readme): routing metadata is five keys, not the three the page showed by @keemsisi in #1023
  • docs(mcp): the laya_status row names the per-checkpoint device map by @keemsisi in #1028

New Contributors

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 14:33

Full Changelog: v0.3.29...v0.4.0

v0.3.29

Choose a tag to compare

@github-actions github-actions released this 07 Oct 10:14

What's Changed

  • build(deps): cap NumPy below 2 in the onnx extra by @thread3d in #947
  • feat(evals): evidence inspection over checkpoint and eval artifacts by @Bruce-Yii in #964
  • fix(agent): read a state predict_long's questions leave room for in one pass by @JeelGajera in #966
  • docs(examples): example 18 must not call the shipped answer_confidence calibrated by @aashish254 in #973
  • docs(examples): example 30 must call score confidence 1 - H/log(k), not the entropy by @aashish254 in #974
  • docs(examples): example 21 must read its cost claim off the measurement it takes by @aashish254 in #975
  • docs(evals): the --min-confidence gate flags the answer, it does not overwrite it by @aashish254 in #976
  • docs(examples): example 26 must count triage_questions()'s three yes/no fields by @aashish254 in #978
  • docs(tl_kernels): the multiple-of-16 comes from tokens, not rows by @aashish254 in #979
  • docs(structured): DecisionResult's confidence is per-type, not uniformly entropy by @aashish254 in #980
  • docs(presets): questions-and-answers must count five, not three by @aashish254 in #981
  • docs(typescript-sdk): /health returns seven keys, not the three the page listed by @aashish254 in #983
  • docs(mcp): laya_route_batch row must name its own six keys by @aashish254 in #984
  • docs(http-api): strict JEV answers carry type, the pages did not say so by @aashish254 in #986
  • docs(hooks): scope plain callables to on_predict_start=/on_predict_end=, not hooks= by @aashish254 in #987
  • docs(hooks): api.md blocks must name hooks_timeout like their hooks_raise siblings by @aashish254 in #988
  • docs(hooks): tracing.md nested-call example must read child run_id from ctx by @aashish254 in #989
  • docs(hooks): errors.md must enumerate every hooks_raise and hooks_timeout surface by @aashish254 in #990
  • docs(hooks): lifecycle.md must place process-wide defaults ahead of installed by @aashish254 in #991
  • docs(readme): batch-hooks bullet must split predict_batch from route_batch by @aashish254 in #992
  • docs(hooks): patterns.md Composition must name defaults as the head tier by @aashish254 in #993
  • docs(security): /health sample must filter to revisions, not claim four keys by @aashish254 in #994
  • docs(hooks): examples.md Composition must name the three tiers, not two by @aashish254 in #995
  • docs(agent): predict_long gate comments must describe the None contract, not claim a report by @aashish254 in #996
  • docs(common): render_criterion's docstring must name the separators it passes by @aashish254 in #997
  • docs(mcp): laya_shortlist's metadata list must name passthrough, the fifth key by @aashish254 in #998
  • docs(email): email_state's **extra rule must name the None filter it documents by @aashish254 in #999
  • test(portability): no repo read in tests/ may leave the codec to the runner by @aashish254 in #1001
  • fix(confidence): a min_confidence map key must name a bucket an answer can produce by @aashish254 in #1002
  • docs(calibrate): the calibration payload's contract must name binning_map and every shape it refuses by @aashish254 in #1003
  • docs(examples): example 03 must give confidence per question type, not one formula by @aashish254 in #1004
  • docs: both confidence pages must attribute confidence per question type, not as one entropy formula by @aashish254 in #1005
  • docs(train): rewrite the fine-tuning guide around laya-train by @GuilhermeFusari in #1007
  • fix(example): the demo's certainty chip must name its question type's formula by @aashish254 in #1008
  • docs(predict_long): the default window's 64-token floor must be in the docstrings that state the default by @aashish254 in #1009
  • docs(evals): the calibration column must name its fallback, and the shipped level is not calibrated by @aashish254 in #1011
  • fix(lang): do not name all-caps acronym and address lines as foreign prose by @keemsisi in #1013
  • refactor(finetune): converge single-process wrappers on laya.train by @Bruce-Yii in #965
  • feat(train): add --eval, abstention threshold fitting, and before/after train_report.json (#887) by @Swatantra-66 in #967
  • fix(train): warn when fine-tune predictions collapse to the class prior by @tiagovilasboas in #968
  • docs(examples): example 40 must not call answer_confidence calibrated by @aashish254 in #972
  • docs(mcp): laya_decide row must list min_confidence; every tool row must name every handler param by @aashish254 in #985
  • feat(research): three-seed RLCD vs soft-CE default-loss panel for #887 by @Bruce-Yii in #1012

New Contributors

Full Changelog: v0.3.28...v0.3.29

v0.3.28

Choose a tag to compare

@github-actions github-actions released this 05 Oct 18:04

What's Changed

  • fix(serve): refuse unpublished path-like model ids instead of auto-routing by @sathariels in #930
  • fix(finetune): the Apple Silicon and research scripts fit temperatures outside the runtime clamp by @Bruce-Yii in #851
  • feat(train): add laya.train, one fine-tuning loop for the notebook and scripts to share by @GuilhermeFusari in #899
  • docs(router): explain why predict_batch composes default hooks by @sathariels in #929
  • feat(train): add laya-train CLI and CSV/expected dataset loaders (#887) by @Swatantra-66 in #931
  • fix(train): warn when the fine-tune's calibration rests on too little by @GuilhermeFusari in #933
  • fix(train): skip questions whose options run past max_len instead of crashing the batch by @GuilhermeFusari in #934
  • fix(ts): forward per-call hook options through predictBatch by @sathariels in #936
  • feat(router): a registry of checkpoints beside the built-ins by @alandefreitas in #937
  • fix(ts): clean French mail like Python by @kevin9327 in #939
  • fix(packaging): include inference backends in wheels by @NikitaaRamesh in #940
  • fix(train): normalize partial accumulation windows by @NikitaaRamesh in #941
  • fix(java): keep empty action probabilities finite by @NikitaaRamesh in #942
  • fix(common): support torch 2.0-2.3 in the action-head dtype check by @thread3d in #945
  • test(compile): guard the duck-shaping checks on a torch without the config by @thread3d in #946
  • feat(setup): a macOS/Intel checkout setup and verification path by @thread3d in #948
  • test(model): skip the bf16 legs on a Windows CPU, which SIGILLs by @thread3d in #949
  • feat(shortlist): add predict_tournament for choice questions past the option budget by @Rish-it in #950
  • feat(common): parallel option layout for order-invariant decisions by @sharath-sms in #951
  • build(docker): default the base image to Debian 13 (trixie) by @somtri in #953
  • fix(evals): refuse a NaN --min-accuracy or --max-ece like the --min pairs by @sameedkhan17 in #954
  • fix(ts): count an English/foreign collision word once, like Python by @sameedkhan17 in #955
  • fix(dotnet): match French device footers with normal spacing by @sameedkhan17 in #956
  • fix(calibrate): fit abstention cuts on the 4-decimal confidences the gate reads by @sameedkhan17 in #957
  • fix(mcp): keep and validate a question's option_order by @sameedkhan17 in #958
  • fix(onnx): catch an in-place question rewrite in the scan-budget guard by @sameedkhan17 in #959
  • fix(structured): resolve local $defs refs so pydantic Enum fields become choices by @sameedkhan17 in #960
  • fix(ci): ignore false positive sha256 checksums in gitleaks (#961) by @Swatantra-66 in #962

New Contributors

Full Changelog: v0.3.27...v0.3.28

v0.3.27

Choose a tag to compare

@github-actions github-actions released this 04 Oct 18:18

What's Changed

  • fix(confidence): clear stale low_confidence flag on re-evaluation (#910) by @Sarthak-Pandey in #911
  • fix(router): accept and compose per-call hooks in predict_batch and route_batch (#909) by @Swatantra-66 in #912
  • fix(email): match French device footers with normal spacing by @AzarudeenshariffA in #913
  • fix(router): run predict_long's scan after the hook chain, not as a hook by @keemsisi in #914
  • fix(evals): a coverage cut must not split a group of tied confidences by @keemsisi in #918
  • fix(calibrate): fit abstention thresholds on the scale the gate will read by @AlKor13 in #920
  • fix: keep transformers from importing TensorFlow, which crashes a load when it cannot load by @PerryLink in #924
  • feat(java): laya-java: a JVM inference package, gated against the Python reference by @keemsisi in #927
  • docs(benchmarks): MPS fp16 autocast against fp32 on an Apple M1 Pro by @cacheline999 in #928

New Contributors

Full Changelog: v0.3.26...v0.3.27

v0.3.26

Choose a tag to compare

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

What's Changed

  • chore(deps): bump github/codeql-action/init from 4.38.1 to 4.38.2 by @dependabot[bot] in #907
  • feat(dotnet): add .NET SDK (Laya.Onnx) by @kevin-gatimu in #671
  • feat(ts): port histogram-binning recalibration to laya-ts by @Swatantra-66 in #902
  • chore(deps): bump zensical from 0.0.65 to 0.0.67 by @dependabot[bot] in #903
  • chore(deps-dev): bump @types/node from 24.19.0 to 26.6.3 in /laya-ts by @dependabot[bot] in #904
  • chore(deps): bump ruff from 0.16.8 to 0.16.9 by @dependabot[bot] in #905
  • chore(deps): bump github/codeql-action/analyze from 4.38.1 to 4.38.2 by @dependabot[bot] in #906

New Contributors

Full Changelog: v0.3.25...v0.3.26

v0.3.25

Choose a tag to compare

@github-actions github-actions released this 03 Oct 15:58

What's Changed

  • fix(verify): numerics_check compares the unrounded outputs, not the 4-dp answers by @aashish254 in #884
  • fix(agent): validate CUDA ordinals, accept auto, survive capability-probe failures by @sahiixx in #886
  • fix(serve): split an oversized batch across forward passes instead of collating it whole by @keemsisi in #889
  • feat(calibrate): wire histogram binning into answers and the calibration payload by @Bruce-Yii in #890
  • feat(ts): accept the per-bucket minConfidence map by @Bruce-Yii in #891
  • fix(cli): write redirected output as utf-8 by @plox-sumit in #893
  • feat(serve): add idle unload and shared-server MCP mode by @Rish-it in #894
  • feat(backends): restore the inference backend class layer by @cklxx in #895
  • feat(fast): add an fp32 TileLang CPU lowering for the kernels by @cklxx in #896
  • fix(model): match the action head dtype so AOTInductor packaging completes by @cklxx in #897
  • feat(agent): carry the compile items left out of the #472 split by @cklxx in #898
  • feat(ts): port per-bucket minConfidence map to on-device engine by @Swatantra-66 in #900
  • perf(fast): use two pipeline stages for GEGLU by @RagingSilence in #901

New Contributors

Full Changelog: v0.3.24...v0.3.25