Version 4.0.0
ElasticPress 4.0 contains some important changes. Make sure to read these highlights before upgrading:
- This version requires a full reindex.
- It introduces a new search algorithm that may change the search results displayed on your site.
- A new feature called "Instant Results" is available. As it requires a full reindex, if you plan to use it, we recommend you enable it first and reindex only once.
- Users upgrading from Beta 1 need to re-save the Instant Results feature settings.
- New minimum versions are:
Min Max Elasticsearch 5.2 7.10 WordPress 5.6+ latest PHP 7.0+ latest
Note that ElasticPress 4.0.0 release removes built assets from the develop
branch, replaced master
with trunk
, added a ZIP with the plugin and its built assets in the GitHub Releases page, and included a build script should you want to build assets from a branch. As such, please plan to update any references you have from master
to trunk
or to GitHub Releases depending on whether you require built assets or not. (See changes in #2622.)
The Facets widget is not currently available within Full Site Editing mode.
This changelog contains all changes made since 3.6.6 (including Beta 1.)
Added
- Instant Results. Props @JakePT, @felipeelia, and Pratheep Chandrasekhar via #2481 and #2500.
- New default search algorithm prioritizing exact matches, matches in the same field, then matches across different fields. Props @brandwaffle and @felipeelia via #2498.
- Filter
ep_load_search_weighting
to disable search weighting engine. Props @rebeccahum and @felipeelia via #2522. - Post types to facet labels when needed to to differentiate facets with duplicate labels. Props @JakePT and @felipeelia via #2541.
- Support for search form post type fields to Instant Results. Props @JakePT via #2510.
- Alternative way to count total posts on larger DBs during indexing. Props @rebeccahum and @felipeelia via #2571.
- Do not count posts in
get_total_objects_for_query_from_db()
if any object limit IDs are passed in. Props @rebeccahum via #2586. - Show WP-CLI progress on the new Sync page. Props @Rahmon and @felipeelia via #2564.
- Display results counts for facet options in Instant Results. Props @JakePT, @felipeelia via #2563.
- ARIA attributes to Facet widget links to improve accessibility. Props @JakePT via #2607.
- Support for shareable URLs to Instant Results. Props @JakePT and @felipeelia via #2604.
- Dynamic bulk requests limits. Instead of sending only one request per document batch, send several adjusting their sizes based on the Elasticsearch response. Props @felipeelia, @dinhtungdu, @brandwaffle, and @Rahmon via #2585.
- New step in the installation process: users can now select features before the initial sync. Props @felipeelia, @JakePT, Jonathan Netek, and @brandwaffle via #2572.
- Complement to the resync message related to Instant Results. Props @felipeelia and @brandwaffle via #2628.
Changed
- Sync page and code responsible for indexing. Props @helen, @felipeelia, @Rahmon, @mckdemps, @tott, and Pratheep Chandrasekhar via #1835, #2448, and #2501.
- When Protected Content is enabled, ElasticPress will have a more similar behavior to WordPress core but the post content and meta will not be indexed (the new
ep_pc_skip_post_content_cleanup
can be used to skip that removal.) Props @rebeccahum, @oscarssanchez, @felipeelia, @dinhtungdu, @cristianuibar, and @allan23, @mallorydxw via #2408 and #2646. - Bump minimum required versions of Elasticsearch from 5.0 to 5.2 and WordPress from 3.7.1 to 5.6. Props @felipeelia via #2475.
- Bump minimum required PHP version from 5.6 to 7.0. Props @felipeelia, @ActuallyConnor, and @brandwaffle via #2485 and #2626.
- Internationalize start and end datetimes of sync. Props @Rahmon and @felipeelia via #2485 and #2548.
ep_integrate
argument in WP_Query to accept0
and'false'
as valid negative values. Props @oscarssanchez, @Rahmon, and @felipeelia via #2547 and #2573.- To comply with modern WooCommerce behavior, ElasticPress no longer changes the
orderby
parameter. Props @felipeelia and @beazuadmin via #2577. - Query parameters for facets to start with
ep_filter
, changeable via the newep_facet_filter_name
filter. Props @oscarssanchez, @felipeelia, and @slaxxarn via #2560. - Output of sync processes using offset to display the number of documents skipped. Props @oscarssanchez, @felipeelia, @cbratschi, and @brandwaffle via #2591.
- Switched from WP Acceptance to Cypress for end to end tests. Props @felipeelia, @Sidsector9, and @dustinrue via #2446 and #2615.
- CSS vars usage in the new Sync page. Props @Rahmon, @JakePT, @mehidi258, and @felipeelia via #2561.
- Features screen: improved accessibility and jQuery dependency removal. Props @JakePT via #2503.
- Taxonomy parameters now reflect the WordPress parsed
tax_query
value. Props @felipeelia and @sathyapulse via #2419. - Features order in the Features screen. Props @felipeelia and @brandwaffle via #2618.
- WooCommerce's
search
parameter also to be used by ElasticPress queries. Props @felipeelia, @dianfishekqi, and @oscarssanchez via #2620. - Posts are now reindexed when a new term is associated with them and also when an associated term is updated or deleted. Props @nickdaugherty, @felipeelia, @brandon-m-skinner, @mckdemps, @rebeccahum via #2603.
- Updated
jsdoc
from 3.6.9 to 3.6.10 and fixed the documentation of theep_thumbnail_image_size
filter. Props @felipeelia via #2639. - Instant Results: type and initial value of search template and move save to the end of sync. Props @felipeelia and @oscarssanchez via #2645.
Removed
- Built assets (minified JavaScript and CSS files) from the repository. Props @felipeelia and @jeffpaul via #2486.
- Duplicate
case 'description':
fromElasticPress\Indexable\Term\Term::parse_orderby
. Props @sjinks via #2533.
Fixed
- CSS issues on Features page. Props @JakePT via #2495.
- AJAX URL on subsites. Props @Rahmon via #2501.
- PHP Notice while monitoring a WP-CLI sync in the dashboard. Props @felipeelia and @ParhamG via #2544.
- Sync page when WooCommerce's "hide out of stock items" and Instant Results are both enabled. Props @felipeelia via #2566.
- PHPUnit Tests and WordPress 5.9 compatibility. Props @felipeelia via #2569.
- WooCommerce Orders Search when searching for an order ID. Props @felipeelia via #2554.
- Code standards. Props @felipeelia via #2574 and #2578.
- Posts insertion and deletion in the same thread. Props @felipeelia and @tcrsavage via #2575.
- Invalid values in
tax_query
terms resulting in a query failure. Props @rinatkhaziev and @felipeelia via #2576 and #2583. - New Sync Page to display a message when an indexing is stopped by the WP-CLI
stop-indexing
command. Props @Rahmon, @felipeelia, and @brandwaffle via #2549. - Nested queries are no longer deleted. Props @oscarssanchez and @christianc1 via #2567.
- Type hints for
epwr_decay
andepwr_weight
hooks. Props @edwinsiebel via #2537. - Errors count in the new Sync page. Props @felipeelia via #2590.
- Multisite could index posts from a disabled indexing site. Props @oscarssanchez, @chrisvanpatten, @felipeelia via #2621.
- New sync code and the
upper-limit-object-id
andlower-limit-object-id
parameters in WP-CLI command. Props @felipeelia via #2634. - Sync link on index health page. Props @JakePT via #2644.
- Logic checking if it is a full sync and if search should go or not through ElasticPress. Props @felipeelia and @JakePT via #2642.
Security
- Use most recent external GitHub Actions versions. Props @felipeelia and @qazaqstan2025 via #2535.
- Updated
10up-toolkit
from 1.0.13 to 3.0.1,jsdoc
from 3.6.7 to 3.6.9,terser-webpack-plugin
from 5.2.4 to 5.3.0,@wordpress/env
from 4.1.1 to 4.2.2, andpromise-polyfill
from 8.2.0 to 8.2.1. Props @felipeelia via #2559, #2611, and #2631. - Bumped
follow-redirects
from 1.14.7 to 1.14.9. Props @dependabot via #2609.
See: https://github.com/10up/ElasticPress/milestone/58?closed=1