Release notes

HOL Guard v3.59.0a29

Preview

HOL Guard v3.59.0a29, released November 1, 2026, is a preview release with 3 additions, 31 improvements, 19 fixes and 2 other changes across 53 merged pull requests. Highlights: Integrate optional CIGAR context assistance; Add the opt-in Vulnify hosted MCP contribution.

Changes since the previous release on this channel: alpha/v3.59.0a27alpha/v3.59.0a29

3 added · 31 improved · 19 fixed · 2 other

Published Original GitHub release for alpha/v3.59.0a29

Key facts

Version
v3.59.0a29
Channel
Preview
Published
Previous release
alpha/v3.59.0a27
Merged pull requests
53

Documented changes

55 typed entries

Attribution coverage

attribution complete; history inventory partial.

Scope

Guard v3.59.0a29 is a preview release published 2026-11-01. Upstream documents: Guard 3.59.0a29 is an opt-in prerelease cut from 08b9c5d. Stable installations remain on the stable channel. 54 commits • 53 merged pull requests • 3 contributors since Guard 3.59.0a28. Its comparison base is alpha/v3.59.0a27. It includes 126 verified contribution deliveries with public evidence links.

Changes

Added

3
  • guardIntegrate optional CIGAR context assistance (#6501) Evidence for this change
    • Bring the accepted P0–P5 CIGAR context integration from the prior local delivery onto current main: native runtime verification, scoped sources and cited context, optional agent access, sharing, private persistence…
    • Include the follow-on runtime and release work: qualified catalog and artifact handling, Python/interpreter preparation, version selection and upgrade jobs, rollback/recovery, and the dedicated CIGAR dashboard with…
    • Keep CIGAR optional and off by default. Runtime activation and each source, app, sharing, storage, or execution permission remain explicit; Guard retains its approval authority.
  • mcp-serversAdd the opt-in Vulnify hosted MCP contribution (2cbddb2) Evidence for this change
  • scannerRead the files a committed zip carries (#6800) Evidence for this change

Improved

31

Fixed

19

Other changes

2
  • Guard 3.59.0a29 is an opt-in prerelease cut from 08b9c5d. Stable installations remain on the stable channel. 54 commits • 53 merged pull requests • 3 contributors since Guard 3.59.0a28. Evidence for this change
  • gauntletExercise a read-driven loop that expands its own name (#6836) Evidence for this change
    • Merged pull request #6741: refactor(hook): answer an unmarked edge sink route with the outage (#6741)
    • Merged pull request #6723: test(runtime): hold the resident's health reply to figures and its own identity (#6723)
    • Merged pull request #6827: refactor(sync): let the runtime read Guard Cloud HTTP errors (#6827)
    • Merged pull request #6727: fix(command): read a package manager's usage text without review (#6727)
    • Merged pull request #6754: refactor(hook): trust the resident's receipt check when draining direct answers (#6754)
    • Merged pull request #6773: refactor(guard): retire command-activity store wrappers only tests called (#6773)
    • Merged pull request #6758: refactor(guard): retire the Python GitHub shell capability wrapper (#6758)
    • Merged pull request #6777: perf(guard): derive policy-bundle claim identities in the resident (#6777)
    • Merged pull request #6756: refactor(guard): retire the Python secret sensitivity and developer inspection wrappers (#6756)
    • Merged pull request #6819: refactor(mdm): register and delete the Windows health task in the native runtime (#6819)
    • Merged pull request #6826: fix(command): read the DigitalOcean contexts a listing names (#6826)
    • Merged pull request #6737: feat(scanner): read a credential a command line carries as an argument (#6737)
    • Merged pull request #6730: fix(command): read pnpm's registry reports the way npm's are read (#6730)
    • Merged pull request #6744: refactor(store): ask the resident only why a saved allow missed (#6744)
    • Merged pull request #6785: refactor(mdm): verify the release manifest in the native runtime (#6785)
    • Merged pull request #6784: fix(command): name a bisect session so it stops reading as unknown (#6784)
    • Merged pull request #6783: fix(policy): acknowledge v2 bundles that carry no managed delivery (#6783)
    • Merged pull request #6750: refactor(mcp): stop asking whether the resident reads an inline reply (#6750)
    • Merged pull request #6820: fix(command): read the staged comparison a script asks git for (#6820)
    • Merged pull request #6772: fix(command): read the word that stops a retry loop (#6772)
    • Merged pull request #6768: refactor(supply-chain): read the verified bundle summary from the native verifier (#6768)
    • Merged pull request #6799: refactor(mdm): decide machine supervisor health in the native runtime (#6799)
    • Merged pull request #6822: fix(command): read a line-walking loop's own name without review (#6822)
    • Merged pull request #6788: fix(command): read go mod's reporting subcommands inside the sandbox (#6788)
    • Merged pull request #6830: refactor(sync): let the runtime shape the Guard Cloud runtime session (#6830)
    • Merged pull request #6786: feat(command): read a Homebrew search without review (#6786)
    • Merged pull request #6814: refactor(mdm): read the system proxy settings in the native runtime (#6814)
    • Merged pull request #6801: refactor(mdm): keep the health lease outbox and acknowledgement in the native runtime (#6801)
    • Merged pull request #6795: refactor(mdm): compose the local integrity snapshot in the native runtime (#6795)
    • Merged pull request #6798: fix(command): read the gem queries that print what is installed (#6798)
    • Merged pull request #6828: fix(command): read the ref names a script asks git for (#6828)
    • Direct commit 8de12f3ea305: Merge branch 'main' into feat/cigar-context-assistance
    • Merged pull request #6748: fix(command): read a usage page a rendering flag sits beside (#6748)
    • Merged pull request #6813: refactor(mdm): verify the native install identity in the native runtime (#6813)
    • Direct commit 7df10162ec11: Merge remote-tracking branch 'origin/main' into HEAD
    • Merged pull request #6807: fix(command): run a test runner that was told not to watch (#6807)
    • Merged pull request #6800: feat(scanner): read the files a committed zip carries (#6800)
    • Merged pull request #6823: refactor(mdm): send the remaining MDM runtime calls through one helper (#6823)
    • Merged pull request #6803: refactor(mdm): read and write the harness coverage request in the native runtime (#6803)
    • Merged pull request #6767: fix(command): read a grep include glob by what it can select (#6767)
    • Merged pull request #6810: fix(guard): stop resending review events the server has permanently quarantined (#6810)
    • Merged pull request #6746: refactor(hook): send the pre-tool review every field the locked runtime reads (#6746)
    • Merged pull request #6721: refactor(guard): retire Python wrappers only tests still called (#6721)
    • Merged pull request #6759: refactor(guard): move the test-only artifact policy bridge under tests (#6759)
    • Merged pull request #6747: refactor(policy): bind every direct-lane field the locked runtime accepts (#6747)
    • Merged pull request #6833: fix(policy): enforce Cloud review rules from v2 bundles (#6833)
    • Merged pull request #6775: fix(guard): read the Windows DNS host name in the resident (#6775)
    • Merged pull request #6793: refactor(mdm): keep removal authorizations and tombstones in the native runtime (#6793)
    • Merged pull request #6782: refactor(mdm): load and parse the managed policy in the native runtime (#6782)
    • Merged pull request #6812: refactor(mdm): run the Windows ACL probe in the native runtime (#6812)
    • Merged pull request #6736: perf(hook): queue an edge PostToolUse activity behind its receipt (#6736)
    • Direct commit 700f5e8cad5d: fix(mcp.vulnify): clarify dry-run REVIEW vs recorded decisions
    • Merged pull request #6836: test(gauntlet): exercise a read-driven loop that expands its own name (#6836)
    • Merged pull request #6840: refactor(windows): resolve trusted Windows directories in the native runtime
    • Merged pull request #6733: refactor(guard): move native clients only tests call out of the runtime (#6733)
    • Merged pull request #6761: fix(command): read a health check written with a retry policy (#6761)
    • Merged pull request #6714: fix(command): read what a tool launcher already holds (#6714)
    • Merged pull request #6774: fix(command): read an fd walk that hands its files to a reader (#6774)
    • Merged pull request #6780: refactor(guard): move command-activity, Vitest and onefile helpers only tests called (#6780)
    • Merged pull request #6817: feat(mcp-servers): add the opt-in Vulnify hosted MCP contribution
    • Merged pull request #6839: fix(command): read the other spelling of git blame (#6839)
    • Merged pull request #6728: refactor(runtime): retire Python capture and resilience helpers nothing calls (#6728)
    • Merged pull request #6763: fix(mcp): decide calls to non-ASCII tool names in the native relay (#6763)
    • Merged pull request #6797: fix(command): read the git verbs that compare commits (#6797)
    • Merged pull request #6776: fix(command): read a search that lists file names into xargs (#6776)
    • Merged pull request #6790: refactor(mdm): keep the harness coverage registry in the native runtime (#6790)
    • Merged pull request #6685: fix(command): read the loopback host written as an IPv6 literal (#6685)
    • Merged pull request #6726: feat(extensions): add Unwreck command protection
    • Merged pull request #6739: feat(scanner): read the files a committed archive carries (#6739)
    • Merged pull request #6722: fix(command): read a helm command's usage text without review (#6722)
    • Merged pull request #6738: fix(desktop): wait for a Core that outlasts the start window during bootstrap (#6738)
    • Merged pull request #6802: refactor(mdm): read and write the user health state in the native runtime (#6802)
    • Direct commit fbd81eaecf50: Merge branch 'main' into feat/cigar-context-assistance
    • Merged pull request #6743: refactor(store): settle a claimed native review in one resident call (#6743)
    • Merged pull request #6753: refactor(hook): send edge options without asking whether the resident reads them (#6753)
    • Merged pull request #6808: refactor(mdm): read and write the continuity record and device-key metadata in the native runtime (#6808)
    • Merged pull request #6732: fix(command): read the workspace root pnpm names without spelling it (#6732)
    • Merged pull request #6740: fix(command): read a manager's second-level usage text without review (#6740)
    • Merged pull request #6781: refactor(guard): derive policy-bundle decision identities only in the resident (#6781)
    • Merged pull request #6745: perf(hook): queue an edge PreToolUse activity the daemon returns as rendered (#6745)
    • Merged pull request #6770: fix(command): read an HTTPie request to a dev server without review (#6770)
    • Merged pull request #6760: refactor(guard): drop test-only harness normalizer aliases and unused Windows snapshot writers (#6760)
    • Merged pull request #6742: refactor(hook): answer a Cursor probe from the edge alone (#6742)
    • Merged pull request #6757: fix(command): read a wait for a service as the question it asks (#6757)
    • Merged pull request #6752: refactor(workspace): request every content scan without per-scan feature checks (#6752)
    • Merged pull request #6725: refactor(cloud): sign Guard Cloud DPoP proofs in the resident (#6725)
    • Merged pull request #6731: refactor(activity): retire the unwired Python Cloud activity aggregate (#6731)
    • Merged pull request #6816: refactor(mdm): check the device-key metadata in the native runtime (#6816)
    • Merged pull request #6751: refactor(runtime): drop older-runtime fallbacks the version lock retired (#6751)
    • Merged pull request #6766: fix(command): read a wget health check that names where the response goes (#6766)
    • Merged pull request #6829: refactor(sync): let the runtime decide whether synced intel is stale (#6829)
    • Merged pull request #6729: refactor(hook): retire the Python post-tool activity fallback (#6729)
    • Merged pull request #6764: refactor(mcp): drop the HOL_GUARD_MCP_RELAY canary selection (#6764)
    • Merged pull request #6806: refactor(mdm): walk macOS ownership and ACLs in the native runtime (#6806)
    • Merged pull request #6719: feat(scanner): read a credential carried inside a base64 payload (#6719)
    • Merged pull request #6805: refactor(mdm): parse health and protection leases in the native runtime (#6805)
    • Merged pull request #6765: refactor(guard): drop the test-only extraction owner writer and first-blocked-cause validator (#6765)
    • Merged pull request #6501: feat(guard): integrate optional CIGAR context assistance
    • Merged pull request #6769: refactor(inventory): call the native snapshot digest directly (#6769)
    • Merged pull request #6821: refactor(mdm): send the MDM runtime requests through one helper (#6821)
    • Merged pull request #6715: perf(approvals): settle a claimed native review retry in one store call (#6715)
    • Merged pull request #6718: fix(command): read a lone usage flag as the text it prints (#6718)
    • Merged pull request #6703: fix(command): keep a Git command that drops committed history at review (#6703)
    • Merged pull request #6749: fix(mcp): launch Cline's managed MCP servers through the native relay (#6749)
    • Merged pull request #6815: refactor(mdm): read the managed proxy credential in the native runtime (#6815)
    • Merged pull request #6824: refactor(mdm): let the runtime find the Windows directory itself (#6824)
    • Merged pull request #6796: refactor(mdm): decide ownership and ACL health in the native runtime (#6796)
    • Merged pull request #6792: fix(command): read a crates.io search without the package review (#6792)
    • Merged pull request #6735: refactor(activity): leave the correlation key file to the resident (#6735)
    • Merged pull request #6787: fix(cloud-review): name the published Cloud rule that queued a review (#6787)
    • Merged pull request #6779: fix(command): let a grep include narrow the recursive walk (#6779)
    • Merged pull request #6809: refactor(mdm): read the supervisor registration and run its probes in the native runtime (#6809)
    • Merged pull request #6794: refactor(mdm): parse and verify installation continuity in the native runtime (#6794)
    • Merged pull request #6789: fix(command): read uv's lockfile assertion inside the sandbox (#6789)
    • Merged pull request #6818: refactor(mdm): run the device-key helper in the native runtime (#6818)
    • Merged pull request #6724: perf(hook): record a direct answer's command activity in the resident (#6724)
    • Merged pull request #6762: refactor(guard): move the test-only shell execution context adapter under tests (#6762)
    • Merged pull request #6716: refactor(runtime): retire the unwired content-decode and Vite output clients (#6716)
    • Merged pull request #6835: refactor(daemon): check Windows process lifecycle in the native runtime (#6835)
    • Merged pull request #6734: fix(command): read a quoted pipe in a loop body as text (#6734)
    • Merged pull request #6791: refactor(mdm): check health snapshot bindings in the native runtime (#6791)
    • Merged pull request #6771: perf(guard): derive policy-bundle lookup identities in the resident (#6771)
    • Merged pull request #6825: fix(command): read the unstaged comparison a script asks git for (#6825)
    • Merged pull request #6755: fix(command): read a loopback liveness ping without review (#6755)
    • Merged pull request #6778: refactor(guard): retire session, composio and receipt store wrappers only tests called (#6778)
    • Merged pull request #6804: fix(command): name the records git keeps beside the history (#6804)

Upgrade and compatibility

None documented.

Compare with the previous release

Predecessor on the same channel: alpha/v3.59.0a27

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.

Contributors

Evidence ledger126 credits