id4v/menu-bundle
ID4V MenuBundle is a PHP package for defining, organizing, and rendering configurable navigation menus. Build menu structures with items and nested links, then output them consistently across your application. Its simple API helps keep menu configuration maintainable and reusable.
What changed in 2.0.4: a single bugfix — jQuery cookie inclusion for HTTPS applications. No new features, no API changes, no deprecations, no Laravel support, no tests. It corrects an HTTPS-specific defect in the bundle's client-side cookie handling; it does not modernize the stack, and it does not touch the input-sanitization surface. Treat it as a maintenance patch from a nominally alive but effectively unsupported project, not as renewed investment in the package.
Adopt only if all of the following are true:
Look elsewhere if:
spatie/laravel-menu or panakour/laravel-menu, or ship a menus/menu_items schema with a Filament/Nova resource.sonata-project/menu-bundle and KnpMenuBundle (maintained, ecosystem-backed), or a hand-rolled table if you want zero dependencies.To executives: Low license cost, high residual risk — unchanged by this release. The project cut a single patch (2.0.4) to fix HTTPS cookie handling, which shows someone can ship a fix but is not a support commitment: no feature work in about a decade, one star, zero downstream dependents, no one to call when it breaks. Do not put it on a revenue-critical path. If we want editor-managed navigation, the better pitch remains a small internal build (~2–4 engineering days) on our existing stack — we own it, it fits our auth and i18n, and it carries no orphaned dependency or legacy jQuery front end.
To engineering: The new release is a one-line-class bugfix, not a revival. It also confirms the bundle carries jQuery-based client-side code for menu cookies — another reason it does not belong in a Laravel/Vite front end. Treat the repo as a design reference, not a dependency: read the Menu/MenuItem shape, steal the schema, implement natively with our own migrations and admin resource (Filament/Nova) plus validation and escaping on labels and URLs. Note it is still mislabeled as a Laravel package in our tracking; it is a Symfony/Sonata bundle and a non-starter for our Laravel services regardless of patch activity.
How can I help you explore Laravel packages today?