v0.3.29
browser-use/video-usev0.3.29Oct 7, 2026by github-actions[bot]
Upgrading?
AI Summary
This update emphasizes extensive documentation corrections to clarify confidence metrics, hook scopes, and MCP arguments, while adding new training capabilities for evaluation and abstention.
Key Highlights
- Introduced --eval flag and abstention threshold fitting in the training pipeline
- Added evidence inspection over checkpoint and eval artifacts
- Fixed agent prediction logic to handle state predict_long questions correctly
- Clarified confidence metrics per question type and hook scopes
New Features
- Evidence inspection over artifacts
- Abstention threshold fitting
- --eval flag for training
- Three-seed RLCD vs soft-CE loss panel
Full Release Notes
## What's Changed * build(deps): cap NumPy below 2 in the onnx extra by @thread3d in https://github.com/NandhaKishorM/laya/pull/947 * feat(evals): evidence inspection over checkpoint and eval artifacts by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/964 * fix(agent): read a state predict_long's questions leave room for in one pass by @JeelGajera in https://github.com/NandhaKishorM/laya/pull/966 * docs(examples): example 18 must not call the shipped answer_confidence calibrated by @aashish254 in https://github.com/NandhaKishorM/laya/pull/973 * docs(examples): example 30 must call score confidence 1 - H/log(k), not the entropy by @aashish254 in https://github.com/NandhaKishorM/laya/pull/974 * docs(examples): example 21 must read its cost claim off the measurement it takes by @aashish254 in https://github.com/NandhaKishorM/laya/pull/975 * docs(evals): the --min-confidence gate flags the answer, it does not overwrite it by @aashish254 in https://github.com/NandhaKishorM/laya/pull/976 * docs(examples): example 26 must count triage_questions()'s three yes/no fields by @aashish254 in https://github.com/NandhaKishorM/laya/pull/978 * docs(tl_kernels): the multiple-of-16 comes from tokens, not rows by @aashish254 in https://github.com/NandhaKishorM/laya/pull/979 * docs(structured): DecisionResult's confidence is per-type, not uniformly entropy by @aashish254 in https://github.com/NandhaKishorM/laya/pull/980 * docs(presets): questions-and-answers must count five, not three by @aashish254 in https://github.com/NandhaKishorM/laya/pull/981 * docs(typescript-sdk): /health returns seven keys, not the three the page listed by @aashish254 in https://github.com/NandhaKishorM/laya/pull/983 * docs(mcp): laya_route_batch row must name its own six keys by @aashish254 in https://github.com/NandhaKishorM/laya/pull/984 * docs(http-api): strict JEV answers carry type, the pages did not say so by @aashish254 in https://github.com/NandhaKishorM/laya/pull/986 * docs(hooks): scope plain callables to on_predict_start=/on_predict_end=, not hooks= by @aashish254 in https://github.com/NandhaKishorM/laya/pull/987 * docs(hooks): api.md blocks must name hooks_timeout like their hooks_raise siblings by @aashish254 in https://github.com/NandhaKishorM/laya/pull/988 * docs(hooks): tracing.md nested-call example must read child run_id from ctx by @aashish254 in https://github.com/NandhaKishorM/laya/pull/989 * docs(hooks): errors.md must enumerate every hooks_raise and hooks_timeout surface by @aashish254 in https://github.com/NandhaKishorM/laya/pull/990 * docs(hooks): lifecycle.md must place process-wide defaults ahead of installed by @aashish254 in https://github.com/NandhaKishorM/laya/pull/991 * docs(readme): batch-hooks bullet must split predict_batch from route_batch by @aashish254 in https://github.com/NandhaKishorM/laya/pull/992 * docs(hooks): patterns.md Composition must name defaults as the head tier by @aashish254 in https://github.com/NandhaKishorM/laya/pull/993 * docs(security): /health sample must filter to revisions, not claim four keys by @aashish254 in https://github.com/NandhaKishorM/laya/pull/994 * docs(hooks): examples.md Composition must name the three tiers, not two by @aashish254 in https://github.com/NandhaKishorM/laya/pull/995 * docs(agent): predict_long gate comments must describe the None contract, not claim a report by @aashish254 in https://github.com/NandhaKishorM/laya/pull/996 * docs(common): render_criterion's docstring must name the separators it passes by @aashish254 in https://github.com/NandhaKishorM/laya/pull/997 * docs(mcp): laya_shortlist's metadata list must name passthrough, the fifth key by @aashish254 in https://github.com/NandhaKishorM/laya/pull/998 * docs(email): email_state's **extra rule must name the None filter it documents by @aashish254 in https://github.com/NandhaKishorM/laya/pull/999 * test(portability): no repo read in tests/ may leave the codec to the runner by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1001 * fix(confidence): a min_confidence map key must name a bucket an answer can produce by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1002 * docs(calibrate): the calibration payload's contract must name binning_map and every shape it refuses by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1003 * docs(examples): example 03 must give `confidence` per question type, not one formula by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1004 * docs: both confidence pages must attribute `confidence` per question type, not as one entropy formula by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1005 * docs(train): rewrite the fine-tuning guide around laya-train by @GuilhermeFusari in https://github.com/NandhaKishorM/laya/pull/1007 * fix(example): the demo's certainty chip must name its question type's formula by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1008 * docs(predict_long): the default window's 64-token floor must be in the docstrings that state the default by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1009 * docs(evals): the calibration column must name its fallback, and the shipped level is not calibrated by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1011 * fix(lang): do not name all-caps acronym and address lines as foreign prose by @keemsisi in https://github.com/NandhaKishorM/laya/pull/1013 * refactor(finetune): converge single-process wrappers on laya.train by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/965 * feat(train): add --eval, abstention threshold fitting, and before/after train_report.json (#887) by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/967 * fix(train): warn when fine-tune predictions collapse to the class prior by @tiagovilasboas in https://github.com/NandhaKishorM/laya/pull/968 * docs(examples): example 40 must not call answer_confidence calibrated by @aashish254 in https://github.com/NandhaKishorM/laya/pull/972 * docs(mcp): laya_decide row must list min_confidence; every tool row must name every handler param by @aashish254 in https://github.com/NandhaKishorM/laya/pull/985 * feat(research): three-seed RLCD vs soft-CE default-loss panel for #887 by @Bruce-Yii in https://github.com/NandhaKishorM/laya/pull/1012 ## New Contributors * @JeelGajera made their first contribution in https://github.com/NandhaKishorM/laya/pull/966 **Full Changelog**: https://github.com/NandhaKishorM/laya/compare/v0.3.28...v0.3.29
Related Repositories
public-apis/public-apis★ 491,126
A collective list of free APIs
NousResearch/hermes-agent★ 255,898
The agent that grows with you
yt-dlp/yt-dlp★ 199,993
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,478
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
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.