filamentphp/filament v4.11.1 → v5.6.1

Release v5.6.1 is a focused stability pass on top of the v4.11.1 → v5.6.1 range. It also includes a handful of larger 5.x additions in the tracked work, especially around the Rich Editor, tables, authorization, and navigation.

What's new

  • The Rich Editor gains mentions, native image resize handles, a new table cell header toggle tool, and support for showing a tool label next to the icon with hiddenLabel(false). It also lets you define allowed link protocols, so links like mailto: can be added when needed. (#17483, #18396, #18517, #18247, #18502)
  • The Get utility gets a richer typed API with helpers like string(), integer(), float(), boolean(), array(), date(), enum(), filled(), and blank(). (#18228)
  • Forms and tables pick up a few useful controls: attach actions can now use a table select for more complex records, checkbox lists can provide a description from the record, tabs can use a new horizontal scrollable navigation mode, and repeaters can inject the current row index into evaluated closures as $repeaterIndex. (#18352, #18443, #18310, #18351)
  • Tables add summaries(pageSummary: bool|null, totalSummary: bool|null) to control page and total summaries independently, and persistColumnsInSession() to opt in or out of storing column state in the session. (#18730, #18631)
  • Authorization helpers now accept UnitEnum values in authorizeIndividualRecords() and the HasAuthorization trait. (#18865, #18856)
  • Tenant resolution can reuse an existing tenant model when it has already been set upstream, avoiding an extra tenant lookup. (#18513)

Breaking changes

  • None were explicitly called out for this range.

Fixes

  • Invalid file paths are now rejected correctly. (#19759)
  • Invalid notification IDs are ignored in database notification actions. (#19752)
  • Batch cancel, failed() handling, and explicit retry defaults work again for actions on the 4.x line. (#19754)
  • Dark mode input backgrounds render correctly again. (#18778)
  • Textarea autosize no longer causes scroll anchoring issues in Firefox, and the regression from that change has been reverted. (#18595, #18861)
  • Navigation groups now render correctly in RTL mode, and child navigation items attach to their parents inside clusters. (#18485, #18740)
  • Multiple Group::relationship() components can load the same HasOne relationship without overwriting state. (#18827)
  • RepeatableEntry now handles array data in nested contexts, and nested state paths resolve correctly. (#18809)
  • Disabling toolbar buttons no longer causes the Rich Editor and Markdown Editor to loop on updates. (#18504)
  • Nested select modals render their dropdown panels correctly. (#18608)
  • Rich content rendering now respects custom PHP extensions ahead of built-in ones. (#18711)
  • File attachment URLs no longer throw when $wire is unavailable. (#19007)
  • The user menu can be opened from the keyboard again. (#18487)
  • HasOneThrough sorting works again. (#18569)
  • Manual table sorting no longer produces a duplicate column in the SQL query. (#18626)
  • Achromatic colors now stay grayscale when generating palettes. (#18903)
  • Select search no longer lowercases the query before you see it in custom search results. (#18532)
  • Safari date picker placeholders render correctly again. (#18597)
  • Checkbox inputs no longer get squeezed when the label wraps onto multiple lines. (#18477)
  • The “Current Password” field now displays correctly in the Chinese locale. (#18741)
  • Exception messages no longer leak model data in some cases. (#18934)
  • Header tooltips now render HTML correctly. (#18677)
  • TextEntry and TextColumn now treat Htmlable state correctly when deciding whether content is blank. (#18899)
  • Table column manager changes are handled correctly in polling tables, including reordering back to the original position. (#18418)
  • Action modals no longer flicker their submit button while typing into live inputs. (#18888)
  • The navigation logo no longer shifts on page load when the sidebar is collapsible on desktop. (#18646)
  • The fi root class no longer adds scrollbar-gutter: stable, after that behavior was reverted. (#18317, #18828)
  • The default mime type is now passed through as a header for streamed uploads. (#18444)
  • The attach child navigation items bug in clusters is fixed. (#18740)
  • CanBeRepeated now handles Block correctly. (#18750)
  • RichEditor file attachment lookups now use the Livewire instance getter correctly. (#19007)

Other notable changes

  • pragmarx/google2fa was updated to ^9.0, while keeping the previous secret key length. (#18553)
  • Livewire was updated to the stable v4.0 release in composer.json. (#18965)
  • The release also includes documentation and internal maintenance updates across the 4.x and 5.x branches.

Contributors

@danharrin @People-Sea @JoshSalway @bmspereira-07 @johanmolen @pochocho @Saracaen @hans-thomas @iotron @bbredewold @Abdulmajeed-Jamaan @maytham553 @freshleafmedia @halaibrahim867 @joshembling @cheesegrits @archilex @0xxb @mechelon @Zamion101 @webard @binaryfire @bezhanSalleh @lucacastelnuovo @thijskuilman @adevade @AlexisSerneels @fukuhara-trust @dvarilek @ryangjchandler @SimonBroekaert @arjendejong12 @nathanheffley

Only the most active 50 of 267 merged PRs were included. See the full compare view.