Skip to content

Latest commit

 

History

History
2230 lines (1851 loc) · 223 KB

CHANGELOG.md

File metadata and controls

2230 lines (1851 loc) · 223 KB

Changelog

All notable changes to this project will be documented in this file, per the Keep a Changelog standard.

5.1.3 - 2024-06-11

Fixed

  • Missing nonces on some sync trigger URLs, making them require a manual interaction from the user. Props @felipeelia via #3933.

5.1.2 - 2024-06-11

This is a security release affecting all previous versions of ElasticPress.

Security

  • Missing nonce verification for the sync triggered during activation of some features. Props @felipeelia and @dhakalananda via #3929.
  • Missing nonce verification for retrying the EP connection and fixed PHPCS linting rules. Props @felipeelia via #3932.

5.1.1 - 2024-05-27

Changed

Fixed

  • Status report page when indexable post types is an empty array. Props @furai via #3910.

5.1.0 - 2024-04-29

Added

  • [Filters] New ep_facet_enabled_in_editor filter to enabled facet blocks in the post editor. Props @JiveDig and @felipeelia via #3845.
  • Official support to Elasticsearch 8.x. Props @felipeelia via #3854.
  • A new Sync errors tab, with errors grouped by type and links to support documentation when available. Props @JakePT and @apurvrdx1 via #3803.
  • [WooCommerce] HPOS compatibility notice for WooCommerce Orders. Props @felipeelia via #3861.
  • [Synonyms] A new settings screen with the the ability to bulk delete synonyms, support for many-to-many replacements, and a new type of synonym for terms with a hierarchical relationship, called hyponyms. Props @JakePT and @apurvrdx1 via #3814.
  • Infinite loop when using excerpt highlighting with posts that use blocks that print an excerpt. Props @felipeelia and @JakePT via #3867.
  • Context parameter to the get_capability() function. Props @felipeelia and @selim13 via #3866.
  • A tooltip for meta keys to the weighting screen to allow seeing the full key if it has been truncated. Props @JakePT via #3865.
  • New ep_weighting_options filter to modify the weighting dashboard options. Props @burhandodhy via #3827.
  • New ep_post_test_meta_value filter. Props @felipeelia via #3850.
  • New message related to indices limits on ElasticPress.io. Props @felipeelia via #3898.

Changed

  • Acknowledge all Elasticsearch modules, making the Documents feature available in ES 8 installations by default. Props @felipeelia, @Serverfox, and @jerasokcm via #3844.
  • [Documents] Index CSV and TXT file contents. Props @felipeelia via #3885.
  • [Documents] Only set documents-related parameters if no post type was set or if the list already contains attachments. Props @felipeelia via #3889.
  • Automatically open the error log when a sync completes with errors. Props @JakePT and @felipeelia via #3895.
  • Aggregations created with the 'aggs' WP_Query parameter, are now retrievable using $query->query_vars['ep_aggregations']. Props @felipeelia via #3847.
  • Major refactor of the Term::format_args() method and conditionally set search fields for term queries in REST API requests. Props @felipeelia and @mgurtzweiler via #3869.
  • Replaced lee-dohm/no-response with actions/stale to help with closing no-response/stale issues. Props @jeffpaul via #3870.
  • Bumped actions/upload-artifact from v3 to v4. Props @iamdharmesh via #3897.
  • Required node version. Props @oscarssanchez via #3896.

Fixed

Security

5.0.2 - 2024-01-16

Changed

  • [Terms] Counts are now calculated with wp_count_terms() in query_db. Props @rebeccahum via #3791.
  • Composer and npm files are now part of the final package. Props @felipeelia via #3810.

Fixed

  • [WooCommerce] Not use a hard-coded list of order post types. Props @felipeelia via #3807.
  • [Autosuggest] Stop calling the get-autosuggest-allowed endpoint to build the REST API schema. Props @felipeelia via #3809.

Security

5.0.1 - 2023-12-12

Added

  • Failed queries in the Index Health page will now be outputted with their error messages. Props @felipeelia and @pvnanini via #3776.

Fixed

5.0.0 - 2023-11-01

