Release notes
HOL Guard v3.59.0a21
PreviewHOL Guard v3.59.0a21, released October 31, 2026, is a preview release with 8 additions, 14 fixes and 10 other changes across 26 merged pull requests. Highlights: Add the procedural-memory command extension; Add the RoslynGate MCP server contribution.
8 added · 14 fixed · 10 other
Key facts
- Version
- v3.59.0a21
- Channel
- Preview
- Published
- Previous release
- alpha/v3.59.0a19
- Merged pull requests
- 26
Documented changes
32 typed entries
Verified contributors
7 verified contributors · 48 credits
- @AaronWong1999@AaronWong1999 on GitHub
- @bernard357@bernard357 on GitHub
- @GrappinoRoot@GrappinoRoot on GitHub
Attribution coverage
attribution complete; history inventory partial.
Install
Scope
Guard v3.59.0a21 is a preview release published 2026-10-31. Upstream documents: Guard 3.59.0a21 is an opt-in prerelease cut from 0f815c1. Stable installations remain on the stable channel. 31 commits • 26 merged pull requests • 7 contributors since Guard 3.59.0a20. Its comparison base is alpha/v3.59.0a19. It includes 48 verified contribution deliveries with public evidence links.
Changes
Added
8- extensionsAdd the procedural-memory command extension (
a5f438c) Evidence for this change - extensionsAdd the RoslynGate MCP server contribution (
a35f3ad) Evidence for this change - extensionsAdd the ccx command extension (
cff79d5) Evidence for this change - extensionsAdd the duckdb-vectors MCP server contribution (
3f46479) Evidence for this change - scannerDetect sixteen more provider credentials (#6647) Evidence for this change
- plugin-kitWarn when an installed Claude Code plugin differs from HOL's recorded commit (#6646) Evidence for this change
- actionLink a directory pre-flight from the job summary and add opt-in report_to_hol (#6629) Evidence for this change
- secretsPublish the rule catalog the detector actually runs (#6630) Evidence for this change
Fixed
14- commandRead a build or test setting by its value, not only its name (#6632) Evidence for this change
- scannerReport the cut when one file fills the findings budget (#6649) Evidence for this change
- commandRead an inert NODE_OPTIONS prefix the way an inherited one is read (#6631) Evidence for this change
- commandRead a chain that climbs back into the workspace (#6636) Evidence for this change
- commandRead a guarded verb in a prompt by what it acts on (#6637) Evidence for this change
- commandLet a Grok search skip a secret its pattern cannot match (#6642) Evidence for this change
- supply-chainGive Guard Cloud longer to answer for large lockfiles (#6633) Evidence for this change
- firewallLet every package manager's install help run unreviewed (#6641) Evidence for this change
- scannerStop keeping detected secrets alive after the scan (#6634) Evidence for this change
- sandboxRun a sibling-anchored workspace sandbox from the sibling's root (#6639) Evidence for this change
- sandboxGive Cursor's contained sink the receipt it re-checks (#6628) Evidence for this change
- Cursor's contained sink (
guard execute-contained-test --harness cursor) re-authorizes the call it saved under the Cursor harness and runs it only on a containment receipt: a top-leveldecision: deny… hook_responses::pre_toolbuilt that receipt for OMP, Pi, ZCode, Claude Code and Codex, but not for Cursor. A sandbox-required verdict under Cursor fell through to the ordinary block, which has none of those fields.…- Cursor now gets the same receipt. It keeps the
hookSpecificOutputPreToolUse deny, so Cursor's bridge, which mapssandbox-requiredtodeny, still reads a denial for any call that is not routed.
- Cursor's contained sink (
- commandRead a list of subshell groups as the lists inside them (#6617) Evidence for this change
- firewallLet package manager help run without an install review (#6621) Evidence for this change
- The flag must be the last token, and only the install verbs may come before it.
- supply-chainStop flagging a lockfile with no packages as unparsed (
752458e) Evidence for this change
Other changes
10- Guard 3.59.0a21 is an opt-in prerelease cut from
0f815c1. Stable installations remain on the stable channel. 31 commits • 26 merged pull requests • 7 contributors since Guard 3.59.0a20. Evidence for this change - sandboxRun pytest, tool, build and package test runs in the native sink (#6653) Evidence for this change
- sandboxRun plain read-only evaluations, tests and Git reads in the native sink (#6651) Evidence for this change
- sandboxPlan a contained lint, typecheck or build tool natively (#6650) Evidence for this change
- sandboxRun a cd below a sibling repository's root in the native sink (#6644) Evidence for this change
- sandboxRun Cursor workspace sandboxes in the native sink (#6643) Evidence for this change
- sandboxRun edge-rewritten Claude Code and ZCode workspace sandboxes in the native sink (#6640) Evidence for this change
- strandsCorrect intervention install guidance for 3.59 compatibility (#6554) Evidence for this change
- secretsProve a scanned secret reaches no response, file or log (#6648) Evidence for this change
- daemonPut the transport through the abuse it is meant to survive (#6638) Evidence for this change
- Direct commit 8929c7c5de9e: Merge remote-tracking branch 'origin/main' into repair/pr-5911
- Merged pull request #6642: fix(command): let a Grok search skip a secret its pattern cannot match (#6642)
- Merged pull request #6609: perf(hook): let the edge say when no saved block can name the command (#6609)
- Merged pull request #6635: fix(supply-chain): stop flagging a lockfile with no packages as unparsed
- Merged pull request #6627: fix(daemon): stop daemon.log from repeating what failed (#6627)
- Merged pull request #6614: refactor(review): settle the DPoP device binding in native authority (#6614)
- Direct commit 99aab7a6fa5a: Merge remote-tracking branch 'origin/main' into repair/pr-5529
- Merged pull request #6615: refactor(sandbox): plan protected Git reads natively (#6615)
- Merged pull request #6650: perf(sandbox): plan a contained lint, typecheck or build tool natively (#6650)
- Merged pull request #6646: feat(plugin-kit): warn when an installed Claude Code plugin differs from HOL's recorded commit (#6646)
- Merged pull request #5529: feat(extensions): add the procedural-memory command extension
- Merged pull request #6618: fix(firewall): read uv and pip option values as options, not packages (#6618)
- Merged pull request #6616: refactor(sandbox): read the contained-run request snapshot natively (#6616)
- Merged pull request #6638: test(daemon): put the transport through the abuse it is meant to survive (#6638)
- Merged pull request #6629: feat(action): link a directory pre-flight from the job summary and add opt-in report_to_hol (#6629)
- Merged pull request #6626: refactor(command): retire contained-argv operations nothing asks for (#6626)
- Merged pull request #6633: fix(supply-chain): give Guard Cloud longer to answer for large lockfiles (#6633)
- Merged pull request #6625: fix(scanner): read a GitHub Actions context expression as a reference
- Merged pull request #6647: feat(scanner): detect sixteen more provider credentials (#6647)
- Merged pull request #6644: perf(sandbox): run a cd below a sibling repository's root in the native sink (#6644)
- Merged pull request #6610: fix(command): read a negated list item as the pipeline it negates (#6610)
- Merged pull request #6634: fix(scanner): stop keeping detected secrets alive after the scan (#6634)
- Merged pull request #6649: fix(scanner): report the cut when one file fills the findings budget (#6649)
- Merged pull request #6636: fix(command): read a chain that climbs back into the workspace (#6636)
- Merged pull request #6617: fix(command): read a list of subshell groups as the lists inside them (#6617)
- Merged pull request #6630: feat(secrets): publish the rule catalog the detector actually runs (#6630)
- Merged pull request #5911: feat(extensions): add the ccx command extension
- Merged pull request #6628: fix(sandbox): give Cursor's contained sink the receipt it re-checks (#6628)
- Merged pull request #6619: refactor(store): mint local one-shot authority where the verdict is decided (#6619)
- Merged pull request #6602: fix(guard): say when a paused install is a Guard Cloud outage (#6602)
- Merged pull request #6641: fix(firewall): let every package manager's install help run unreviewed (#6641)
- Merged pull request #6648: test(secrets): prove a scanned secret reaches no response, file or log (#6648)
- Merged pull request #6620: perf(sandbox): run checks-then-Git-steps chains in the native sink (#6620)
- Merged pull request #6622: test(runtime): close the resident's open fault cases (#6622)
- Merged pull request #6653: perf(sandbox): run pytest, tool, build and package test runs in the native sink (#6653)
- Merged pull request #6481: feat(extensions): add the duckdb-vectors MCP server contribution
- Merged pull request #6639: fix(sandbox): run a sibling-anchored workspace sandbox from the sibling's root (#6639)
- Merged pull request #6621: fix(firewall): let package manager help run without an install review (#6621)
- Merged pull request #6632: fix(command): read a build or test setting by its value, not only its name (#6632)
- Merged pull request #6637: fix(command): read a guarded verb in a prompt by what it acts on (#6637)
- Merged pull request #5878: feat(extensions): add the RoslynGate MCP server contribution
- Merged pull request #6651: perf(sandbox): run plain read-only evaluations, tests and Git reads in the native sink (#6651)
- Direct commit 5848b864c5a2: Merge branch 'main' into feature/procedural-memory-command-extension
- Merged pull request #6623: perf(sandbox): run Codex workspace-sandbox calls in the native sink (#6623)
- Merged pull request #6631: fix(command): read an inert NODE_OPTIONS prefix the way an inherited one is read (#6631)
- Merged pull request #6640: perf(sandbox): run edge-rewritten Claude Code and ZCode workspace sandboxes in the native sink (#6640)
- Merged pull request #6643: perf(sandbox): run Cursor workspace sandboxes in the native sink (#6643)
- Merged pull request #6554: docs(strands): explain compatible 3.x installs and idna prerelease floor (#6554)
Upgrade and compatibility
None documented.
Compare with the previous release
Predecessor on the same channel: alpha/v3.59.0a19
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.