Features:
- AuditResource with table listing all audit logs
- ViewAudit page showing detailed changes with diff table
- Filters: date range, user, model type, event type
- Search by user name
- Auto-refresh every 60 seconds
- Dark mode support for changes view
- Fixed audits migration with proper schema
- Added audit.view permission (admin only by default)
Files:
- src/app/Models/Audit.php
- src/app/Filament/Resources/AuditResource.php
- src/app/Filament/Resources/AuditResource/Pages/
- src/resources/views/filament/infolists/entries/audit-changes.blade.php
- Updated audits migration with full schema
RolePermissionSeeder now automatically scans app/Modules/*/Permissions.php
files and registers all permissions found. No manual registration required.
- Added loadModulePermissions() method to scan module directories
- Changed givePermissionTo() to syncPermissions() for idempotency
- Updated Modules README to document auto-loading
- Updated CLAUDE.md to reflect auto-loading behavior
Enhanced make:module command:
- Added --model flag for creating model + migration + Filament resource
- Added --api flag for including API routes
- Added --no-filament flag to skip Filament resource
- Creates full ServiceProvider structure with auto-registration
- Creates Config, Permissions, Routes, Views, Tests
- Module migrations stored in module folder
- Filament resources stored in module folder
- Auto-registers ServiceProvider in bootstrap/providers.php
Also added:
- ModuleAuditable trait for audit trail support
- Updated Modules README to document new command options
Added Filament Resources:
- UserResource: Enhanced with role assignment, password confirmation
- RoleResource: Manage roles with permission assignment
- PermissionResource: Manage individual permissions
Features:
- Users can be assigned multiple roles
- Roles can be assigned multiple permissions
- Color-coded badges for roles/permissions
- Filter users by role
- Prevent deletion of admin role
- User Management navigation group
Changes:
- Landing page (/) now redirects to /login
- Added 'Enable User Registration' setting (off by default)
- Created CheckRegistrationEnabled middleware
- Registration routes blocked when setting is disabled
- Admin can toggle registration in Settings > System
Implemented view composer in AppServiceProvider to share site settings across all views:
- Loads site name, logo, colors (primary/secondary/accent), and description from Setting model
- Falls back to config/defaults if database unavailable (prevents errors during migrations)
- Made siteSettings available to all Blade templates
Updated layouts and components to use dynamic settings:
- app.blade.php and guest.blade.php now use siteSettings for
- Install spatie/laravel-permission v6.24 with 3 roles (admin, editor, viewer) and 5 base permissions
- Install owen-it/laravel-auditing v14.0 for tracking model changes
- Install laravel/sanctum v4.3 for API token authentication
- Install spatie/laravel-ignition v2.11 and spatie/flare-client-php v1.10 for enhanced error tracking
- Add Module System with make:module artisan command for scaffolding features
- Create Site Settings page in Filament admin for logo, colors, and configuration
- Add comprehensive debugging documentation (DEBUGGING.md, AI_CONTEXT.md updates)
- Create FEATURES.md with complete feature reference
- Update User model with HasRoles and HasApiTokens traits
- Configure Redis cache and OPcache for performance
- Add RolePermissionSeeder with pre-configured roles and permissions
- Update documentation with debugging-first workflow
- All features pre-installed and production-ready