Release notes
HOL Guard v3.59.0a35
PreviewHOL Guard v3.59.0a35, released November 2, 2026, is a preview release with 6 additions, 17 improvements, 16 fixes and 4 other changes across 41 merged pull requests. Highlights: Read compiled cloud action binding artifacts with explicit version checks; Compile cloud action bindings into a deterministic build artifact.
6 added · 17 improved · 16 fixed · 4 other
Key facts
- Version
- v3.59.0a35
- Channel
- Preview
- Published
- Previous release
- alpha/v3.59.0a34
- Merged pull requests
- 41
Documented changes
43 typed entries
Verified contributors
1 verified contributor · 42 credits
Attribution coverage
attribution complete; history inventory partial.
Install
Scope
Guard v3.59.0a35 is a preview release published 2026-11-02. Upstream documents: Guard 3.59.0a35 is an opt-in prerelease cut from 61fa5a7. Stable installations remain on the stable channel. 42 commits • 41 merged pull requests • 2 contributors since Guard 3.59.0a34. Its comparison base is alpha/v3.59.0a34. It includes 42 verified contribution deliveries with public evidence links.
Changes
Added
6- commandRead compiled cloud action binding artifacts with explicit version checks (#6969) Evidence for this change
- Unknown, missing or retyped fields fail (
cloud_binding_artifact_malformed). Each action is read into typed fields and must serialize back to exactly the value on disk, so nothing is silently dropped or coerced. - Both digests are recomputed. Editing an action, the program digest, or the action list fails with
cloud_binding_artifact_digest_mismatch, even when the edited action's own digest is recomputed. - Actions must be strictly ascending by ID, so duplicates and reordering fail with
cloud_binding_artifact_order_invalid.
- Unknown, missing or retyped fields fail (
- commandCompile cloud action bindings into a deterministic build artifact (#6964) Evidence for this change
- Each action records its resolved target: a command permission, or an MCP tool together with its canonical endpoint (local MCP servers have no endpoint). It also records the effect, resource, required capabilities…
binding_digestcovers what the action does, not how policy treats it. A tool state change, a different program digest or a spelling-only endpoint difference (HOST:443vshost) leaves it unchanged. A different…- Actions are sorted by id, duplicates are refused and the count is capped at the runtime binding limit (4096). The artifact digest covers the whole document, so the same inputs give the same bytes in any arrival order.
- commandAccept optional cloud action bindings beside command and MCP contributions (#6959) Evidence for this change
- a command source's
permission_id, or - an MCP server's declared tool (the
othercatch-all is not referenceable).
- a command source's
- cigarIntroduce the workspace as Context and mark it beta (
f91ad40) Evidence for this change - dashboardRework every CIGAR tab and replace native dropdowns (#6949) Evidence for this change
- contextRun CIGAR context assistance natively on Windows (#6941) Evidence for this change
Improved
17- packageRedact the stored package command in the native runtime (#6968) Evidence for this change
- mcpDecide temporary browser MCP grants in the native runtime (#6966) Evidence for this change
- packageDrop Guard's package shims from the launch PATH in the native runtime (#6962) Evidence for this change
- mcpRecord remote MCP server origins in the native runtime (#6963) Evidence for this change
- cliDrop two helpers nothing calls (#6965) Evidence for this change
- supply-chainResolve the audit workspace in the native runtime (#6960) Evidence for this change
- surfaceNegotiate the surface server protocol in the native runtime (#6946) Evidence for this change
- aibomBuild local trust claims in the native runtime (#6956) Evidence for this change
- packageThrottle the package firewall cloud refresh in the native runtime (#6958) Evidence for this change
- aibomRead primary AIBOM content in the native runtime (#6957) Evidence for this change
- aibomCheck trust attestation claims and payloads in the native runtime (#6952) Evidence for this change
- workspaceProject runtime findings in the native runtime (#6947) Evidence for this change
- consumerBuild the install-time scan contract in the native runtime (#6945) Evidence for this change
- daemonKeep the runtime fingerprint cache in the native runtime (#6944) Evidence for this change
- guardDate Watch auto-revert deadlines in the native runtime (#6942) Evidence for this change
- insightsBuild the insights share card in the native runtime (#6940) Evidence for this change
- guardBuild the runtime snapshot headline and policy ack in the native runtime (#6938) Evidence for this change
Fixed
16- cliReport a refused Guard Cloud signing key as a runtime error (#6980) Evidence for this change
- commandList the extensions this device was delivered (#6986) Evidence for this change
- commandContain a Vitest run that names the files to run (#6972) Evidence for this change
- commandContain a type-check that pipes through one observer (#6978) Evidence for this change
- packageRead a test script's runner body with that runner's own grammar (#6973) Evidence for this change
- commandRead a workspace's own tsc under the path that names its binary (#6976) Evidence for this change
- hooksHand a stale bounded bridge's hook to the runtime the resident runs (#6979) Evidence for this change
- On a
NoResidentdirect miss, the bridge looks for the newer durable copy the home's resident runs and runs it withbounded-hook-bridgeand the hook's own launch config, marked as handed off so it never hands on… - Its stdout and exit code are relayed unchanged; its stderr already reached the harness.
- If it started but gave no answer by the deadline, or wrote output that is not UTF-8, the hook fails closed.
- On a
- runtimeRecord the Guard version on native review requests (#6977) Evidence for this change
- runtimeShare one file among older durable runtime copies (#6975) Evidence for this change
- The current copy must be a regular file owned by this user, writable by no one else, executable, in a private directory, and its bytes must hash to the requested digest while its mode, ctime and contents stay…
- An older copy is relinked only when its directory is a private directory of this user holding nothing but the runtime (plus a temp link from an interrupted pass), the runtime is a regular file owned by this user on the…
- A pass relinks at most 2,000 copies and stops after 30 seconds. Windows answers
unsupported.
- testRead every file a tsx test run loads (#6954) Evidence for this change
- containedContain a sibling runner whose output a filter trims (#6961) Evidence for this change
- commandContain a workspace test file run straight through Bun (#6953) Evidence for this change
- gitRead a proven origin listing without a review (#6950) Evidence for this change
- commandRead a lock directory's own marker without a review (#6943) Evidence for this change
- commandProve tsc reads only when its project says so (#6934) Evidence for this change
- packageRead a pnpm monorepo lockfile through its importer (#6939) Evidence for this change
Other changes
4- Guard 3.59.0a35 is an opt-in prerelease cut from
61fa5a7. Stable installations remain on the stable channel. 42 commits • 41 merged pull requests • 2 contributors since Guard 3.59.0a34. Evidence for this change - gatePlant each installed runner's real launcher in the benign fixture (#6985) Evidence for this change
- commandGenerate differential cloud action edge cases (#6971) Evidence for this change
- commandPair local and hosted cloud action decisions in golden fixtures (#6967) Evidence for this change
- Merged pull request #6944: refactor(daemon): keep the runtime fingerprint cache in the native runtime (#6944)
- Merged pull request #6954: fix(test): read every file a tsx test run loads
- Merged pull request #6962: refactor(package): drop Guard's package shims from the launch PATH in the native runtime (#6962)
- Merged pull request #6956: refactor(aibom): build local trust claims in the native runtime (#6956)
- Merged pull request #6938: refactor(guard): build the runtime snapshot headline and policy ack in the native runtime (#6938)
- Merged pull request #6939: fix(package): read a pnpm monorepo lockfile through its importer (#6939)
- Merged pull request #6975: fix(runtime): share one file among older durable runtime copies
- Merged pull request #6947: refactor(workspace): project runtime findings in the native runtime (#6947)
- Merged pull request #6934: fix(command): prove tsc reads only when its project says so (#6934)
- Merged pull request #6976: fix(command): read a workspace's own tsc under the path that names its binary
- Merged pull request #6985: test(gate): plant each installed runner's real launcher in the benign fixture
- Merged pull request #6941: feat(context): run CIGAR context assistance natively on Windows (#6941)
- Merged pull request #6973: fix(package): read a test script's runner body with that runner's own grammar
- Merged pull request #6965: refactor(cli): drop two helpers nothing calls (#6965)
- Merged pull request #6969: feat(command): read compiled cloud action binding artifacts with explicit version checks (#6969)
- Merged pull request #6959: feat(command): accept optional cloud action bindings beside command and MCP contributions (#6959)
- Merged pull request #6945: refactor(consumer): build the install-time scan contract in the native runtime (#6945)
- Merged pull request #6967: test(command): pair local and hosted cloud action decisions in golden fixtures (#6967)
- Merged pull request #6957: refactor(aibom): read primary AIBOM content in the native runtime (#6957)
- Merged pull request #6958: refactor(package): throttle the package firewall cloud refresh in the native runtime (#6958)
- Merged pull request #6964: feat(command): compile cloud action bindings into a deterministic build artifact (#6964)
- Merged pull request #6943: fix(command): read a lock directory's own marker without a review (#6943)
- Merged pull request #6948: feat(cigar): introduce the workspace as Context and mark it beta
- Merged pull request #6972: fix(command): contain a Vitest run that names the files to run
- Merged pull request #6942: refactor(guard): date Watch auto-revert deadlines in the native runtime (#6942)
- Merged pull request #6977: fix(runtime): record the Guard version on native review requests
- Merged pull request #6979: fix(hooks): hand a stale bounded bridge's hook to the runtime the resident runs
- Merged pull request #6978: fix(command): contain a type-check that pipes through one observer
- Merged pull request #6980: fix(cli): report a refused Guard Cloud signing key as a runtime error
- Merged pull request #6963: refactor(mcp): record remote MCP server origins in the native runtime (#6963)
- Merged pull request #6966: refactor(mcp): decide temporary browser MCP grants in the native runtime (#6966)
- Merged pull request #6960: refactor(supply-chain): resolve the audit workspace in the native runtime (#6960)
- Merged pull request #6949: feat(dashboard): rework every CIGAR tab and replace native dropdowns (#6949)
- Merged pull request #6940: refactor(insights): build the insights share card in the native runtime (#6940)
- Merged pull request #6950: fix(git): read a proven origin listing without a review (#6950)
- Merged pull request #6953: fix(command): contain a workspace test file run straight through Bun (#6953)
- Merged pull request #6961: fix(contained): contain a sibling runner whose output a filter trims (#6961)
- Merged pull request #6971: test(command): generate differential cloud action edge cases
- Merged pull request #6968: refactor(package): redact the stored package command in the native runtime (#6968)
- Merged pull request #6952: refactor(aibom): check trust attestation claims and payloads in the native runtime (#6952)
- Merged pull request #6946: refactor(surface): negotiate the surface server protocol in the native runtime (#6946)
- Merged pull request #6986: fix(command): list the extensions this device was delivered
Upgrade and compatibility
None documented.
Compare with the previous release
Predecessor on the same channel: alpha/v3.59.0a34
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.