Repository navigation
v3.22.3
What's new
Bug Fixes
Guarded workflows now fingerprint full-length identities and operation arguments. Previously, identities longer than 1,024 characters shared a constant digest, hiding changes, while write, edit, and patch arguments longer than 8,192 characters could make an active guard unavailable. Identity hashing now includes the complete trimmed value, and argument serialization removes the size budget while retaining its depth limit. JSON-encoded state fields preserve field boundaries, and validation rejects non-plain objects and symbol-keyed properties before patch canonicalization can hide them. (#1119)
Sessions without active guarded work no longer pay for before-and-after worktree snapshots. Operations are observed only while an epoch is active or an allowlisted skill load is pending; skipped operations also stay silent when after-hooks arrive more than once. This avoids unnecessary snapshot overhead and prevents unrelated snapshot failures from disabling the guard. (#1116)
The scheduled release gate now accepts GitHub-verified release commits whose committer is web-flow, matching commits created through the GitHub API. Every commit must still be authored by the release App, and an App committer remains accepted. This fixes the gate refusing release PRs produced by the refresh job. (#1120)
Security fixes bound indexed source-map processing, patch the Sharp librsvg vulnerability, and reject injected URI authority components. (#1060, #1059, #1052)
Continuous Integration
Trusted comments on same-repository PRs now anchor checkout and brokered push to the resolved PR head SHA, so fixes are delivered rather than losing the agent's local commit. Fork heads remain refused. The brokered push also permits changes to skills, agents, tests, and registry files while keeping workflow files, scripts, manifests, and lockfiles denied. (#1117)
The hourly release reconcile has been removed: pushes to main already refresh the release PR, and publication follows the merge of an approved release PR. Recovery remains available by rerunning or dispatching the Release workflow while main still points at the release merge. (#1112)
Miscellaneous Chores
The Biome schema now matches the installed release, and Renovate updates the schema alongside the package. This release also records the v3.22.3 release commit. (#1056, a3e4273)