Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 1.52 KB

File metadata and controls

34 lines (27 loc) · 1.52 KB

Changelog

All notable changes to this project are documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Changed

  • Resolve scoped assignments through a (subjectRef, scopeRef) index and fetch only assigned role definitions, avoiding full per-subject assignment and global role-table scans on access checks.
  • Treat Convex _generated output as CLI-owned, exclude it from formatting, and expose a dedicated codegen script.
  • Refresh all direct dependencies to their latest compatible releases for canary validation.
  • Require convex@^1.45.0 and update convex-test to ^0.0.56.

[0.1.0] - 2026-06-12

Added

  • Initial release of @vllnt/convex-permissions — stored, runtime-editable role-based access control as a Convex component.
  • Permissions<TRole, TAction> client class, generic over the host's role and action unions: defineRole, removeRole, assign, revoke, check, require, rolesFor, permissionsFor, listRoles.
  • Sandboxed roles and assignments tables keyed by opaque subjectRef / scopeRef; the host never reads them directly.
  • Wildcard grants ("doc.*", "*"), scoped / multi-tenant assignments, default-deny semantics, and a structured ConvexError<PermissionDenied> from require.
  • Boundary validation of role names and subject refs.
  • 100% end-to-end test coverage via convex-test against the real component runtime.