Skip to content

Release v0.3.37

Choose a tag to compare

@github-actions github-actions released this 06 Apr 08:21

Release 0.3.37

Changelog

Added

  • Menu link resolvers (service items): MenuLinkResolverInterface for dynamic hrefs and optional virtual child links; compiler passes (MenuLinkResolverPass, AutoTagMenuLinkResolversPass); config menu_link_resolver_choices; optional #[MenuLinkResolverLabel] (or DASHBOARD_LABEL on the service class) for dashboard dropdown labels; persisted MenuItem.link_resolver; dashboard item form, import/export, MenuTreeLoader and MenuUrlResolver integration (resolver output merges with persisted children by position).
  • Menu CSS (dashboard config): extra optional classes on Menu for section label, section block, section children wrapper, child items, child links, and dividers; exposed in MenuConfigType and frontend Twig via MenuConfigResolver.
  • Section items: optional section_collapsible on MenuItem (inherit / yes / no), dashboard form field, and rendering support.
  • DashboardRoutes: central route name constants plus all() map for Twig dashboard_routes. DashboardControllerTrait: shared referer-safe redirect and Bootstrap modal class resolution.

Changed

  • Dashboard: single MenuDashboardController; internal redirects and generateUrl use DashboardRoutes; modal sizes via DashboardControllerTrait::resolveModalClasses. MenuDashboardController::ROUTE_* remain as aliases of DashboardRoutes::ROUTE_* for backward compatibility.
  • Item form (inherit_data + Live Component): MenuItemType passes menu_item into MenuItemConfigType so buildForm() sees the entity; MenuItemBasicType copies locale labels from the root form on submit (avoids FormBuilder::getParent()).
  • MenuItemBasicType service definition: removed unused TranslatorInterface constructor argument (see UPGRADING if you override this service in the app).

Fixed

  • Live item modal: no more Call to undefined method FormBuilder::getParent() during template render when the Live Component auto-submits the form.

Removed

  • Internal dead code: unfinished MenuCrudController and MenuItemController (never listed in routes_dashboard.yaml; duplicated logic and omitted export/import routes).

Full Changelog: v0.3.36...v0.3.37