New Features
- feat: add chart widget empty state by @ahmed-rashad-alnaggar in #19579
- Update maxContentWidth to support Closure type by @ibnnajjaar in #19773
- Allow modal close button (or other dismissive actions) to cancel parent actions by @CamKemBell in #19781
- modal click through allowed by @tanthammar in #19783
- Refocus autofocus field after Create & create another by @intrepidws in #19825
- feature: Add configure xlsx writer after open by @ombimo in #19834
- feat(panels): support grouped user menu items with separate dropdown … by @tomjamon in #19863
- Add Closure support to sidebarWidth() and collapsedSidebarWidth() by @ashraful19 in #20009
- feat: ExportColumn visibility by @billmn in #20004
- Add Closure support to darkMode() and add darkModeToggle() by @ashraful19 in #20008
- feat(tables): allow columns to override search term splitting for individual searches by @ropi-bc in #20105
- feat: allow navigation parent items to be referenced by navigation item key by @ahmed-rashad-alnaggar in #20107
- Feature: hide actions column when no actions are available for any row by @webard in #20133
- feat: Add opt-in CSV formula injection protection to exports by @danharrin in #20161
What's Changed
- Optimize large form rendering by @danharrin in #19550
- Optimize table rendering by @danharrin in #19551
- security: Sanitize disabled
RichEditorstate by @danharrin in #20029 - fix(translation): improve Arabic localization (spelling, missing keys, layout) by @hamdyelbatal122 in #20024
- Backport PHPStan fixes and security hardening from 4.x by @danharrin in #20033
- chore: Add Laravel 13 support by @pranab-acharya in #20023
- chore(deps-dev): bump esbuild from 0.25.12 to 0.28.1 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #20040
- chore(deps): bump esbuild from 0.25.12 to removed in /docs-assets/app in the npm_and_yarn group across 1 directory by @dependabot[bot] in #20041
- fix: Clear cached child schemas after setting raw schema state by @people-sea in #20039
- chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #20043
- chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #20044
- fix: make:filament-user crashes without default panel by @ashraful19 in #20026
- Fix: distinct validation for booleans respects field required state (#19995) by @pranab-acharya in #20036
- fix: Database notification not closing on navigate by @danharrin in #20046
- chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in #20053
- chore(deps): bump shivammathur/setup-php from 2.37.1 to 2.37.2 by @dependabot[bot] in #20066
- chore(deps): bump shivammathur/setup-php from 2.37.1 to 2.37.2 by @dependabot[bot] in #20068
- fix: OTC character offset by @danharrin in #20047
- fix: respect custom selectability in bulk actions when selecting all by @hamdyelbatal122 in #20051
- Fix translation for 'Select all' label in Ukrainian by @KiberGod in #20056
- fix(translation): improve Arabic translations, pluralization, and spelling by @hamdyelbatal122 in #20052
- chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #20085
- chore(deps): bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 by @dependabot[bot] in #20086
- chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #20088
- chore(deps): bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 by @dependabot[bot] in #20089
- fix: Skip cell attribute caching when hiddenFrom or visibleFrom use a Closure by @people-sea in #20080
- Fix: keep the submit button disabled while any field is still processing by @SkHCrusher in #20038
- fix: Navigation group enum respects
collapsible()whencollapsedby @people-sea in #20055 - Fix: Render standalone icon aliases in UI components by @kaungkhantjc in #20061
- fix(translations): translate ja email multi-factor provider strings by @kazaminosuke in #20093
- fix(translations): complete missing Japanese translations across several packages by @kazaminosuke in #20094
- fix: pre-populate
tableColumnSearchesto prevent JS.lengthcollision on individual column search by @lazerg in #20071 - Change ImageColumn from 'avatar' to 'header_image' by @smiliyas in #20076
- fix: handle focus return when closing nested x-trap modals by @people-sea in #20077
- DateTimePicker: add missing Korean (ko) dayjs locale by @corean in #20090
- fix: add missing key for italian translation by @filippozanardo in #20069
- fix: SPA navigation missing on optimized action links by @people-sea in #20099
- fix(query-builder): Correct aggregate min/max keys by @parthibarath in #20100
- i18n(vi): complete missing Vietnamese translations in forms package by @thaolaptrinh in #20062
- fix(translation): further improve Arabic translations, pluralization, and spelling by @hamdyelbatal122 in #20104
- Fix Czech typo: aktulizace -> aktualizace by @erikpach in #20108
- Fix Hebrew translation typo for 'mark all as read' label by @zvizvi in #20116
- chore(deps): bump actions/cache from 5.0.5 to 6.1.0 by @dependabot[bot] in #20110
- chore(deps): bump stefanzweifel/git-auto-commit-action from 7.1.0 to 7.2.0 by @dependabot[bot] in #20113
- fix: Prevent in-flight uploads from being wiped when parallel uploads complete by @Bramvzw in #20121
- Chore: missing pl translations by @webard in #20131
- fix: Custom table layout row divider color by @danharrin in #20132
- fix: Markdown editor state sync when focused by @danharrin in #20134
- fix: Non-UTF8 column data docs & command notice by @danharrin in #20135
- Fix: nested slideOver position by @webard in #20137
- fix: Basic a11y issues by @danharrin in #20138
- fix: Notification assertions with multiple notifications by @danharrin in #20141
- fix: Associate another closure check by @danharrin in #20142
- fix: Install command composer.json parse failure by @danharrin in #20143
- fix: Individual column search without splitting where grouping by @danharrin in #20144
- fix: Do not mutate original component of clone by @danharrin in #20145
- fix: JSON encode entry array state by @danharrin in #20146
- fix: Do not commit DB transaction twice when cancelling action by @danharrin in #20147
- security: Prevent delete file path tampering by @danharrin in #20148
- security: Table select modify query docs note by @danharrin in #20149
- security: Guard query builder month and year operator settings by @danharrin in #20151
- fix: add missing space before
@deprecatedPHPDoc tags by @oraby99 in #20154 - docs: Note basic chart widget filter is user-controllable by @danharrin in #20155
- test: Add enforcement tests for unauthorized action invocation by @danharrin in #20159
- test: Add regression tests for export and import download authorization by @danharrin in #20160
- test: Add regression tests for per-record bulk action authorization by @danharrin in #20162
- security: Escape identity values in schema attribute bags by @danharrin in #20164
- security: Sanitize color CSS value in entries and columns by @danharrin in #20158
- security: Guard query builder text operator settings by @danharrin in #20157
- security: Bound query builder rule count and nesting depth by @danharrin in #20156
- docs: Update resource navigation parent items docs by @ahmed-rashad-alnaggar in #20163
- fix: Merging navigation item child items duplication by @ahmed-rashad-alnaggar in #20166
- Fix broken link in container queries documentation by @andreia in #20167
- fix: respect time in absolute date constraints by @people-sea in #20171
- Update Spanish translations by @luisprmat in #20174
- fix: Evaluate stat value by @ahmed-rashad-alnaggar in #20175
- Update finnish translation by @Zagna in #20177
- Use Str::counted() in generated exporter notification body on Laravel 13.19+ by @lloricode in #20170
- fix: Qualify column names for joins on
MorphToSelect/Repeaterby @danharrin in #20182 - fix: use dehydrated settings for query builder constraints by @people-sea in #20180
- fix: More a11y issues by @danharrin in #20168
- Chore: missing pl translations by @webard in #20183
- Update finnish translation by @Zagna in #20185
- fix: Actions in Livewire-state tabs by @danharrin in #20192
- fix: Query builder multi-related-to operator by @danharrin in #20196
- Fill missing Hebrew (he) translations by @dotanm in #20198
New Contributors
- @pranab-acharya made their first contribution in #20023
- @ashraful19 made their first contribution in #20026
- @KiberGod made their first contribution in #20056
- @SkHCrusher made their first contribution in #20038
- @kaungkhantjc made their first contribution in #20061
- @kazaminosuke made their first contribution in #20093
- @lazerg made their first contribution in #20071
- @filippozanardo made their first contribution in #20069
- @parthibarath made their first contribution in #20100
- @thaolaptrinh made their first contribution in #20062
- @erikpach made their first contribution in #20108
- @ibnnajjaar made their first contribution in #19773
- @ombimo made their first contribution in #19834
- @Bramvzw made their first contribution in #20121
- @oraby99 made their first contribution in #20154
- @dotanm made their first contribution in #20198
Full Changelog: v4.11.7...v4.12.0