27.0.0 (2026-08-21)
⚠ BREAKING CHANGES
- pi-permission-system:
permissions:readynow fires at least once per session and may repeat. The latch added in #787 re-emits it at each node's firstbefore_agent_start, so a consumer that registers unconditionally on every emission hits a duplicate-registration throw on every session instead of the rare user-initiated/reloadit previously hit. Guard the ready handler with a stored dispose handle so it registers once per session, and release it onsession_shutdown.
Features
- pi-permission-system: deprecate the zero-arg service accessor (#699) (511c87f)
- pi-permission-system: publish each node's service under its own session id (#699) (d8ce4a8)
- pi-permission-system: re-emit permissions:ready at the first before_agent_start (#787) (405e904)
- pi-permission-system: reclaim getPermissionsService for the keyed locator (214b30a)
- pi-permission-system: record a vacant link cell on a relaying node (#699) (f5f08d2)
- pi-permission-system: warn when the keyed locator gets no session id (29824aa), closes #794
Bug Fixes
Documentation
- pi-permission-system: cite the adapter convention instead of restating it (d9ba637), closes #789
- pi-permission-system: document session-keyed service publication (#699) (8ed137c)
- pi-permission-system: document the ready latch and its idempotency requirement (#787) (bc31193)
- pi-permission-system: document the reclaimed locator and the ready cadence (ca585b4), closes #794
- pi-permission-system: make subagent-integration the adapter convention's canonical spec (07f9d2b), closes #789