Skip to content

Commit eb51b1c

Browse files
committed
docs: document tooling, security, and permission updates
Update README (Testing & Quality, CI Pipeline) and add a 4.2.0 CHANGELOG entry covering the dependency/security refresh, static analysis, granular permissions, and file manager hardening.
1 parent d5f36e0 commit eb51b1c

2 files changed

Lines changed: 32 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,28 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [4.2.0] - 2026-07-21
6+
7+
### Security
8+
- Refreshed backend dependencies within their existing constraints to clear all reported advisories (`laravel/framework`, `symfony/*`, `guzzlehttp/*`). `composer audit` now reports no vulnerabilities.
9+
- Refreshed frontend dependencies (`npm audit fix`) to clear all reported advisories, including the high-severity `axios` issues. `npm audit` now reports no vulnerabilities.
10+
- Restricted the file manager `show` endpoint to an explicit safe field subset so internal columns (storage path, owner id) are never exposed to the client.
11+
12+
### Added
13+
- Static analysis via Larastan / PHPStan (level 5), wired into `composer analyse` and the CI pipeline.
14+
- `pint.json` (Laravel preset) plus `composer lint` / `composer lint:test`, with Pint style checking enforced in CI.
15+
- Dependabot configuration for weekly Composer, npm, and GitHub Actions updates.
16+
- Pull request template.
17+
- Feature tests for the granular permission gates and the hardened file manager `show` response.
18+
19+
### Changed
20+
- Admin routes are now gated with granular Spatie permissions (`role_or_permission:superadmin|<permission>`) instead of only the coarse `superadmin` role, so non-superadmin roles can be granted specific capabilities. Existing superadmin behaviour is unchanged.
21+
- Adopted route-model binding for user, activity-log, and file routes; the `{file}` binding is scoped to the authenticated user so foreign files resolve to a 404.
22+
- Form Requests for settings, notifications, and role management now enforce authorization instead of returning `true`.
23+
24+
### Fixed
25+
- Resolved all PHPStan level 5 findings (reflection type guard, model factory return types, and `list<string>` property annotations).
26+
527
## [4.1.0] - 2026-04-24
628

729
### Updated

README.MD

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,12 @@ php artisan route:list --except-vendor
305305
# Check code style (PSR-12)
306306
./vendor/bin/pint --test
307307

308+
# Auto-fix code style
309+
composer lint
310+
311+
# Run static analysis (Larastan / PHPStan, level 5)
312+
composer analyse
313+
308314
# Remove development artifacts from vendored public assets
309315
php artisan assets:prune-vendored
310316

@@ -322,11 +328,15 @@ GitHub Actions workflow: `.github/workflows/ci.yml`
322328
|---|---|
323329
| PHP 8.4 + SQLite | Environment setup |
324330
| `composer install` | Backend dependencies |
331+
| `vendor/bin/pint --test` | Code style check |
332+
| `vendor/bin/phpstan analyse` | Static analysis (Larastan, level 5) |
325333
| `php artisan migrate` | Database schema |
326334
| `php artisan route:list` | Route integrity check |
327335
| `php artisan test` | Test suite |
328336
| `npm ci` + `npm run build` | Frontend build |
329337

338+
Dependency updates are automated with [Dependabot](.github/dependabot.yml) (Composer, npm, and GitHub Actions, weekly).
339+
330340
---
331341

332342
## Security

0 commit comments

Comments
 (0)