Skip to main content

June 2026

v4.3.9
June 12, 2026

What’s Changed

  • Fix changelog
  • Fix brittle tests
  • Fix brittle preset view search test
    • Pin deterministic auth, matching, and non-matching user emails in PresetViewTest - Prevent defaultSearch(‘John’) from matching Faker-generated emails unexpectedly
  • Fix default() Preset View being ignored when internal Default View is enabled On a stock install the internal Default View (injected under the default key) is always marked default() and was merged ahead of user Preset Views. Because getDefaultPresetViewName() returned the first view whose isDefault() was true, the internal Default View always won, so a Preset View explicitly marked ->default() under another key was silently ignored on mount unless the user disabled the Default View or used the default key.

May 2026

v4.3.8
May 22, 2026

What’s Changed

  • Fix empty select filter queries on integer relationship columns Fixes is_empty / is_not_empty handling for text/select-style filters so non-string columns are no longer compared to an empty string. This prevents PostgreSQL errors like invalid input syntax for type bigint when filtering relationship keys such as author.id. Also adds coverage for empty/not-empty behavior across plain text, non-string, relationship, JSON, and relationship JSON filter paths.
v4.3.7
May 20, 2026

What’s Changed

  • Fix advanced filters with nested json Fixes Advanced Filters when used with nested json columns.

April 2026

v4.3.6
April 29, 2026

What’s Changed

  • Refine type hints for preset views and tenancy configuration This PR improves type safety and clarity by refining return type hints across the preset views and tenancy concerns, making the codebase more type-strict and better aligned with actual usage patterns.
  • Add opt-in parameterised filter builder indicator translations The legacy filter builder indicator strings are assembled by PHP-side concatenation (e.g. “{column} {operator} {value} {unit}”), which forces translators into awkward word orderings — notably French, where “il y a 5 ans” requires :value to sit inside the phrase, not after it.
  • Prevent badge truncation in Favorites Bar Tabs theme on mobile The badge inside a tab (e.g. count “4” in the “Today” view) could be visually clipped on narrow viewports because the label has whitespace-nowrap and the surrounding wrapper has overflow-hidden, so the badge — the only flex item without shrink protection — would lose width and get cut off by the wrapper. Add shrink-0 to both the Filament badge component and the Github theme inline badge <div>, matching the pattern already used in view-manager/label.blade.php.
  • Bump dependabot/fetch-metadata from 3.0.0 to 3.1.0 Bumps dependabot/fetch-metadata from 3.0.0 to 3.1.0.
v4.3.5
April 15, 2026

What’s Changed

  • Fix TypeError in AdvancedFilter when filter row is missing type key Arr::exists($collectedFilters, $filter['type'] ?? []) passed [] to array_key_exists() when a row in an advanced_filter_builder state had no type key (e.g. URL-carried partial state), crashing with a TypeError on PHP 8. Using null as the fallback is a valid array-offset type and lets the array_filter guard correctly drop malformed rows.
v4.3.4
April 10, 2026

What’s Changed

  • Add Heroicon type support to icon configuration methods This PR extends icon configuration methods across multiple plugin concerns to accept Heroicon instances in addition to strings and closures, providing more flexible icon customization options.
v4.3.3
April 1, 2026

What’s Changed

  • Add empty labels array initialization to indicator setup This change adds an explicit empty labels array initialization to the indicator configuration in the AdvancedFilter’s setUp method.
v4.3.2
April 1, 2026

What’s Changed

  • Fix TextFilter to handle empty values in advanced filtering This PR fixes the TextFilter to properly handle empty or null values when applying advanced filters, preventing unnecessary database operations and potential errors when filtering with operators that don’t require values (like is_not_empty).
  • Bump dependabot/fetch-metadata from 2.5.0 to 3.0.0 Bumps dependabot/fetch-metadata from 2.5.0 to 3.0.0.

March 2026

v4.3.1
March 22, 2026

What’s Changed

  • Fix case-insensitive TextFilter for contains, starts_with, and ends_with operators
  • fix advanced search loading skeleton
