All notable changes to kiurd/role-based-access-control will be documented in this file.
- Initial release with comprehensive RBAC system
- Auto-discovery of permissions from controllers and routes
- Global middleware for automatic permission enforcement (zero-code setup)
- Complete REST API for dynamic permission management
- Artisan commands for role and permission management:
permissions:sync- Auto-discover and sync permissionsrole:create- Create rolesrole:assign-permission- Assign single permissionrole:assign-all-permissions- Bulk assign permissions with filtersrole:show- View role details, permissions, and usersuser:show- View user's roles and permissionsmodule:show- View module's actions and rolespermissions:list- List permissions with filters
- Module + Action based permission architecture
- Multi-guard support (web, api, etc.)
- Trait-based integration (
HasRolesAndPermissions) - Multiple middleware options:
permission.global- Auto-enforce on all routespermission.auto- Auto-discover and checkpermission- Manual permission checkpermission.check- Method-based checking
- Helper classes for programmatic permission management
- Super admin role support (bypass all checks)
- Permission caching with auto-update webhooks
- Comprehensive documentation:
- README.md - Complete usage guide
- DYNAMIC_SETUP.md - Zero-code setup guide
- COMMANDS_REFERENCE.md - CLI command reference
- PUBLISHING_GUIDE.md - Packagist publishing guide
- Database migrations with proper indexes and constraints
- Service provider with auto-discovery
- Facade support
- Config file for full customization
- Zero-Code Setup: Enable global middleware, all routes protected automatically
- Auto-Discovery: Scans controllers and creates permissions automatically
- Bulk Operations: Assign all permissions to a role at once with filters
- Dynamic Management: Create/assign/revoke permissions without code changes
- Complete Visibility: View all relationships (user→role→permission→module)
- Flexible Filtering: Filter by module, action, role, guard
- Beautiful CLI: Color-coded output with tables and emojis
- Production Ready: Tested, documented, and optimized
roles- User rolesmodules- Resource modules (users, posts, etc.)actions- Operations (create, read, update, delete, etc.)permissions- Junction of modules and actionsrole_permissions- Role-permission assignmentsuser_roles- User-role assignments
- PHP 8.0, 8.1, 8.2, 8.3
- Laravel 9.x, 10.x, 11.x
- MySQL, PostgreSQL, SQLite
- This is the initial stable release
- All features are tested and production-ready
- Full backward compatibility will be maintained for 1.x versions