Repository navigation
Release v1.10.0
v1.10.0
Changelog
Panel pages and the public 503 on the UiKit 2.1 standard page contract (REQ-UI-003): settings, list and auth scaffolds, JS-free public page on the guest layout, area nav; deprecated panel/templates keys bridged. See UPGRADING.
Added
- Panel pages on the UiKit 2.1 page contract (REQ-UI-003): the panel renders
@NowoUiKit/page/settings(sections status, manual control, schedule), the history@NowoUiKit/page/list(in-memory pagination,web_ui.history_limit100 /web_ui.history_per_page25, empty state) and the password login@NowoUiKit/page/authon the guest layout. View models built byNowo\MaintenanceModeBundle\View\MaintenancePages; pages rendered byNowo\MaintenanceModeBundle\Panel\PanelView. - Area navigation Panel | History as
PageHeader::tabs, published to the UiKit area-nav registry as areamaintenance_mode(PanelViewimplementsAreaNavProviderInterface). - Canonical keys
web_ui.path_prefix,web_ui.templates.<page>(index,history,login),web_ui.history_limit,web_ui.history_per_page. - The public page and the preview receive
page(View\AuthPage), so atemplates.pagehost template can extend@NowoUiKit/page/auth.html.twig. docs/TEMPLATES.md; page contract test (tests/Integration/Contract/PageContractTest.php) and functional kernel tests of the 503 and the panel.- Translations
panel.intro,panel.manual,panel.manual.intro,panel.schedule.intro,panel.history.intro(7 locales).
Changed
- Template contract: the public maintenance page renders on the UiKit guest layout (
nowo_ui_kit.layouts.guest) with the theme slots and--nowo-ui-*tokens: no Google Fonts / CDN, no inline<style>, no JavaScript (no UiKit scripts, no theme-boot script), no flashes (never starts the session). The 1.7maintenance_*blocks are kept (exceptmaintenance_html_attributes/maintenance_body_attributes, no longer rendered). - The 503 subscriber falls back to the built-in minimal page when the configured template throws (the preview route still shows the error).
web_ui.layout_templatedefaults tonull(UiKit admin layout); a 1.x layout that rendersbodyis wrapped in the deprecatedpanel/_legacy_layout.html.twigbridge.web_ui.enablednow controls the panel routes (it replacespanel.enabled).- Panel flashes render through the UiKit
flashespartial (translated with the bundle domain); the 1.xflashesvariable is peeked, not consumed. - The CDN example templates under
maintenance/examples/are documented as opt-in samples (not defaults). - Requires
nowo-tech/ui-kit-bundle^2.1; dev: PHPUnit ^11.
Deprecated
panel.enabled,panel.path_prefix→web_ui.enabled,web_ui.path_prefix.templates.panel_layout→web_ui.layout_template;templates.panel_index|panel_history|panel_login→web_ui.templates.index|history|login.web_ui.css_framework,web_ui.icon_set→nowo_ui_kit.css_framework,nowo_ui_kit.icon_set(seeded when set).web_ui.classes(andTwig\PanelChrome) →nowo_ui_kit.theme.bundles.NowoMaintenanceModeBundle.classes(bridged).web_ui.partials,web_ui.show_page_header,web_ui.document_title,web_ui.test_ids(no effect).- Twig globals
nowo_maintenance_mode_layout_template,nowo_maintenance_mode_css_framework,nowo_maintenance_mode_icon_set,nowo_maintenance_mode_chrome. - 1.x body layouts as
web_ui.layout_template(bridged with a runtime deprecation).
Removed
- Local chrome:
panel/base.html.twig,panel/layout.html.twig(standalone HTML page with inline CSS),panel/_nav.html.twig,panel/_nav_tabs.html.twig,panel/_form_fields.html.twig, the panelmaintenance_*blocks and the inlinestyle=""margins.
Full Changelog: v1.9.0...v1.10.0