v4.3.0
March 20, 2026

What’s Changed

  • Laravel 13 support
v4.2.2
March 14, 2026

What’s Changed

  • Fix default view heroicon error
v4.2.1
March 14, 2026

What’s Changed

  • php stan fixes
v4.2.0
March 14, 2026

What’s Changed

  • Fix user views based off of preset views This PR fixes the creation and loading of User Views that are based off of preset views. Prior to this, using a presetView that uses modifyQueryUsing() as the base of a UserView wouldn’t apply the presetView’s modfifications.
  • Implement custom trigger actions This PR provides full action customization following the same pattern as Filament’s columnManagerTriggerAction(). You can customize any action’s icon, label, tooltip, color, size, and more. Icons can also be fully customized using Filament’s icon registration. See the docs for more information
  • Update docs for privato
  • Feature improved quick filters This PR improves Quick Filters, making them more reliable but also adding support for Advanced Filters as well.
  • Feature - Advanced Table Searching Introducing Advanced Table Searching! Advanced Search replaces Filament table’s search field with powerful search constraints and column selection. In addition to the default “contains” search, your users can now search using eight different constraints like “starts with”, “matches”, “ends with”, and more. Users can also select which columns to search, and even use keyboard syntax shortcuts to quickly change the search behavior directly from the search input. Advanced Search is fully integrated with Preset Views, User Views, and Quick Filters.
  • Update README.md
  • Fix advanced search with multiple columns Fixes and issue with negated searches on columns with multiple search columns.
  • Change search exclude syntax from ! to - for Google-style familiarity Users are accustomed to using - to exclude terms from search engines like Google, GitHub, and Slack. This changes the exclude prefix from ! to - to match that widely understood convention.
  • Fix PostgreSQL type mismatch in managed default views query Cast filament_filter_sets.id (BIGINT) to VARCHAR when comparing against managed_default_views.view (VARCHAR) on PostgreSQL, which enforces strict type checking and rejects cross-type column comparisons.
  • Fix broken translation references to missing Filament packages
  • Improve advanced search feature This PR majorly refactors and improves Advanced Search. Anyone using the original version will need to read the docs and possiby update any Preset View defaultSearch() or saved User Views.
  • Add preserve search and expand default search This PR adds ->preserveSearch() as an option on a preset view. It also expands defaultSearch to allow either a normal search or advanced search to be set on a preset view.
v4.2.0-beta.5
March 9, 2026

What’s Changed

  • Fix broken translation references to missing Filament packages
  • Improve advanced search feature This PR majorly refactors and improves Advanced Search. Anyone using the original version will need to read the docs and possiby update any Preset View defaultSearch() or saved User Views.

February 2026

v4.2.0-beta.4
February 27, 2026

What’s Changed

  • Change search exclude syntax from ! to - for Google-style familiarity Users are accustomed to using - to exclude terms from search engines like Google, GitHub, and Slack. This changes the exclude prefix from ! to - to match that widely understood convention.
  • Fix PostgreSQL type mismatch in managed default views query Cast filament_filter_sets.id (BIGINT) to VARCHAR when comparing against managed_default_views.view (VARCHAR) on PostgreSQL, which enforces strict type checking and rejects cross-type column comparisons.
v4.2.0-beta.3
February 26, 2026

What’s Changed

  • Update README.md
  • Fix advanced search with multiple columns Fixes and issue with negated searches on columns with multiple search columns.
v4.2.0-beta.2
February 25, 2026

What’s Changed

  • Update docs for privato
  • Feature improved quick filters This PR improves Quick Filters, making them more reliable but also adding support for Advanced Filters as well.
  • Feature - Advanced Table Searching Introducing Advanced Table Searching! Advanced Search replaces Filament table’s search field with powerful search constraints and column selection. In addition to the default “contains” search, your users can now search using eight different constraints like “starts with”, “matches”, “ends with”, and more. Users can also select which columns to search, and even use keyboard syntax shortcuts to quickly change the search behavior directly from the search input. Advanced Search is fully integrated with Preset Views, User Views, and Quick Filters.
