github datlechin/filament-menu-builder v1.0.0

4 hours ago

v1.0.0

Major

  • Rewritten for Filament v5
  • Require PHP 8.3+

Added

  • Optional translatable support for menu items and menus (closes #31, #42, #55)
  • UUID support for menu item keys
  • Indent/unindent buttons for menu hierarchy management
  • Upgrade migration for v0.7.x users
  • Menu caching with automatic cache busting
  • Icon, CSS classes, and rel attribute support for menu items
  • Active state detection for menu items

Changed

  • addMenuFields() / addMenuItemFields() now merge arrays instead of replacing
  • Renamed Livewire event menu:createdmenu:changed
  • Cache now uses per-location keys instead of a single shared key
  • StaticMenuPanel::add() accepts optional target, icon, classes parameters
  • TranslatableFieldWrapper::wrap() accepts optional $primaryLocale parameter
  • Redirect to edit page after menu creation

Fixed

  • isActive() false positive for text-only menu items (null URL)
  • Double query on edit action
  • Children not deleted when parent's children relation was stale
  • Cache race condition with concurrent Menu::location() calls
  • Order collision on concurrent menu item additions (atomic lockForUpdate)
  • Translated Edit/Delete action labels

Architecture

  • Extracted ResolvesLocale trait, IoC container for MenuItemService
  • Per-location cache keys, DB aggregates for max(order)
  • Added addMenuField() / addMenuItemField() singular API methods

302 tests, 544 assertions

Don't miss a new filament-menu-builder release

NewReleases is sending notifications on new releases.