Skip to main content
To upgrade to the latest version of Scout Extended, run:
Command line
If you’re upgrading from version 3, review the breaking changes of both version 4 and version 5.

Upgrade from version 4 to version 5

Version 5 requires Laravel Scout 11, which replaces the numericFilters search parameter with filters. Version 5 includes these breaking changes:
  • The engine sends the filters search parameter instead of numericFilters Scout Extended computes filters from your where, whereIn, and whereNotIn clauses and overwrites any value you pass manually. If you combined with(['filters' => ...]) with where clauses, move all filter conditions into the builder methods:
    PHP
  • filters() returns a string instead of an array If you subclass Algolia\ScoutExtended\Engines\AlgoliaEngine and override the filters() method, update it to return a boolean filter expression string, such as views > 100 AND (id=1 OR id=2), instead of an array.
Version 5 also expands the query builder: the where method now supports the <, <=, =, !=, >=, and > operators, and the new whereNotIn method excludes matching values. For more information, see Server-side search.

Upgrade from version 3 to version 4

Version 4 increases the required minimal versions to PHP 8.1, Laravel 10, and Laravel Scout 10.11.6. Version 4 includes these breaking changes:
  • Upgrade the PHP API client to version 4 The version 4 client uses a flat API: the SearchIndex class no longer exists, and all index operations take the index name as their first argument directly on the client. If you access the API directly, upgrade your code. The Algolia::index facade method now returns the index name as a string instead of a SearchIndex instance:
    PHP
  • Search callbacks receive the search client instead of an index The first argument passed to search callbacks is now the SearchClient. Update any callback that used the index object’s methods:
    PHP
  • Record deletion no longer uses deleteBy by default Deleting records now uses the browseObjects and deleteObjects operations, so your API key needs the browse permission. To restore the previous behavior, set use_deprecated_delete_by to true in the algolia section of your config/scout.php file:
    PHP
Last modified on July 23, 2026