v4.2.0-beta.1
February 7, 2026

What’s Changed

  • Fix user views based off of preset views This PR fixes the creation and loading of User Views that are based off of preset views. Prior to this, using a presetView that uses modifyQueryUsing() as the base of a UserView wouldn’t apply the presetView’s modfifications.
  • Implement custom trigger actions This PR provides full action customization following the same pattern as Filament’s columnManagerTriggerAction(). You can customize any action’s icon, label, tooltip, color, size, and more. Icons can also be fully customized using Filament’s icon registration. See the docs for more information
v4.1.4
February 1, 2026

What’s Changed

  • Fix custom page classes When updating the convienence page classes to support Filament v4’s new namespacing, I accidently broke the implementation for Table Builder. This PR restores functionality for Table Builder and then adds a new page class for Custom Navigation Page. Now there are three options depending on which type of page you have: ## Panel Builder - Custom Resource Page => Archilex\AdvancedTables\Livewire\PanelPage - Custom Page => Archilex\AdvancedTables\Livewire\CustomPage ## Table Builder - Archilex\AdvancedTables\Livewire\Page

January 2026

v4.1.3
January 30, 2026

What’s Changed

  • Remove pest/livewire dependency
v4.1.2
January 30, 2026

What’s Changed

  • Support filament enums in user view resource navigation This PR adds support to Filament v4’s expanded navigation methods that now support enums such as getNavigationGroup() and getNavigationIcon().
v4.1.1
January 26, 2026

What’s Changed

  • Fix removeTableFilter error Fixes an issue when trying to remove a Query Builder table when also using Advanced Tables.
v4.1.0
January 23, 2026

What’s Changed

  • Add basic testing fixtures Add some basic testing
  • Add compatibility for 4.6
  • Add user view resource support for custom pages This PR adds support for custom pages in UserViews. It also fixes an issue where extending the plugins PanelPage or Page was using the imports from filament v3.
v4.0.22
January 14, 2026

What’s Changed

  • Fix missing tenantColumn configuration This PR fixes the tenantColumn configuration that were missing from the Managed Default Views feature.
  • Fix table not updating when view manager used in slideover When the view manager is displayed as a slideover, clicking a view does not update the table until the slideover is closed. This is due to Filament’s partial rendering. This PR addresses this so that clicking a view now updates the table as expected.
v4.0.21
January 12, 2026

What’s Changed

  • Fix breaking change for disabling quick filters
v4.0.20
January 10, 2026

What’s Changed

  • Fix query string when opening view from user view resource This PR fixes the query string when opening a view from the User View Resource as it only needs the user view. Also sneaking in a fix for the edit view form layout from the User View Resource
  • Allow quick filters to be disabled per resource This PR allows Quick Filters to be disabled per resource: php public static function quickFiltersAreEnabled(): bool &#123; return false; &#125;
v4.0.19
January 9, 2026

What’s Changed

  • Fix view manager action clipping When the view manager only has few views, the view’s action dropdown can be clipped by the parent dropdown. This PR fixes this.
v4.0.18
January 7, 2026

What’s Changed

  • Allow multi sort to be configured per page This PR improves multi sort by only displaying when there is at least one sortable column. It also allows multi-sorting to be disabled per page: php class ListOrders extends ListRecords &#123; use AdvancedTables; public static function multiSortIsEnabled(): bool &#123; return false; &#125; ...
  • Bump dependabot/fetch-metadata from 2.4.0 to 2.5.0 Bumps dependabot/fetch-metadata from 2.4.0 to 2.5.0.

December 2025

v4.0.17
December 12, 2025

What’s Changed

v4.0.16
December 10, 2025

What’s Changed

  • Add ‘default’ translation to advanced-tables.php
  • Bump actions/checkout from 5 to 6 Bumps actions/checkout from 5 to 6.

November 2025

v4.0.15
November 20, 2025

