5.0.0 (2026-08-04)
⚠ BREAKING CHANGES
- fuse.js is replaced by @leeoniya/ufuzzy.
- getSetJs(), getIconsJs() and getIconSvgJs() are removed; the package now registers two routes under the _icon-picker prefix.
- getIcon() now returns null for ids with no file, and icon labels drop the set prefix ("O academic cap", not "Heroicon o academic cap").
- CanBeCacheable is removed and cache config moved from icon-picker.cache.* to filament-icon-picker.cache.*.
Features
- cache icon listings server-side and rename the config namespace (233c742)
- sanitize uploaded svg icons and restrict icon labels (dff53e0)
- serve icons over token-authorized endpoints instead of Livewire (4beaf26)
- swap fuse.js for uFuzzy and batch svg fetching on the client (953904c)
Bug Fixes
- check that custom icons exist instead of matching the set prefix (3269661)
- correct PSR-4 violation in CanBeCacheable and tighten icon manager types (76a9dd9)
- enforce scope and allowed sets when resolving icons (e8c4e51)
- use one source of truth for the custom icon set id (bc4be45)
Performance
- resolve single icons by file lookup instead of listing the set (4904607)
Refactor
- centralize custom icon scope ids in IconScope (e8d8e44)