Performance pass across middleware, dependency wiring, ABAC lazy-loading,
permission-cache invalidation scope, and request-scoped dedup of repeat
entity and closure-table fetches. Full test suite (815 tests) green.
- Pure-ASGI correlation + resource-context middleware; AuthDeps
short-circuits the backend loop when no credentials are present.
- ABAC env_context deferred via memoized supplier; conditions
lazy-loaded only for name-matching candidates; role.conditions also
lazy-loaded (previously silently treated as empty).
- EntityService permission-cache invalidation defaults to per-entity;
move/delete pass scope_global=True because they reshape the closure.
- Request-cache dedup for context-aware-role entity fetches and
closure-table ancestor lookups.
- PermissionMatcher frozenset index replaces per-candidate string
splitting in the get_user_permission_names fan-out.
- APIKey.hash_key_bytes helper for byte-identity internal hot paths;
drop dead verify_hash.
See CHANGELOG.md for the full entry.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>