What’s Changed

  • Once again change plugin registration check The previous attempt didn’t work because filament()->isServing() is false in tests. Implementing a try catch instead. Also updating the default config file of quick filters to match the default for the plugin object.
v4.0.14
November 19, 2025

What’s Changed

  • Fix needing double click for Advanced Filter Builder This PR fixes an issue where sometimes it was necessary to double click an Advanced Filter so that it would appear. It also improves adding/removing orGroups.
v4.0.13
November 18, 2025

What’s Changed

  • Better panel registration check
v4.0.12
November 12, 2025

What’s Changed

  • Panel registration check Fix error when using in Table Builder
v4.0.11
November 11, 2025

What’s Changed

  • Fix deprecation of passing null to explode() Fix deprecation: explode(): Passing null to parameter #2 ($string) of type string is deprecated in vendor/archilex/filament-filter-sets/src/Concerns/HasMultiSort.php on line 147 error
  • Add compatibility for 4.2.1

October 2025

v4.0.10
October 27, 2025

What’s Changed

  • Fix user views with query builder Fixes User Views when used with v4.1.2 Query Builder and deferred filteres
v4.0.9
October 27, 2025

What’s Changed

  • Fix query builder handling Filament 4.1.2 introduced some changes to QueryBuilder which caused some issues with Quick Filters. Quick Filters still does not support Query Builder, but this PR handles the new QueryBuilder so that it filters can be correctly removed when Quick Filters is enabled.
  • Bump stefanzweifel/git-auto-commit-action from 6 to 7 Bumps stefanzweifel/git-auto-commit-action from 6 to 7.
v4.0.8
October 13, 2025

What’s Changed

  • Fix for table builder Fix for those only using the table builder as filament() doesn’t exist.
v4.0.7
October 5, 2025

What’s Changed

  • Fix advanced filters with polling and deferred filters When polling and deferred filters are enabled on a table when adding an advanced filter from the filter picker the filter will disappear on the next poll. The reason for this seems to be the statePath is changed from tableDeferredFilters to tableFilters and, since the statePath changes, the next render removes it from the DOM. The only work around I could find was to intercept the statePath and override it switching it back to the correct path. Not thrilled with this solution as I feel like the statePath shouldn’t be changing in the first place, but since I couldn’t figure out why it was changing, this is the next best solution.
  • Add multi sort reset label translation Adds a multi-sort reset label key/value to the translations.
v4.0.6
October 3, 2025

What’s Changed

  • Fix multi sort column dropdown picker clipping Fixes clipping in the multi sort column dropdown picker. When max-height is used on a filament dropdown, fi-scrollable (overflow-y-auto) is applied which then causes the dropdown picker to clip as it’s larger than the dropdown container. A max height isn’t really necessary on the multi-sort dropdown so I’m removing it.
  • Fix multi sort and advanced filter builder picker with polling Fixes when polling was enabled on a table, the multi-sort and advanced filter builder picker dropdown would disappear on each request.
  • Fix icon picker css Adds the required css for the icon picker. Be sure to run npm run build and php artisan filament:upgrade afterwards.

September 2025

v4.0.5
September 26, 2025

What’s Changed

  • Fix advanced filter dropdown placement Fixes the placement of the block picker dropdown when in a slideover
v4.0.4
September 23, 2025

What’s Changed

  • Fix dependencies Two small fixes: 1) Require filament/tables instead of filament/filament for those that just use table builder 2) Allow string for preset view icon position
v4.0.3
September 16, 2025

What’s Changed

v4.0.2
September 4, 2025

What’s Changed

  • V4 fix quick filters and default loading This PR fixes quick filters when searching the table as well as fixes loading the table when there are now user/preset/default views. The quick filter with searching is a temporary fix. Later on, I will make the search indicator consistent with other quick filters.

August 2025

v4.0.1
August 24, 2025

