v0.5.0 — release health, smarter alerting, RUM source maps
A proactive-monitoring release — Vigilance now gates deploys, finds the problems no fixed threshold would catch, and makes browser errors readable. Full guide: docs/observability.md.
Added
- Release health & deploy-regression guard (
/vigilance/releases). Each deploy marker gets a before/after verdict (error rate · latency · throughput); aregresseddeploy fires a criticaldeploy_regressionalert — point a webhook at it to auto-roll-back. Issues are tagged withfirst_release/regressed_release. Set the release viaVIGILANCE_RELEASE(orapp.version); record withphp artisan vigilance:deploy --release=…. - New-issue & regression alerting —
new_issuefires the first time an error signature appears;issue_regressionfires when a resolved issue comes back (with a "regressed" badge). Evaluated at snapshot time, never on the request thread. - Dynamic-baseline anomaly detection (
anomaly) — z-scores each watched metric (request latency, 5xx rate, exceptions by default) against its rolling baseline; guarded against false positives. - RUM source-map symbolication — a pure-PHP Source Map v3 decoder +
php artisan vigilance:sourcemaps <build-dir> --release=…. Minified browser stacks are symbolicated at ingest, so the Issues inbox shows original source locations. Togglerum.symbolicate. - Global
ignore_paths— one config list (wildcards like/admin/*or#regex#) excludes a path from APM, tracing, RUM and web-request error capture at once.
Notes
- 230 tests (+21) · axe 0 violations (desktop + mobile) on all new/changed pages · CI on PHP 8.2–8.4 · Laravel 12/13 · Livewire 3/4.
- Additive migrations (
regressed_at,first_release/regressed_releaseon failure groups;vigilance_sourcemapstable) —php artisan migrateafter upgrading.