Repository navigation
Release v1.28.0
v1.28.0
Changelog
Wave-2 REQ compliance: configurable OAuth2 timeouts, Doctrine table prefix, QR deny form type, injectable clock, CI and tooling. See UPGRADING.
Added
http_client.timeout/http_client.max_durationroot config (defaults 10 s / 20 s,max_duration >= timeoutvalidated) for the OAuth2 token and userinfo calls of social login, documented with the PHP / Caddy / FrankenPHP timeout hierarchy (REQ-RUNTIME-001).doctrine.table_prefixroot config andDoctrine\TablePrefixListener: prefixes the AuthKit tables and their named indexes / unique constraints, never host entities (REQ-ORM-002).QrLoginDenyType: the QR approve page renders the Deny button throughform_start/form_end(deny_formtemplate variable) instead of a raw<form>(REQ-TWIG-005).QrLoginChallengeManager::expiresIn(); the manager andQrLoginChallengeRepositoryaccept an optionalPsr\Clock\ClockInterface(autowired when available) for expiry, cookie lifetime and status timestamps (REQ-DI-001).make check-no-raw-html-form(inrelease-check),make assets(no-op) and.scripts/validate-translations.php(key parity across locales forNowoAuthKitBundleandvalidators, run bymake validate-translationsand CI) (REQ-MAKE-001/002/004).
Changed
- Dependencies refreshed (Composer and pnpm/npm lock files of the bundle and its demos, campaign 2026-10-19).
.php-cs-fixer.dist.php:new ParallelConfig(2)(REQ-CS-001).- The password-toggle stylesheet is loaded through the
nowo_password_toggleasset package;conflictwithnowo-tech/password-toggle-bundle< 2.0.3 (the first release registering that package) (REQ-ASSETS-004). - CI: every
symfony/*package is pinned to the matrix minor (7.4.*,8.1.*) so a 7.4 cell no longer resolves Symfony 8; the Symfony 8.0 cell is dropped (end of maintenance, every 8.0.x release has security advisories;composer.jsonstill allows^8.0). The quality job (cs-check, PHPStan, Igor, translation parity) now also runs on pushes (REQ-SF-002, REQ-CS-005/006/008). - Makefile
helpfollows the canonical block order and listsigor;release-checkruns in REQ-MAKE-002 order (REQ-MAKE-001/002). - Demo: Caddyfiles and
php-dev.iniset PHPmax_execution_time30 s, Caddy write timeout 40 s and FrankenPHPmax_wait_time30 s (REQ-RUNTIME-001);.env.testDATABASE_URLpoints at the Composemysqlservice (REQ-DEMO-011). - Tests use
#[DataProvider]attributes instead of@dataProviderdocblocks (REQ-TEST-010). .scripts/check-no-cursor-coauthor.shaccepts git worktrees (.gitfile) (REQ-GIT-001).
Documentation
- Documentation: wave-1 REQ compliance — README documentation list order (PSR/Templates moved to Additional documentation), CONTRIBUTING Cursor Agent queue settings (REQ-IDE-006), TOCs on long docs, SDD scope (social login / SSO in scope) and ENGRAM link, demo
.env.testcomment, Spec Kit inventory refresh (181/181).
Full Changelog: v1.27.3...v1.28.0