v2.11.0
v2.11.0 — This release overhauls Git permission handling with a granular policy engine, adds native support for Pi environments, and fixes critical state calculation bugs in newly initialized repositories.
Advanced Git Permission Management
- Replaced the rigid all-or-nothing git command blocking with a flexible three-tier model (allow/ask/deny) to enable agents to perform essential setup tasks like
git initorgit configautonomously, while preserving security by requiring explicit confirmation for sensitive operations or redirecting them to MCP tools. - Fixed a critical policy evaluation bug where Go’s alphabetical map ordering inadvertently overrode specific permissions with general rules due to incorrect priority handling; implemented an ordered JSON constructor to ensure that "last match wins" logic correctly applies the most specific permission rule first.
Environment Support and Compatibility
- Integrated native support for Pi environments by automatically detecting the
@pi-lab/permissionspackage, eliminating the need for manual configuration of traditional hooks in these workspaces. - Resolved crashes in "unborn" repositories (those without initial commits) by properly handling null values during state calculations (
ahead/behind), preventing failures when querying history on freshly initialized projects.
Changelog
- 1deefbf fix: unborn-first-commit — soporte para repos recién inicializados (#207)
- 6438668 refactor: granular deny for 23 git subcommands, allow for uncovered ones (#209)
Full Changelog: v2.10.1...v2.11.0