Release notes
HOL Guard v3.60.0a101
PreviewHOL Guard v3.60.0a101, released November 15, 2026, is a preview release with 1 addition, 11 fixes and 4 other changes across 15 merged pull requests. Highlights: Add Toll MCP server contribution (mcp.toll); Name why the dashboard did not open, with its port and a next step.
1 added · 11 fixed · 4 other
Key facts
- Version
- v3.60.0a101
- Channel
- Preview
- Published
- Previous release
- alpha/v3.60.0a100
- Merged pull requests
- 15
Documented changes
16 typed entries
Verified contributors
2 verified contributors · 15 credits
Attribution coverage
attribution complete; history inventory partial.
Install
Scope
Guard v3.60.0a101 is a preview release published 2026-11-15. Upstream documents: Guard 3.60.0a101 is an opt-in prerelease cut from c675875. Stable installations remain on the stable channel. 15 commits • 15 merged pull requests • 2 contributors since Guard 3.60.0a100. Its comparison base is alpha/v3.60.0a100. It includes 15 verified contribution deliveries with public evidence links.
Changes
Added
1- Add Toll MCP server contribution (mcp.toll) (#7829) Evidence for this change
- Merged pull request #7832: fix(guard): keep the user's own Cursor hooks and settings through uninstall
- Merged pull request #7834: fix(guard): review a raw request to a local Guard approval route as self-authorization
- Merged pull request #7837: fix(guard): name why the dashboard did not open, with its port and a next step
- Merged pull request #7830: fix(guard): let a Grok search glob use a brace list
- Merged pull request #7827: fix(guard): read NAME=value after the command word as an argument, not a loop rebinding
- Merged pull request #7836: fix(guard): stop OAuth 1.0 credentials and inline cipher keys written into files
- Merged pull request #7838: docs(guard): record the brokered sign-in transport for cloud action packs
- Merged pull request #7826: test(guard): check the approval invariant over every recorded review
- Merged pull request #7823: test(guard): prove no adapter turns a missing native decision into an allow
- Merged pull request #7831: fix(guard): judge a long for loop by its steps instead of its written-out length
- Merged pull request #7829: Add Toll MCP server contribution (mcp.toll)
- Merged pull request #7825: fix(cigar): read a docstring mark inside a one-line string as text
- Merged pull request #7828: fix(guard): let mkdir create several folders when each one passes alone
- Merged pull request #7822: fix(guard): allow clearing a scratch file inside a longer command
- Merged pull request #7833: fix(guard): let stat and file read the metadata of a program installed in a home bin folder
Fixed
11- guardName why the dashboard did not open, with its port and a next step (#7837) Evidence for this change
- Native (
daemon-manage ensure).** Every failure reply now carries a stablecodenext toerrorandkind:
- Native (
- guardStop OAuth 1.0 credentials and inline cipher keys written into files (#7836) Evidence for this change
- guardReview a raw request to a local Guard approval route as self-authorization (#7834) Evidence for this change
/v1/requests/{id}/approve,/v1/requests/{id}/block/approvals/{id}/decision,/v1/approvals/{id}/decision/v1/requests/bulk-allow-once,/v1/requests/clear
- guardLet stat and file read the metadata of a program installed in a home bin folder (#7833) Evidence for this change
- guardKeep the user's own Cursor hooks and settings through uninstall (#7832) Evidence for this change
- Hooks added after install were discarded. Uninstall restored the pre-install backup of
~/.cursor/hooks.jsonbefore trying anything else, so any hook the user added while Guard was installed disappeared. Uninstall… - Unknown top-level keys were dropped at install. Install rebuilt
hooks.jsonas{version, hooks}only, so any other top-level key the user kept there was lost (the backup restore used to hide this). A nested…
- Hooks added after install were discarded. Uninstall restored the pre-install backup of
- guardJudge a long for loop by its steps instead of its written-out length (#7831) Evidence for this change
- guardLet a Grok search glob use a brace list (#7830) Evidence for this change
- guardRead NAME=value after the command word as an argument, not a loop rebinding (#7827) Evidence for this change
- guardLet mkdir create several folders when each one passes alone (#7828) Evidence for this change
- guardAllow clearing a scratch file inside a longer command (#7822) Evidence for this change
- cigarRead a docstring mark inside a one-line string as text (#7825) Evidence for this change
Other changes
4- Guard 3.60.0a101 is an opt-in prerelease cut from
c675875. Stable installations remain on the stable channel. 15 commits • 15 merged pull requests • 2 contributors since Guard 3.60.0a100. Evidence for this change - guardRecord the brokered sign-in transport for cloud action packs (#7838) Evidence for this change
- guardProve no adapter turns a missing native decision into an allow (#7823) Evidence for this change
- guardCheck the approval invariant over every recorded review (#7826) Evidence for this change
Upgrade and compatibility
None documented.
Compare with the previous release
Predecessor on the same channel: alpha/v3.60.0a100
Verified contributors
Credits derive from public pull-request authorship, verified commit authorship, or verified co-authorship — never from thanks text or release metadata. Each distinct contributor is listed once; the evidence ledger paginates every published credit record.