All notable changes to this project will be documented in this file.
This project uses Changesets for version management.
First stable release — production-ready unified access control for React, Next.js & Node.js.
- SEO-optimized package metadata and documentation
- Playground link in all READMEs
- Descriptive image alt text for accessibility and SEO
- License section in devtools README
- Documentation links updated to
react-access-engine.dev/docs - Package description expanded to cover Node.js, Next.js, Express, Fastify
- npm keywords expanded from 24 to 34 (main) and 20 to 25 (devtools)
- Fixed duplicate keyword line in package README
- Devtools description enriched with RBAC/ABAC/feature-flags mentions
All existing APIs remain identical. This release marks API stability.
- Backend / Node.js engine functions — same config, same logic, no React dependency
hasPermission,hasRole,hasAnyRole,hasAllRoles,hasAnyPermission,hasAllPermissionsevaluateFeature,evaluateAllFeaturesevaluatePolicyassignExperimenthasPlanAccess,getPlanTiergetPermissionsForUserPluginEngine,DebugEngineevaluateCondition,evaluateConditions,buildConditionContext
- Shared config pattern — define once, use on frontend and backend
- Express middleware examples for permission guards, feature gates, plan gates
- Demo apps (
demo-api,demo-web,shared-config) - 400+ new tests (620 total across 18 test files)
SECURITY.md,ARCHITECTURE.md,QUALITY.mddocumentation
- Package restructured from multi-package to single
react-access-enginepackage - All engine functions are now pure exports (no React dependency)
- README updated with full backend documentation
- Condition Engine with declarative ABAC (
evaluateCondition,evaluateConditions,buildConditionContext) - 10 built-in operators:
equals,notEquals,in,notIn,includes,greaterThan,lessThan,greaterThanOrEqual,lessThanOrEqual,exists createOperatorPluginfor custom condition operators- Remote Config Engine with stale-while-revalidate, polling, and signature verification
useRemoteConfighookmergeConfigsutility- Plugin factories:
createAuditLoggerPlugin,createAnalyticsPlugin
- Policy Engine (ABAC) with composable allow/deny rules and priority ordering
usePolicyhook- Experiment Engine with deterministic variant assignment (SSR-safe hashing)
<Experiment>component anduseExperimenthook- Plugin system with lifecycle hooks (
onAccessCheck,onFeatureEvaluate,onExperimentAssign) - Debug Engine and
useAccessDebughook - DevTools overlay package (
react-access-engine-devtools)
- Feature flag engine with percentage rollouts, role/plan/environment targeting, and dependencies
- Plan engine with hierarchical subscription tiers
<Feature>,<FeatureToggle>,<AccessGate>,<PermissionGuard>componentsuseFeature,usePlanhooks<Allow>universal gate component
- Initial release
- RBAC engine with multi-role users, role → permission mapping, wildcard permissions
AccessProvider,<Can>componentuseAccess,usePermission,useRolehooksdefineAccessconfig builder with full TypeScript inference- Type helpers:
InferRoles,InferPermissions,InferFeatures,InferPlans,InferExperiments - Tree-shakeable ESM + CJS + DTS builds via tsup
- SSR-safe — no
window,document, orMath.random()in core - Zero runtime dependencies beyond React