Release v0.3.43
Release 0.3.43
Changelog
Added
- Menu tree cache invalidation:
MenuTreeCacheInvalidatorbumps a per-menu.codeversion counter in the configured PSR-6 pool;MenuCacheInvalidationSubscriberinvalidates on DoctrinepostPersist/postUpdate/postRemoveforMenuandMenuItem(including menucoderenames).
Changed
- Frontend menu performance:
CurrentRouteTreeDecoratorprecomputeshrefon link/service nodes; Twig usesnode.href(fallbackdashboard_menu_href(item)for custom trees).MenuUrlResolvermemoizes hrefs per request and implementsResetInterface(FrankenPHP worker-safe). - Cache reads:
MenuTreeCacheInvalidatormemoizes version lookups per request (alsoResetInterface) so repeatedloadTree()calls for the same menu code avoid extra pool reads. Tree cache keys include the version suffix (.v{N}).
Fixed
- Stale menu cache: edits in the dashboard, import, or Live Component now invalidate cached trees immediately instead of waiting for TTL.
Changed (demos / tooling)
- Demos: bumped dev dependencies in Symfony 7/8
composer.lock(e.g. PHP CS Fixer, Rector);reference.phpstub alignment. - Repository:
.gitignoreexcludes.cursor/sandbox.json.
Full Changelog: v0.3.41...v0.3.43