Release v1.0.0
Release v1.0.0: initial Maintenance Mode Bundle
HTTP 503 maintenance mode with exclusions, Twig admin panel, pluggable
storage and access gate, Flex recipe, and FrankenPHP demo.
Changelog
First stable release.
Added
- Maintenance mode via high-priority
kernel.requestsubscriber (HTTP 503 +Retry-After). - Configurable exclusions: exact paths, path prefixes, route names, globs (
fnmatch), and#regex#/~regex~. - Twig admin panel (
/_maintenance) with enable / disable / schedule / history and CSRF-protected POSTs. - Optional password gate (
password_hash, bcrypt / argon2id); pluggableMaintenanceAccessGateInterface. - Pluggable filesystem state (JSON/YAML) and append-only history (JSONL); override via DI (
storage.state_storage/history_storage). - Overrideable Twig templates + translations for en / es / it / fr / pt / de / nl (
NowoMaintenanceModeBundle). - Symfony Flex recipe under
.symfony/recipe/. - FrankenPHP demo: Symfony 8.1 on port 8055 (
FRANKENPHP_MODE=workerby default). - Spec Kit baseline under
specs/001-baseline/. - QA toolchain: PHPUnit (100% lines), PHP-CS-Fixer, PHPStan (+ FrankenPHP rulesets), Rector.
Compatibility
- PHP
>=8.2,<8.6(Symfony 8.x requires PHP 8.4+) - Symfony
^7.0 || ^8.0(CI / mandatory minors: 7.4, 8.0, 8.1; also tested against 7.0)
Full Changelog: https://github.com/nowo-tech/MaintenanceModeBundle/commits/v1.0.0