- New middleware extracts permission name from route name automatically
- dashboard.posts.index → view_any_post
- dashboard.admission-campaigns.store → view_any_admission_campaign
- vikon-updates, integration-credentials excluded from check
- Single middleware on parent group instead of 28 individual ones
Auto-discovers all dashboard permissions from resource/prefix matrix,
creates missing ones in DB, syncs to super_admin and admin roles.
Run on production after deploy or when adding new menu sections.
- Add web+superadmin middleware to /api/deploy routes
- Return JSON 403 in EnsureUserIsSuperadmin for API requests
- Remove Docker CLI and docker.sock from app container
- Replace docker compose restart with supervisorctl
- Add mysqldump backup step before migrations
- Move ByteConverter class to App\Ship\Services
- Update all imports across Filament form blocks
- Update ByteConverterServiceProvider
- Add INTEGRATION_CREDENTIAL_PREFIX to CacheKeys enum
- Fully transitioned the backend to the Porto architectural pattern
- Improved code organization and maintainability
- Fixed minor bugs and inconsistencies