What’s Changed

  • Fix dont show new columns in views This PR fixes an issue where adding a new column to the table schema would then cause the column to appear in User Views and Preset Views. Now, new toggleable columns will be toggled off if they are not in the User/Preset View. Users can always use the “Replace view” functionality if they want to show/reorder new columns.
  • Bump actions/checkout from 4 to 5 Bumps actions/checkout from 4 to 5.
  • Bump aglipanci/laravel-pint-action from 2.5 to 2.6 Bumps aglipanci/laravel-pint-action from 2.5 to 2.6.
v4.0.0
August 22, 2025

What’s Changed

  • Feature advanced indicators
  • initial fixes
  • Advanced indicators beta readme
  • Update README.md
  • Improvements Better error messaging, refactor class names, fix bug when resetting form from filter form
  • Update indicators.blade.php This PR fixes an issue when you have Advanced Indicators enabled globally, but are not using the AdvancedTables trait on a specific resource or page.
  • Feature Multi-Sort This PR introduces Multi-Sort to Advanced Tables. Docs here: https://filamentphp.com/plugins/kenneth-sese-advanced-tables#multi-sort-beta
  • Update translations
  • Fix multi sort column labels Fixes the column labels for the multi-sort dropdown and picker
  • Fix advanced indicators using filter form section Adds support for filter forms that use Sections
  • Update updated filament method Filament v3.2.133 updated the getFilters() method. This PR updates this method to keep it compatible and makes 3.2.133 the minimum version going forward.
  • Update composer.json
  • Feature user defined default views
  • Default View tweaks
  • Allow customizable default icon
  • Improve compatibility between default view and beta 10
  • Persist current view when persistActiveView is enabled
  • Improve resetting view from view manager
  • Update default view translations
  • Replace hardcoded tenant ids
  • Fix hiding view manager and quick save when in favorites bar This PR fixes hiding the view manager and quick save per resource/page when they are in the favorites bar. Previously showing/hiding per resource/page only worked when it was they were in the table.
  • Improve support for multiple plugin instances If you are using multiple instances of the plugin on the same page (ie, multiple table widgets, or stacked relation managers), there can be conflicts with the userView/presetView/defaultViews when reloading the page. The problem is that the userView/presetView are stored in properties, which are then set in the query string through Livewire’s #[Url] attribute. Normally this is fine since there is usually only one instance of the plugin on a page at one time. However, when there are multiple instances, as you switch between different userViews/presetViews, the last view is what is stored in the url. Then when you reload the page, since those values are present in the url, livewire sets the properties and then plugin tries to load those views in each instance which overrides whatever was stored in the session. This PR introduces a hasMultipleInstances() method that you can set to false when the plugin is being used multiple times on the same page. This will basically set the userView and presetView properties to null before loading the page which will force it to fall back to using the view stored in the session, which is unique per instance. To use it, just add: php public function hasMultipleInstances(): bool &#123; return false; &#125; to all the List/Manage/Widget classes that are being loaded on the same page.
  • Improve support for multiple trait instances Add support for #376 for beta 3.10
  • Implement current user view This PR brings over the currentUserView implementation which is part of beta10. the currentUserView allows the user/preset view to keep an indicator after changing the sorting/filtering/etc, helping to better indicate that the view is still active.
  • Update HasViewActions.php Fixes a missing $column variable
  • Fix incorrect method naming Fixes an incorrect method naming that occurred when bringing currentUserView from beta 10 to beta 9
  • Fix preset views that modifed the query This PR fixes a bug where a preset view that modifies the table query wasn’t being applied after a table filter/sort/etc. was updated.
  • Fix preset views that modifed the query This PR fixes a bug where a preset view that modifies the table query wasn’t being applied after a table filter/sort/etc. was updated.
  • Bump dependabot/fetch-metadata from 2.3.0 to 2.4.0 Bumps dependabot/fetch-metadata from 2.3.0 to 2.4.0.
  • Add empty filter to date operator This PR adds an “empty” and “is not empty” date filter to the date filter
  • Fix is empty date filter Bug fixes
  • Fix date filter This PR fixes the absolute date filter (is date, before date, after date) that broke with the recent addition to is_empty and is not empty
  • Fix more than 6 or groups If a user was using more than 6 or groups in AdvancedFilters it would throw an error as there were only 6 colors to select from. This PR will now cycle through the indicator colors allow infinite or groups
  • Improve support for filament minimal theme Adds support for Filament’s Minimal Theme. If you are using Filament’s Minimal Theme and have been adding css to your theme, you should be able to remove that now and just use ->minimalTheme() and the Advanced Tables’ plugin object
  • Initial upgrade to v4 Initial upgrade to Filament v4!
  • V4 bug fixes Replaces ToggleIconColumn with ToggleColumn as ToggleIconColumn is not yet released for v4 Css bug fix with tables cell padding
  • v4 fix view manager badge Only show the view manager badge when enabled and when there is an active view
  • v4 Fix view manager badge round 2 Fixes view manager badge when shown as button
  • Try fix deprecation error to Str::beforeLast() I originally reported it on https://github.com/filamentphp/filament/issues/16852 If you look at Laravel’s Str class, only the beforeLast() method uses mb_strrpos() I didn’t manage to trace filament removeTableFilter() method deep enough to find a Str::beforeLast() But I manage to find it in this package removeTableFilter() method so i like to make this PR to this package 1st to see if it fix the issue for me as Sentry gives me a lot of alerts. I see that you allow fieldtobenulltoosothereisachancefield to be null too so there is a chance field is null and cause those deprecation errors
  • Bump stefanzweifel/git-auto-commit-action from 5 to 6 Bumps stefanzweifel/git-auto-commit-action from 5 to 6.
  • Fix toggleOnAllColumns with relationships Fixes an issue when toggling on all columns (Enable All), when there are columns that use dotted relationships
  • Fix table columns method to get columns You changed method name (getDefaultTableColumnManagerState) -> (getDefaultTableColumnState) in link
  • Replace default view for default preset view This PR replaces the html default view with an internal PresetView for better UX and compatibility with managed default views. Read more Also includes some bug fixes
  • Fix Model::shouldBeStrict error Fixes an issue where adding Model::shouldBeStrict() and disabling managedDefaultViews would cause a The attribute [is_current_default] either does not exist or was not retrieved for model [Archilex\AdvancedTables\Models\UserView] as is_current_default is a subquery column only created when managedDefaultViews is enabled. This fix looks for for the attribute directly in the attributes array. In my testing this was faster than the alternative of looking at the config setting and then if managedDefaultViews is enabled to then look at the attribute.
  • Update to filaments new table column structure Filament v4 beta.18 updated the tableColumn structure and added isHidden and isToggledHiddenByDefault. This PR adds these keys to PresetViews as well as migrates current UserViews with the old structure. This will ensure that columns are properly toggled hidden. This PR also fixes an issue where clicking on a preset/user view with a different column order would remove the active view indicator.
  • Remove testing css class Removes a css class that was being used for testing a new v4 feature but as that is not released yet this needs to be removed
  • Fix premature resetting active views activePresetView and activeUserView were prematurely being reset since I’m overridding Filament’s applyColumnManager method which then would reset the active views as resetActiveViews was set to true. This PR sets the property to false so that when Filament boots it doesn’t reset the activeViews and then when the plugin boots, resetActiveViews is set to true.
  • Fix-preserveFilters-when-going-from-userView-to-PresetView Currently when using preserveFilters() on a PresetView, if a UserView with filters is selected and then the PresetView is selected, the PresetView is not highlighted. This works when you go from PresetView -> PresetView, but does not when going from UserView -> PresetView. This PR fixes this issue.
  • Fix modal content implementation This PR fixes the modalContent implemenation that caused issue https://github.com/filamentphp/filament/issues/17024 This incorrect implemenation (which by luck worked in Filament v3) would cause the modal form to appear in the parent modal when ->viewManagerSlideOver() was used. However, there is still an outstanding issue in Filament that the dropdown is not anchored to the button when inside a modal. This will need to be fixed before ->viewManagerSlideOver() is a viable option again.
  • Fix save user view action in view manager Fixes an action that wasn’t updated when implementing #404
  • Add compatibility for consolidated table sort This PR adds compatibility for Filament’s new consolidated tableSort introduced https://github.com/filamentphp/filament/pull/17172 This PR includes a migration that should be published and run to update existing UserViews to the new format. As always, backup your DB before migrating.
  • Feature Multi Sort and Quick Filters This PR brings Multi-Sort and Quick Filters (formerly Advanced Indicators) to v4. Multi sort is enabled by default. Quick Filters is disabled by default. Be sure to read the docs on each of these powerful features. Note: If you are using the Advanced Indicators feature from v3, you will need to update your plugin config from advancedIndicatorsEnabled() to quickFiltersEnabled().
  • Update to consolidated table grouping This PR updates to Filament’s new consolidated table grouping property introduced in this PR: https://github.com/filamentphp/filament/pull/17209 This PR includes a migration that should be published and run to update existing UserViews to the new format. As always, backup your DB before migrating.
  • Remove unused directory from service provider
  • Fix default grouping Fixes a issue where :asc was incorrectly being appended to the default group

