Repository navigation
Release v2.1.13
Release 2.1.13
Changelog
Added
DashboardMenuWorkerStateSubscriber: at the start of every main request, clearsMenuRepository,MenuTreeCacheInvalidator, andMenuUrlResolvermemos (and optional devDashboardMenuDataCollector/MenuQueryCounter), and resets the menu entity manager when a previous request closed it. Bundle-owned state stays correct in FrankenPHP worker mode even withreset_kernel: false/ withoutservices_resetter. Cache versions are read once per request from the shared PSR-6 pool, so bumps from other workers are seen on the next request.- Docs:
docs/FRANKENPHP-WORKER-AUDIT.md— full worker-mode audit (scenarios A/B) and remediation notes.
Fixed
MenuUrlResolver: the href memo is keyed by the currentRequestobject (WeakMap), so hrefs computed from one request's locale, route params, host or service resolver can no longer leak into the next request when no reset runs. Items without id (dynamic links) and calls without a request are no longer memoized (removes thespl_object_id()collision risk).- QA: fixed PHPStan findings (0 errors at level 8);
src/Formis analysed again (no longer excluded).
Notes
- Hosts that disable Symfony's service resetter under worker mode must still clear the Doctrine identity map between requests (application responsibility). Use a shared cache pool (e.g. Redis) across workers so tree-cache version bumps propagate.
Full Changelog: v2.1.12...v2.1.13