Release v1.4.0
Release v1.4.0
Admin Web UI (web_ui + nowo-ui-*) and security access checker (REQ-UI-001/002).
Paginated cookie definition lists, PSR Clock on CookieHandler/CookieLogger,
typed config array nodes, PHPStan CI job, and demo-smoke workflow.
Changelog
Added
- Admin Web UI (REQ-UI-001 / REQ-UI-002):
web_ui(enabled,path_prefix,layout_template,css_framework,icon_set,list_page_size), Twig globals, semanticnowo-ui-*hooks;security.access_roles+CookieConsentAccessCheckerInterface+ admin access subscriber; host firewall guidance. - Pagination (REQ-PERF-001): Cookie definition admin index paginated via
web_ui.list_page_size(default20) with translation eager-loading. - DI (REQ-DI-001):
psr/clock+SystemClock;CookieHandler/CookieLoggeruseClockInterface; optional PSR-3 logger on consent persist (no raw IP). - Dependencies:
psr/log,symfony/security-core,symfony/security-csrfdeclared inrequire. - CI: Dedicated PHPStan job;
demo-smokeworkflow (REQ-TEST-011) wrappingdemo/Makefilerelease-verify.
Changed
- Configuration nodes
categories,disabled_routes,target_routes,enabled_locales, andpreference_sectionsare typedarrayNodes. - Admin controllers are
final; settings admin unchanged functionally. - Demo configs set
security.allow_unauthenticated: true(demo-only). make release-check-demosfails when demo release-check fails (no longer swallowed with|| true).- Demo smoke (REQ-TEST-011) via
make demo-smoke/demo/Makefilerelease-verify(HTTP 200) as part ofrelease-check.
Documentation
- CONFIGURATION.md — Admin Web UI, security, Twig override table updates
- USAGE.md —
layout_template/ access control pointers - UPGRADING.md — upgrade path from 1.3.6
- SECURITY.md — bundle-level admin access checker
Full Changelog: v1.3.6...v1.4.0