> ## Documentation Index
> Fetch the complete documentation index at: https://docs.advancedtables.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Release notes for Advanced Tables v5.

## July 2026

<Update label="v5.4.0" description="July 18, 2026">
  ## What's Changed

  * Fix custom builder views being bypassed on Filament 4.12+

    * `AdvancedFilterBuilder` and `MultiSortBuilder` now declare their custom views via the `protected string $view` property instead of overriding `getView()`. - The `getContainer()->getParentComponent()` chains in `AdvancedFilterBuilder` (`getAddAction()`, `getDeleteAction()`, `removeFilter()`) are replaced with a null-safe `getOrGroupBuilder()` helper that returns early when the component is not nested inside an `or_group` builder. - New regression tests in `tests/Feature/AdvancedFilterBuilderRenderingTest.php` (custom view renders instead of the default `Builder` chrome, `delete` action on the `and_group` builder, graceful `delete` on the outer `or_group` builder) and a rendering test for `MultiSortBuilder` in `tests/Feature/MultiSortTest.php`.
</Update>

<Update label="v5.3.13" description="July 16, 2026">
  ## What's Changed

  * Fix multi-sort ordering while reordering records

    * Delegate table sorting to Filament while record reordering is active, ensuring rows are ordered by the configured reorder column. - Preserve the existing Advanced Tables multi-sort state so the user's previous sort resumes after leaving reorder mode. - Add a Livewire regression test covering a single header sort, reorder mode, and restoration of the prior sort.
  * Bump esbuild from 0.25.3 to 0.28.1

    Bumps [esbuild](https://github.com/evanw/esbuild) from 0.25.3 to 0.28.1.
  * Fix filter picker overflow in slide-overs

    * Enable Floating UI `shift` and `teleport` behavior on the shared filter-builder picker. - Allow wide, multi-column filter pickers to escape narrow modal and slide-over clipping while remaining within the viewport.
  * Clean up frontend dependencies and asset validation

    * remove unused Choices.js, Autoprefixer, Prettier, PostCSS, purge, and script-runner dependencies and configuration - remove the stale, unregistered standalone CSS artifact - retain esbuild for the shipped JavaScript artifact and pin `@tailwindcss/cli` for CSS validation - add CI that verifies the JavaScript artifact and compiles the package CSS through a real Filament theme - document the asset-compilation requirement for Panel Builder and standalone Table Builder installations - remove the non-functional Dependabot auto-merge workflow
</Update>

<Update label="v5.3.12" description="July 14, 2026">
  ## What's Changed

  * Harden CI supply chain: pin actions to commit SHAs, extend Dependabot config

    * Pin all GitHub Actions in workflows to full commit SHAs with version comments - Add `npm` ecosystem to Dependabot updates - Add a 7-day `cooldown` to all Dependabot update entries
</Update>

<Update label="v5.3.11" description="July 4, 2026">
  ## What's Changed

  * Add `advanced-tables-multi-sort-trigger` CSS class to Multi-Sort trigger

    The Multi-Sort trigger button was the only Advanced Tables button without a custom `advanced-tables-*` class, making it hard to target (e.g. in a guided page tour). Add one via `extraAttributes()`, matching the pattern used by the other view actions (`advanced-tables-show-view-manager`, etc.).
  * Bump actions/checkout from 6 to 7

    Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
</Update>

## June 2026

<Update label="v5.3.10" description="June 23, 2026">
  ## What's Changed

  * Fix standalone filter builder crashes and fallback translation config

    * Add a standalone config fallback for parameterized filter-builder translations when the plugin is not registered. - Route advanced filter indicator generation through the shared config helper instead of relying only on plugin state. - Cover standalone Table Builder behavior with feature tests for indicator rendering and config-driven translation access.
</Update>

<Update label="v5.3.9" description="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.
</Update>

## May 2026

<Update label="v5.3.8" description="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.
</Update>

<Update label="v5.3.7" description="May 20, 2026">
  ## What's Changed

  * Fix advanced filters with nested json

    Fixes Advanced Filters when used with nested json columns.
</Update>

## April 2026

<Update label="v5.3.6" description="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](https://github.com/dependabot/fetch-metadata) from 3.0.0 to 3.1.0.
</Update>

<Update label="v5.3.5" description="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.
</Update>

<Update label="v5.3.4" description="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.
</Update>

<Update label="v5.3.3" description="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.
</Update>

<Update label="v5.3.2" description="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](https://github.com/dependabot/fetch-metadata) from 2.5.0 to 3.0.0.
</Update>

## March 2026

<Update label="v5.3.1" description="March 22, 2026">
  ## What's Changed

  * Fix case-insensitive TextFilter for contains, starts\_with, and ends\_with operators
  * fix advanced search loading skeleton
</Update>

<Update label="v5.3.0" description="March 20, 2026">
  ## What's Changed

  * Laravel 13 support
</Update>

<Update label="v5.2.0" description="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()`](https://filamentphp.com/docs/4.x/tables/columns/overview#customizing-the-column-manager-trigger-action). 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](#preset-views), [User Views](#user-views), and [Quick Filters](#quick-filters-new).
  * 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.
  * php stan fixes
  * Fix default view heroicon error
</Update>

<Update label="v5.2.0-beta.4" description="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.
</Update>

## February 2026

<Update label="v5.2.0-beta.3" description="February 27, 2026">
  ## What's Changed

  * 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.
</Update>

<Update label="v5.2.0-beta.2" description="February 26, 2026">
  ## What's Changed

  * Update README.md
</Update>

<Update label="v5.2.0-beta.1" description="February 25, 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()`](https://filamentphp.com/docs/4.x/tables/columns/overview#customizing-the-column-manager-trigger-action). 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](#preset-views), [User Views](#user-views), and [Quick Filters](#quick-filters-new).
</Update>

<Update label="v5.1.5" description="February 18, 2026">
  ## What's Changed

  * Update InteractsWithPageTable.php

    Fixes a breaking change from livewire v4
</Update>

<Update label="v5.1.4" description="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](https://filamentphp.com/docs/5.x/resources/custom-pages) => `Archilex\AdvancedTables\Livewire\PanelPage` - [Custom Page](https://filamentphp.com/docs/5.x/navigation/custom-pages) => `Archilex\AdvancedTables\Livewire\CustomPage` ## Table Builder - `Archilex\AdvancedTables\Livewire\Page`
</Update>

## January 2026

<Update label="v5.1.3" description="January 30, 2026">
  ## What's Changed

  * Remove pest/livewire dependency
</Update>

<Update label="v5.1.2" description="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()`.
</Update>

<Update label="v5.1.1" description="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.
</Update>

<Update label="v5.1.0" description="January 23, 2026">
  ## What's Changed

  * 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.
  * Add support for 5.1

    Add support for 5.1
</Update>

<Update label="v5.0.0" description="January 17, 2026">
  ## What's Changed

  * Add basic testing fixtures

    Add some basic testing
  * add support for filament v5

    Adds support for filament v5
</Update>