ElasticPress 5.0.0 contains some important changes. Make sure to read these highlights before upgrading:

  • This version does not require a full reindex but it is recommended, especially for websites using synonyms containing spaces. See #3610.
  • Meta keys are not indexed by default anymore. The new Weighting Dashboard allows admin users to mark meta fields as indexables. The new ep_prepare_meta_allowed_keys filter allows to add meta keys programmatically. See #3068.
  • Features now have their fields declared in JSON. Custom features may need to implement the set_settings_schema() method to work. See #3655.
  • The Users feature was moved to the ElasticPress Labs plugin and is no longer available in this plugin. If you use this feature, make sure to install and configure EP Labs before upgrading. See #3670.
  • The Terms and Comments features are now hidden by default for sites that do not have them active yet. Check our blog post for more info. See #3691.
  • New minimum versions (see #3668) are:
    Min Max
    Elasticsearch 5.2 Unset
    WordPress 6.0+ latest
    PHP 7.4+ latest

Added

Changed

  • Abstracted Sync page logic into a provider pattern. Props @JakePT via #3630.
  • Moved syncing from an admin-ajax.php callback to a custom REST API endpoint with support for additional arguments. Props @JakePT via #3643.
  • Store previous syncs info, changed option name from ep_last_index to ep_sync_history. Props @felipeelia and @JakePT via #3647.
  • Features settings declared as JSON. Props @felipeelia and @JakePT via #3655.
  • Tweaked layout and notifications style on the Status Report screen for consistency with the updated Sync page. Props @JakePT via #3662.
  • Moved REST API endpoint definitions to controller classes. Props @JakePT via #3650.
  • SyncManager array queues are now indexed by the blog ID. Props @sathyapulse and @felipeelia via #3689.
  • Comments and Terms are now hidden by default. Props @felipeelia via #3691.
  • WooCommerce-related hooks are now removed when switching to a site that does not have WC active. Props @felipeelia and @MARQAS via #3688.
  • Run e2e tests against the minimum supported WordPress version. Props @felipeelia via #3540.
  • Several tweaks in the Features settings API. Props @JakePT via #3708 and #3709.
  • EP Settings are now reverted if it is not possible to connect to the new ES Server. Props @felipeelia, @burhandodhy, and @scottbuscemi via #3684.
  • Node packages updated. Props @felipeelia via #3706.
  • Updated the labels of feature settings and options for consistency and clarity. Props @JakePT via #3721.
  • Depending on the requirements, some feature settings are now saved to be applied after a full sync. Props @felipeelia and @JakePT via #3720.
  • Minimum requirements. Props @felipeelia and @brandwaffle via #3668.
  • Old features will have their settings displayed based on their default setting values. Props @felipeelia and @JakePT via #3728.
  • Radio and checkbox settings were changed from booleans to strings. Props @felipeelia and @JakePT via #3730.
  • The troubleshooting article link was updated. Props @felipeelia and @anjulahettige via #3748.

Deprecated

  • The IndexHelper::get_last_index method was replaced by IndexHelper::get_last_sync. See #3647.
  • The FailedQueries::maybe_suggest_solution_for_es method was replaced by ElasticsearchErrorInterpreter::maybe_suggest_solution_for_es. See #3661.
  • Weighting::render_settings_section, Weighting::handle_save, Weighting::redirect, and Weighting::save_weighting_configuration were deprecated in favor of React components. See #3068.

Removed

  • Users-related files from the main plugin. Props @felipeelia via #3670.
  • Removed mapping files related to older versions of Elasticsearch. Props @MARQAS via #3704.

Fixed

Security

4.7.2 - 2023-10-10

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.

Added

Removed

Fixed

Security

4.7.1 - 2023-08-31

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.

Added

  • Synonyms and weighting settings added to the status report. Props @felipeelia via #3609.

Changed

Fixed

4.7.0 - 2023-08-10

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.

Added

Changed

Deprecated

  • Autosuggest::delete_cached_query() was deprecated without a replacement. See #3566.
  • EP_Uninstaller::delete_related_posts_transients() and EP_Uninstaller::delete_total_fields_limit_transients() was merged into EP_Uninstaller::delete_transients_by_name. See #3548.
  • The ep_woocommerce_default_supported_post_types filter was split into ep_woocommerce_orders_supported_post_types and ep_woocommerce_products_supported_post_types. See #3502.
  • The ep_woocommerce_supported_taxonomies filter is now ep_woocommerce_products_supported_taxonomies. See #3502.
  • All old WooCommerce\Orders methods were migrated to the new WooCommerce\OrdersAutosuggest class. See #3502.
  • The Elasticsearch::clear_total_fields_limit_cache() method was replaced by Elasticsearch::clear_index_settings_cache(). See #3552.
  • Several methods that were previously part of the WooCommerce\WooCommerce class were moved to the new WooCommerce\Product class. See #3502.
  • Several methods that were specific to Facet types were moved to the new Block and Renderer abstract classes. See #3499.

Fixed

Security

  • Bumped word-wrap from 1.2.3 to 1.2.4. Props @dependabot via #3543.
  • Bumped tough-cookie from 4.1.2 to 4.1.3 and @cypress/request from 2.88.10 to 2.88.12. Props @dependabot via #3583.

4.6.1 - 2023-07-05

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.

Added

Changed

Fixed

  • Deprecation notice in ElasticPress\Feature\WooCommerce\Orders. Props @mwidmann via #3507.
  • Don't apply a facet filter to the query if the filter value is empty. Props @burhandodhy via #3524.
  • Syncing a post with empty post meta key. Props @MARQAS and @oscarssanchez via #3516.
  • Order by clauses with Elasticsearch field formats are not changed anymore. Props @felipeelia and @tlovett1 via #3512.
  • Failed Query logs are automatically cleared on refreshing the "Status Report" page. Props @burhandodhy via #3533.
  • Warning message on Health page when Last Sync information is not available. Props @burhandodhy via #3530.
  • Deprecation notice: json_encode(): Passing null to parameter #2. Props @burhandodhy via #3532.
  • Documentation of the ep_facet_search_get_terms_args filter. Props @burhandodhy via #3525.

4.6.0 - 2023-06-13

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.

Added

Changed

Fixed

  • Fatal error related to the maybe_process_error_limit function. Props @burhandodhy via #3454.
  • Display the error message returned by Elasticsearch if a mapping operation fails. Props @felipeelia via #3464 and #3495.
  • Negative menu_order values being transformed into positive numbers. Props @felipeelia and @navidabdi via #3468.
  • Password protected content being indexed upon save when Protected Content is not active. Props @felipeelia and @burhandodhy via #2864.
  • Error message when the Elasticsearch server is not available during the put mapping operation. Props @felipeelia via #3483.

4.5.2 - 2023-04-19

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.

Added

  • New ep_enable_query_integration_during_indexing filter. Props @rebeccahum via #3445.

Changed

Fixed

  • Authenticated requests for autosuggest were not being properly cached while using external object cache. Props @felipeelia via #3438.

4.5.1 - 2023-04-11

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.

Added

  • New ep_instant_results_args_schema filter for filtering Instant Results arguments schema. Props @JakePT via #3389.
  • New ep.Autosuggest.navigateCallback JS filter for changing the behavior of a clicked element on Autosuggest. Props @oscarssanchez, @felipeelia, and @JakePT via #3419.
  • New ep.Autosuggest.fetchOptions JS filter for filtering Elasticsearch fetch configuration of Autosuggest. Props @tlovett1, @MARQAS, and @felipeelia via #3382.
  • Code linting before pushing to the repository. Props @felipeelia via #3411.
  • Unit tests for the Status Reports feature. Props @burhandodhy via #3395.

Changed

  • Meta field facets now only filter based on fields selected on blocks. The new ep_facet_should_check_if_allowed filter reverts this behavior. Props @felipeelia and @burhandodhy via #3430.

Fixed

Security

4.5.0 - 2023-03-09

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.

ElasticPress 4.5.0 release highlights:

Added

Changed

  • Indices of disabled features will be deleted during a full sync. Mappings of needed but non-existent indices will be added even during a regular sync. Props @felipeelia via #3261.
  • Reduced number of WooCommerce product queries automatically integrated with ElasticPress. Props @burhandodhy and @felipeelia via #3259 and #3362.
  • The number of results per page in Instant Results now matches the site's posts per page setting. Props @JakePT via #3292.
  • Under the hood improvements to the structure of Instant Results. Props @JakePT via #3159 and #3293.
  • Apply the "Exclude from Search" filter directly on ES Query. Props @burhandodhy via #3266.
  • Avoid using Elasticsearch if query has an unsupported orderby clause. Props @burhandodhy via #3273.
  • E2e tests split into 2 groups to be executed in parallel. Props @iamchughmayank, @burhandodhy, and @felipeelia via #3283.
  • Filter command flags using get_flag_value(). Props @oscarssanchez and @felipeelia via #3301.
  • Code Standards are now applied to the test suite as well. Props @felipeelia via #3351.
  • Text displayed when a feature that requires a sync is about to be enabled. Props @felipeelia and @brandwaffle via #3380.

Removed

  • Remove legacy filters woocommerce_layered_nav_query_post_ids, woocommerce_unfiltered_product_ids, and ep_wp_query_search_cached_posts. Props @burhandodhy via #3230.

Fixed

Security

4.4.1 - 2023-01-10

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code.

This is a bug fix release.

Added

Changed

Removed

Fixed

Security

4.4.0 - 2022-11-29

Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code.

ElasticPress 4.4.0 release highlights:

  • New Status Report page and failed queries logs (#3130, #3148, and #3136)
  • Instant Results template customization (#2959)
  • Facets by Meta available by default. Users should delete the 1-file plugin released with 4.3.0 (#3071)
  • New option to exclude posts from search (#3100)
  • Renamed some WP-CLI commands and added deprecation notices for the old versions (see table below)

Added

  • New Status Report page. Props @felipeelia, @JakePT, @tott, and @brandwaffle via #3130, #3148, and #3154.
  • New Query Logger to display admin notices about failed queries and the list in the new Status Report page. Props @felipeelia, @JakePT, and @brandwaffle via #3136 and #3165.
  • New option to exclude posts from search. Props @burhandodhy, @felipeelia, and @JakePT via #3100, #3156, and #3161.
  • Search Comments block. Replaces the Comments widget in the block editor. Props @JakePT and @felipeelia via #2986.
  • [Instant Results] Notice when ElasticPress is network activated warning that Instant Results will not work on all sites without additional steps. Props @JakePT via #3149.
  • Extra debugging information in the browser console when syncing fails and more useful error messages with a troubleshooting URL. Props @JakePT via #3133.
  • New elasticpress.InstantResults.Result JavaScript filter for filtering the component used for Instant Results search results. Props @JakePT via #2959.
  • New window.epInstantResults.openModal() method for developers to manually open Instant Results. Props @JakePT via #2987.
  • Support for stock_status filter on the WooCommerce Admin Product List. Props @felipeelia and @jakgsl via #3036.
  • Option to toggle the term count in Instant results. Props @MARQAS and @JakePT via #3007.
  • New ep_autosuggest_query_args filter, to change WP Query args of the autosuggest query template. Props @felipeelia via #3038.
  • New ep_post_filters filter and refactor of the Post::format_args method. Props @felipeelia via #3044.
  • New get_index_settings() method to retrieve index settings. Props @rebeccahum via #3126.
  • New ep_woocommerce_default_supported_post_types and ep_woocommerce_admin_searchable_post_types filters. Props @ecaron via #3029.
  • Add test factories for Post, User and Term. Props @burhandodhy via #3048.
  • Unit tests to check access to custom results endpoints. Props @burhandodhy via #3022.
  • New unit tests for the user feature. Props @burhandodhy via #3061.

Changed

Deprecated

  • The following WP-CLI commands were deprecated via #3028. They will still work but with a warning.
Old Command New Command
wp elasticpress index wp elasticpress sync
wp elasticpress get-cluster-indexes wp elasticpress get-cluster-indices
wp elasticpress get-indexes wp elasticpress get-indices
wp elasticpress clear-index wp elasticpress clear-sync
wp elasticpress get-indexing-status wp elasticpress get-ongoing-sync-status
wp elasticpress get-last-cli-index wp elasticpress get-last-cli-sync
wp elasticpress stop-indexing wp elasticpress stop-sync

Props @MARQAS and @felipeelia.

  • The sites parameter for WP_Query, WP_Term_Query and WP_Comment_Query was deprecated in favor of the new site__in and site__not_in. Props @burhandodhy via #2991.

Removed

Fixed

  • Clicking on the Facet Term redirect to Homepage. Props @burhandodhy via #3032.
  • Custom results are not highlighted. Props @burhandodhy via #3010.
  • Error when passing an array of post types to WP_Comment_Query. Props @felipeelia, @JakePT, and @MARQAS via #3058.
  • Deprecated filters for search algorithms do not overwrite values set with the newer filters. Props @felipeelia and @marc-tt via #3037.
  • No posts returned when an invalid value was passed to the tax_query parameter. Props @burhandodhy via #3030.
  • Incorrect excerpt when get_the_excerpt is called outside the Loop and Excerpt highlighting option is enabled. Props @burhandodhy via #3114.
  • Facet returns no result for a term having accent characters. Props @burhandodhy and @felipeelia via #3031.
  • An issue where some characters in taxonomy terms would appear encoded when displayed in Instant Results. Props @JakePT via #3113.
  • An issue that caused Autosuggest filter functions to no longer work. Props @JakePT via #3110.
  • An issue that prevented clicking Autosuggest suggestions if they had been customized with additional markup. Props @JakePT via #3110.
  • WooCommerce custom product sort order. Props @felipeelia and @MARQAS via #2965.
  • Network alias creation failed warning when one of the sites is deactivated. Props @burhandodhy via #3139.
  • JS Error on widget screen. Props @burhandodhy via #3143.
  • PHP Warning when a post has no comments. Props @felipeelia and @JiveDig via #3127.
  • put-mapping --network-wide throws error when plugin is not activated on network. Props @burhandodhy via #3041.
  • Internationalization of strings in JavaScript files. Props @felipeelia via #3079.
  • Documentation of the ep_woocommerce_admin_products_list_search_fields filter. Props @felipeelia via #3124.
  • Warning if _source is not returned in query hit. Props @pschoffer via #2992.
  • Undefined variable $update on synonyms page. Props @burhandodhy via #3102.
  • PHP 8 deprecation warning related to uasort() usage. Props @burhandodhy via #3091.
  • Cypress intermittent tests failures. Props @burhandodhy and @felipeelia via #3053, #3147, and #3158.
  • Fix PHP Unit Tests for PHP 8. Props @burhandodhy via #3073.

Security

4.3.1 - 2022-09-27

This release fixes some bugs and also adds some new filters.

Added

  • New ep_facet_taxonomy_terms filter to filter the Facet terms. Props @burhandodhy and @felipeelia via #2989.
  • Added ep.Autosuggest.itemHTML, ep.Autosuggest.listHTML, ep.Autosuggest.query, and ep.Autosuggest.element JavaScript hooks to Autosuggest and migrated filter functions to hook callbacks for backwards compatibility. Props @JakePT via #2983.
  • E2E tests for the Comments Feature. Props @burhandodhy via #2955.
  • E2E tests for the Instant Results feature. Props @MARQAS and @felipeelia via #2851.
  • More E2E tests for the WooCommerce Feature. Props @burhandodhy via #2923.

Changed

  • REST API endpoints used for managing custom results are no longer publicly accessible. Props @JakePT and @PypWalters via #3004.

Fixed

4.3.0 - 2022-08-31

ElasticPress 4.3.0 fixes some bugs and introduces some new and exciting changes.

WooCommerce Product Variations SKUs are now a publicly searchable field. Site administrators wanting to allow users to search for their product variations SKUs can enable it in the Search Fields & Weighting Dashboard, under Products. If a user searches for a variation SKU, the parent product will be displayed in the search results.

The last ElasticPress sync information is now available in WordPress's Site Health. If you want to check information like the date of the last full sync, time spent, number of indexed content, or errors go to Tools -> Site Health, open the Info tab and click on ElasticPress - Last Sync.

Facets received some further improvements in this version. In addition to some refactoring related to WordPress Block Editor, ElasticPress 4.3.0 ships with an experimental version of a Facet By Meta block. With that, users will be able to filter content based on post meta fields. If you want to try it, download and activate this plugin. Do you have an idea of an enhancement? Search in our facets label in GitHub and if it is not there yet, feel free to open a new issue. We would love to hear new ideas!

Added

  • Search products by their variations' SKUs. Props @burhandodhy via #2854.
  • New block to Facet by Meta fields. Props @felipeelia and @tott via #2954 and #2968.
  • Display last sync info in site health screen. Props @oscarssanchez and @felipeelia via #2917 and #2973.
  • New epwr_decay_field filter to set the decay field for date weighting. Props @MARQAS and @HypeAU via #2907.
  • Autosuggest: filter the autosuggest ElasticSearch query by defining a window.epAutosuggestQueryFilter() function in JavaScript. Props @johnwatkins0 via #2909.
  • Autosuggest: filter the HTML of all results by defining a window.epAutosuggestListItemsHTMLFilter() function in JavaScript. Props @JakePT via #2902.
  • Autosuggest: filter the container element by defining a window.epAutosuggestElementFilter() function in JavaScript. Props @JakePT via #2902.
  • Documentation for Autosuggest JavaScript filters. Props @JakePT and @brandwaffle via #2902.
  • Documentation for styling Instant Results. Props @JakePT via #2949.
  • Use wp_cache_flush_group() for autosuggest when available. Props @tillkruss via #2916.
  • The public search API is automatically deactivated when the Instant Results feature is deactivated. Props @JakePT via #2821.
  • Support for transforming instances of the legacy Facet and Related Posts widgets into blocks. Props @JakePT via #2819.
  • Use wp_cache_flush_runtime() when available. Props @tillkruss, @felipeelia, and @tott via #2915.
  • E2E tests for the Custom Results feature. Props @burhandodhy and @felipeelia via #2871.
  • E2E tests for the Terms feature. Props @burhandodhy and @felipeelia via #2931.

Changed

  • Improved performance in get_term_tree(). Props @rebeccahum via #2883.
  • Migrated Related Posts block definitions to block.json. Props @JakePT via #2898.
  • Total comment count made during sync process to be a proper count call. Props @felipeelia and @bsabalaskey via #2903.
  • Search algorithms moved to separate classes. Props @felipeelia via #2880.
  • The legacy Facet and Related Posts widgets are now hidden when using the block editor. Props @JakePT via #2819.
  • Facets are now divided by types and received their own class. Props @felipeelia via #2919.
  • PHP compatibility check merged to regular lint. Props @felipeelia via #2945.
  • E2e tests to run WP-CLI commands in an existent docker container. Props @felipeelia via #2944.
  • Increased E2e tests coverage for WP-CLI commands. Props @burhandodhy and @felipeelia via #2926.

Deprecated

  • The following filters were deprecated via #2880. They will still work but add a notice in the error logs.
Old Filter New Filter
ep_formatted_args_query ep_post_formatted_args_query
ep_match_phrase_boost ep_post_match_phrase_boost
ep_match_boost ep_post_match_boost
ep_fuzziness_arg ep_post_fuzziness_arg
ep_match_fuzziness ep_post_match_fuzziness
ep_match_cross_fields_boost ep_post_match_cross_fields_boost

Fixed

  • Error returned by the recreate-network-alias CLI command when called on single site. Props @burhandodhy via #2906.
  • Term objects in format_hits_as_terms to use WP_Term instead of stdClass to match WordPress expectations. Props @jonathanstegall via #2913.
  • Post reindex on meta deletion. Props @pschoffer via #2862.
  • Autosaved drafts not showing up in draft post listing when using the Protected Content feature. Props @rebeccahum and @felipeelia via #2861.
  • Display fatal error messages in the Sync Dashboard. Props @felipeelia and @orasik via #2927.
  • An issue where syncing after skipping setup, instead of deleting and syncing, resulted in an error. Props @JakePT via #2858 and #2939.
  • Stuck progress bar when no post is found. Props @felipeelia and @burhandodhy via #2953.
  • Infinite loop during sync if the site has just password protected posts and no other content. Props @felipeelia and @burhandodhy via #2953.
  • JS error on Custom Results edit page. Props @burhandodhy via #2935.
  • Horizontal scroll in ElasticPress Quick Setup Screen. Props @MARQAS and @JakePT via #2937.
  • Allows to replace post_excerpt with highlighted results from within AJAX and other integrated contexts. Props @nickchomey via #2941.
  • Empty results for taxonomy terms that have non ASCII characters. Props @alaa-alshamy via #2948.
  • Format of highlight tags quotation mark. Props @nickchomey via #2942.
  • Intermittent error with sticky posts in the tests suite. Props @felipeelia via #2943.

Security

4.2.2 - 2022-07-14

This is a bug fix release.

Added

Changed

  • update_index_settings() now accounts for the index closing action timing out and re-opens index if closed. Props @rebeccahum via #2843.

Fixed

Security

4.2.1 - 2022-06-28

This is a bug fix release.

Added

Changed

Fixed

4.2.0 - 2022-05-26

ElasticPress 4.2.0 fixes some bugs and introduces some new and exciting changes.

The sync functionality had its JavaScript refactored. Timeouts, memory limits, and general errors are now properly handled and do not make the sync get stuck when performed via the WP-CLI index command. There is also a new get-last-sync WP-CLI command to check the errors and numbers from the last sync.

We've improved the admin search experience for sites using both WooCommerce and Protected Content. Previously, WooCommerce was processing that screen with two different queries, and EP was used only in one of them. Now, it will be only one query, fully handled by ElasticPress. Users wanting to keep the previous behavior can do so by adding add_filter( 'ep_woocommerce_integrate_admin_products_list', '__return_false' ); to their website's codebase.

Facets are now available through a WordPress block. If you are using the Full Site Editing feature, you can now add ElasticPress Facets to your theme with just a few clicks! This block has been introduced with a simplified user interface to enable compatibility with Full Site Editing and will continue to be iterated and improved in future versions of the plugin.

Added

Changed

  • Facets widgets rendered by a separate class. Props @felipeelia via #2712.
  • Deprecated ElasticPress\Feature\Facets\Widget::get_facet_term_html() in favor of ElasticPress\Feature\Facets\Renderer::get_facet_term_html(). Props @felipeelia via #2712.
  • Log errors and remove indexing status on failed syncs. Props @felipeelia via #2748.
  • Refactored Sync page JavaScript. Props @JakePT via #2738.
  • Updated admin scripts to use WordPress's version of React. Props @JakePT via #2756.
  • WooCommerce products list in the Dashboard now properly leverages ElasticPress. Props @felipeelia via #2757.
  • Removed Instant Results' dependency on @wordpress/components and @wordpress/date. Props @JakePT and @felipeelia via #2774.
  • (Protected Content) Password-protected posts are only hidden on searches. Props @felipeelia, @JakePT, and @burhandodhy via #2780.
  • The plugin is now available via Composer without any additional steps required. Props @felipeelia, @jeffpaul, and @johnbillion via #2799.

Fixed

Security

4.1.0 - 2022-04-05

Added

Changed

  • Refactored remaining admin scripts to remove jQuery as a dependency. Props @JakePT via #2664.
  • Generate Instant Results' search template as an anonymous user by default. Props @JakePT via #2672.

Fixed

Security

  • Bumped node-forge from 1.2.1 to 1.3.0. Props @dependabot via #2678.
  • Bumped @wordpress/env from 4.2.2 to 4.4.0, and minimist from 1.2.5 to 1.2.6. Props @felipeelia via #2680.

4.0.1 - 2022-03-16

This is a security release affecting users running ElasticPress 4.0 with both the WooCommerce and Protected Content Features activated. Please update to the latest version of ElasticPress if the WooCommerce and Protected Content features are activated and you're using ElasticPress 4.0.

Security

4.0.0 - 2022-03-08

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

Changed

Removed

  • Built assets (minified JavaScript and CSS files) from the repository. Props @felipeelia and @jeffpaul via #2486.
  • Duplicate case 'description': from ElasticPress\Indexable\Term\Term::parse_orderby. Props @sjinks via #2533.

Fixed

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, and promise-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.

3.6.6 - 2021-12-20

ElasticPress 4.0 Beta 1 is now available for non-production testing.

Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop branch, will replace master with trunk, will add a zip with the plugin and its built assets in the GitHub release page, and will include 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.

Supported versions:

Current (3.6.6) 4.0.0
Elasticsearch 5.0 - 7.9 5.2 - 7.10
WordPress 3.7.1+ 5.6+
PHP 5.6+ 7.0+

Added

Changed

Fixed

4.0.0-beta.1 - 2021-12-08

This version requires a full reindex.

Please note that 4.0 introduces a new search algorithm that may change the order of results displayed on your site. Additionally, this algorithm may be changed again during the beta process before a final 4.0 release algorithm is determined. Your feedback on this new algorithm is welcome via the Github issues list.

New minimum versions are:

Min Max
Elasticsearch 5.2 7.10
WordPress 5.6+ latest
PHP 7.0+ latest

Note that the official ElasticPress 4.0.0 release will replace master with trunk. Built assets were already removed from the branch and added to the zip file attached to the GitHub release page. 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.

Added

Changed

Removed

Fixed

3.6.5 - 2021-11-30

Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop branch, will replace master with trunk, will add a zip with the plugin and its built assets in the GitHub release page, and will include 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.

Supported versions:

Current (3.6.5) 4.0.0
Elasticsearch 5.0 - 7.9 5.2 - 7.10
WordPress 3.7.1+ 5.6+
PHP 5.6+ 7.0+

Added

Changed

  • Add $type parameter to ep_do_intercept_request filter. Props @rebeccahum and @felipeelia via #2443.
  • Cache the detected Posts mapping version, avoiding get_mapping calls in all admin requests. Props @felipeelia via #2445.
  • Docs: Required ES and WP versions planned for ElasticPress 4.0.0. Props @felipeelia via #2442.
  • The admin.min.js file was split in notice.min.js and weighting.min.js, being loaded accordingly. Props @felipeelia and @barryceelen via #2476.

Fixed

Security

3.6.4 - 2021-10-26

Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop branch, will replace master with trunk, will build a stable release version including built assets into a stable branch, will add a zip with the plugin and its built assets in the GitHub release page, and will include 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 either stable or trunk or to GitHub releases depending on whether you require built assets or not.

Supported versions:

Current (3.6.4) 4.0.0
Elasticsearch 5.0 - 7.9 5.2 - 7.10
WordPress 3.7.1+ 5.6+
PHP 5.6+ 7.0+

Added

Changed

Fixed

3.6.3 - 2021-09-29

Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop branch, will replace master with trunk, will build a stable release version including built assets into a stable branch, and will include 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 either stable or trunk depending on whether you require built assets or not.

Official PHP support is currently 5.6+. Minimum PHP version for ElasticPress 4.0.0 will be 7.0+.

Added

  • New ep_facet_widget_term_html and ep_facet_widget_term_label filters to the Facet widget for filtering the HTML and label of individual facet terms. Props @JakePT, @Rahmon, and @felipeelia via #2363.
  • New ep_set_sort filter for changing the sort clause of the ES query if orderby is not set in WP_Query. Props @rebeccahum and @felipeelia via #2343 and #2364.
  • WP-CLI documentation for some commands and parameters. Props @felipeelia via #2369.

Changed

  • In addition to post titles, now autosuggest also partially matches taxonomy terms. Props @felipeelia and @Rahmon via #2347.
  • Date parsing change to avoid E_WARNINGs. Props @pschoffer via #2340.

Fixed

Security

  • Bumped 10up-toolkit from 1.0.11 to 1.0.12, terser-webpack-plugin from 5.1.4 to 5.2.4, @wordpress/api-fetch from 3.21.5 to 3.23.1, and @wordpress/i18n from 3.18.0 to 3.20.0. Props @felipeelia via #2372.

3.6.2 - 2021-08-26

Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop branch, will replace master with trunk, will build a stable release version including built assets into a stable branch, and will include 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 either stable or trunk depending on whether you require built assets or not.

This version bumps official PHP support from 5.3+ to 5.6+. Minimum PHP version for ElasticPress 4.0.0 will be 7.0+.

Added

Changed

Removed

Fixed

Security

3.6.1 - 2021-07-15

Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop branch, will replace master with trunk, will build a stable release version including built assets into a stable branch, and will include 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 either stable or trunk depending on whether you require built assets or not.

This version requires a full reindex. The new facet field introduced in 3.6.0 requires a change in the mapping, otherwise, all content sync related to posts will silently fail. If you've upgraded to 3.6.0 and didn't resync your content yet (via Dashboard or with WP-CLI wp elasticpress index --setup) make sure to do so.

Added

  • Filter ep_remote_request_add_ep_user_agent. Passing true to that, the ElasticPress version will be added to the User-Agent header in the request. Props @felipeelia via #2264
  • Flagged 3.6.0 as version that needs a full reindex. Props @adiloztaser and @felipeelia via #2264

Changed

Fixed

  • Encode the Search Term header before sending it to ElasticPress.io. Props @felipeelia via #2265

3.6.0 - 2021-07-07

Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop branch, will replace master with trunk, will build a stable release version including built assets into a stable branch, and will include 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 either stable or trunk depending on whether you require built assets or not.

This version requires a full reindex.

Breaking Changes

Added

Changed

  • Autosuggest: JavaScript is not loaded anymore when ElasticPress is indexing. Props @fagiani and @felipeelia via #2163
  • Indexable\Post\Post::prepare_date_terms() to only call date_i18n() once. Props @WPprodigy and @Rahmon via #2214

Removed

Fixed

Security

3.5.6 - 2021-03-18

This release fixes some bugs and also adds some new actions and filters.

Security Fix:

Bug Fixes:

  • Fixed document indexing when running index command with nobulk option. Props @Rahmon
  • Added an extra check in the iteration over the aggregations. Props @felipeelia
  • Fixed no mapping found for [name.sortable] for Elasticsearch version 5. Props @Rahmon
  • Fixed uninstall process to remove all options and transients. Props @Rahmon

Enhancements:

  • Added missing inline JS documentation. Props @JakePT
  • Added the filter ep_autosuggest_http_headers. Props @Rahmon
  • Added terms indexes to the status and stats WP-CLI commands. Props @felipeelia
  • The Protected Content feature isn't auto-activated when using ElasticPress.io anymore. Props @felipeelia
  • Added the new filter ep_highlight_should_add_clause to let developers decide where the highlight clause should be added to the ES query. Props @felipeelia
  • Added the new filter epwr_weight and changed the default way scores are applied based on post date. Props @Rahmon

3.5.5 - 2021-02-25

This release fixes some bugs and also adds some new actions and filters.

Bug Fixes:

  • Fix a problem in autosuggest when highlighting is not active. Props @felipeelia and @Rahmon
  • Fix Facet Term Search for more than one Widget. Props @goaround
  • Fix a Warning that was triggered while using PHP 8. Props @Rahmon
  • Fix a wrong phrase in the Indexables documentation. Props @jpowersdev

Enhancements:

  • Add an is-loading class to the search form while autosuggestions are loading. Props @JakePT
  • Add the new set-algorithm-version and get-algorithm-version WP-CLI commands. Props @felipeelia
  • Add a new ep_query_weighting_fields filter. Props @felipeelia and @tott
  • Add two parameters to the ep_formatted_args_query filter. Props @felipeelia and @tott
  • Add the new set-algorithm-version and get-algorithm-version WP-CLI commands. Props @felipeelia
  • Create a new section in documentation called Theme Integration. Props @JakePT
  • Improvements to contributing documentation and tests. Props @jeffpaul and @felipeelia
  • Add the following new actions: ep_wp_cli_after_index, ep_after_dashboard_index, ep_cli_before_set_search_algorithm_version, ep_cli_after_set_search_algorithm_version, ep_cli_before_clear_index, ep_after_update_feature, and ep_cli_after_clear_index. Props @felipeelia and @Rahmon

3.5.4 - 2021-02-11

This is primarily a security and bug fix release. PLEASE NOTE that versions 3.5.2 and 3.5.3 contain a vulnerability that allows a user to bypass the nonce check associated with re-sending the unaltered default search query to ElasticPress.io that is used for providing Autosuggest queries. If you are running version 3.5.2. or 3.5.3 please upgrade to 3.5.4 immediately.

Security Fix:

  • Fixed a nonce check associated with updating the default Autosuggest search query in ElasticPress.io. Props @felipeelia

Bug Fixes:

  • Fix broken click on highlighted element in Autosuggest results. Props @felipeelia
  • Properly cast from parameter in $formatted_args to an integer to prevent errors if empty. Props @CyberCyclone

Enhancements:

  • Add an ep_is_facetable filter to enable custom control over where to show or hide Facets. Props [@moraleida]
  • Improvements to contributing documentation and tests. Props @jeffpaul and @felipeelia

3.5.3 - 2021-01-28

This is a bug fix release.

Bug Fixes:

  • Fixed a bug where the ep-synonym post type is updated to a regular post, which can cause it to be accidentally deleted. Props @Rahmon
  • Fixed CSS formatting issues in the Settings and Features menus. Props @Rahmon

3.5.2 - 2021-01-18

This is a bug fix release.

Bug Fixes:

  • Fixed a typo in elasticpress.pot. Props @alexwoollam
  • Don’t use timestamps that cause 5 digit years. Props @brandon-m-skinner
  • Fix admin notice on the Synonyms page. Props @Rahmon
  • Properly update slider numbers while sliding. Props @Rahmon
  • Properly handle error from get_terms(). Props @ciprianimike
  • Fix incorrect titles page. Props @Rahmon
  • Fix linting tests. Props @felipeelia
  • Fix issue with price filter unsetting previous query. Props @oscarssanchez

Enhancements:

  • Added actions that fire after bulk indexing (ep_after_bulk_index), in event of an invalid Elasticsearch response (ep_invalid_response), and before object deletion (ep_delete_{indexable slug}); added filters ep_skip_post_meta_sync, pre_ep_index_sync_queue, ep_facet_taxonomies_size, epwr_decay_function, and epwr_score_mode. Props @brandon-m-skinner
  • Added ep_filesystem_args filter. Props @pjohanneson
  • Add SKU field to Weighting Engine if WooCommerce is active and fix issue with overriding search_fields. Props @felipeelia
  • Support author__in and author__not_in queries. Props @dinhtungdu
  • Update multiple unit tests. Props @petenelson
  • Show CLI indexing status in EP dashboard. Props @Rahmon
  • Add ep_query_send_ep_search_term_header filter and don’t send EP-Search-Term header if not using ElasticPress.io. Props @felipeelia

3.5.1 - 2020-10-29

A bug fix release.

Bug fixes:

  • Fixes highlighting so that full content is returned instead of only snippets.
  • Fix empty synonym bug.
  • Only highlight post content, excerpt, and title.

Enhancements:

  • Track CLI index in a headless fashion

3.5.0 - 2020-10-20

Version 3.5 is a very exciting release as it contains two major new features: a synonym dashboard and search term result highlighting. The synonym dashboard empowerers users to create synonym lists for searches. For example. searching "New York City" would return contain with "NYC". Search term highlighting will underline and add a CSS class to keywords within content that matches the current search.

The new version also includes a revamp of the search algorithm. This is a backwards compatibility break. If you'd like to revert to the old search algorithm, you can use the following code: add_filter( 'ep_search_algorithm_version', function() { return '3.4'; } );. The new algorithm offers much more relevant search results and removes fuzziness which results in mostly unwanted results for most people. If you are hooking in and modifying the search query directly, it's possible this code might break and you might need to tweak it.

Bug fixes:

  • Fix default autosuggest selector.
  • Fix facet feature $_GET parameter naming collision.
  • Autosuggest a11y fixes. Props amesplant.
  • Check $feature type before calling Feature methods. Props pdewouters.
  • Ensure trashed post is removed from Elasticsearch. Props edwinsiebel.
  • Add default permission callback to REST routes. Props dkotter.
  • Hide links to weighting and synonym dashboard if network activated. Props felipeelia.
  • Only sync post on allow listed post meta. Props felipeelia.
  • Check if site is indexable before syncing in network activated mode.
  • Fix facet widget and 3-level deep hierarchical taxonomy. Props dinhtungdu.
  • Make sure AJAX sync is disabled if EP_DASHBOARD is set to false.. Props turtlepod.

Enhancements:

  • Synonym dashboard. Props christianc1.
  • Search term highlighting. Props oscarsanchez.
  • Search algorithm improvements.
  • Improved WP Acceptance tests. Props asharirfan.
  • Rename ElasticPress submenu to "Features". Props helen.
  • Add functionality for skipping ElasticPress install.
  • Increase max supported Elasticsearch version to 7.9.
  • Add filter to prepared user meta data. Props g-kanoufi.
  • Improve Terms Feature terminology to remove confusion.
  • Add filter to facet terms query arguments. Props felipeelia.

3.4.3 - 2020-07-21

Enhancements:

  • Remove jQuery from front end JavaScript dependencies.

Bug Fixes:

  • Fix accessibility bug on autosuggest.
  • Fix broken facet search.

3.4.2 - 2020-06-17

Bug fixes:

  • uninstall.php: Change the EP_FILE const to its value. Props felipeelia.
  • Fix list features WP CLI command. Props felipeelia.
  • Add rel="nofollow" to facet links. Props mlaroy.
  • Facets widget: Move <div> outside ob_start(). Props kallehauge.
  • Load facet scripts and styles only when they are really necessary. Props goaround.
  • Index attachments with Protected Content and query for them in media search. Props oscarsanchez.
  • Fixed Deprecated field [include] used, expected [includes] instead.. Props dinhtungdu.

Enhancements:

  • Add filter for enabling sticky posts. Props shadyvb.
  • Add sync kill filter. Props barryceelen.
  • Add timeout filters for bulk_index and index_document. Props @oscarsanchez.

3.4.1 - 2020-3-31

  • Make weighting dashboard flex containers to prevent the slider from changing size. Props @mlaroy.
  • Fix issue where weightings wouldn't save properly for certain post types. Props mustafauysal.
  • Fix bug where terms wouldn't finish syncing in certain scenarios.
  • Properly order WooCommerce products using double to account for decimals. Props @oscarsanchez.
  • Show current indices in index health dashboard. Props moraleida.

3.4.0 - 2020-03-03

  • Addition of Terms Indexable and Feature. ElasticPress can now integrate with WP_Term_Query. Props dkotter.
  • Fixes for WP_User_Query 'fields' parameter. Props petenelson.
  • Support all taxonomies in root of WP_Query
  • Readd ep_retrieve_aggregations hook for backwards compatibility
  • Move indexable posts class registration into a function that runs in the plugins_loaded action. Props petenelson.
  • Fix author name in weighting and use post_author.display_name for weighted author field search. Props petenelson.
  • Add ep_prepared_*_meta filters
  • Refactor CLI indexing code for simplicity.
  • Limit indexed Protected Content post types removing revision, oembed_cache, custom_css, user_request, customize_changeset, and wp_block.
  • Cast taxonomy slug to array in case it's already an array in WP_Query.
  • Remove unnecessary usage of --network-wide CLI parameter.
  • Add name, nickname, and display name to fields used for user search.
  • Add clear-transient WP CLI command.
  • Don't make product categories facetable when WooCommerce feature is not active. Props mustafauysal.

3.3.0 - 2018-12-18

  • Officially support Elasticsearch 7.5
  • Add optional Google Analytics Autosuggest tracking Event
  • Fix single node warning before sync has occurred.
  • When ep_integrate is set to false, do not apply faceting.
  • Fix search ordering error when there are no pointers.
  • Add filter ep_get_hits_from_query to modify retrieved Elasticsearch hits.
  • Make sure post_type array does not include keys. Fixes a bbPress issue.
  • Pass query object to EP response so we can check for main query. This fixes a faceting bug.
  • Add EP-Search-Term header to autosuggest requests to EP.io
  • Clean up indexing transient on sigkill

3.2.6 - 2019-11-27

  • Fix Under some edge conditions content for autosuggest can be large - don't cache it

3.2.5 - 2019-11-20

  • Fix WP <5.0 fatal error on register_block_type.

3.2.4 - 2019-11-19

  • Fix Gutenberg block initialization
  • Fix Autosuggest: remove filter with proper priority in query generation. Props Maxdw.
  • Fix Autosuggest: returning WP_Error for non object cache autosuggest queries causes issue. Fallback to transient

3.2.3 - 2019-11-13

  • Ensure query building for Autosuggest does not fallback to WPDB.

3.2.2 - 2019-11-05

  • Fix PHPCS errors. Props mmcachran
  • Fix ensuring stats are built prior to requesting information
  • Fix related post block enqueue block assets on the frontend
  • Fix custom order results change webpack config for externals:lodash
  • Fix don't overwrite search fields
  • Autosuggest queries generated though PHP instead of JavaScript
  • Add WP Acceptance tests
  • Add new WP-CLI commands: get_indexes and get_cluster_indexes

3.2.1 - 2019-10-14

  • Fix Gutenberg breaking issue with Related Posts and image blocks. Props adamsilverstein

3.2.0 - 2019-10-08

  • Improve block asset enqueueing: hook on enqueue_block_editor_assets. Props adamsilverstein.
  • Handle empty search weighting fields bug.
  • Integrate WooCommerce default filter by price widget with ES range query.
  • Improve messaging for custom result post type.
  • Index health page.
  • Add tag_in and tag__and support.
  • Related posts Gutenberg block.
  • Facet widget ordering option. Props psorensen.
  • Control Index-ability of individual sites in multisite.
  • Integrate WooCommerce default filter by price widget with ES range query.

See https://github.com/10up/ElasticPress/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A3.2.0+is%3Aclosed+

[3.1.4] - 2019-08-28

Version 3.1.4 is a bug fix release.

See fixes: https://github.com/10up/ElasticPress/pulls?q=is%3Apr+milestone%3A3.1.4+is%3Aclosed

[3.1.3] - 2019-08-22

This is a bug fix release.

  • Check wpcli transient before integrating with queries.
  • Fix version comparison bug when comparing Elasticsearch versions.
  • Use proper taxonomy name for WooCommerce attributes.
  • Increase Elasticsearch minimum supported version to 5.0.
  • Fix product attribute archives.

[3.1.2] - 2019-08-16

This is a bug fix release with some filter additions.

  • Add ep_es_query_results filter.
  • Add option to sync prior to shutdown.
  • Readme update around WPCLI post syncing. Props @mmcachran.
  • Ignore sticky posts in find_related. Props @columbian-chris.
  • Weighting dashboard fixes around saving. @oscarsanchez.
  • Weighting UI improvements. Props @mlaroy.

3.1.1 - 2019-07-25

Fixed

  • Ensure taxonomies that are shared among multiple post types show up on the weighting screen

3.1.0 - 2019-07-22

Added

  • Support for nested tax queries. Props @dkotter
  • ep_bulk_index_action_args filter. Props @fabianmarz
  • Add filters to control MLT related posts params.
  • ep_allow_post_content_filtered_index filter to bypass filtered post content on indexing.
  • Weighting dashboard to control weights of specific fields on a per post type basis
  • Search ordering feature. Enables custom results for specific search queries.

Changed

  • Refactor admin notice, admin screen "resolver", and install path logic
  • WordPress.org profile
  • New EP settings interface. Props @dkoo
  • Delete pagination from facet URL.
  • allows WooCommerce product attributes to be facetable in 3.0
  • Autosuggest queries now match the search queries performed by WordPress, including weighting and any custom results

Fixed

  • Fix data escaping in WP 4.8.x
  • Support order by "type"/"post_type" in EP queries
  • Properly redirect after network sync
  • User mapping for pre 5.0 Props @mustafauysal
  • Avoid multiple reflows in autosuggest. Props @fabianmarz
  • 400 error when popularity is default sorting.
  • Fixed Facet widget not rendering WC product attribute options. Props @fabianmarz
  • Delete wpcli sync option/transient when an error occurs
  • Create index/network alias when adding a new site on a network activated installation. Props @elliott-stocks
  • Fix WooCommerce order search when WooCommerce module activated but protected content turned off.

3.0.3 - 2019-06-04

Added

  • Pass $post_id twice in ep_post_sync_kill for backwards compatibility. Props @aaemnnosttv
  • ep_search_request_path filter for backwards compant.
  • ep_query_request_path filter for modifying the query path.

Fixed

  • Missing action name in post query integration.
  • Properly add date filter to WP_Query.

3.0.2 - 2019-05-23

Fixed

  • Date query errors
  • Re-add ep_retrieve_the_{type} filter. Props @gassan
  • Empty autosuggest selector notice

3.0.1 - 2019-05-20

Changed

  • Changed max int to use core predefined constant. Props @fabianmarz

Fixed

  • wp elasticpress stats and wp elasticpress status commands fatal error.
  • Add autosuggest selector field default to fix notice.
  • Re-add ep_find_related as deprecated function.
  • Properly support legacy feature registration callbacks per #1329.
  • Properly disable settings as needed on dashboard.
  • Don't force document search on REST requests.

3.0 - 2019-05-13

Notice

  • Requires re-index

Overview

  • 3.0 is a refactor of ElasticPress for modern coding standards (PHP 5.4 required) as well as the introduction to indexables. Indexables abstracts out content types so data types other than post can be indexed and searched. 3.0 includes user indexing and search (integration with WP_User_Query). User features require at least WordPress version 5.1.
  • The refactor changes a lot of ElasticPress internals. The biggest change is the feature registration API has completely changed. Now, new features should extend the ElasticPress\Feature class rather than calling ep_register_feature. Older features should be backwards compatible.

Added

  • Elasticsearch language setting in admin

Changed

  • ep_post_sync_kill filter removed $post_args argument.
  • posts-per-page changed to per-page for WP-CLI index command.

Removed

  • ep_feature_setup action

2.8.2 - 2019-03-26

Added

  • WooCommerce product attributes as facets.
  • Performance Boost for document indexing.

Fixed

  • Issue on WP REST API searches.
  • Case-sensitivity issue with facet search.

2.8.1 - 2019-02-13

Fixed

  • Homepage out of chronological order.
  • Missing meta key. (Props @turtlepod)
  • Bulk indexing default value on settings page.

2.8.0 - 2019-02-08

Added

  • Sticky posts support.
  • WooCommerce searches with custom fields.
  • Elasticsearch version in settings. (Props @turtlepod)
  • Allow user to set number of posts during bulk indexing cycle.
  • Facet query string customization (Props @ray-lee)
  • Protected content: filtering of filtered post types.
  • Implemented --post-ids CLI option to index only specific posts. (Props @dotancohen)

Changed

  • Meta LIKE query adjustment.
  • Autosuggest to abide by plugin settings.
  • Adjustment to wp elasticpress status

Removed

  • Logic that determines if blog is public / indexable. (Resolves sync issue.)
  • Date weighting for protected content admin queries.

Fixed

  • Autosuggest bugfix.
  • Auto activating sync notices. (Props @petenelson)

2.7.0 - 2018-12-06

Notice

  • Requires re-index

Added

  • Prevent indexing when blog is deleted or not public.
  • Do not apply absint to comment_status.
  • Random WooCommerce ordering allowed.
  • Better error notices. (Props @petenelson)

Changed

Fixed

  • ElasticPress.io credentials bugfix.
  • Related posts bugfix.

2.6.1 - 2018-08-24

Fixed

  • Missing file for wp-cli.

2.6 - 2018-08-22

Added

  • Ability to set autosuggest endpoint by a constant (EP_AUTOSUGGEST_ENDPOINT).
  • Enable WooCommerce products to be included in autosuggest results.
  • Support for tax_query operators EXISTS and NOT EXISTS.
  • Filter to change default orderby/sort (ep_set_default_sort).

Changed

  • Do not search for author_name when searching products in WooCommerce.

2.5.2 - 2018-05-09

Notice

  • Requires re-index

Removed

  • Unnecessary facet JavaScript

Fixed

  • Facet aggregations warning

2.5.1 - 2018-05-02

Notice

  • Requires re-index as we change the way data is being sent to Elasticsearch.
  • It's also worth noting for ElasticPress version 2.5+, the Facets feature, which is on by default, will run post type archive and search page main queries through Elasticsearch. If Elasticsearch is out of sync with your content (possible in rare edge cases), this could result in incorrect content being shown. Turning off Facets would fix the problem.

Fixed

  • Don't pre-strip HTML before sending it to Elasticsearch.
  • Support PHP 5.2 backwards compat.
  • Don't show faceting widget if post type doesn't support taxonomy.

2.5 - 2018-04-23

Overview

  • ElasticPress 2.5 includes a new Facets feature that makes it easy to add high performance content filtering controls to a website.
  • A new Facets widget enables site administrators to add taxonomy facets to a sidebar (or any widgetized area). When viewing a content list on the front end of the website, the widget will display the name of the taxonomy – e.g. “Categories” – and a checklist with all of its terms. Visitors can narrow down content by selecting terms they are interested in. The Facets feature can be globally configured to narrow results to content that is tagged with any or all of the selected terms. The widget’s front end output contains carefully named CSS classes, so that designers and developers can apply unique styling.

Added

  • Official support for Elasticsearch 6.2
  • Increased functional parity with the WP_Query API
  • Facets feature
  • --post-ids CLI option to index only specific posts. Props @dotancohen.
  • Filter for hiding host setting in dashboard. Props @tomdxw.
  • Support WP_Query meta query not between comparator.

Fixed

  • Disallow duplicated Elasticsearch requests on WooCommerce orders page. Props @lukaspawlik
  • Taxonomy sync object warning. Props @eugene-manuilov
  • true in is_empty_query terminates ep_query process when it shouldn't. Props @yaronuliel

2.4.2 - 2018-01-31

Fixed

  • Related posts not showing up bug.

2.4.1 - 2018-01-30

Added

  • Increase maximum Elasticsearch compatibility to 6.1

Fixed

2.4 - 2017-11-01

Overview

  • Version 2.4 introduces the Autosuggest feature. When enabled, input fields of type "search" or with the CSS class "search-field" or "ep-autosuggest" will be enhanced with autosuggest functionality. As text is entered into the search field, suggested content will appear below it, based on top search results for the text. Suggestions link directly to the content.
  • We also added hooks and filters to ElasticPress that make query logging possible. The Debug Bar ElasticPress plugin now adds a Query Log screen to the ElasticPress admin menu. The Query Log is an extremely powerful tool for diagnosing search and indexing issues.

Added

  • Autosuggest feature
  • Hooks for query log functionality in Debug Bar ElasticPress
  • Support WP_Query fields parameter. Props @kallehauge.
  • Setting for enabling/disabling date weighting in search. Props @lukaspawlik.
  • Shipping class as indexed WooCommerce taxonomy. Props @kallehauge.
  • Allow WooCommerce orders to be searched by items. Props @kallehauge.
  • Support Elasticsearch 5.6
  • Filter to granularly control admin notices. Props @mattonomics.
  • Support ES 5.5+ strict content type checking. Props @sc0ttclark

Removed

  • Extra post meta storage key from Elasticsearch

Fixed

  • author_name search field. Props @ivankristianto.
  • Unavailable taxonomy issue in WooCommerce. Props @ivankristianto.
  • Index all publicly queryable taxonomies. Props @allan23.
  • Resolve case insensitive sorting issues. Props @allan23.
  • Escaping per VIP standards. Props @jasonbahl.
  • WooCommerce post type warnings.

2.3.2 - 2017-06-30

Fixed

  • Broken upgrade sync notification.
  • Cache ES plugins request. This is super important. Instead of checking the status of ES on every page load, do it every 5 minutes. If ES isn't available, show admin notification that allows you to retry the host.

2.3.1 - 2017-06-29

Notice

  • This requires a re-index if you are using the WooCommerce feature.

Fixed

2.3 - 2017-05-26

Overview

  • Version 2.3 introduces the Documents feature which indexes text inside of popular file types, and adds those files types to search results. We've also officially added support for Elasticsearch 5.3.

Added

  • Documents feature
  • Enable multiple feature status messages
  • Disable dashboard sync via constant: define( 'EP_DASHBOARD_SYNC', false );. Props @rveitch.
  • Filter for custom WooCommerce taxonomies. Props @kallehauge.
  • Support WooCommerce product_type taxonomy. Props @kallehauge.

Fixed

  • WP-CLI --no-bulk number of posts indexed message. Props i@vankristianto.
  • Honor ep_integrate in WooCommerce queries. Props @ivankristianto.
  • Properly check when ES results are empty. Props @lukaspawlik
  • Incorrect found_posts set in query when ES is unavailable. Props @lukaspawlik

2.2.1 - 2017-03-30

Added

  • EP_INDEX_PREFIX constant. If set, index names will be prefixed with the constant. Props @allan23.
  • Increase total field limit to 5000 and add filter. Props @ssorathia.
  • Increase max result window size to 1000000 and add filter.

Removed

  • operator=>AND unneed execution code.

Fixed

  • Dashboard syncing delayed start issues.
  • If plugins endpoint errors, try root endpoint to get the ES version.
  • Make sure orderby is correct for default WooCommerce sorting. Props @ivankristianto.
  • Stop dashboard sync if error occurs in the middle. Props @ivankristianto.
  • Prevent EP from auto-activating a feature that was force deactivated
  • Prevent massive field Elasticsearch error when indexing large strings

2.2 - 2017-02-28

Notice

  • Requires re-index

Overview

  • Version 2.2 rethinks the module process to make ElasticPress a more complete query engine solution. Modules are now auto-on and really just features. Why would anyone want to not use amazing functionality that improves speed and relevancy on their website? Features (previously modules) can of course be overridden and disabled. Features that don't have their minimum requirements met, such as a missing plugin dependency, are auto-disabled.
  • We've bumped the minimum Elasticsearch version to 1.7 (although we strongly recommend 2+). The maximum tested version of Elasticsearch is version 5.2. If you are running Elasticsearch outside this version range, you will see a warning in the dashboard.

Added

  • (Breaking change) Module registration API changed. See register_module in classes/class-ep-modules.php.
  • (Breaking change) Related posts are now in a widget instead of automatically being appending to content.
  • (Breaking change) Admin module renamed to Protected Content.
  • Admin warning if current Elasticsearch version is not between the min/max supported version. Version 2.2 supports versions 1.3 - 5.1.
  • Auto-reindex on versions requiring reindex.
  • User friendly admin notifications for ElasticPress not set up, first sync needed, and feature auto activation.
  • Protected Content feature applies to all features. This means if Protected Content isn't active, search or WooCommerce integration won't happen in the admin.
  • Support for post_mime_type. Props @Ritesh-patel
  • 'number' param to satisfy WP v4.6+ fixing get_sites call. Props @rveitch

Fixed

  • Back compat with old ep_search function.
  • Respect indexable post types in WooCommerce feature
  • New product drafts not showing in WooCommerce admin list
  • WooCommerce feature breaking image search in media library. Props @Ritesh-patel
  • WooCommerce order search broken
  • Stop the insansity made private. Props @sc0ttclark
  • Multidimensional meta queries. Props @Ritesh-patel.
  • Properly show bulk index errors in WP-CLI
  • Update ep_delete_post, include $post_type argument. Props @Ritesh-patel
  • post_type product getting set in any WP_Query if tax_query is provided in WooCommerce feature. Props @Ritesh-patel
  • Order by proper relevancy in WooCommerce product search. Props @ivankristianto
  • Recursion fatal error due to oembed discovery during syncing. Props @ivankristianto

2.1.2 - 2016-11-11

Notice

  • Requires re-index

Changed

  • Separate mapping for ES 5.0+

Fixed

  • Unit tests

2.1.1 - 2016-09-29

Fixed

  • PHP 5.3 errors
  • Properly show syncing button module placeholder during sync

2.1 - 2016-09-20

Backcompat breaks

  • Move ep_admin_wp_query_integration to search integration only. EP integration by default is available everywhere.
  • Remove keep alive setting
  • Remove setting to integrate with search (just activate the module instead)
  • Back up hosts code removed
  • Remove active/inactive state. Rather just check if an index is going on our not.

Added

  • Support meta_key and meta_value
  • Order by meta_value_num
  • Search scope file. Props @rveitch
  • Support WP_Query post_status. Props @sc0ttclark

Changed

  • Redo UI
  • Make plugin modular
  • Bundle existing modules into plugin

Removed

  • Remove unnecessary back up hosts code

Fixed

  • Properly support post_parent = 0. Props @tuanmh
  • post__in support
  • paged overwriting offset
  • Integer and comma separated string sites WP_Query processing. Props @jaisgit.

2.0.1 - 2016-08-02

Fixed

  • Don't load settings on front end. This fixes a critical bug causing ElasticPress to check the Elasticsearch connection on the front end.

2.0 - 2016-06-01

Overview

  • 10up ships ElasticPress 2.0 with radical search algorithm improvements and a more comprehensive integration of WP_Query. ElasticPress is now even closer to supporting the complete WP_Query API. This version also improves upon post syncing ensuring that post meta updates are synced to Elasticsearch, adds a number of important hooks, and, of course, fixes some pesky bugs.
  • A special thanks goes out to Tuan Minh Huynh and everyone else for contributions to version 2.0.

Added

  • Radical search algorithm improvements for more relevant results (see #508 for details)
  • Support meta BETWEEN queries.
  • Support OR relation for tax queries.
  • Sync post to Elasticsearch when meta is added/updated.
  • Support all taxonomies as root WP_Query arguments. Props @tuanmh
  • ID field to Elasticsearch mapping
  • Support post_parent WP_Query arguments. Props @tuanmh
  • Filter to disable printing of post index status. Props @tuanmh
  • Useful CLI hooks
  • Filter to bypass permission checking on sync (critical for front end updates)

Changed

  • Improve GUI by disabling index status meta box text and improving instructions. Props @ivanlopez

Fixed

  • Consider all remote request 20x responses as successful. Props @tuanmh
  • Plugin localization. Props @mustafauysal
  • Do query logging by default. Props @lukaspawlik
  • Cannot redeclare class issue. Props @tuanmh
  • Double querying Elasticsearch by ignoring category_name when tax_query is present.
  • Post deletion endpoint URL. Props @lukaspawlik

1.9.1 - 2016-05-23

Fixed

  • GUI not working properly when plugin is not network enabled within multisite. Props @ivanlopez

1.9 - 2016-05-17

Overview

  • ElasticPress 1.9 adds in an admin UI, where you can set your Elasticsearch Host and run your index command, without needing to us WP-CLI. Version 1.9 also adds in some performance improvements to reduce memory consumption during indexing. Full list of enhancements and bug fixes:

Added

  • Admin GUI to handle indexing. Props @ChrisWiegman.
  • Option to not disable ElasticPress while indexing. Props @lukaspawlik.
  • Allow filtering of which post types we want to search for. Props @rossluebe.
  • Ensure both PHPUnit and WP-CLI are available in the development environment. Props @ChrisWiegman.
  • User lower-case for our composer name, so packagist can find us. Props @johnpbloch.
  • Check query_vars, not query to determine status. Props @ChrisWiegman.
  • Further reduce memory usage during indexing. Props @lukaspawlik.
  • post__in and post__not_in documentation. Props @mgibbs189.
  • Elasticsearch Shield authentication headers if constant is set. Props @rveitch.

Changed

  • Improve memory usage during indexing and fix unnecessary cache flushes. Props @cmmarslender.

Removed

Fixed

1.8 (Mapping change, requires reindex) - 2016-01-19

Overview

  • ElasticPress 1.8 adds a bunch of mapping changes for accomplishing more complex WP_Query functions such as filtering by term id and sorting by any Elasticsearch property. Version 1.8 also speeds up post syncing dramatically through non-blocking queries. Full list of enhancements and bug fixes:

Added

  • Filter around the search fuzziness argument. Props @dkotter.
  • Make post indexing a non-blocking query. Props @cmmarslender.
  • Log queries for debugging. Makes ElasticPress Debug Bar plugin possible.
  • Make posts_per_page = -1 possible.
  • Support term id and name tax queries.
  • raw/sortable to property to term mapping. Props @sc0ttkclark
  • raw/sortable property to meta mapping. Props @sc0ttkclark
  • raw/sortable to author display name and login

Fixed

  • Post deletion. Props @lukaspawlik.
  • Properly flush cache with wp_cache_flush. Props @jstensved
  • When directly comparing meta values in a meta query, use the raw property instead of value.
  • Support arbitrary document paths in orderby. Props @sc0ttkclark.

1.7 (Mapping change, requires reindex) - 2015-12-11

Overview

  • ElasticPress 1.7 restructures meta mapping for posts for much more flexible meta queries. The post_meta Elasticsearch post property has been left for backwards compatibility. As of this version, post meta will be stored in the meta Elasticsearch property. meta is structured as follows:
  • When querying posts, you will get back meta.value. However, if you plan to mess with the new post mapping, it's important to understand the intricacies.
  • The real implications of this is in meta_query. You can now effectively search by meta types. See the new section in README.md for details on this.

Added

  • meta.value (string)
  • meta.raw (unanalyzed string)
  • meta.long (unanalyzed number)
  • meta.double (unanalyzed number)
  • meta.boolean (unanalyzed number)
  • meta.date (unanalyzed yyyy-MM-dd date)
  • meta.datetime (unanalyzed yyyy-MM-dd HH:mm:ss datetime)
  • time (unanalyzed HH:mm:ss time)
  • Index posts according to post type. Props @sc0ttkclark

Fixed

  • Prevent missed post indexing when duplicate post dates. Props @lukaspawlik
  • Complex meta types are automatically serialized upon storage.

1.6.2 - 2015-11-12

Notice

  • Mapping change, requires reindex

Overview

  • ElasticPress 1.6.2 fixes ALL backwards compatibility issues with Elasticsearch 2.0

Changed

  • Uses string instead of array for post type term when there is only one term.

Removed

  • fuzzy_like_this query and uses multi_match instead.

1.6.1 - 2015-11-09

Notice

  • Mapping change, requires reindex

Overview

  • ElasticPress 1.6.1 fixes mapping backwards compatibility issues with Elasticsearch 2.0:

Removed

  • Fields field type from object typed fields as they should be called properties.
  • Path from object field types.

1.6 - 2015-08-31

Overview

  • ElasticPress 1.6 contains a number of important enhancements and bug fixes. Most notably, we now support Elasticsearch fallback hosts and the indexing of attachments.

Added

  • Blog id to ep_index_name filter. Props @kovshenin
  • Support post caching in search
  • Recursive term indexing for heirarchal taxonomies. Props @tuanmh
  • Enable indexing of attachments
  • Support fallback hosts in case main EP host is unavailable. Props @chriswiegman
  • ep_retrieve_the_post filter to support relevancy score manipulation. Props @matthewspencer
  • Make search results filterable. Props @chriswiegman

Fixed

  • Clean up PHP Code Sniffer errors. Props @chriswiegman
  • Properly document Elasticsearch version
  • Abide by exclude_from_search instead of public when indexing post types. Props @allan23 and @ghosttoast.
  • Allow posts to be indexed with invalid date values. Props @tuanmh
  • Support ep_post_sync_kill filter in bulk indexing. Props @Stayallive

1.5.1 - 2015-07-06

Fixed

  • Prevent notices from being thrown when non-existent index properties are accessed. This was happening for people how upgraded to 1.5 without doing a re-index. Props @allan23

1.5 - 2015-06-25

Added

  • Support for category_name WP_Query parameter. Props @ocean90
  • Support limiting sites in network wide commands. Props @bordoni
  • Support for method to un-integrate WP_Query. Props @kingkool68
  • Support cache_results in WP_Query
  • Action prior to starting WP-CLI index command
  • Missing headers to WP_CLI commands. Props @chriswiegman
  • Improve error reporting in bulk indexing during bad ES requests.
  • Filter to modify request headers. Props @tuanmh
  • Prevent bulk index from sending useless error emails. Props @cmmarslender
  • --offset parameter to cli indexing command. Stayallive
  • Support like query in post meta. Props @tuanmh
  • Sanitization fixes for PHPCS. Props @mphillips
  • Filter to set default sort order. Props @HKandulla
  • MySQL DB completely removed from integrated ElasticPress WP Query. Props @EduardMaghakyan and @crebacz

Changed

Fixed

1.4 - 2015-05-18

Added

  • date_query and date parameters now supported in WP_Query. Props @joeyblake and @eduardmaghakyan
  • Make all request headers filterable
  • EP API key to all requests as a header if a constant is defined. Props @zamoose
  • Index exists function; remove indexes on blog deletion/deactivation. Props @joeyblake
  • Refactor wp-cli stats for multisite. Props @jaace
  • Index mappings array moved to separate file. Props @mikaelmattsson
  • Support meta inequality comparisons. Props @psorensen

Removed

  • Default shard and indices configuration numbers but maintain backwards compatibility. Props @zamoose

Fixed

1.3.1 - 2015-04-09

Added

  • Support date in WP_Query orderby. Props @psorensen

1.3 - 2015-02-03

Added

  • Support meta_query in WP_Query integration
  • Improved documentation. Each WP-CLI command has been documented
  • elasticsearch property to global post object to assist in debugging
  • ep_integrate param added to allow for WP_Query integration without search. (Formally called ep_match_all)
  • Filter added for post statuses (defaults to publish). Change the sync mechanism to make sure it takes all post statuses into account. Props @jonathanbardo

Fixed

  • Check if failed post exists in indexing. Props @elliot-stocks
  • Properly check if setup is defined in indexing. Props @elliot-stocks
  • Add WP_Query integration on init rather than plugins loaded. Props @adamsilverstein
  • Properly set global post object post type in loop. Props @tott
  • Do not check if index exists on every page load. Refactor so we can revert to MySQL after failed ES ping.
  • Make sure we check is_multisite() if --network-wide is provided. Props @ivankruchkoff
  • Abide by the exclude_from_search flag from post type when running search queries. Props @ryanboswell
  • Correct mapping of post_status to not_analyzed to allow for filtering of the search query (will require a re-index). Props @jonathanbardo

1.2 - 2014-12-05

Added

  • Allow number of shards and replicas to be configurable.
  • Filter and disable query integration on a per query basis.
  • Support orderbyparameter inWP_Query

Changed

  • Improved searching algorithm. Favor exact matches over fuzzy matches.
  • Query stack implementation to allow for query nesting.
  • Delete action to action_delete_post instead of action_trash_post
  • Improve unit testing for query ordering.

Removed

  • _boost from mapping. _boost is deprecated by Elasticsearch.

Fixed

  • We don't want to add the like_text query unless we have a non empty search string. This mimcs the behavior of MySQL or WP which will return everything if s is empty.

1.1 - 2014-10-27

Added

  • Add support for post_title and post_name orderby parameters in WP_Query integration. Add support for order parameters.

Changed

  • Refactored is_alive, is_activated, and is_activated_and_alive. We now have functions is_activated, elasticsearch_alive, index_exists, and is_activated. This refactoring helped us fix #150.

1.0 - 2014-10-20

Added

  • Support search_fields parameter. Support author, title, excerpt, content, taxonomy, and meta within this parameter.
  • Check for valid blog ids in index names
  • sites WP_Query parameter to allow for search only on specific blogs

Changed

  • Move all management functionality to WP-CLI commands
  • Disable sync during import
  • Improved bulk error handling
  • Improved unit test coverage

Removed

  • Remove ES_Query and support everything through WP_Query
  • ep_last_synced meta
  • Syncing taxonomy

0.9.3 - 2014-09-26

Added

  • Better documentation surrounding WP_Query parameters (props @tlovett1)
  • Option to allow for using match_all (props @colegeissinger for suggestion)
  • Better tests for some WP_Query parameters (props @tlovett1)
  • Allow for manual control over search integration
  • Support for passing an array of sites to search against (props @tlovett1)
  • Filter for controlling whether or not ElasticPress is enabled during a wp_query request
  • Filter to allow adjusting which fields are searched (ep_search_fields)

Changed

  • Prevented filtering WP_Query in admin (props @cmmarslender)
  • Updated tests to better conform to WordPress repo 5.2 compatibility (props @tlovett1)
  • Made running re-indexing commands simpler and easier by adding support for a new --setup flag on the index command
  • Disable search integration during syncing

Fixed

  • Bug that would cause a post to stay in the index when a post was unpublished
  • Bug that would cause site to be improperly switched after a wp_reset_postdata while not in the loop
  • Bug that would cause EP to individually sync each post during an import - disabled syncing during import - requires a full re-index after import

0.9.2 - 2014-09-11

Added

  • Wrapper method for wp_get_sites, added filter
  • Ability to change scope of search to other sites in network
  • tax_query support.

Changed

  • Aggregation filter update

0.9.1 - 2014-09-05

Added

  • Action to allow for retrieval of raw response
  • Filter to retrieve aggregations
  • Pagination tests
  • ep_min_similarity and ep_formatted_args filters
  • ep_search_fields filter for adding custom search fields
  • Filter to allow for specific site selection on multisite indexing

Changed

  • Adjust default fuzziness to .75 instead of .5

Removed

  • Main query check on ep wp query integration

0.9 - 2014-09-03

Added

  • Make labels clickable in admin
  • Setup plugin textdomain; POT file for translation; localize stray string in cron
  • Tests for is_alive function
  • search_meta key param support to ES_Query
  • Test WP Query integration on multisite setup
  • Flush and re-put mapping on admin sync request
  • WP Query integration

Changed

  • Simplify sync
  • do_scheduled_syncs into do_syncs
  • Make config files static

Removed

  • EP hidden taxonomy

Fixed

  • Cron stuff
  • Statii
  • Type coercion in equality checks

0.1.2 - 2014-06-27

Added

  • Support ES_Query parameter that designates post meta entries to be searched
  • Escape post ID and site ID in API calls
  • Additional tests
  • Translation support
  • is_alive function for checking health status of Elasticsearch server

Changed

  • Only index public taxonomies
  • Renamed statii to status

Fixed

  • Escaping issues

0.1.0 - Unknown

  • Initial plugin release