New Contributors

  • @ziming made their first contribution
  • @iboldurev made their first contribution
v4.0.0-beta.13
August 12, 2025

What’s Changed

  • Remove unused directory from service provider
v4.0.0-beta.12
August 12, 2025

What’s Changed

  • Feature advanced indicators
  • initial fixes
  • Advanced indicators beta readme
  • Update README.md
  • Improvements Better error messaging, refactor class names, fix bug when resetting form from filter form
  • Update indicators.blade.php This PR fixes an issue when you have Advanced Indicators enabled globally, but are not using the AdvancedTables trait on a specific resource or page.
  • Feature Multi-Sort This PR introduces Multi-Sort to Advanced Tables. Docs here: https://filamentphp.com/plugins/kenneth-sese-advanced-tables#multi-sort-beta
  • Update translations
  • Fix multi sort column labels Fixes the column labels for the multi-sort dropdown and picker
  • Fix advanced indicators using filter form section Adds support for filter forms that use Sections
  • Update updated filament method Filament v3.2.133 updated the getFilters() method. This PR updates this method to keep it compatible and makes 3.2.133 the minimum version going forward.
  • Update composer.json
  • Improve compatibility between default view and beta 10
  • Persist current view when persistActiveView is enabled
  • Improve resetting view from view manager
  • Improve support for multiple trait instances Add support for #376 for beta 3.10
  • Update HasViewActions.php Fixes a missing $column variable
  • Fix preset views that modifed the query This PR fixes a bug where a preset view that modifies the table query wasn’t being applied after a table filter/sort/etc. was updated.
  • Fix save user view action in view manager Fixes an action that wasn’t updated when implementing #404
  • Add compatibility for consolidated table sort This PR adds compatibility for Filament’s new consolidated tableSort introduced https://github.com/filamentphp/filament/pull/17172 This PR includes a migration that should be published and run to update existing UserViews to the new format. As always, backup your DB before migrating.
  • Feature Multi Sort and Quick Filters This PR brings Multi-Sort and Quick Filters (formerly Advanced Indicators) to v4. Multi sort is enabled by default. Quick Filters is disabled by default. Be sure to read the docs on each of these powerful features. Note: If you are using the Advanced Indicators feature from v3, you will need to update your plugin config from advancedIndicatorsEnabled() to quickFiltersEnabled().
  • Update to consolidated table grouping This PR updates to Filament’s new consolidated table grouping property introduced in this PR: https://github.com/filamentphp/filament/pull/17209 This PR includes a migration that should be published and run to update existing UserViews to the new format. As always, backup your DB before migrating.

