Documented changes
77 typed entries
Verified contributors
1 verified contributor · 37 credits
Attribution coverage
attribution complete; history inventory partial.
Install
Scope
Guard v3.50.0a5 is a preview release published 2026-10-18. Upstream documents: Guard 3.50.0a5 is an opt-in prerelease cut from be14d45. Stable installations remain on the stable channel. 37 commits • 37 merged pull requests • 1 contributor since Guard 3.50.0a4. Its comparison base is alpha/v3.50.0a4. It includes 37 verified contribution deliveries with public evidence links.
Changes
Added
7- runtime: Report a fatal store failure to the client that owns recovery (#5154) Evidence for this change
- runtime: Admit authenticated command pack snapshots (#5147) Evidence for this change
- runtime: Run the hook evidence writer inside the resident (#5149) Evidence for this change
- guard: Suggest the access a granted CLI's contained run was denied (#5153) Evidence for this change
- runtime: Record hook evidence through the native store (#5118) Evidence for this change
- guard: Compose selected command packs without an aggregate program (#5139) Evidence for this change
- Publish authenticated extension packs and paged directory data (#5122) Evidence for this change
Fixed
32- inventory: Forget a remote connector's origin once its config entry is removed (#5164) Evidence for this change
- A new native store write,
reconcile_remote_mcp_declarations, takes the harnesses the scan read and the connector ids it found. For every other connector it drops the:remotesource of each scanned harness… Evidence for this change - The connector record stays, so its permission history, decisions and grants are unchanged. Only the declaration goes. Stdio declarations and harnesses the scan did not read are left alone. Evidence for this change
- Both observation paths call it:
observe_configured_mcp_servers(CLI) and the daemon'sLocalCliApiServicediscovery. Evidence for this change - cline: Read Cline's two copies of a tool call as one call (#5160) Evidence for this change
- Pre-tool evaluation for
clinenow judges a view of the prepared payload. Event keys that spell the canonical event in Cline's own words (tool_call,prompt_submit) read as the canonical event, and a wire copy is… Evidence for this change - The prepared payload itself is unchanged, so the receipt still records the call as Cline sent it and the recorded adapter vectors still match. Evidence for this change
- The Python hook adapter retries one dropped resident round trip (a
Noneanswer) inside the caller's budget, with a fresh request id. Adapter calls have no side effects. A timeout or a held restart is not retried, and… Evidence for this change - approvals: Retry a queue read the resident dropped once (#5161) Evidence for this change
- pretool: Run a project venv's python inside the workspace sandbox (#5141) Evidence for this change
- pretool: Run uv's local verbs inside the workspace sandbox (#5143) Evidence for this change
- guard: Clear the SonarCloud reliability findings on new code (#5155) Evidence for this change
- dashboard: Explain remote connectors and expired sessions on the connector card (#5156) Evidence for this change
- Refresh inventory could never work for remote connectors. A connector observed only through its host's tool namespace (for example
mcp__echo-mcp__) with a remote origin such ashttps://mcp.example.test/mcphas… Evidence for this change - Expired dashboard sessions showed a generic failure. The daemon answers a stale session with
401 {"error": "unauthorized"}and nomessage, so every allow/block change surfaced as "Guard could not update this… Evidence for this change - runtime: Stop a second Guard install from tripping the resident restart circuit (#5150) Evidence for this change
- Client: before it spends the restart budget, the client probes the owner lock. If another install holds it, the client returns
native_resident_owner_busystraight away and spawns nothing. A same-version resident… Evidence for this change - Doctor: a
native_resident_owner_busyavailability now carries amessage, and text output shows it in a "Native runtime shared" panel. The message says another install owns the runtime, that nothing crashed, and… Evidence for this change - mcp: Show a remote server's endpoint in mcp list when it was first seen through its calls (#5151) Evidence for this change
- grants: Let an allowed CLI lift only a review Guard raised for an unknown program (#5148) Evidence for this change
- the resident saved-decision lane (
hook_direct_saved_decision.rs) Evidence for this change - the contained lane (
local_cli_hook_contained.rs) Evidence for this change - the daemon (
hook_native_local_cli.py) Evidence for this change - ci: Bring the nightly native qualification back to green (#5132) Evidence for this change
- pretool: Run a version manager's shims inside the workspace sandbox (#5140) Evidence for this change
- pretool: Read a name guessed inside a sibling repository (#5138) Evidence for this change
- pretool: Read a bracketed route file as the path it names (#5134) Evidence for this change
- pretool: Search a bracketed route directory with fd as the path it names (#5135) Evidence for this change
- pretool: Read the globally installed npm tree without review (#5131) Evidence for this change
- pretool: Read a tool's own script from its program directory (#5133) Evidence for this change
- pretool: List the local builders and running compose projects as reads (#5136) Evidence for this change
- pretool: Search a sibling repository's bracketed route (#5128) Evidence for this change
Other changes
38- Documented change: Guard 3.50.0a5 is an opt-in prerelease cut from
be14d45. Stable installations remain on the stable channel. 37 commits • 37 merged pull requests • 1 contributor since Guard 3.50.0a4. Evidence for this change - Merged pull request #5143: fix(pretool): run uv's local verbs inside the workspace sandbox (#5143) Evidence for this change
- Merged pull request #5124: test(gauntlet): put a sibling site's routes and downloaded artifacts in a full task's way (#5124) Evidence for this change
- Merged pull request #5136: fix(pretool): list the local builders and running compose projects as reads (#5136) Evidence for this change
- Merged pull request #5130: fix(pretool): read back a server on the port the agent chose for it (#5130) Evidence for this change
- Merged pull request #5134: fix(pretool): read a bracketed route file as the path it names (#5134) Evidence for this change
- Merged pull request #5157: ci(package): give the macOS arm64 wheel the same 22 MiB download budget (#5157) Evidence for this change
- Merged pull request #5118: feat(runtime): record hook evidence through the native store (#5118) Evidence for this change
- Merged pull request #5156: fix(dashboard): explain remote connectors and expired sessions on the connector card (#5156) Evidence for this change
- Merged pull request #5121: fix(pretool): let digest printers read the files they name (#5121) Evidence for this change
- Merged pull request #5141: fix(pretool): run a project venv's python inside the workspace sandbox (#5141) Evidence for this change
- Merged pull request #5137: perf(compiler): reuse authenticated packs across fresh builds (#5137) Evidence for this change
- Merged pull request #5120: fix(pretool): list a neighbouring repository's files by name (#5120) Evidence for this change
- Merged pull request #5122: feat: publish authenticated extension packs and paged directory data (#5122) Evidence for this change
- Merged pull request #5148: fix(grants): let an allowed CLI lift only a review Guard raised for an unknown program (#5148) Evidence for this change
- Merged pull request #5140: fix(pretool): run a version manager's shims inside the workspace sandbox (#5140) Evidence for this change
- Merged pull request #5129: fix(pretool): answer a CLI presence probe from every bin directory (#5129) Evidence for this change
- Merged pull request #5150: fix(runtime): stop a second Guard install from tripping the resident restart circuit (#5150) Evidence for this change
- Merged pull request #5135: fix(pretool): search a bracketed route directory with fd as the path it names (#5135) Evidence for this change
- Merged pull request #5154: feat(runtime): report a fatal store failure to the client that owns recovery (#5154) Evidence for this change
- Merged pull request #5149: feat(runtime): run the hook evidence writer inside the resident (#5149) Evidence for this change
- Merged pull request #5151: fix(mcp): show a remote server's endpoint in mcp list when it was first seen through its calls (#5151) Evidence for this change
- Merged pull request #5127: fix(pretool): filter a contained run's output with rg as well as grep (#5127) Evidence for this change
- Merged pull request #5126: fix(native): model a plain
sh -cscript on Windows too (#5126) Evidence for this change - Merged pull request #5147: feat(runtime): admit authenticated command pack snapshots (#5147) Evidence for this change
- Merged pull request #5131: fix(pretool): read the globally installed npm tree without review (#5131) Evidence for this change
- Merged pull request #5160: fix(cline): read Cline's two copies of a tool call as one call (#5160) Evidence for this change
- Merged pull request #5128: fix(pretool): search a sibling repository's bracketed route (#5128) Evidence for this change
- Merged pull request #5139: feat(guard): compose selected command packs without an aggregate program (#5139) Evidence for this change
- Merged pull request #5115: fix(pretool): search a bracketed route as the path it names (#5115) Evidence for this change
- Merged pull request #5138: fix(pretool): read a name guessed inside a sibling repository (#5138) Evidence for this change
- Merged pull request #5161: fix(approvals): retry a queue read the resident dropped once (#5161) Evidence for this change
- Merged pull request #5132: fix(ci): bring the nightly native qualification back to green (#5132) Evidence for this change
- Merged pull request #5155: fix(guard): clear the SonarCloud reliability findings on new code (#5155) Evidence for this change
- Merged pull request #5125: fix(guard): let every review be approved with Allow once or Always allow (#5125) Evidence for this change
- Merged pull request #5164: fix(inventory): forget a remote connector's origin once its config entry is removed (#5164) Evidence for this change
- Merged pull request #5153: feat(guard): suggest the access a granted CLI's contained run was denied (#5153) Evidence for this change
- Merged pull request #5133: fix(pretool): read a tool's own script from its program directory (#5133) Evidence for this change
Upgrade and compatibility
None documented.
Compare with the previous release
Predecessor on the same channel: alpha/v3.50.0a4
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 ledger37 credits
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast
Source for zerocodefast