July 2025

v4.0.0-beta.11
July 31, 2025

What’s Changed

  • Fix modal content implementation This PR fixes the modalContent implemenation that caused issue https://github.com/filamentphp/filament/issues/17024 This incorrect implemenation (which by luck worked in Filament v3) would cause the modal form to appear in the parent modal when ->viewManagerSlideOver() was used. However, there is still an outstanding issue in Filament that the dropdown is not anchored to the button when inside a modal. This will need to be fixed before ->viewManagerSlideOver() is a viable option again.
v4.0.0-beta.10
July 30, 2025

What’s Changed

  • Fix-preserveFilters-when-going-from-userView-to-PresetView Currently when using preserveFilters() on a PresetView, if a UserView with filters is selected and then the PresetView is selected, the PresetView is not highlighted. This works when you go from PresetView -> PresetView, but does not when going from UserView -> PresetView. This PR fixes this issue.
v4.0.0-beta.9
July 29, 2025

What’s Changed

  • Fix premature resetting active views activePresetView and activeUserView were prematurely being reset since I’m overridding Filament’s applyColumnManager method which then would reset the active views as resetActiveViews was set to true. This PR sets the property to false so that when Filament boots it doesn’t reset the activeViews and then when the plugin boots, resetActiveViews is set to true.
v4.0.0-beta.8
July 24, 2025

What’s Changed

  • Fix toggleOnAllColumns with relationships Fixes an issue when toggling on all columns (Enable All), when there are columns that use dotted relationships
  • Fix Model::shouldBeStrict error Fixes an issue where adding Model::shouldBeStrict() and disabling managedDefaultViews would cause a The attribute [is_current_default] either does not exist or was not retrieved for model [Archilex\AdvancedTables\Models\UserView] as is_current_default is a subquery column only created when managedDefaultViews is enabled. This fix looks for for the attribute directly in the attributes array. In my testing this was faster than the alternative of looking at the config setting and then if managedDefaultViews is enabled to then look at the attribute.
  • Update to filaments new table column structure Filament v4 beta.18 updated the tableColumn structure and added isHidden and isToggledHiddenByDefault. This PR adds these keys to PresetViews as well as migrates current UserViews with the old structure. This will ensure that columns are properly toggled hidden. This PR also fixes an issue where clicking on a preset/user view with a different column order would remove the active view indicator.
  • Remove testing css class Removes a css class that was being used for testing a new v4 feature but as that is not released yet this needs to be removed
v4.0.0-beta.7
July 11, 2025

What’s Changed

  • Replace default view for default preset view This PR replaces the html default view with an internal PresetView for better UX and compatibility with managed default views. Read more Also includes some bug fixes
v4.0.0-beta.6
July 8, 2025

What’s Changed

  • Fix table columns method to get columns You changed method name (getDefaultTableColumnManagerState) -> (getDefaultTableColumnState) in link

New Contributors

  • @iboldurev made their first contribution
v4.0.0-beta.5
July 8, 2025

What’s Changed

  • Try fix deprecation error to Str::beforeLast() I originally reported it on https://github.com/filamentphp/filament/issues/16852 If you look at Laravel’s Str class, only the beforeLast() method uses mb_strrpos() I didn’t manage to trace filament removeTableFilter() method deep enough to find a Str::beforeLast() But I manage to find it in this package removeTableFilter() method so i like to make this PR to this package 1st to see if it fix the issue for me as Sentry gives me a lot of alerts. I see that you allow fieldtobenulltoosothereisachancefield to be null too so there is a chance field is null and cause those deprecation errors
  • Bump stefanzweifel/git-auto-commit-action from 5 to 6 Bumps stefanzweifel/git-auto-commit-action from 5 to 6.

New Contributors

  • @ziming made their first contribution

June 2025

v4.0.0-beta.4
June 25, 2025

What’s Changed

  • v4 Fix view manager badge round 2 Fixes view manager badge when shown as button
v4.0.0-beta.3
June 25, 2025

What’s Changed

  • v4 fix view manager badge Only show the view manager badge when enabled and when there is an active view
v4.0.0-beta.2
June 25, 2025

What’s Changed

  • V4 bug fixes Replaces ToggleIconColumn with ToggleColumn as ToggleIconColumn is not yet released for v4 Css bug fix with tables cell padding
v4.0.0-beta.1
June 19, 2025

What’s Changed

  • Initial upgrade to v4 Initial upgrade to Filament v4!