PluginProbe
ElasticPress / 5.3.5
ElasticPress v5.3.5
5.3.5 5.3.4 3.6.5 3.6.6 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 5.0.0 5.0.1 5.0.2 All 108 releases
← All changes | readme.txt +376 -1244 4.2.1 → 5.3.5 View file →
@@ -1,11 +1,11 @@
1 1 === ElasticPress ===
2 -Contributors: 10up, tlovett1, vhauri, tott, oscarssanchez, cmmarslender
3 -Tags: performance, slow, search, elasticsearch, fuzzy, facet, aggregation, searching, autosuggest, suggest, elastic, advanced search, woocommerce, related posts, woocommerce
4 -Tested up to: 6.0
5 -Stable tag: 4.2.1
2 +Contributors: 10up, tlovett1, vhauri, tott, felipeelia, oscarssanchez, cmmarslender
3 +Tags: performance, search, elasticsearch, fuzzy, related posts
4 +Tested up to: 7.1
5 +Stable tag: 5.3.5
6 6 License: GPLv2 or later
7 -License URI: http://www.gnu.org/licenses/gpl-2.0.html
7 +License URI: https://www.gnu.org/licenses/gpl-2.0.html
8 8
9 9 A fast and flexible search and query engine for WordPress.
10 10
11 11 == Description ==
@@ -16,9 +16,9 @@
16 16 __Search__: Instantly find the content you’re looking for. The first time.
17 17
18 18 __Instant Results__: A built for WordPress search experience that bypasses WordPress for optimal performance. Instant Results routes search queries through a dedicated API, separate from WordPress, returning results up to 10x faster than previous versions of ElasticPress.
19 19
20 -__WooCommerce__: “I want a cotton, woman’s t-shirt, for under $15 that’s in stock.” Faceted product browsing strains servers and increases load times. Your buyers can find the perfect product quickly, and buy it quickly.
20 +__WooCommerce__: With ElasticPress, filtering WooCommerce product results is fast and easy. Your customers can find and buy exactly what they're looking for, even if you have a large or complex product catalog.
21 21
22 22 __Related Posts__: ElasticPress understands data in real time, so it can instantly deliver engaging and precise related content with no impact on site performance.
23 23
24 24 __Protected Content__: Optionally index all of your content, including private and unpublished content, to speed up searches and queries in places like the administrative dashboard.
@@ -26,12 +26,10 @@
26 26 __Documents__: Indexes text inside of popular file types, and adds those files types to search results.
27 27
28 28 __Autosuggest__: Suggest relevant content as text is entered into the search field.
29 29
30 -__Facets__: Add controls to your website to filter content by one or more taxonomies.
30 +__Filters__: Add controls to your website to filter content by one or more taxonomies.
31 31
32 -__Users__: Improve user search relevancy and query performance.
33 -
34 32 __Comments__: Indexes your comments and provides a widget with type-ahead search functionality. It works with WooCommerce product reviews out-of-the-box.
35 33
36 34 == Frequently Asked Questions ==
37 35
@@ -44,9 +42,9 @@
44 42 If circumstances prevent the use of a SaaS solution like ElasticPress.io, we can also provide [consulting](https://www.elasticpress.io/elasticpress-consulting/) around installation and configuration of custom Elasticsearch instances.
45 43
46 44 = Where can I find ElasticPress documentation and user guides? =
47 45
48 -Please refer to [GitHub](https://github.com/10up/ElasticPress) for detailed usage instructions and documentation. FAQs and tutorials can be also found on our [support site](https://elasticpress.zendesk.com/hc/en-us).
46 +Please refer to [GitHub](https://github.com/10up/ElasticPress) for detailed usage instructions and documentation. FAQs and tutorials can be also found on our [support site](https://www.elasticpress.io/documentation/).
49 47
50 48 = I have a problem with the plugin. Where can I get help? =
51 49
52 50 If you have identified a bug or would like to suggest an enhancement, please refer to our [GitHub repo](https://github.com/10up/ElasticPress). We do not provide support here at WordPress.org forums.
@@ -52,11 +50,15 @@
52 50 If you have identified a bug or would like to suggest an enhancement, please refer to our [GitHub repo](https://github.com/10up/ElasticPress). We do not provide support here at WordPress.org forums.
53 51
54 52 If you are an ElasticPress.io customer, please open a ticket in your account dashboard. If you need a custom solution, we also offer [consulting](https://www.elasticpress.io/elasticpress-consulting/).
55 53
54 += Where do I report security bugs? =
55 +
56 +You can report any security bugs found in the source code of ElasticPress through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/elasticpress). The Patchstack team will assist you with verification, CVE assignment and take care of notifying the developers of this plugin.
57 +
56 58 = Is ElasticPress compatible with OpenSearch or Elasticsearch X.Y? =
57 59
58 -ElasticPress requirements can be found in the [Requirements section](https://github.com/10up/ElasticPress#requirements) of our GitHub repository. If your solution relies on a different server or version, you may find additional information on our [Compatibility documentation page](https://10up.github.io/ElasticPress/tutorial-compatibility.html).
60 +ElasticPress requirements can be found in the [Requirements section](https://github.com/10up/ElasticPress#requirements) of our GitHub repository. If your solution relies on a different server or version, you may find additional information on our [Compatibility documentation page](https://www.elasticpress.io/resources/articles/compatibility/).
59 61
60 62 = I really like ElasticPress! Can I contribute? =
61 63
62 64 For sure! Feel free to submit ideas or feedback in general to our [GitHub repo](https://github.com/10up/ElasticPress). If you can, also consider sending us [a review](https://wordpress.org/support/plugin/elasticpress/reviews/#new-post).
@@ -76,1393 +78,523 @@
76 78 5. Instant Results modal
77 79
78 80 == Changelog ==
79 81
80 -= 4.2.1 - 2022-06-28 =
82 += 5.3.5 - 2026-09-10 =
81 83
82 -This is a bug fix release.
84 +**This is a security release** addressing two issues in specific configurations:
83 85
84 -__Added:__
86 +* **Protected Content:** If the feature is active, Authors filtering the admin list by private status could see other authors' private posts.
87 +* **Comments:** If the feature is active and the site has password-protected posts, anonymous comment search could return those comments.
85 88
86 -* Server type/software detection and warning. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
87 -* Coverage of E2E tests for the activate-feature command. Props [@burhandodhy](https://github.com/burhandodhy).
88 -
89 -__Changed:__
90 -
91 -* Sync button `title` attribute. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
92 -* `npm run build:zip` to use `git archive`. Props [@felipeelia](https://github.com/felipeelia).
93 -
94 89 __Fixed:__
95 90
96 -* Fatal error related to WP-CLI timers on long-running syncs. Props [@felipeelia](https://github.com/felipeelia) and [@przestrzal](https://github.com/przestrzal).
97 -* Uncaught TypeError on the Settings Page. Props [@burhandodhy](https://github.com/burhandodhy).
98 -* Meta values that are not dates converted into date format. Props [@burhandodhy](https://github.com/burhandodhy), [@oscarssanchez](https://github.com/oscarssanchez), [@tott](https://github.com/@tott), and [@felipeelia](https://github.com/felipeelia).
99 -* An issue where feature settings could be saved during a sync. Props [@JakePT](https://github.com/JakePT).
100 -* Admin menu bar items are not clickable when instant results popup modal is activated. Props [@MARQAS](https://github.com/MARQAS) and [@JakePT](https://github.com/JakePT).
101 -* Facet block wrongly available in the post editor. Props [@oscarssanchez](https://github.com/oscarssanchez).
102 -* Show Facet widgets on taxonomy archives. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
103 -* Meta queries with 'exists' as compare operator and empty meta values handling. Props [@burhandodhy](https://github.com/burhandodhy).
104 -* Sync interruption message always mentioning ElasticPress.io. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
105 -* An issue where the Related Posts block would display the wrong posts in the preview when added inside a Query Loop block. Props [@JakePT](https://github.com/JakePT).
106 -* E2e tests for the Facets feature. Props [@felipeelia](https://github.com/felipeelia).
107 -* Intermittent error on GitHub Actions using the latest node 16 version. Props [@felipeelia](https://github.com/felipeelia).
91 +* Prevent an array-to-string conversion warning in Custom Search Results when post terms are not a string. Props [@burhandodhy](https://github.com/burhandodhy) and [@leedxw](https://github.com/leedxw).
108 92
109 -= 4.2.0 - 2022-05-26 =
93 +__Security:__
110 94
111 -ElasticPress 4.2.0 fixes some bugs and introduces some new and exciting changes.
95 +* Prevent an explicit private-status filter in the admin post list from exposing other authors' private posts, including custom private statuses, to users without `read_private_posts`. Props [@Zyy0530](https://github.com/Zyy0530), [@lzhou1110](https://github.com/lzhou1110), [@Str1ckl4nd](https://github.com/Str1ckl4nd), [@mauriceng98](https://github.com/mauriceng98), [@7thParkk](https://github.com/7thParkk), [@felipeelia](https://github.com/felipeelia), and [@jeffpaul](https://github.com/jeffpaul).
96 +* Prevent the Comments REST search from disclosing approved comments on password-protected posts to unauthenticated visitors. Props [@mrglwglwgl](https://github.com/mrglwglwgl) and [@felipeelia](https://github.com/felipeelia).
97 +* Bumped `postcss-selector-parser` from 7.1.0 to 7.1.5. Props [@dependabot](https://github.com/dependabot).
98 +* Bumped `fast-uri` from 3.1.5 to 3.1.7. Props [@dependabot](https://github.com/dependabot).
112 99
113 -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.
100 +__Developer:__
114 101
115 -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.
102 +* Update `@wordpress/env` from 11.13.0 to 11.15.0. Props [@felipeelia](https://github.com/felipeelia).
116 103
117 -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.
104 += 5.3.4 - 2026-08-27 =
118 105
119 106 __Added:__
120 107
121 -* E2e tests for the Facets feature. Props [@felipeelia](https://github.com/felipeelia).
122 -* `$post_args` and `$post_id` to the `ep_pc_skip_post_content_cleanup` filter. Props [@felipeelia](https://github.com/felipeelia) and [@ecaron](https://github.com/ecaron).
123 -* New filter `ep_integrate_search_queries`. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
124 -* New `get-last-sync` WP-CLI command. Props [@felipeelia](https://github.com/felipeelia).
125 -* Facet block (previously only available as a widget.) Props [@felipeelia](https://github.com/felipeelia).
126 -* New `_variations_skus` field to WooCommerce products. Props [@felipeelia](https://github.com/felipeelia), [@kallehauge](https://github.com/kallehauge), and [@lukaspawlik](https://github.com/lukaspawlik).
127 -* Support for ordering Users by `user_registered` and lowercase `id`. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
128 -* New filter `ep_sync_number_of_errors_stored`. Props [@felipeelia](https://github.com/felipeelia), [@tott](https://github.com/tott) and [@JakePT](https://github.com/JakePT).
108 +* `ep_instant_results_excluded_post_types` filter to exclude post types from Instant Results facets and search results. Props [@Sidsector9](https://github.com/Sidsector9) and [@feliciaoctocog](https://github.com/feliciaoctocog).
109 +* `ep_instant_results_excluded_term_ids` filter to exclude taxonomy terms from Instant Results facets. Props [@Sidsector9](https://github.com/Sidsector9) and [@feliciaoctocog](https://github.com/feliciaoctocog).
129 110
130 111 __Changed:__
131 112
132 -* Facets widgets rendered by a separate class. Props [@felipeelia](https://github.com/felipeelia).
133 -* Deprecated `ElasticPress\Feature\Facets\Widget::get_facet_term_html()` in favor of `ElasticPress\Feature\Facets\Renderer::get_facet_term_html()`. Props [@felipeelia](https://github.com/felipeelia).
134 -* Log errors and remove indexing status on failed syncs. Props [@felipeelia](https://github.com/felipeelia).
135 -* Refactored Sync page JavaScript. Props [@JakePT](https://github.com/JakePT).
136 -* Updated admin scripts to use WordPress's version of React. Props [@JakePT](https://github.com/JakePT).
137 -* WooCommerce products list in the Dashboard now properly leverages ElasticPress. Props [@felipeelia](https://github.com/felipeelia).
138 -* Removed Instant Results' dependency on `@wordpress/components` and `@wordpress/date`. Props [@JakePT](https://github.com/JakePT) and [@felipeelia](https://github.com/felipeelia).
139 -* (Protected Content) Password-protected posts are only hidden on searches. Props [@felipeelia](https://github.com/felipeelia), [@JakePT](https://github.com/JakePT), and [@burhandodhy](https://github.com/burhandodhy).
140 -* The plugin is now available via Composer without any additional steps required. Props [@felipeelia](https://github.com/felipeelia), [@jeffpaul](https://github.com/jeffpaul), and [@johnbillion](https://github.com/johnbillion).
113 +* Hide the Subscription Token value in the Settings page. Props [@faisalahammad](https://github.com/faisalahammad) and [@felipeelia](https://github.com/felipeelia).
141 114
142 115 __Fixed:__
143 116
144 -* WP-CLI parameters documentation. Props [@felipeelia](https://github.com/felipeelia).
145 -* Full indices removal after e2e tests. Props [@felipeelia](https://github.com/felipeelia) and [@dustinrue](https://github.com/dustinrue).
146 -* Usage of the `$return` parameter in `Feature\RelatedPosts::find_related()`. Props [@felipeelia](https://github.com/felipeelia) and [@altendorfme](https://github.com/altendorfme).
147 -* Link to API Functions under the Related Posts feature -> Learn more. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
148 -* Sync of WooCommerce Orders fields when WooCommerce and Protected Content features are enabled. Props [@felipeelia](https://github.com/felipeelia) and [@ecaron](https://github.com/ecaron).
149 -* An issue where selecting no features during install would just cause the install page to reload without any feedback. Props [@JakePT](https://github.com/JakePT) and [@tlovett1](https://github.com/tlovett1).
150 -* An issue where deselecting a feature during install would not stop that feature from being activated. Props [@JakePT](https://github.com/JakePT).
151 -* Add the missing text domain for the Related Posts block. Props [@burhandodhy](https://github.com/burhandodhy).
152 -* Console error when hitting enter on search inputs with autosuggest. Props [@burhandodhy](https://github.com/burhandodhy), [@felipeelia](https://github.com/felipeelia), and [@MarijnvSprundel](https://github.com/MarijnvSprundel).
153 -* An issue where attribute selectors could not be used for the Autosuggest Selector. Props [@JakePT](https://github.com/JakePT) and [@oscarssanchez](https://github.com/oscarssanchez).
154 -* "Time elapsed" and "Total time elapsed" in WP-CLI index command. Props [@felipeelia](https://github.com/felipeelia) and [@archon810](https://github.com/archon810).
155 -* Sync process with skipped objects. Props [@juliecampbell](https://github.com/juliecampbell) and [@felipeelia](https://github.com/felipeelia).
156 -* Typo in the sync page. Props [@JakePT](https://github.com/JakePT) and [@davidegreenwald](https://github.com/davidegreenwald).
157 -* WP-CLI index command without the `--network-wide` only syncs the main site. Props [@felipeelia](https://github.com/felipeelia) and [@colegeissinger](https://github.com/colegeissinger).
158 -* WP-CLI commands `get-mapping`, `get-indexes`, `status`, and `stats` only uses all sites' indices name when network activated. Props [@felipeelia](https://github.com/felipeelia) and [@colegeissinger](https://github.com/colegeissinger).
159 -* A bug where URL search parameters could be cleared when using Instant Results. Props [@JakePT](https://github.com/JakePT) and [@yashumitsu](https://github.com/yashumitsu).
160 -* Undefined index notice in Facets renderer. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
161 -* Prevent an unnecessary call when the ES server is not set yet. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
162 -* An incompatibility with the way WP 6.0 handles WP_User_Query using fields. Props [@felipeelia](https://github.com/felipeelia).
117 +* Correct WooCommerce Filter by Price results when the shop displays prices including tax. Props [@faisalahammad](https://github.com/faisalahammad), [@stefanmm](https://github.com/stefanmm), and [@burhandodhy](https://github.com/burhandodhy).
118 +* Prevent TypeError in Elementor template parsing when `_elementor_data` is an array. Props [@muhitasraf](https://github.com/muhitasraf).
119 +* Prevent ElasticPress from corrupting cached `WP_Post` objects by encoding meta and taxonomy values as JSON. Props [@burhandodhy](https://github.com/burhandodhy) and [@marc-kohde](https://github.com/marc-kohde).
120 +* Resolve translation warnings when generating the POT file. Props [@faisalahammad](https://github.com/faisalahammad).
121 +* Respect `ep_is_facetable` false to disable faceting on queries. Props [@burhandodhy](https://github.com/burhandodhy) and [@dmitrijCraq](https://github.com/dmitrijCraq).
122 +* Prevent `max_num_pages` from becoming negative when `posts_per_page` is -1. Props [@burhandodhy](https://github.com/burhandodhy) and [@dmitrijCraq](https://github.com/dmitrijCraq).
123 +* Guard `Utils\get_site()` and `is_site_indexable()` against non-existent site IDs. Props [@thisismyurl](https://github.com/thisismyurl).
124 +* Prevent WooCommerce `product_visibility` tax queries from forcing product-only site search results. Props [@ZacharyRener](https://github.com/ZacharyRener).
125 +* Disable `cache_results` for cross-site queries (`site__in`, `site__not_in`, or `ep_search_scope` set to `all`) and when a persistent object cache is in use. The posts cache is per-blog and keyed by post ID only, so a later `get_post()` for a local ID could return another site's content. Props [@burhandodhy](https://github.com/burhandodhy) and [@dannyreaktiv](https://github.com/dannyreaktiv).
126 +* Guard the `post_author` read in `format_hits_as_posts()`, preventing PHP warnings and a fatal error when the field is missing or malformed in an Elasticsearch hit. Props [@freibergergarcia](https://github.com/freibergergarcia).
127 +* Load React admin screens and Instant Results on WordPress 6.2 by registering the `react-jsx-runtime` script handle that 10up-toolkit requires and WordPress only ships from 6.6. Props [@felipeelia](https://github.com/felipeelia).
128 +* Prevent a WordPress 7.1 deprecation warning by using the `help` prop instead of `__experimentalShowHowTo` on FormTokenField. Props [@burhandodhy](https://github.com/burhandodhy).
129 +* Fix the Features page notice layout on WordPress 7.1. Props [@burhandodhy](https://github.com/burhandodhy).
130 +* Update ElasticPress.io article URLs to the `/resources/articles/` path. Props [@burhandodhy](https://github.com/burhandodhy).
163 131
164 132 __Security:__
165 133
166 -* Bumped `moment` from 2.29.1 to 2.29.2. Props [@dependabot](https://github.com/dependabot).
167 -* Bumped `@wordpress/env` from 4.4.0 to 4.5.0. Props [@felipeelia](https://github.com/felipeelia).
134 +* Bumped `react-router` from 7.14.1 to 7.18.2. Props [@dependabot](https://github.com/dependabot).
135 +* Bumped `uuid` from 11.0.5 to 14.0.0. Props [@dependabot](https://github.com/dependabot).
136 +* Bumped `@babel/plugin-transform-modules-systemjs` from 7.25.9 to 7.29.4. Props [@dependabot](https://github.com/dependabot).
137 +* Bumped `fast-uri` from 3.0.3 to 3.1.5. Props [@dependabot](https://github.com/dependabot).
138 +* Bumped `postcss` from 8.4.49 to 8.5.25. Props [@dependabot](https://github.com/dependabot).
139 +* Bumped `webpack-dev-server` from 5.2.3 to 5.2.6. Props [@dependabot](https://github.com/dependabot).
140 +* Bumped `esbuild` from 0.28.0 to 0.28.1. Props [@dependabot](https://github.com/dependabot).
141 +* Bumped `immutable` from 5.1.5 to 5.1.9. Props [@dependabot](https://github.com/dependabot).
142 +* Bumped `launch-editor` from 2.13.2 to 2.14.1. Props [@dependabot](https://github.com/dependabot).
143 +* Bumped `linkify-it` from 5.0.0 to 5.0.2. Props [@dependabot](https://github.com/dependabot).
144 +* Bumped `markdown-it` from 14.1.1 to 14.3.0. Props [@dependabot](https://github.com/dependabot).
145 +* Bumped `qs` from 6.14.2 to 6.15.3. Props [@dependabot](https://github.com/dependabot).
146 +* Bumped `svgo` from 3.3.3 to 3.3.4. Props [@dependabot](https://github.com/dependabot).
147 +* Bumped `ws` from 8.20.0 to 8.21.2 and from 7.5.10 to 7.5.13. Props [@dependabot](https://github.com/dependabot).
148 +* Bumped `websocket-driver` from 0.7.4 to 0.7.5. Props [@dependabot](https://github.com/dependabot).
168 149
169 -= 4.1.0 - 2022-04-05 =
150 +__Developer:__
170 151
152 +* Spell-checking with `crate-ci/typos` in CI. Props [@szepeviktor](https://github.com/szepeviktor), [@felipeelia](https://github.com/felipeelia), and [@Sidsector9](https://github.com/Sidsector9).
153 +* Add compatibility fixes for React 19. Props [@ZacharyRener](https://github.com/ZacharyRener) and [@Sidsector9](https://github.com/Sidsector9).
154 +* Fix tests and tooling for WordPress 7.0 and updated GitHub token formats. Props [@ZacharyRener](https://github.com/ZacharyRener).
155 +* Update `10up-toolkit` to 7.0.0-next.1, `@wordpress/env` to 11, and Node to 24. Props [@felipeelia](https://github.com/felipeelia).
156 +* Overhaul the e2e environment: a single wp-env install, Makefile targets and a gitignored `.env`, a cached database, one Playwright worker, and expanded docs. Props [@felipeelia](https://github.com/felipeelia).
157 +
158 += 5.3.3 - 2026-05-07 =
159 +
171 160 __Added:__
172 161
173 -* Utility command to create zip packages: `npm run build:zip`. Props [@felipeelia](https://github.com/felipeelia).
174 -* E2e tests for the Synonyms feature. Props [@felipeelia](https://github.com/felipeelia).
175 -* `generate_mapping()` to post and comment indexables. Props [@rebeccahum](https://github.com/rebeccahum).
176 -* `get_related_query()` to the `RelatedPosts` class. Props [@ayebare](https://github.com/ayebare).
177 -* New `--pretty` flag to the WP-CLI commands that output a JSON. Props [@felipeelia](https://github.com/felipeelia) and [@oscarssanchez](https://github.com/oscarssanchez).
178 -* Support for an array of aggregations in the `aggs` parameter of `WP_Query`. Props [@felipeelia](https://github.com/felipeelia) and [@oscarssanchez](https://github.com/oscarssanchez).
162 +* Numbered pagination option for Instant Results. Props [@ZacharyRener](https://github.com/ZacharyRener).
163 +* New elasticpress_general_ep_screens filter. Props [@felipeelia](https://github.com/felipeelia).
164 +* New ep_feature_requirements_status_* filters and a new "Temporarily disabled" feature status (in code). Props [@felipeelia](https://github.com/felipeelia).
179 165
180 166 __Changed:__
181 167
182 -* Refactored remaining admin scripts to remove jQuery as a dependency. Props [@JakePT](https://github.com/JakePT).
183 -* Generate Instant Results' search template as an anonymous user by default. Props [@JakePT](https://github.com/JakePT).
168 +* Optimize mb_strlen calls during sync process. Props [@kasparsd](https://github.com/kasparsd).
169 +* Saving feature settings now reflects feature dependencies without refreshing the page. Props [@ZacharyRener](https://github.com/ZacharyRener).
184 170
185 171 __Fixed:__
186 172
187 -* PHP warning Trying to access array offset on value of type int in `get_index_names()`. Props [@sun](https://github.com/sun).
188 -* Searches by WooCommerce Order ID. Props [@felipeelia](https://github.com/felipeelia).
189 -* Display and error message if syncing failed due to invalid JSON response from the server. Props [@dsawardekar](https://github.com/dsawardekar).
190 -* Better compatibility with PHP 8.1 by replacing the deprecated `FILTER_SANITIZE_STRING`. Props [@sjinks](https://github.com/sjinks).
191 -* `get_term_tree()` no longer infinite loops when parent ID is non-existent. Props [@rebeccahum](https://github.com/rebeccahum).
192 -* User search results include users who do not exist in the current site. Props [@tfrommen](https://github.com/tfrommen) and [@felipeelia](https://github.com/felipeelia).
193 -* Pagination while syncing Indexables other than Posts. Props [@felipeelia](https://github.com/felipeelia) and [@derringer](https://github.com/derringer).
194 -* Handle the output of an array of messages in sync processes. Props [@felipeelia](https://github.com/felipeelia).
195 -* Truthy values for the `'enabled'` field's attribute while using the `ep_weighting_configuration_for_search` filter. Props [@felipeelia](https://github.com/felipeelia) and [@moritzlang](https://github.com/moritzlang).
196 -* "Learn More" link on the Sync Page. Props [@felipeelia](https://github.com/felipeelia), [@JakePT](https://github.com/JakePT), and [@brandwaffle](https://github.com/brandwaffle).
197 -* Icons alignment in the WP Dashboard. Props [@jakemgold](https://github.com/jakemgold), [@felipeelia](https://github.com/felipeelia), [@brandwaffle](https://github.com/brandwaffle), and [@tlovett1](https://github.com/tlovett1).
173 +* Keep the sync running when code outputs directly in the post content. Props [@burhandodhy](https://github.com/burhandodhy), [@tomjn](https://github.com/tomjn), and [@felipeelia](https://github.com/felipeelia).
174 +* Prevent saving Custom Results while posts are loading. Props [@burhandodhy](https://github.com/burhandodhy).
175 +* Update label for bulk request timeout in ElasticPress status report. Props [@burhandodhy](https://github.com/burhandodhy).
176 +* Undefined array key warnings in Weighting.php. Props [@burhandodhy](https://github.com/burhandodhy) and [@BWBama85](https://github.com/BWBama85).
177 +* Ensure the Sync creates the Instant Results templates for all the sites. Props [@burhandodhy](https://github.com/burhandodhy) and [@anjulahettige](https://github.com/anjulahettige).
178 +* Ensure that WordPress caches the meta and term queries. Props [@burhandodhy](https://github.com/burhandodhy) and [@maciejmackowiak](https://github.com/maciejmackowiak).
179 +* An issue where posts were not returned correctly when the search term contained accented characters. Props [@burhandodhy](https://github.com/burhandodhy).
180 +* Prevent fatal error in Instant Results facets when `ep_facet_include_taxonomies` returns non-WP_Taxonomy values. Props [@laraib15](https://github.com/laraib15).
181 +* Instant Results displayed special characters as HTML encoded text. Props [@burhandodhy](https://github.com/burhandodhy) and [@wparslans](https://github.com/wparslans).
182 +* Error when trying to use queried object that doesn't exist. Props [@tomjn](https://github.com/tomjn) and [@ZacharyRener](https://github.com/ZacharyRener).
183 +* Only consider a feature active if not disabled by code. Props [@felipeelia](https://github.com/felipeelia).
184 +* Several typos. Props [@szepeviktor](https://github.com/szepeviktor) and [@felipeelia](https://github.com/felipeelia).
185 +* Query count in the basic status admin bar. Props [@Sidsector9](https://github.com/Sidsector9).
186 +* Settings notice layout on the settings page during sync in WordPress 7.0. Props [@burhandodhy](https://github.com/burhandodhy).
198 187
199 188 __Security:__
200 189
201 -* Bumped `node-forge` from 1.2.1 to 1.3.0. Props [@dependabot](https://github.com/dependabot).
202 -* Bumped` @wordpress/env` from 4.2.2 to 4.4.0, and `minimist` from 1.2.5 to 1.2.6. Props [@felipeelia](https://github.com/felipeelia).
190 +* Updated Node.js dependencies (including a webpack override) to address npm audit findings. Props [@felipeelia](https://github.com/felipeelia).
203 191
204 -= 4.0.1 - 2022-03-16 =
192 +__Developer:__
205 193
206 -**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.**
194 +* Ensure `ep_{$indexable->slug}_sync_kill` properly prevents object indexing during sync and post updates. Props [@burhandodhy](https://github.com/burhandodhy), [@felipeelia](https://github.com/felipeelia), and [@matthijsch](https://github.com/matthijsch).
195 +* Gracefully handle incorrect return types from `ep_admin_notices` filter callbacks. Props [@qudwill](https://github.com/qudwill), [@felipeelia](https://github.com/felipeelia), and [@Sidsector9](https://github.com/Sidsector9).
196 +* Webpack configuration option for JavaScript and CSS source maps (editor debugging). Props [@fiftin](https://github.com/fiftin) and [@ZacharyRener](https://github.com/ZacharyRener).
197 +* Fix e2e tests. Props [@felipeelia](https://github.com/felipeelia).
207 198
208 -__Security:__
199 += 5.3.2.2 - 2026-03-26 =
209 200
210 -* Orders belonging to all users loaded in the My Account WooCommerce page. Props [@tomburtless](https://github.com/tomburtless) and [@oscarssanchez](https://github.com/oscarssanchez).
201 +__Changed:__
211 202
212 -= 4.0.0 - 2022-03-08 =
203 +* Deployment to WordPress.org. Props [@felipeelia](https://github.com/felipeelia).
213 204
214 -**ElasticPress 4.0 contains some important changes. Make sure to read these highlights before upgrading:**
215 -* This version requires a full reindex.
216 -* It introduces a new search algorithm that may change the search results displayed on your site.
217 -* 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.
218 -* Users upgrading from Beta 1 need to re-save the Instant Results feature settings.
219 -* New minimum versions are:
220 - ||Min|Max|
221 - |---|:---:|:---:|
222 - |Elasticsearch|5.2|7.10|
223 - |WordPress|5.6+|latest|
224 - |PHP|7.0+|latest|
205 += 5.3.2.1 - 2026-03-26 =
225 206
226 -**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](https://github.com/10up/ElasticPress/releases), 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](https://github.com/10up/ElasticPress/pull/2622).)
207 +__Changed:__
227 208
228 -The Facets widget is not currently available within Full Site Editing mode.
209 +* Method of verifying ElasticPress.io environments. Props [@felipeelia](https://github.com/felipeelia).
229 210
230 -__Added:__
231 211
232 -* Instant Results. Props [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia), and [Pratheep Chandrasekhar](https://www.linkedin.com/in/pratheepch/).
233 -* New default search algorithm prioritizing exact matches, matches in the same field, then matches across different fields. Props [@brandwaffle](https://github.com/brandwaffle) and [@felipeelia](https://github.com/felipeelia).
234 -* Filter `ep_load_search_weighting` to disable search weighting engine. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
235 -* Post types to facet labels when needed to to differentiate facets with duplicate labels. Props [@JakePT](https://github.com/JakePT) and [@felipeelia](https://github.com/felipeelia).
236 -* Support for search form post type fields to Instant Results. Props [@JakePT](https://github.com/JakePT).
237 -* Alternative way to count total posts on larger DBs during indexing. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
238 -* Do not count posts in `get_total_objects_for_query_from_db()` if any object limit IDs are passed in. Props [@rebeccahum](https://github.com/rebeccahum).
239 -* Show WP-CLI progress on the new Sync page. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
240 -* Display results counts for facet options in Instant Results. Props [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia).
241 -* ARIA attributes to Facet widget links to improve accessibility. Props [@JakePT](https://github.com/JakePT).
242 -* Support for shareable URLs to Instant Results. Props [@JakePT](https://github.com/JakePT) and [@felipeelia](https://github.com/felipeelia).
243 -* 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](https://github.com/felipeelia), [@dinhtungdu](https://github.com/dinhtungdu), [@brandwaffle](https://github.com/brandwaffle), and [@Rahmon](https://github.com/Rahmon).
244 -* New step in the installation process: users can now select features before the initial sync. Props [@felipeelia](https://github.com/felipeelia), [@JakePT](https://github.com/JakePT), [Jonathan Netek](https://www.linkedin.com/in/jonathan-netek/), and [@brandwaffle](https://github.com/brandwaffle).
212 += 5.3.2 - 2025-11-21 =
245 213
246 -__Changed:__
214 +__Added:__
247 215
248 -* Sync page and code responsible for indexing. Props [@helen](https://github.com/helen), [@felipeelia](https://github.com/felipeelia), [@Rahmon](https://github.com/Rahmon), [@mckdemps](https://github.com/mckdemps), [@tott](https://github.com/tott), and [Pratheep Chandrasekhar](https://www.linkedin.com/in/pratheepch/).
249 -* 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](https://github.com/rebeccahum), [@oscarssanchez](https://github.com/oscarssanchez), [@felipeelia](https://github.com/felipeelia), [@dinhtungdu](https://github.com/dinhtungdu), [@cristianuibar](https://github.com/cristianuibar), and [@allan23](https://github.com/allan23), [@mallorydxw](https://github.com/mallorydxw).
250 -* Bump minimum required versions of Elasticsearch from 5.0 to 5.2 and WordPress from 3.7.1 to 5.6. Props [@felipeelia](https://github.com/felipeelia).
251 -* Bump minimum required PHP version from 5.6 to 7.0. Props [@felipeelia](https://github.com/felipeelia), [@ActuallyConnor](https://github.com/ActuallyConnor), and [@brandwaffle](https://github.com/brandwaffle).
252 -* Internationalize start and end datetimes of sync. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
253 -* `ep_integrate` argument in WP_Query to accept `0` and `'false'` as valid negative values. Props [@oscarssanchez](https://github.com/oscarssanchez), [@Rahmon](https://github.com/Rahmon), and [@felipeelia](https://github.com/felipeelia).
254 -* To comply with modern WooCommerce behavior, ElasticPress no longer changes the `orderby` parameter. Props [@felipeelia](https://github.com/felipeelia) and [@beazuadmin](https://github.com/beazuadmin).
255 -* Query parameters for facets to start with `ep_filter`, changeable via the new `ep_facet_filter_name` filter. Props [@oscarssanchez](https://github.com/oscarssanchez), [@felipeelia](https://github.com/felipeelia), and [@slaxxarn](https://github.com/slaxxarn).
256 -* Output of sync processes using offset to display the number of documents skipped. Props [@oscarssanchez](https://github.com/oscarssanchez), [@felipeelia](https://github.com/felipeelia), [@cbratschi](https://github.com/cbratschi), and [@brandwaffle](https://github.com/brandwaffle).
257 -* Switched from WP Acceptance to Cypress for end to end tests. Props [@felipeelia](https://github.com/felipeelia), [@Sidsector9](https://github.com/Sidsector9), and [@dustinrue](https://github.com/dustinrue).
258 -* CSS vars usage in the new Sync page. Props [@Rahmon](https://github.com/Rahmon), [@JakePT](https://github.com/JakePT), [@mehidi258](https://github.com/mehidi258), and [@felipeelia](https://github.com/felipeelia).
259 -* Features screen: improved accessibility and jQuery dependency removal. Props [@JakePT](https://github.com/JakePT).
260 -* Taxonomy parameters now reflect the WordPress parsed `tax_query` value. Props [@felipeelia](https://github.com/felipeelia) and [@sathyapulse](https://github.com/sathyapulse).
261 -* Features order in the Features screen. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
262 -* WooCommerce's `search` parameter also to be used by ElasticPress queries. Props [@felipeelia](https://github.com/felipeelia), [@dianfishekqi](https://github.com/dianfishekqi), and [@oscarssanchez](https://github.com/oscarssanchez).
263 -* Posts are now reindexed when a new term is associated with them and also when an associated term is updated or deleted. Props [@nickdaugherty](https://github.com/nickdaugherty), [@felipeelia](https://github.com/felipeelia), [@brandon-m-skinner](https://github.com/brandon-m-skinner), [@mckdemps](https://github.com/mckdemps), [@rebeccahum](https://github.com/rebeccahum).
264 -* Complement to the resync message related to Instant Results. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
265 -* Updated `jsdoc` from 3.6.9 to 3.6.10 and fixed the documentation of the `ep_thumbnail_image_size` filter. Props [@felipeelia](https://github.com/felipeelia).
266 -* Instant Results: type and initial value of search template and move save to the end of sync. Props [@felipeelia](https://github.com/felipeelia) and [@oscarssanchez](https://github.com/oscarssanchez).
216 +* Notice about keeping the sync page open during the sync process. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/tott).
267 217
268 -__Removed:__
269 -
270 -* Built assets (minified JavaScript and CSS files) from the repository. Props [@felipeelia](https://github.com/felipeelia) and [@jeffpaul](https://github.com/jeffpaul).
271 -* Duplicate `case 'description':` from `ElasticPress\Indexable\Term\Term::parse_orderby`. Props [@sjinks](https://github.com/sjinks).
272 -
273 218 __Fixed:__
274 219
275 -* CSS issues on Features page. Props [@JakePT](https://github.com/JakePT).
276 -* AJAX URL on subsites. Props [@Rahmon](https://github.com/Rahmon).
277 -* PHP Notice while monitoring a WP-CLI sync in the dashboard. Props [@felipeelia](https://github.com/felipeelia) and [@ParhamG](https://github.com/ParhamG).
278 -* Sync page when WooCommerce's "hide out of stock items" and Instant Results are both enabled. Props [@felipeelia](https://github.com/felipeelia).
279 -* PHPUnit Tests and WordPress 5.9 compatibility. Props [@felipeelia](https://github.com/felipeelia).
280 -* WooCommerce Orders Search when searching for an order ID. Props [@felipeelia](https://github.com/felipeelia).
281 -* Code standards. Props [@felipeelia](https://github.com/felipeelia).
282 -* Posts insertion and deletion in the same thread. Props [@felipeelia](https://github.com/felipeelia) and [@tcrsavage](https://github.com/tcrsavage).
283 -* Invalid values in `tax_query` terms resulting in a query failure. Props [@rinatkhaziev](https://github.com/rinatkhaziev) and [@felipeelia](https://github.com/felipeelia).
284 -* New Sync Page to display a message when an indexing is stopped by the WP-CLI `stop-indexing` command. Props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia), and [@brandwaffle](https://github.com/brandwaffle).
285 -* Nested queries are no longer deleted. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@christianc1](https://github.com/christianc1).
286 -* Type hints for `epwr_decay` and `epwr_weight` hooks. Props [@edwinsiebel](https://github.com/edwinsiebel).
287 -* Errors count in the new Sync page. Props [@felipeelia](https://github.com/felipeelia).
288 -* Multisite could index posts from a disabled indexing site. Props [@oscarssanchez](https://github.com/oscarssanchez), [@chrisvanpatten](https://github.com/chrisvanpatten), [@felipeelia](https://github.com/felipeelia).
289 -* New sync code and the `upper-limit-object-id` and `lower-limit-object-id` parameters in WP-CLI command. Props [@felipeelia](https://github.com/felipeelia).
290 -* Sync link on index health page. Props [@JakePT](https://github.com/JakePT).
291 -* Logic checking if it is a full sync and if search should go or not through ElasticPress. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
220 +* Media search not working in the admin dashboard. Props [@burhandodhy](https://github.com/burhandodhy), [@ognjanovic](https://github.com/ognjanovic), and [@maciejmackowiak](https://github.com/maciejmackowiak).
221 +* [Autosuggest] Setting allowed values. Props [@felipeelia](https://github.com/felipeelia).
292 222
293 -__Security:__
223 += 5.3.1 - 2025-11-06 =
294 224
295 -* Use most recent external GitHub Actions versions. Props [@felipeelia](https://github.com/felipeelia) and [@qazaqstan2025](https://github.com/qazaqstan2025).
296 -* 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](https://github.com/felipeelia).
297 -* Bumped `follow-redirects` from 1.14.7 to 1.14.9. Props [@dependabot](https://github.com/dependabot).
225 +__Fixed:__
298 226
299 -= 3.6.6 - 2021-12-20 =
227 +* Compatibility with PHP 7.4. Props [@realrellek](https://github.com/realrellek) and [@felipeelia](https://github.com/felipeelia).
300 228
301 -ElasticPress 4.0 Beta 1 is [now available](https://github.com/10up/ElasticPress/releases/tag/4.0.0-beta.1) for non-production testing.
229 += 5.3.0 - 2025-11-05 =
302 230
303 -**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.
231 +Highlights of this version:
304 232
305 -Supported versions changes planned for ElasticPress 4.0.0:
233 +* Improved compatibility with Elementor
234 +* Better UX/UI in the Features Screen: Grouped features and conditional display of fields
235 +* New indicator in the WordPress Admin Bar: See if your content is powered by Elasticsearch and how many queries were fired and failed in the current page.
306 236
307 -* Elasticsearch: from 5.0 - 7.9 to 5.2 - 7.10.
308 -* WordPress: from 3.7.1+ to 5.6+.
309 -* PHP: from 5.6+ to 7.0+.
310 -
311 237 __Added:__
312 238
313 -* Ensure array query parameters do not contain empty items. Props [@roborourke](https://github.com/roborourke).
314 -* WP-CLI `request` subcommand. Props [@joehoyle](https://github.com/joehoyle) and [@felipeelia](https://github.com/felipeelia).
239 +* Grouped features. Props [@ZacharyRener](https://github.com/ZacharyRener) and [@felipeelia](https://github.com/felipeelia).
240 +* Selected features and groups now persist across reload. Props [@ZacharyRener](https://github.com/ZacharyRener), [@burhandodhy](https://github.com/burhandodhy), and [@felipeelia](https://github.com/felipeelia).
241 +* Feature fields can be dependent on other fields. Props [@ZacharyRener](https://github.com/ZacharyRener) and [@felipeelia](https://github.com/felipeelia).
242 +* Ability to create groups of fields. Props [@ZacharyRener](https://github.com/ZacharyRener) and [@felipeelia](https://github.com/felipeelia).
243 +* Ability for a feature to require multiple other features, instead of just one. Props [@ZacharyRener](https://github.com/ZacharyRener) and [@felipeelia](https://github.com/felipeelia).
244 +* Add new widgets for Date, Meta, and Meta Range Filters. Props [@burhandodhy](https://github.com/burhandodhy).
245 +* Status indicator in the WordPress Admin Bar. Props [@felipeelia](https://github.com/felipeelia), [@burhandodhy](https://github.com/burhandodhy), and [@tott](https://github.com/tott).
246 +* Add Elasticsearch 9 support. Props [@burhandodhy](https://github.com/burhandodhy).
247 +* Support for rand with a seed in the orderby clause. Props [@asharirfan](https://github.com/asharirfan), [@asharirfan](https://github.com/asharirfan), [@burhandodhy](https://github.com/burhandodhy), [@felipeelia](https://github.com/felipeelia), [@tlovett1](https://github.com/tlovett1), [@mustafauysal](https://github.com/mustafauysal), and [@jgmedialtd](https://github.com/jgmedialtd).
248 +* Implement "OR" filter relationship in DateQuery. Props [@burhandodhy](https://github.com/burhandodhy) and [@eartahhj](https://github.com/eartahhj).
249 +* Add support for new WP_Query argument `ep_intercept_request`. Props [@burhandodhy](https://github.com/burhandodhy).
250 +* New ElasticPressIoTemplateManager class. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
251 +* Support for painless scripts in the ES queries. Props [@burhandodhy](https://github.com/burhandodhy) and [@scottbuckel](https://github.com/scottbuckel).
252 +* Support to set an array value in the `orderby_meta_mapping` filters. Props [@burhandodhy](https://github.com/burhandodhy) and [@jzzaj](https://github.com/jzzaj).
253 +* New `ep_skip_search_exclusions` WP_Query argument. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
254 +* [Autosuggest] Added link in Status Report to send allowed parameters directly. Props [@felipeelia](https://github.com/felipeelia), [@burhandodhy](https://github.com/burhandodhy), and [@tott](https://github.com/tott).
255 +* New `ep_get_query_log` filter. Props [@felipeelia](https://github.com/felipeelia).
315 256
316 257 __Changed:__
317 258
318 -* Enabling features that require a reindex will now ask for confirmation. Props [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia), [@Rahmon](https://github.com/Rahmon), [@columbian-chris](https://github.com/columbian-chris), and [@brandwaffle](https://github.com/brandwaffle).
259 +* Index `srcset` for post thumbnails. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
260 +* Menu SVG icon with default WP color. Props [@LenVan](https://github.com/LenVan).
261 +* Aggregation data stored at query level instead of a global variable. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
262 +* Text explaining when a manual sync may be required. Props [@felipeelia](https://github.com/felipeelia) and [@anjulahettige](https://github.com/anjulahettige).
263 +* ElasticPress.io endpoint to fetch messages and available services. Props [@felipeelia](https://github.com/felipeelia).
264 +* [Autosuggest] WP_Query arguments are now passed to Elasticsearch->query() when setting allowed parameters. Props [@felipeelia](https://github.com/felipeelia).
265 +* Exceptions thrown during a post sync will now become error messages in sync processes. Props [@felipeelia](https://github.com/felipeelia).
266 +* Points the taxonomy filter URL to the facet section. Props [@burhandodhy](https://github.com/burhandodhy).
267 +* Bumped `react-router-dom` from 6.14.3 to 7.9.4. Props [@burhandodhy](https://github.com/burhandodhy).
319 268
320 -__Fixed:__
269 +__Deprecated:__
321 270
322 -* Broken search pagination on hierarchical post types. Props [@tfrommen](https://github.com/tfrommen).
323 -* Synonyms erased when syncing via WP-CLI. Props [@felipeelia](https://github.com/felipeelia) and [@oscarssanchez](https://github.com/oscarssanchez).
324 -* Deleting a metadata without passing an object id now updates all associated posts. Props [@oscarssanchez](https://github.com/oscarssanchez), [@felipeelia](https://github.com/felipeelia), and [@Shrimpstronaut](https://github.com/Shrimpstronaut).
325 -* Not indexable sites added to indexes list in WP-CLI commands. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
271 +* Remove deprecated side param from edge_ngram filter for ES 8.16.x compatibility. Props [@rebeccahum](https://github.com/rebeccahum).
272 +* The `ep_bypass_exclusion_from_search` filter (replaced by the new `ep_skip_search_exclusions` WP_Query argument). Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
326 273
327 -= 3.6.5 - 2021-11-30 =
274 +__Removed:__
328 275
329 -**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.
276 +* Old feature settings code. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
330 277
331 -Supported versions changes planned for ElasticPress 4.0.0:
332 -
333 -* Elasticsearch: from 5.0 - 7.9 to 5.2 - 7.10.
334 -* WordPress: from 3.7.1+ to 5.6+.
335 -* PHP: from 5.6+ to 7.0+.
336 -
337 -__Added:__
338 -
339 -* Docs: Link to the support page in README.md. Props [@brandwaffle](https://github.com/brandwaffle).
340 -* New `ep_weighting_default_enabled_taxonomies` filter. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/tott).
341 -* `$blog_id` and `$indexable_slug` parameters to the `ep_keep_index` filter. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
342 -
343 -__Changed:__
344 -
345 -* Add `$type` parameter to `ep_do_intercept_request` filter. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
346 -* Cache the detected Posts mapping version, avoiding `get_mapping` calls in all admin requests. Props [@felipeelia](https://github.com/felipeelia).
347 -* Docs: Required ES and WP versions planned for ElasticPress 4.0.0. Props [@felipeelia](https://github.com/felipeelia).
348 -* The `admin.min.js` file was split in `notice.min.js` and `weighting.min.js`, being loaded accordingly. Props [@felipeelia](https://github.com/felipeelia) and [@barryceelen](https://github.com/barryceelen).
349 -
350 278 __Fixed:__
351 279
352 -* Force fetching `ep_wpcli_sync_interrupted` transient from remote to allow for more reliable remote interruption. Props [@rinatkhaziev](https://github.com/rinatkhaziev) and [@rebeccahum](https://github.com/rebeccahum).
353 -* Duplicate orderby statement in Users query. Props [@brettshumaker](https://github.com/brettshumaker), [@pschoffer](https://github.com/pschoffer), and [@rebeccahum](https://github.com/rebeccahum).
354 -* When using offset and default maximum result window value for size, subtract offset from size. Props [@rebeccahum](https://github.com/rebeccahum).
355 -* Order for Custom Search Results in autosuggest. Props [@felipeelia](https://github.com/felipeelia) and [@johnwatkins0](https://github.com/johnwatkins0).
356 -* WP-CLI stats and status to output all indices related to ElasticPress. Props [@felipeelia](https://github.com/felipeelia).
357 -* Tests: Ensure that Posts related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon).
358 -* Tests: PHPUnit and yoast/phpunit-polyfills. Props [@felipeelia](https://github.com/felipeelia).
280 +* Autosuggest doesn't work if the placeholder is changed via a `ep_autosuggest_query_placeholder` filter. Props [@fabianmarz](https://github.com/fabianmarz) and [@burhandodhy](https://github.com/burhandodhy).
281 +* Link to compatibility documentation in admin notices. Props [@dilipbheda](https://github.com/dilipbheda).
282 +* [Metadata Range filter] Warning `Undefined array key "is_preview"`. Props [@burhandodhy](https://github.com/burhandodhy).
283 +* 'Filter by Taxonomy' widget does not appear in Elementor. Props [@burhandodhy](https://github.com/burhandodhy).
284 +* Add support to handle values in array format when the comparison operator was 'IN' or 'NOT IN'. Props [@burhandodhy](https://github.com/burhandodhy).
285 +* Users could see other authors' private posts. Props [@burhandodhy](https://github.com/burhandodhy).
286 +* Undefined array key warning related to media mime types. Props [@burhandodhy](https://github.com/burhandodhy) and [@DarioBF](https://github.com/DarioBF).
287 +* Warning: value prop on "input" should not be null. Props [@burhandodhy](https://github.com/burhandodhy).
288 +* Comment query when orderby set to none. Props [@burhandodhy](https://github.com/burhandodhy).
289 +* JS warnings on Status Report page. Props [@burhandodhy](https://github.com/burhandodhy).
359 290
360 291 __Security:__
361 292
362 -* Bumped `path-parse` from 1.0.6 to 1.0.7. Props [@dependabot](https://github.com/dependabot).
363 -* Bumped `10up-toolkit` from 1.0.12 to 1.0.13. Props [@felipeelia](https://github.com/felipeelia).
293 +* Bumped `http-proxy-middleware` from 2.0.7 to 2.0.9. Props [@dependabot](https://github.com/dependabot).
294 +* Bumped `tar-fs` from 3.0.8 to 3.1.1. Props [@dependabot](https://github.com/dependabot).
295 +* Bumped `compression` from 1.7.5 to 1.8.1. Props [@dependabot](https://github.com/dependabot).
296 +* Bumped `form-data` from 4.0.1 to 4.0.4. Props [@dependabot](https://github.com/dependabot).
297 +* Overwrite package `@babel/runtime` coming from core packages due to a vulnerability. Props [@hugosolar](https://github.com/hugosolar).
364 298
365 -= 3.6.4 - 2021-10-26 =
299 +### Developer
300 +* Fixed e2e tests on WP 6.8. Props [@felipeelia](https://github.com/felipeelia).
301 +* Migrated e2e tests from Cypress to Playwright. Props [@felipeelia](https://github.com/felipeelia).
366 302
367 -**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.
303 += 5.2.0 - 2025-04-10 =
368 304
369 -Supported versions changes planned for ElasticPress 4.0.0:
305 +This version bumps the minimum WordPress version to 6.2+.
370 306
371 -* Elasticsearch: from 5.0 - 7.9 to 5.2 - 7.10.
372 -* WordPress: from 3.7.1+ to 5.6+.
373 -* PHP: from 5.6+ to 7.0+.
374 -
375 307 __Added:__
376 308
377 -* WP-CLI: New `get-mapping` command. Props [@tfrommen](https://github.com/tfrommen), [@felipeelia](https://github.com/felipeelia), and [@Rahmon](https://github.com/Rahmon).
378 -* New filters: `ep_query_request_args` and `ep_pre_request_args`. Props [@felipeelia](https://github.com/felipeelia).
379 -* Support for Autosuggest to dynamically inserted search inputs. Props [@JakePT](https://github.com/JakePT), [@rdimascio](https://github.com/rdimascio), [@brandwaffle](https://github.com/brandwaffle), and [@felipeelia](https://github.com/felipeelia).
309 +* New ACF Repeater Field Compatibility feature. Props [@felipeelia](https://github.com/felipeelia).
310 +* Add new filter `ep.InstantResults.filter.taxonomy.terms`. Props [@burhandodhy](https://github.com/burhandodhy) and [@syedc](https://github.com/syedc).
311 +* Support to "number" fields in the Features Settings API. Props [@felipeelia](https://github.com/felipeelia).
312 +* Add `include`, `exclude`, `upper-limit-object-id`, and `lower-limit-object-id` support for the term and comment indexable. Props [@burhandodhy](https://github.com/burhandodhy).
313 +* Ability to display results on focus back + cached autosuggest results on same query. Props [@oscarssanchezz](https://github.com/oscarssanchezz), [@JakePT](https://github.com/JakePT), and [@felipeelia](https://github.com/felipeelia).
314 +* Document status displayed in the admin bar. Props [@felipeelia](https://github.com/felipeelia), [@tott](https://github.com/tott), and [@burhandodhy](https://github.com/burhandodhy).
380 315
381 316 __Changed:__
382 317
383 -* Automatically generated WP-CLI docs. Props [@felipeelia](https://github.com/felipeelia).
384 -* Verification of active features requirement. Props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia), and [@WPprodigy](https://github.com/WPprodigy).
385 -* `ewp_word_delimiter` base filter: changed from `word_delimiter` to `word_delimiter_graph`. Props [@pschoffer](https://github.com/pschoffer), [@Rahmon](https://github.com/Rahmon) and [@yolih](https://github.com/yolih).
386 -* Terms search query in admin will not be fuzzy. Props [@rebeccahum](https://github.com/rebeccahum).
318 +* Minimum required version of WordPress (from 6.0 to 6.2). Props [@felipeelia](https://github.com/felipeelia).
319 +* `ElasticPress\Feature\RelatedPosts::get_related_query()`, `ElasticPress\Feature\RelatedPosts::find_related()` parameter name change to `$post_return`. Props [@oscarssanchez](https://github.com/oscarssanchezz) and [@felipeelia](https://github.com/felipeelia).
320 +* The `ep_remote_request` action to also run on non-blocking requests. Props [@felipeelia](https://github.com/felipeelia).
321 +* Potentially resource intensive status reports are loaded on demand with AJAX. Props [@oscarssanchezz](https://github.com/oscarssanchezz), [@felipeelia](https://github.com/felipeelia), and [@archon810](https://github.com/archon810).
322 +* If a feature doesn't have all its requirements fulfilled, prevent it to run its setup method. Props [@felipeelia](https://github.com/felipeelia).
387 323
388 324 __Fixed:__
389 325
390 -* Elapsed time beyond 1000 seconds in WP-CLI index command. Props [@felipeelia](https://github.com/felipeelia) and [@dustinrue](https://github.com/dustinrue).
391 -* Layout of Index Health totals on small displays. Props [@JakePT](https://github.com/JakePT) and [@oscarssanchez](https://github.com/oscarssanchez).
392 -* Deprecated URL for multiple documents get from ElasticSearch. Props [@pschoffer](https://github.com/pschoffer).
393 -* Add new lines and edit terms in the Advanced Synonym Editor. Props [@JakePT](https://github.com/JakePT) and [@johnwatkins0](https://github.com/johnwatkins0).
394 -* Terms: Avoid falling back to MySQL when results are empty. Props [@felipeelia](https://github.com/felipeelia).
395 -* Terms: Usage of several parameters for searching and ordering. Props [@felipeelia](https://github.com/felipeelia) and [@Rahmon](https://github.com/Rahmon).
396 -* Attachment indexing on Elasticsearch 7. Props [@Rahmon](https://github.com/Rahmon).
397 -* Tests: Ensure that Documents related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon).
398 -* Tests: Ensure that WooCommerce related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
399 -* Tests: Ensure that Comments related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
400 -* Tests: Ensure that Multisite related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
401 -* Tests: Ensure that Terms related queries use ElasticPress. Props [@felipeelia](https://github.com/felipeelia).
326 +* PHP warning: Attempt to read property "base" on null. Props [@burhandodhy](https://github.com/burhandodhy) and [@yarovikov](https://github.com/yarovikov).
327 +* Notice not displayed while updating a term. Props [@burhandodhy](https://github.com/burhandodhy) and [@MARQAS](https://github.com/MARQAS).
328 +* PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Props [@burhandodhy](https://github.com/burhandodhy).
329 +* PHP 8.4: Implicitly marking parameter $woocommerce as nullable is deprecated. Props [@BrookeDot](https://github.com/BrookeDot).
330 +* WP-CLI sync timer resetting after 16 minutes. Props [@felipeelia](https://github.com/felipeelia) and [@columbian-chris](https://github.com/columbian-chris).
331 +* Cannot get outside of autosuggest list pressing up on first item. Props [@oscarssanchezz](https://github.com/oscarssanchezz), [@JakePT](https://github.com/JakePT), and [@felipeelia](https://github.com/felipeelia).
332 +* Prevent other code from modifying the ORDERBY clause in Post and Term indexable queries. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
333 +* Date Query returns no result when the before and after range is the same and inclusive is set to true. Props [@burhandodhy](https://github.com/burhandodhy) and [@ErikBrendel](https://github.com/ErikBrendel).
334 +* Warning for undefined "post_type" array key. Props [@econscript](https://github.com/econscript).
335 +* Delete a post from the index if it had a password added. Props [@felipeelia](https://github.com/felipeelia) and [@dtakken](https://github.com/dtakken).
336 +* [Synonyms] Linebreaks being wrongly replaced in Windows Systems. Props [@nymwo](https://github.com/nymwo).
337 +* Deprecated `36px default size is deprecated` warnings. Props [@burhandodhy](https://github.com/burhandodhy).
338 +* The Sync Complete message being displayed when the log is cleared. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
339 +* Selecting a value in the date filter not redirecting users back to page 1. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
340 +* Discard Changes button coming back when saving the feature twice. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
341 +* WooCommerce Orders Incompatibility not appearing when plugin is activated network wide. Props [@burhandodhy](https://github.com/burhandodhy).
402 342
403 -= 3.6.3 - 2021-09-29 =
343 +__Security:__
404 344
405 -**Note that the upcoming ElasticPress 3.7.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.
345 +* Bumped `serialize-javascript` from 6.0.1 to 6.0.2, `jsdoc` from 3.6.11 to 4.0.4, and `taffydb`. Props [@dependabot](https://github.com/dependabot).
346 +* Bumped `tar-fs` from from 3.0.6 to 3.0.8. Props [@dependabot](https://github.com/dependabot).
406 347
407 -Official PHP support is currently 5.6+. Minimum PHP version for ElasticPress 3.7.0 will be 7.0+.
348 +__Developer:__
408 349
350 +* Trufflehog GitHub Action to detect secrets leak. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/tott).
351 +* Install Unit Tests without relying on SVN. Props [@felipeelia](https://github.com/felipeelia).
352 +* Remove the setup step from the `build-with-vendor-prefixed.yml` and standardize the use of Node Version. Props [@burhandodhy](https://github.com/burhandodhy).
353 +* Fixed E2E tests. Props [@burhandodhy](https://github.com/burhandodhy).
354 +* PHP, JS and Style lint fixes. Props [@oscarssanchez](https://github.com/oscarssanchezz) and [@felipeelia](https://github.com/felipeelia).
355 +* Several node and composer packages updated. Props [@felipeelia](https://github.com/felipeelia).
356 +* Updated the chart.js library. Props [@felipeelia](https://github.com/felipeelia).
357 +
358 += 5.1.4 - 2024-12-12 =
359 +
409 360 __Added:__
410 361
411 -* 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](https://github.com/JakePT), [@Rahmon](https://github.com/Rahmon), and [@felipeelia](https://github.com/felipeelia).
412 -* New `ep_set_sort` filter for changing the `sort` clause of the ES query if `orderby` is not set in WP_Query. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
413 -* WP-CLI documentation for some commands and parameters. Props [@felipeelia](https://github.com/felipeelia).
362 +* New filter `ep_facet_selected_filters`. Props [@burhandodhy](https://github.com/burhandodhy).
363 +* New filter `ep_disable_query_logging` to disable query logging. Props [@davidsword](https://github.com/davidsword) and [@rebeccahum](https://github.com/rebeccahum).
364 +* New setting to Protect Content to use WP default order in admin. Props [@felipeelia](https://github.com/felipeelia) and [@realrellek](https://github.com/realrellek).
414 365
415 366 __Changed:__
416 367
417 -* In addition to post titles, now autosuggest also partially matches taxonomy terms. Props [@felipeelia](https://github.com/felipeelia) and [@Rahmon](https://github.com/Rahmon).
418 -* Date parsing change to avoid `E_WARNING`s. Props [@pschoffer](https://github.com/pschoffer).
368 +* Apply ElasticPress filters to the requests in status and stats CLI commands. Props [@edpittol](https://github.com/edpittol).
369 +* Autosuggest Endpoint field explanation. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
370 +* Alignment of custom search results action icons. Props [@felipeelia](https://github.com/felipeelia) and [@anjulahettige](https://github.com/anjulahettige).
371 +* Update all of our blocks apiVersion from 2 to 3, to indicate support for working in an iframed editor. Props [@dkotter](https://github.com/dkotter) and [@JakePT](https://github.com/JakePT).
372 +* If using the new way to index meta, avoid querying distinct meta fields in the sync page. Props [@felipeelia](https://github.com/felipeelia) and [@majiix](https://github.com/majiix).
373 +* Updated several composer and node packages. Node 20 is now the default version. Props [@felipeelia](https://github.com/felipeelia).
374 +* Improve readability of sync output (MB/GB) and number formatting on the Health Status page. Props [@columbian-chris](https://github.com/columbian-chris).
419 375
420 376 __Fixed:__
421 377
422 -* Comments created by anonymous users (but approved by default) are now indexed. Props [@tomjn](https://github.com/tomjn) and [@Rahmon](https://github.com/Rahmon).
423 -* Deleted terms are now properly removed from the Elasticsearch index. Props [@felipeelia](https://github.com/felipeelia).
424 -* Children of deleted terms are now properly removed from the Elasticsearch index. Props [@pschoffer](https://github.com/pschoffer).
425 -* Post tag duplicated in the Elasticsearch query. Props [@oscarssanchez](https://github.com/oscarssanchez), [@Rahmon](https://github.com/Rahmon), and [@felipeelia](https://github.com/felipeelia).
426 -* Infinite loading state of ElasticPress Related Posts block in the Widgets Edit Screen. Props [@felipeelia](https://github.com/felipeelia).
427 -* Return of `Search::integrate_search_queries()` when `is_integrated_request`. Props [@adiloztaser](https://github.com/adiloztaser).
428 -* Mapping determination based on existing info. Props [@felipeelia](https://github.com/felipeelia).
429 -* `WP_Term_Query` and `parent = 0`. Props [@felipeelia](https://github.com/felipeelia) and [@juansanchezfernandes](https://github.com/juansanchezfernandes).
430 -* WP Acceptance Tests. Props [@felipeelia](https://github.com/felipeelia).
431 -* Typos in the output of some WP-CLI Commands. Props [@rebeccahum](https://github.com/rebeccahum).
378 +* Hardcoded `tmp` path replaced with a dynamic value. Props [@burhandodhy](https://github.com/burhandodhy).
379 +* Variable names and descriptions in the docblocks for `ep_formatted_args` and `ep_post_formatted_args`. Props [@barryceelen](https://github.com/barryceelen).
380 +* Remove 'None' from Highlight tag list. Props [@burhandodhy](https://github.com/burhandodhy).
381 +* [Facets] Incorrect link on description when not using a block theme. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
382 +* Deprecation warning in `strtotime()` call. Props [@felipeelia](https://github.com/felipeelia) and [@barryceelen](https://github.com/barryceelen).
383 +* Special characters like `\` in search terms for both Autosuggest and Instant Results. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
384 +* [WooCommerce] Incompatibility when "Enable table usage" was enabled to filter the product catalog. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
385 +* Deprecation warning related to PluginPostStatusInfo. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
386 +* [Custom Results] Inconsistent Reordering Issue. Props [@felipeelia](https://github.com/felipeelia), [@anjulahettige](https://github.com/anjulahettige), [@burhandodhy](https://github.com/burhandodhy).
387 +* Update supported document file types in Documents feature summary. Props [@burhandodhy](https://github.com/burhandodhy).
388 +* "Exclude from search results" to work in AJAX contexts. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
389 +* Retain CR & RD Labels Upon Saving Custom Search Result Posts. Props [@felipeelia](https://github.com/felipeelia) and [@anjulahettige](https://github.com/anjulahettige).
390 +* Typo in "All filters" text domain. Props [@felipeelia](https://github.com/felipeelia) and [@arturomonge](https://github.com/arturomonge).
391 +* Autosuggest GA tracking to work when ad blocks are enabled. The dataLayer.push() call now pushes a custom event called ep_autosuggest_click with ep_autosuggest_search_term and ep_autosuggest_clicked_url as custom parameters. Props [@felipeelia](https://github.com/felipeelia) and [@anjulahettige](https://github.com/anjulahettige).
392 +* Delay `load_plugin_textdomain` to `init` and set a Domain Path. Props [@felipeelia](https://github.com/felipeelia).
393 +* Only display the Exclude From Search checkbox if the post type supports `custom-fields`. Props [@felipeelia](https://github.com/felipeelia) and [@maartenhunink](https://github.com/maartenhunink).
394 +* JS error when submit button is clicked without selecting a date. Props [@burhandodhy](https://github.com/burhandodhy).
395 +* Deprecated warnings for margin style. Props [@burhandodhy](https://github.com/burhandodhy).
432 396
433 397 __Security:__
434 398
435 -* 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](https://github.com/felipeelia).
399 +* Bumped `composer/composer` from 2.7.0 to 2.7.8. Props [@dependabot](https://github.com/dependabot).
400 +* Bumped `symfony/process` from 6.4.8 to 6.4.14. Props [@dependabot](https://github.com/dependabot).
436 401
437 -= 3.6.2 - 2021-08-26 =
438 -**Note that the upcoming ElasticPress 3.7.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.
402 +__Developer:__
439 403
440 -This version bumps official PHP support from 5.3+ to 5.6+. Minimum PHP version for ElasticPress 3.7.0 will be 7.0+.
404 +* Tests use ES 8 by default. Props [@felipeelia](https://github.com/felipeelia).
405 +* Update E2E tests to work properly with the iframed block editor. Props [@dkotter](https://github.com/dkotter).
406 +* E2e tests for WP 6.6. Props [@felipeelia](https://github.com/felipeelia).
407 +* E2e tests for WP 6.7. Props [@felipeelia](https://github.com/felipeelia).
408 +* Unit Tests: Fail faster on requests we know will fail. Props [@felipeelia](https://github.com/felipeelia).
409 +* E2e tests: Fix the debug-bar-elasticpress dependency of ElasticPress. Props [@felipeelia](https://github.com/felipeelia).
441 410
442 -__Added:__
443 411
444 -* GitHub Action to test compatibility with different PHP versions. Props [@felipeelia](https://github.com/felipeelia).
445 -* Validate mapping currently in index against expected version. Props [@tott](https://github.com/tott), [@tlovett1](https://github.com/tlovett1), [@asharirfan](https://github.com/asharirfan), [@oscarssanchez](https://github.com/oscarssanchez), and [@felipeelia](https://github.com/felipeelia).
446 -* `ep_default_analyzer_filters` filter to adjust default analyzer filters. Props [@pschoffer](https://github.com/pschoffer) and [@felipeelia](https://github.com/felipeelia).
447 -* `title` and `aria-labels` attributes to each icon hyperlink in the header toolbar. Props [@claytoncollie](https://github.com/claytoncollie) and [@felipeelia](https://github.com/felipeelia).
448 -* `Utils\is_integrated_request()` function to centralize checks for admin, AJAX, and REST API requests. Props [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia), [@brandwaffle](https://github.com/brandwaffle), [@moritzlang](https://github.com/moritzlang), and [@lkraav](https://github.com/lkraav).
412 += 5.1.3 - 2024-06-11 =
449 413
450 -__Changed:__
414 +__Fixed:__
451 415
452 -* Use `10up-toolkit` to build assets. Props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia), and [@nicholasio](https://github.com/nicholasio).
453 -* Official PHP supported version bumped to 5.6. Props [@felipeelia](https://github.com/felipeelia).
454 -* Lint React rules using `10up/eslint-config/react`. Props [@Rahmon](https://github.com/Rahmon).
455 -* For ES 7.0+ mappings, change `edgeNGram` to `edge_ngram`. Props [@pschoffer](https://github.com/pschoffer) and [@rinatkhaziev](https://github.com/rinatkhaziev).
416 +* Missing nonces on some sync trigger URLs, making them require a manual interaction from the user. Props [@felipeelia](https://github.com/felipeelia).
456 417
457 -__Removed:__
418 += 5.1.2 - 2024-06-11 =
458 419
459 -* Remove duplicate category_name, cat and tag_id from ES query when tax_query set. Props [@rebeccahum](https://github.com/rebeccahum) and [@oscarssanchez](https://github.com/oscarssanchez).
460 -* Remove unused `path` from `dynamic_templates`. Props [@pschoffer](https://github.com/pschoffer).
420 +**This is a security release affecting all previous versions of ElasticPress.**
461 421
462 -__Fixed:__
463 -
464 -* Remove data from Elasticsearch on a multisite network when a site is archived, deleted or marked as spam. Props [@dustinrue](https://github.com/dustinrue) and [@felipeelia](https://github.com/felipeelia).
465 -* `stats` and `status` commands in a multisite scenario. Props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia), and [@dustinrue](https://github.com/dustinrue).
466 -* Multiple words synonyms. Props [@scooterlord](https://github.com/scooterlord), [@jonasstrandqvist](https://github.com/jonasstrandqvist), and [@felipeelia](https://github.com/felipeelia).
467 -* Category slug used when doing cat Tax Query with ID. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@karols0](https://github.com/karols0).
468 -* Restore current blog when the_post triggers outside the loop in multisite environment and the whole network is searched if the first result is from another blog. Props [@gonzomir](https://github.com/gonzomir) and [@felipeelia](https://github.com/felipeelia).
469 -* Prevents a post from being attempted to delete twice. Props [@pauarge](https://github.com/pauarge).
470 -* Indexing button on Health screen. Props [@Rahmon](https://github.com/Rahmon) and [@oscarssanchez](https://github.com/oscarssanchez).
471 -* WP Acceptance tests and Page Crashed errors. Props [@felipeelia](https://github.com/felipeelia) and [@jeffpaul](https://github.com/jeffpaul).
472 -* Facets: Children of selected terms ordered by count. Props [@oscarssanchez](https://github.com/oscarssanchez), [@Rahmon](https://github.com/Rahmon), and [@felipeelia](https://github.com/felipeelia).
473 -
474 422 __Security:__
475 423
476 -* Bumps `path-parse` from 1.0.6 to 1.0.7. Props [@dependabot](https://github.com/dependabot).
424 +* Missing nonce verification for the sync triggered during activation of some features. Props [@felipeelia](https://github.com/felipeelia) and [@dhakalananda](https://github.com/dhakalananda).
425 +* Missing nonce verification for retrying the EP connection and fixed PHPCS linting rules. Props [@felipeelia](https://github.com/felipeelia).
477 426
478 -= 3.6.1 - 2021-07-15 =
479 -**Note that the upcoming ElasticPress 3.7.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.
427 += 5.1.1 - 2024-05-27 =
480 428
481 -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.
482 -
483 -__Added:__
484 -
485 -* 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](https://github.com/felipeelia).
486 -* Flagged `3.6.0` as version that needs a full reindex. Props [@adiloztaser](https://github.com/adiloztaser) and [@felipeelia](https://github.com/felipeelia).
487 -
488 429 __Changed:__
489 430
490 -* Notice when a sync is needed is now an error. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
431 +* Update Support Article URLs. Props [@felipeelia](https://github.com/felipeelia).
491 432
492 433 __Fixed:__
493 434
494 -* Encode the Search Term header before sending it to ElasticPress.io. Props [@felipeelia](https://github.com/felipeelia).
435 +* Status report page when indexable post types is an empty array. Props [@furai](https://github.com/furai).
495 436
496 -= 3.6.0 - 2021-07-07 =
497 -**Note that the upcoming ElasticPress 3.7.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.
437 += 5.1.0 - 2024-04-29 =
498 438
499 -This version requires a full reindex.
500 -
501 -__Breaking Changes:__
502 -
503 -* Autosuggest will now respect the `[name="post_type"]` input in the same form. Before it would bring all post types. Props [@mustafauysal](https://github.com/mustafauysal) and [@JakePT](https://github.com/JakePT).
504 -* Facets Widget presentation, replacing the `<input type="checkbox">` elements in option links with a custom `.ep-checkbox presentational` div. Props [@MediaMaquina](https://github.com/MediaMaquina), [@amesplant](https://github.com/amesplant), [@JakePT](https://github.com/JakePT), and [@oscarssanchez](https://github.com/oscarssanchez).
505 -* Confirmation for destructive WP-CLI commands. Props [@nickdaugherty](https://github.com/nickdaugherty) and [@Rahmon](https://github.com/Rahmon).
506 -
507 439 __Added:__
508 440
509 -* Comments Indexable. Props [@dkotter](https://github.com/dkotter), [@dinhtungdu](https://github.com/dinhtungdu), [@Rahmon](https://github.com/Rahmon), and [@felipeelia](https://github.com/felipeelia).
510 -* "ElasticPress - Comments", a search form for comments. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
511 -* Facets: new `ep_facet_allowed_query_args` filter. Props [@mustafauysal](https://github.com/mustafauysal), [@JakePT](https://github.com/JakePT),[@Rahmon](https://github.com/Rahmon), and [@felipeelia](https://github.com/felipeelia).
512 -* Facets: new `ep_facet_use_field` filter. Props [@moraleida](https://github.com/moraleida).
513 -* GitHub Action to auto-close non-responsive reporter feedback issues after 3 days. Props [@jeffpaul](https://github.com/jeffpaul).
514 -* Autosuggest: new `ep_autosuggest_default_selectors` filter. Props [@JakePT](https://github.com/JakePT) and [@johnbillion](https://github.com/johnbillion).
515 -* WP-CLI: Index by ID ranges with `--upper-limit-object-id` and `--lower-limit-object-id`. Props [@WPprodigy](https://github.com/WPprodigy), [@Rahmon](https://github.com/Rahmon), and [@felipeelia](https://github.com/felipeelia).
516 -* `Elasticsearch::get_documents()` and `Indexable::multi_get()`. Props [@nickdaugherty](https://github.com/nickdaugherty), [@felipeelia](https://github.com/felipeelia), and [@Rahmon](https://github.com/Rahmon).
517 -* Custom sorting to features on the Features page. Props [@Rahmon](https://github.com/Rahmon).
518 -* Terms: add a new `facet` field to hold the entire term object in json format. Props [@moraleida](https://github.com/moraleida).
519 -* Elasticsearch connection check to Site Health page. Props [@spacedmonkey](https://github.com/spacedmonkey) and [@Rahmon](https://github.com/Rahmon).
520 -* Support for NOT LIKE operator for meta_query. Props [@Thalvik)](https://github.com/Thalvik) and [@Rahmon](https://github.com/Rahmon).
521 -* Support for `category__not_in` and `tag__not_in`. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
522 -* Support for `post__name_in`. Props [@jayhill90](https://github.com/jayhill90) and [@oscarssanchez](https://github.com/oscarssanchez).
523 -* `$indexable_slug` property to `ElasticPress\Indexable\Post\SyncManager`. Props [@edwinsiebel](https://github.com/edwinsiebel).
524 -* Permission check bypass for indexing / deleting for cron and WP CLI. Props [@nickdaugherty](https://github.com/nickdaugherty) and [@felipeelia](https://github.com/felipeelia).
525 -* Check if term exists before a capabilities check is done. Props [@msawicki](https://github.com/msawicki).
526 -* New `ep_show_indexing_option_on_multisite` filter. Props [@johnbillion](https://github.com/johnbillion) and [@Rahmon](https://github.com/Rahmon).
527 -* Documentation updates related to upcoming changes in 3.7.0. Props [@jeffpaul](https://github.com/jeffpaul).
528 -* Documentation about how to search using rendered content (shortcodes and reusable blocks). Props [@johnbillion](https://github.com/johnbillion) and [@felipeelia](https://github.com/felipeelia).
529 -* Autosuggest: filter results HTML by defining a `window.epAutosuggestItemHTMLFilter()` function in JavaScript. Props [@JakePT](https://github.com/JakePT).
441 +* [Filters] New `ep_facet_enabled_in_editor` filter to enabled facet blocks in the post editor. Props [@JiveDig](https://github.com/JiveDig) and [@felipeelia](https://github.com/felipeelia).
442 +* Official support to Elasticsearch 8.x. Props [@felipeelia](https://github.com/felipeelia).
443 +* A new Sync errors tab, with errors grouped by type and links to support documentation when available. Props [@JakePT](https://github.com/JakePT) and [@apurvrdx1](https://github.com/apurvrdx1).
444 +* [WooCommerce] HPOS compatibility notice for WooCommerce Orders. Props [@felipeelia](https://github.com/felipeelia).
445 +* [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](https://github.com/JakePT) and [@apurvrdx1](https://github.com/apurvrdx1).
446 +* Infinite loop when using excerpt highlighting with posts that use blocks that print an excerpt. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
447 +* Context parameter to the `get_capability()` function. Props [@felipeelia](https://github.com/felipeelia) and [@selim13](https://github.com/selim13).
448 +* A tooltip for meta keys to the weighting screen to allow seeing the full key if it has been truncated. Props [@JakePT](https://github.com/JakePT).
449 +* New `ep_weighting_options` filter to modify the weighting dashboard options. Props [@burhandodhy](https://github.com/burhandodhy).
450 +* New `ep_post_test_meta_value` filter. Props [@felipeelia](https://github.com/felipeelia).
451 +* New message related to indices limits on ElasticPress.io. Props [@felipeelia](https://github.com/felipeelia).
530 452
531 453 __Changed:__
532 454
533 -* Facets Widget presentation, replacing the `<input type="checkbox">` elements in option links with a custom `.ep-checkbox presentational` div. Props [@MediaMaquina](https://github.com/MediaMaquina), [@amesplant](https://github.com/amesplant), [@JakePT](https://github.com/JakePT), and [@oscarssanchez](https://github.com/oscarssanchez).
534 -* Autosuggest: JavaScript is not loaded anymore when ElasticPress is indexing. Props [@fagiani](https://github.com/fagiani) and [@felipeelia](https://github.com/felipeelia).
535 -* `Indexable\Post\Post::prepare_date_terms()` to only call `date_i18n()` once. Props [@WPprodigy](https://github.com/WPprodigy) and [@Rahmon](https://github.com/Rahmon).
455 +* Acknowledge all Elasticsearch modules, making the Documents feature available in ES 8 installations by default. Props [@felipeelia](https://github.com/felipeelia), [@Serverfox](https://github.com/Serverfox), and [@jerasokcm](https://github.com/jerasokcm).
456 +* [Documents] Index CSV and TXT file contents. Props [@felipeelia](https://github.com/felipeelia).
457 +* [Documents] Only set documents-related parameters if no post type was set or if the list already contains attachments. Props [@felipeelia](https://github.com/felipeelia).
458 +* Automatically open the error log when a sync completes with errors. Props [@JakePT](https://github.com/JakePT) and [@felipeelia](https://github.com/felipeelia).
459 +* Aggregations created with the 'aggs' WP_Query parameter, are now retrievable using `$query->query_vars['ep_aggregations']`. Props [@felipeelia](https://github.com/felipeelia).
460 +* Major refactor of the `Term::format_args()` method and conditionally set search fields for term queries in REST API requests. Props [@felipeelia](https://github.com/felipeelia) and [@mgurtzweiler](https://github.com/mgurtzweiler).
461 +* Replaced `lee-dohm/no-response` with `actions/stale` to help with closing no-response/stale issues. Props [@jeffpaul](https://github.com/jeffpaul).
462 +* Bumped actions/upload-artifact from v3 to v4. Props [@iamdharmesh](https://github.com/iamdharmesh).
463 +* Required node version. Props [@oscarssanchez](https://github.com/oscarssanchez).
536 464
537 -__Removed:__
538 -
539 -* Assets source mappings. Props [@Rahmon](https://github.com/Rahmon) and [@MadalinWR](https://github.com/MadalinWR).
540 -* References to `posts_by_query` property and `spl_object_hash` calls. Props [@danielbachhuber](https://github.com/danielbachhuber) and [@Rahmon](https://github.com/Rahmon).
541 -
542 465 __Fixed:__
543 466
544 -* GitHub issue templates. Props [@jeffpaul](https://github.com/jeffpaul).
545 -* Facets: error in filters where terms wouldn't match if the user types a space. Props [@felipeelia](https://github.com/felipeelia).
546 -* Facets: pagination parameters in links are now removed when clicking on filters. Props [@shmaltz](https://github.com/shmaltz), [@oscarssanchez](https://github.com/oscarssanchez), and [@Rahmon](https://github.com/Rahmon).
547 -* Output of WP-CLI index errors. Props [@notjustcode-sp](https://github.com/notjustcode-sp) and [@felipeelia](https://github.com/felipeelia).
548 -* `index_name` is transformed in lowercase before the index creation in Elasticsearch. Props [@teoteo](https://github.com/teoteo) and [@felipeelia](https://github.com/felipeelia).
549 -* Validate that a meta_value is a recognizable date value before storing. Props [@jschultze](https://github.com/jschultze), [@moraleida](https://github.com/moraleida) and [@Rahmon](https://github.com/Rahmon).
550 -* Array with a MIME type without the subtype in `post_mime_type` argument. Props [@ethanclevenger91](https://github.com/ethanclevenger91) and [@Rahmon](https://github.com/Rahmon).
551 -* Sort for WP_User_Query. Props [@Rahmon](https://github.com/Rahmon).
552 -* WP Acceptance Tests. Props [@felipeelia](https://github.com/felipeelia).
553 -* Styling issue of Autosuggest and search block (WP 5.8). Props [@dinhtungdu](https://github.com/dinhtungdu).
554 -* `Undefined variable: closed` notice in `Elasticsearch::update_index_settings()`. Props [@nickdaugherty](https://github.com/nickdaugherty) and [@pschoffer](https://github.com/pschoffer).
555 -* Documentation for WP-CLI `*-feature` commands. Props [@felipeelia](https://github.com/felipeelia).
556 -* Custom Results: a `current_user_can()` call now receives the post ID instead of the whole object. Props [@Sysix](https://github.com/Sysix).
557 -* Autosuggest: adjust debounce to avoid sending unnecessary requests to the server. Props [@Rahmon](https://github.com/Rahmon).
467 +* [Autosuggest] Hide the Autosuggest Endpoint URL field for EP.io users. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
468 +* [Autosuggest] Google Analytics integration gtag call. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
469 +* [Autosuggest] Link click when using a touchpad. Props [@romanberdnikov](https://github.com/romanberdnikov).
470 +* [Autosuggest] Pressing Enter to select an Autosuggest suggestion would instead open Instant Results. Props [@JakePT](https://github.com/JakePT).
471 +* [Synonyms] Fatal error when saving synonyms if an index does not exist. Props [@felipeelia](https://github.com/felipeelia), [@MARQAS](https://github.com/MARQAS), [@randallhedglin](https://github.com/randallhedglin), and [@bispldeveloper](https://github.com/bispldeveloper).
472 +* [Synonyms] Fix Synonyms case sensitive issue. Props [@burhandodhy](https://github.com/burhandodhy).
473 +* [Documents] Media search returns no result in admin dashboard. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy) via [#3837](https://github.com/10up/ElasticPress/pull/3837).
474 +* [WooCommerce] E2e tests. Props [@felipeelia](https://github.com/felipeelia).
475 +* [Instant Results] A default post type filter set by a field in the search form was cleared if a new search term was entered. Props [@JakePT](https://github.com/JakePT) and [@burhandodhy](https://github.com/burhandodhy).
476 +* Inconsistent search results when calling the same function via PHP and Ajax. Props [@burhandodhy](https://github.com/burhandodhy).
477 +* Unit test related to blog creation. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
478 +* Correct PHPdoc return type for `Elasticsearch::index_document` and related methods. Props [@ictbeheer](https://github.com/ictbeheer).
479 +* Unnecessary horizontal scroll for the `<pre>` tag on the status report page. Props [@burhandodhy](https://github.com/burhandodhy) via [#3894](https://github.com/10up/ElasticPress/pull/3894).
558 480
559 481 __Security:__
560 482
561 -* Updated browserslist and jsdoc versions. Props [@felipeelia](https://github.com/felipeelia).
562 -* Updated lodash, hosted-git-info, ssri, rmccue/requests, and y18n versions. Props [@dependabot](https://github.com/dependabot).
483 +* Bumped `composer/composer` from 2.6.5 to 2.7.0. Props [@dependabot](https://github.com/dependabot).
563 484
564 -= 3.5.6 - 2021-03-18 =
565 -This release fixes some bugs and also adds some new actions and filters.
485 += 5.0.2 - 2024-01-16 =
566 486
567 -__Security Fix:__
487 +__Changed:__
568 488
569 -* Updated JS dependencies. Props [@hats00n](https://github.com/hats00n) and [@felipeelia](https://github.com/felipeelia)
489 +* [Terms] Counts are now calculated with `wp_count_terms()` in `query_db`. Props [@rebeccahum](https://github.com/rebeccahum).
490 +* Composer and npm files are now part of the final package. Props [@felipeelia](https://github.com/felipeelia).
570 491
571 -__Bug Fixes:__
492 +__Fixed:__
572 493
573 -* Fixed document indexing when running index command with nobulk option. Props [@Rahmon](https://github.com/Rahmon)
574 -* Added an extra check in the iteration over the aggregations. Props [@felipeelia](https://github.com/felipeelia)
575 -* Fixed no mapping found for [name.sortable] for Elasticsearch version 5. Props [@Rahmon](https://github.com/Rahmon)
576 -* Fixed uninstall process to remove all options and transients. Props [@Rahmon](https://github.com/Rahmon)
494 +* [WooCommerce] Not use a hard-coded list of order post types. Props [@felipeelia](https://github.com/felipeelia).
495 +* [Autosuggest] Stop calling the get`-autosuggest-allowed` endpoint to build the REST API schema. Props [@felipeelia](https://github.com/felipeelia).
577 496
578 -__Enhancements:__
497 +__Security:__
579 498
580 -* Added missing inline JS documentation. Props [@JakePT](https://github.com/JakePT)
581 -* Added the filter `ep_autosuggest_http_headers`. Props [@Rahmon](https://github.com/Rahmon)
582 -* Added terms indexes to the status and stats WP-CLI commands. Props [@felipeelia](https://github.com/felipeelia)
583 -* The Protected Content feature isn't auto-activated when using ElasticPress.io anymore. Props [@felipeelia](https://github.com/felipeelia)
584 -* 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](https://github.com/felipeelia)
585 -* Added the new filter `epwr_weight` and changed the default way scores are applied based on post date. Props [@Rahmon](https://github.com/Rahmon)
499 +* Bumped `follow-redirects` from 1.15.3 to 1.15.4. Props [@dependabot](https://github.com/dependabot).
586 500
587 -= 3.5.5 - 2021-02-25 =
588 -This release fixes some bugs and also adds some new actions and filters.
501 += 5.0.1 - 2023-12-12 =
589 502
590 -__Bug Fixes:__
503 +__Added:__
591 504
592 -* Fix a problem in autosuggest when highlighting is not active. Props [@felipeelia](https://github.com/felipeelia) and [@Rahmon](https://github.com/Rahmon)
593 -* Fix a wrong phrase in the Indexables documentation. Props [@jpowersdev](https://github.com/jpowersdev)
594 -* Fix Facet Term Search for more than one Widget. Props [@goaround](https://github.com/goaround)
595 -* Fix a Warning that was triggered while using PHP 8. Props [@Rahmon](https://github.com/Rahmon)
505 +* Failed queries in the Index Health page will now be outputted with their error messages. Props [@felipeelia](https://github.com/felipeelia) and [@pvnanini](https://github.com/pvnanini).
596 506
597 -__Enhancements:__
507 +__Fixed:__
598 508
599 -* Add an `is-loading` class to the search form while autosuggestions are loading. Props [@JakePT](https://github.com/JakePT)
600 -* Add the new `set-algorithm-version` and `get-algorithm-version` WP-CLI commands. Props [@felipeelia](https://github.com/felipeelia)
601 -* Add a new `ep_query_weighting_fields` filter. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/tott)
602 -* Add two parameters to the `ep_formatted_args_query` filter. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/tott)
603 -* Add the new `set-algorithm-version` and `get-algorithm-version` WP-CLI commands. Props [@felipeelia](https://github.com/felipeelia)
604 -* Create a new section in documentation called `Theme Integration`. Props [@JakePT](https://github.com/JakePT)
605 -* Improvements to contributing documentation and tests. Props [@jeffpaul](https://github.com/jeffpaul) and [@felipeelia](https://github.com/felipeelia)
606 -* 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_after_update_feature`, `ep_cli_before_clear_index`, and `ep_cli_after_clear_index`. Props [@felipeelia](https://github.com/felipeelia) and [@Rahmon](https://github.com/Rahmon)
509 +* Queries failing due to a "request body is required" error. Props [@felipeelia](https://github.com/felipeelia).
510 +* Fatal error when site has a bad cookie. Props [@burhandodhy](https://github.com/burhandodhy).
511 +* Broken i18n of some strings. Props [@felipeelia](https://github.com/felipeelia) and [@iazema](https://github.com/iazema).
512 +* PHP Warning on term archive pages when the term was not found. Props [@felipeelia](https://github.com/felipeelia) and [@Igor-Yavych](https://github.com/Igor-Yavych).
513 +* PHP warning when using block themes. Props [@felipeelia](https://github.com/felipeelia) and [@tropicandid](https://github.com/tropicandid).
514 +* Several typos. Props [@szepeviktor](https://github.com/szepeviktor).
515 +* Index cleanup process - offset being zeroed too late. Props [@pknap](https://github.com/pknap).
516 +* PHP warning in site health page. Props [@turtlepod](https://github.com/turtlepod).
517 +* ReactDOM.render is no longer supported in React 18. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
518 +* E2e tests with WordPress 6.4. Props [@felipeelia](https://github.com/felipeelia).
519 +* PHP Setup in GitHub Actions. Props [@felipeelia](https://github.com/felipeelia).
607 520
608 -= 3.5.4 - 2021-02-11 =
609 -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 userto 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.
521 += 5.0.0 - 2023-11-01 =
610 522
611 -__Security Fix:__
523 +**ElasticPress 5.0.0 contains some important changes. Make sure to read these highlights before upgrading:**
612 524
613 -* Fixed a nonce check associated with updating the default Autosuggest search query in ElasticPress.io. Props [@felipeelia](https://github.com/felipeelia)
525 +* This version does not require a full reindex but it is recommended, especially for websites using synonyms containing spaces.
526 +* 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.
527 +* Features now have their fields declared in JSON. Custom features may need to implement the `set_settings_schema()` method to work.
528 +* The `Users` feature was moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin and is no longer available in this plugin. If you use this feature, make sure to install and configure EP Labs before upgrading.
529 +* The `Terms` and `Comments` features are now hidden by default for sites that do not have them active yet. Check [our blog post](https://www.elasticpress.io/blog/2023/03/enabling-comments-and-terms-in-elasticpress-5-0) for more info.
530 +* New minimum versions are:
531 + * Elasticsearch: 5.2
532 + * WordPress: 6.0
533 + * PHP: 7.4
614 534
615 -__Bug Fixes:__
535 +__Added__:
616 536
617 -* Fix broken click on highlighted element in Autosuggest results. Props [@felipeelia](https://github.com/felipeelia)
618 -* Properly cast `from` parameter in `$formatted_args` to an integer to prevent errors if empty. Props [@CyberCyclone](https://github.com/CyberCyclone)
537 +* New Sync page. Props [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia), [@apurvrdx1](https://github.com/apurvrdx1), [@brandwaffle](https://github.com/brandwaffle), [@anjulahettige](https://github.com/anjulahettige), [@burhandodhy](https://github.com/burhandodhy), and [@MARQAS](https://github.com/MARQAS).
538 +* New feature settings screen. Props [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia), [@apurvrdx1](https://github.com/apurvrdx1), [@brandwaffle](https://github.com/brandwaffle), and [@anjulahettige](https://github.com/anjulahettige).
539 +* New weighting dashboard with support for making meta fields searchable. Props [@JakePT](https://github.com/JakePT), [@mehidi258](https://github.com/mehidi258), and [@felipeelia](https://github.com/felipeelia).
540 +* New Date Filter Block. Props [@burhandodhy](https://github.com/burhandodhy), [@JakePT](https://github.com/JakePT), and [@felipeelia](https://github.com/felipeelia).
541 +* Sync history to the Sync page. Props [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia), [@apurvrdx1](https://github.com/apurvrdx1), [@brandwaffle](https://github.com/brandwaffle), and [@anjulahettige](https://github.com/anjulahettige).
542 +* Final status of syncs (success, with errors, failed, or aborted.) Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
543 +* REST API endpoint at `elasticpress/v1/features` for updating feature settings. Props [@JakePT](https://github.com/JakePT).
544 +* New `ElasticsearchErrorInterpreter` class. Props [@felipeelia](https://github.com/felipeelia).
545 +* New `default_search` analyzer to differentiate what is applied during sync and search time. Props [@felipeelia](https://github.com/felipeelia) and [@MARQAS](https://github.com/MARQAS).
546 +* The sync page now describes what triggered the current sync, and previous syncs. Props [@JakePT](https://github.com/JakePT).
547 +* Weighting and Synonyms Dashboards to multisites. Props [@felipeelia](https://github.com/felipeelia).
548 +* No-cache headers to sync calls. Props [@felipeelia](https://github.com/felipeelia).
619 549
620 -__Enhancements:__
550 +__Changed:__
621 551
622 -* Add an `ep_is_facetable` filter to enable custom control over where to show or hide Facets. Props [@moraleida]
623 -* Improvements to contributing documentation and tests. Props [@jeffpaul](https://github.com/jeffpaul) and [@felipeelia](https://github.com/felipeelia)
552 +* Abstracted Sync page logic into a provider pattern. Props [@JakePT](https://github.com/JakePT).
553 +* Moved syncing from an `admin-ajax.php` callback to a custom REST API endpoint with support for additional arguments. Props [@JakePT](https://github.com/JakePT).
554 +* Store previous syncs info, changed option name from `ep_last_index` to `ep_sync_history`. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
555 +* Features settings declared as JSON. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
556 +* Tweaked layout and notifications style on the Status Report screen for consistency with the updated Sync page. Props [@JakePT](https://github.com/JakePT).
557 +* Moved REST API endpoint definitions to controller classes. Props [@JakePT](https://github.com/JakePT).
558 +* SyncManager array queues are now indexed by the blog ID. Props [@sathyapulse](https://github.com/sathyapulse) and [@felipeelia](https://github.com/felipeelia).
559 +* Comments and Terms are now hidden by default. Props [@felipeelia](https://github.com/felipeelia).
560 +* WooCommerce-related hooks are now removed when switching to a site that does not have WC active. Props [@felipeelia](https://github.com/felipeelia) and [@MARQAS](https://github.com/MARQAS).
561 +* Run e2e tests against the minimum supported WordPress version. Props [@felipeelia](https://github.com/felipeelia).
562 +* Several tweaks in the Features settings API. Props [@JakePT](https://github.com/JakePT) via [#3708](https://github.com/10up/ElasticPress/pull/3708).
563 +* EP Settings are now reverted if it is not possible to connect to the new ES Server. Props [@felipeelia](https://github.com/felipeelia), [@burhandodhy](https://github.com/burhandodhy), and [@scottbuscemi](https://github.com/scottbuscemi).
564 +* Node packages updated. Props [@felipeelia](https://github.com/felipeelia).
565 +* Updated the labels of feature settings and options for consistency and clarity. Props [@JakePT](https://github.com/JakePT).
566 +* Depending on the requirements, some feature settings are now saved to be applied after a full sync. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
567 +* Minimum requirements. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
568 +* Old features will have their settings displayed based on their default setting values. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
569 +* Radio and checkbox settings were changed from booleans to strings. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
570 +* The troubleshooting article link was updated. Props [@felipeelia](https://github.com/felipeelia) and [@anjulahettige](https://github.com/anjulahettige).
624 571
625 -= 3.5.3 - 2021-01-28 =
626 -This is a bug fix release.
572 +__Deprecated:__
627 573
628 -__Bug Fixes:__
574 +* The `IndexHelper::get_last_index` method was replaced by `IndexHelper::get_last_sync`.
575 +* The `FailedQueries::maybe_suggest_solution_for_es` method was replaced by `ElasticsearchErrorInterpreter::maybe_suggest_solution_for_es`.
576 +* `Weighting::render_settings_section`, `Weighting::handle_save`, `Weighting::redirect`, and `Weighting::save_weighting_configuration` were deprecated in favor of React components.
629 577
630 -* 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](https://github.com/Rahmon)
631 -* Fixed CSS formatting issues in the Settings and Features menus. Props [@Rahmon](https://github.com/Rahmon)
578 +__Removed:__
632 579
633 -= 3.5.2 - 2021-01-18 =
634 -This is a bug fix release.
580 +* Users-related files from the main plugin. Props [@felipeelia](https://github.com/felipeelia).
581 +* Removed mapping files related to older versions of Elasticsearch. Props [@MARQAS](https://github.com/MARQAS).
635 582
636 -__Bug Fixes:__
583 +__Fixed:__
637 584
638 -* Fixed a typo in elasticpress.pot. Props [@alexwoollam](https://github.com/alexwoollam)
639 -* Don’t use timestamps that cause 5 digit years. Props [@brandon-m-skinner](https://github.com/brandon-m-skinner)
640 -* Fix admin notice on the Synonyms page. Props [@Rahmon](https://github.com/Rahmon)
641 -* Properly update slider numbers while sliding. Props [@Rahmon](https://github.com/Rahmon)
642 -* Properly handle error from `get_terms()`. Props [@ciprianimike](https://github.com/ciprianimike)
643 -* Fix incorrect titles page. Props [@Rahmon](https://github.com/Rahmon)
644 -* Fix linting tests. Props [@felipeelia](https://github.com/felipeelia)
645 -* Fix issue with price filter unsetting previous query. Props [@oscarssanchez](https://github.com/oscarssanchez)
585 +* Docblock for the `ep_facet_renderer_class` filter. Props [@misfist](https://github.com/misfist).
586 +* Instant Results console warning. Props [@burhandodhy](https://github.com/burhandodhy).
587 +* Total fields limit message interpretation. Props [@felipeelia](https://github.com/felipeelia) [@JakePT](https://github.com/JakePT).
588 +* End to end tests intermittent failures. Props [@felipeelia](https://github.com/felipeelia).
589 +* React warning on Sync page. Props [@burhandodhy](https://github.com/burhandodhy).
590 +* Content was not showing properly on the tooltop on install page. Props [@burhandodhy](https://github.com/burhandodhy).
591 +* Redirect to correct sync url after enabling feature that requires a new sync. Props [@burhandodhy](https://github.com/burhandodhy).
592 +* Post type setting wasn't respected during sync. Props [@burhandodhy](https://github.com/burhandodhy).
593 +* Fix a JS error appearing when sync requests are intentionally stopped. Props [@burhandodhy](https://github.com/burhandodhy).
594 +* Features description copy. Props [@felipeelia](https://github.com/felipeelia), [@burhandodhy](https://github.com/burhandodhy), and [@MARQAS](https://github.com/MARQAS).
595 +* Endpoint URL field is not a URL type field. Props [@burhandodhy](https://github.com/burhandodhy).
596 +* WooCommerce feature not autoactivating. Props [@felipeelia](https://github.com/felipeelia).
597 +* Elasticsearch errors interpretation. Props [@felipeelia](https://github.com/felipeelia).
598 +* Deactivating a feature via WP-CLI also takes into account draft states. Props [@felipeelia](https://github.com/felipeelia).
646 599
647 -__Enhancements:__
648 -
649 -* 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](https://github.com/brandon-m-skinner)
650 -* Added `ep_filesystem_args` filter. Props [@pjohanneson](https://github.com/pjohanneson)
651 -* Add SKU field to Weighting Engine if WooCommerce is active and fix issue with overriding `search_fields`. Props [@felipeelia](https://github.com/felipeelia)
652 -* Support `author__in` and `author__not_in` queries. Props [@dinhtungdu](https://github.com/dinhtungdu)
653 -* Update multiple unit tests. Props [@petenelson](https://github.com/petenelson)
654 -* Show CLI indexing status in EP dashboard. Props [@Rahmon](https://github.com/Rahmon)
655 -* Add `ep_query_send_ep_search_term_header` filter and don’t send `EP-Search-Term` header if not using ElasticPress.io. Props [@felipeelia](https://github.com/felipeelia)
656 -
657 -= 3.5.1 - 2020-10-29 =
658 -A bug fix release.
659 -
660 -__Bug fixes:__
661 -
662 -* Fixes highlighting so that full content is returned instead of only snippets.
663 -* Fix empty synonym bug.
664 -* Only highlight post content, excerpt, and title.
665 -
666 -__Enhancements:__
667 -
668 -* Track CLI index in a headless fashion
669 -
670 -= 3.5.0 - 2020-10-20 =
671 -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.
672 -
673 -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.
674 -
675 -__Bug fixes:__
676 -
677 -* Fix default autosuggest selector.
678 -* Fix facet feature $_GET parameter naming collision.
679 -* Autosuggest a11y fixes. Props [amesplant](https://github.com/amesplant).
680 -* Check $feature type before calling Feature methods. Props [pdewouters](https://github.com/pdewouters).
681 -* Ensure trashed post is removed from Elasticsearch. Props [edwinsiebel](https://github.com/edwinsiebel).
682 -* Add default permission callback to REST routes. Props [dkotter](https://github.com/dkotter).
683 -* Hide links to weighting and synonym dashboard if network activated. Props [felipeelia](https://github.com/felipeelia).
684 -* Only sync post on allow listed post meta. Props [felipeelia](https://github.com/felipeelia).
685 -* Check if site is indexable before syncing in network activated mode.
686 -* Fix facet widget and 3-level deep hierarchical taxonomy. Props [dinhtungdu](https://github.com/dinhtungdu).
687 -* Make sure AJAX sync is disabled if EP_DASHBOARD is set to false.. Props [turtlepod](https://github.com/turtlepod).
688 -
689 -__Enhancements:__
690 -
691 -* Synonym dashboard. Props [christianc1](https://github.com/christianc1).
692 -* Search term highlighting. Props [oscarsanchez](https://github.com/oscarsanchez).
693 -* Search algorithm improvements.
694 -* Improved WP Acceptance tests. Props [asharirfan](https://github.com/asharirfan).
695 -* Rename ElasticPress submenu to "Features". Props [helen](https://github.com/helen).
696 -* Add functionality for skipping ElasticPress install.
697 -* Increase max supported Elasticsearch version to 7.9.
698 -* Add filter to prepared user meta data. Props [g-kanoufi](https://github.com/g-kanoufi).
699 -* Improve Terms Feature terminology to remove confusion.
700 -* Add filter to facet terms query arguments. Props [felipeelia](https://github.com/felipeelia).
701 -
702 -= 3.4.3 - 2020-07-21 =
703 -__Enhancements:__
704 -
705 -* Remove jQuery from front end JavaScript dependencies.
706 -
707 -__Bug Fixes:__
708 -
709 -* Fix accessibility bug on autosuggest.
710 -* Fix broken facet search.
711 -
712 -= 3.4.2 - 2020-06-17 =
713 -__Bug fixes:__
714 -
715 -* uninstall.php: Change the EP_FILE const to its value. Props [felipeelia](https://github.com/felipeelia).
716 -* Fix list features WP CLI command. Props [felipeelia](https://github.com/felipeelia).
717 -* Add `rel="nofollow"` to facet links. Props [mlaroy](https://github.com/mlaroy).
718 -* Facets widget: Move <div> outside ob_start(). Props [kallehauge](https://github.com/kallehauge).
719 -* Load facet scripts and styles only when they are really necessary. Props [goaround](https://github.com/goaround).
720 -* Index attachments with Protected Content and query for them in media search. Props [oscarsanchez](https://github.com/oscarsanchez).
721 -* Fixed `Deprecated field [include] used, expected [includes] instead.`. Props [dinhtungdu](https://github.com/dinhtungdu).
722 -
723 -__Enhancements:__
724 -
725 -* Add filter for enabling sticky posts. Props [shadyvb](https://github.com/shadyvb).
726 -* Add sync kill filter. Props [barryceelen](https://github.com/barryceelen).
727 -* Add timeout filters for bulk_index and index_document. Props [@oscarsanchez](https://github.com/oscarsanchez).
728 -
729 -= 3.4.1 - 2020-3-31 =
730 -* Make weighting dashboard flex containers to prevent the slider from changing size. Props [@mlaroy](https://github.com/mlaroy).
731 -* Fix issue where weightings wouldn't save properly for certain post types. Props [mustafauysal](https://github.com/mustafauysal).
732 -* Fix bug where terms wouldn't finish syncing in certain scenarios.
733 -* Properly order WooCommerce products using double to account for decimals. Props [@oscarsanchez](https://github.com/oscarsanchez).
734 -* Show current indices in index health dashboard. Props [moraleida](https://github.com/moraleida).
735 -
736 -= 3.4.0 - 2020-03-03 =
737 -* Addition of Terms Indexable and Feature. ElasticPress can now integrate with `WP_Term_Query`. Props [dkotter](https://github.com/dkotter).
738 -* Fixes for `WP_User_Query` 'fields' parameter. Props [petenelson](https://github.com/petenelson).
739 -* Support all taxonomies in root of `WP_Query`
740 -* Readd `ep_retrieve_aggregations` hook for backwards compatibility
741 -* Move indexable posts class registration into a function that runs in the `plugins_loaded` action. Props [petenelson](https://github.com/petenelson).
742 -* Fix author name in weighting and use post_author.display_name for weighted author field search. Props [petenelson](https://github.com/petenelson).
743 -* Add `ep_prepared_*_meta` filters
744 -* Refactor CLI indexing code for simplicity.
745 -* Limit indexed Protected Content post types removing `revision`, `oembed_cache`, `custom_css`, `user_request`, `customize_changeset`, and `wp_block`.
746 -* Cast taxonomy slug to array in case it's already an array in `WP_Query`.
747 -* Remove unnecessary usage of `--network-wide` CLI paramter.
748 -* Add name, nickname, and display name to fields used for user search.
749 -* Add `clear-transient` WP CLI command.
750 -* Don't make product categories facetable when WooCommerce feature is not active. Props [mustafauysal](https://github.com/mustafauysal).
751 -
752 -= 3.3.0 - 2018-12-18 =
753 -* Officially support Elasticsearch 7.5
754 -* Add optional Google Analytics Autosuggest tracking Event
755 -* Fix single node warning before sync has occurred.
756 -* When `ep_integrate` is set to false, do not apply faceting.
757 -* Fix search ordering error when there are no pointers.
758 -* Add filter `ep_get_hits_from_query` to modify retrieved Elasticsearch hits.
759 -* Make sure `post_type` array does not include keys. Fixes a bbPress issue.
760 -* Pass query object to EP response so we can check for main query. This fixes a faceting bug.
761 -* Add EP-Search-Term header to autosuggest requests to EP.io
762 -* Clean up indexing transient on sigkill
763 -
764 -= 3.2.6 - 2019-11-27 =
765 -This is a bugfix release
766 -
767 -* Under some edge conditions content for autosuggest can be large - don't cache it
768 -
769 -= 3.2.5 - 2019-11-20 =
770 -This is a bug fix version.
771 -
772 -* Fix WP <5.0 fatal error on register_block_type.
773 -
774 -= 3.2.4 - 2019-11-19 =
775 -This is a bug fix version.
776 -
777 -* Fix Gutenberg block initialization
778 -* Fix Autosuggest: remove filter with proper priority in query generation. Props [Maxdw](https://github.com/Maxdw).
779 -* Fix Autosuggest: returning WP_Error for non object cache autosuggest queries causes issue. Fallback to transient
780 -
781 -= 3.2.3 - 2019-11-13 =
782 -This is a bug fix version.
783 -
784 -* Ensure query building for Autosuggest does not fallback to WPDB.
785 -
786 -= 3.2.2 - 2019-11-05 =
787 -This is a bug fix version with some feature additions.
788 -
789 -* Fix PHPCS errors. Props [mmcachran](https://github.com/mmcachran)
790 -* Fix ensuring stats are built prior to requesting information
791 -* Fix related post block enqueue block assets on the frontend
792 -* Fix custom order results change webpack config for externals:lodash
793 -* Fix don't overwrite search fields
794 -* Autosuggest queries generated though PHP instead of JavaScript
795 -* Add WP Acceptance tests
796 -* Add new WP-CLI commands: get_indexes and get_cluster_indexes
797 -
798 -= 3.2.1 - 2019-10-14 =
799 -This is a bug fix version.
800 -
801 -* Fix Gutenberg breaking issue with Related Posts and image blocks. Props [adamsilverstein](https://github.com/adamsilverstein)
802 -
803 -= 3.2.0 - 2019-10-08 =
804 -ElasticPress 3.2 is a feature release. We've added quite a few useful features including an index health page, the ability to control which sites are indexed in a network activated multisite setup, a related posts Gutenberg block, and more.
805 -
806 -* Improve block asset enqueueing: hook on `enqueue_block_editor_assets`. Props [adamsilverstein](https://github.com/adamsilverstein).
807 -* Handle empty search weighting fields bug.
808 -* Integrate WooCommerce default filter by price widget with ES range query.
809 -* Improve messaging for custom result post type.
810 -* Index health page.
811 -* Add tag_in and tag__and support.
812 -* Related posts Gutenberg block.
813 -* Facet widget ordering option. Props [psorensen](https://github.com/psorensen).
814 -* Control Index-ability of individual sites in multisite.
815 -* Integrate WooCommerce default filter by price widget with ES range query.
816 -
817 -See https://github.com/10up/ElasticPress/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A3.2.0+is%3Aclosed+
818 -
819 -= 3.1.4 - 2019-08-28 =
820 -Version 3.1.4 is a bug fix release.
821 -
822 -See fixes: https://github.com/10up/ElasticPress/pulls?q=is%3Apr+milestone%3A3.1.4+is%3Aclosed
823 -
824 -= 3.1.3 - 2019-08-22 =
825 -This is a bug fix release.
826 -
827 -* Check wpcli transient before integrating with queries
828 -* Fix version comparison bug when comparing Elasticsearch versions
829 -* Use proper taxonomy name for WooCommerce attributes.
830 -* Increase Elasticsearch minimum supported version to 5.0
831 -* Fix product attribute archives
832 -
833 -= 3.1.2 - 2019-08-16 =
834 -This is a bug fix release with some filter additions.
835 -
836 -* Add ep_es_query_results filter.
837 -* Add option to sync prior to shutdown.
838 -* Readme update around WPCLI post syncing. Props [@mmcachran](https://github.com/mmcachran)
839 -* Ignore sticky posts in `find_related`. Props [@columbian-chris](https://github.com/columbian-chris)
840 -* Weighting dashboard fixes around saving. [@oscarsanchez](https://github.com/oscarsanchez)
841 -* Weighting UI improvements. Props [@mlaroy](https://github.com/mlaroy)
842 -
843 -= 3.1.1 - 2019-07-25 =
844 -* Ensure taxonomies that are shared among multiple post types show up on the weighting screen
845 -
846 -= 3.1.0 - 2019-07-22 =
847 -* Support for nested tax queries. Props [@dkotter](https://github.com/dkotter)
848 -* `ep_bulk_index_action_args` filter. Props [@fabianmarz](https://github.com/fabianmarz)
849 -* Add filters to control MLT related posts params.
850 -* `ep_allow_post_content_filtered_index` filter to bypass filtered post content on indexing.
851 -* Weighting dashboard to control weights of specific fields on a per post type basis
852 -* Search ordering feature. Enables custom results for specific search queries.
853 -* Refactor admin notice, admin screen "resolver", and install path logic
854 -* WordPress.org profile
855 -* New EP settings interface. Props [@dkoo](https://github.com/dkoo)
856 -* Delete pagination from facet URL.
857 -* allows WooCommerce product attributes to be facetable in 3.0
858 -* Autosuggest queries now match the search queries performed by WordPress, including weighting and any custom results
859 -* Fix data escaping in WP 4.8.x
860 -* Support order by "type"/"post_type" in EP queries
861 -* Properly redirect after network sync
862 -* User mapping for pre 5.0 Props [@mustafauysal](https://github.com/mustafauysal)
863 -* Avoid multiple reflows in autosuggest. Props [@fabianmarz](https://github.com/fabianmarz)
864 -* 400 error when popularity is default sorting.
865 -* Fixed Facet widget not rendering WC product attribute options. Props [@fabianmarz](https://github.com/fabianmarz)
866 -* Delete wpcli sync option/transient when an error occurs
867 -* Create index/network alias when adding a new site on a network activated installation. Props [@elliott-stocks](https://github.com/elliott-stocks)
868 -* Fix WooCommerce order search when WooCommerce module activated but protected content turned off.
869 -
870 -= 3.0.3 - 2019-06-04 =
871 -* Pass $post_id twice in ep_post_sync_kill for backwards compatibility. Props [aaemnnosttv](https://github.com/aaemnnosttv)
872 -* Add `ep_search_request_path` filter for backwards compant.
873 -* Add `ep_query_request_path` filter for modifying the query path.
874 -* Fix missing action name in post query integration.
875 -* Properly add date filter to WP_Query.
876 -
877 -= 3.0.2 - 2019-05-23 =
878 -3.0.2 is a minor bug release version. Here is a list of fixes:
879 -
880 -* Fix date query errors
881 -* Readd ep_retrieve_the_{type} filter. Props [gassan](https://github.com/gassan)
882 -* Fix empty autosuggest selector notice
883 -
884 -= 3.0.1 - 2019-05-20 =
885 -3.0.1 is a minor bug release version. Here is a list of fixes:
886 -
887 -* `wp elasticpress stats` and `wp elasticpress status` commands fatal error fixed.
888 -* Add autosuggest selector field default to fix notice.
889 -* Re-add `ep_find_related` as deprecated function.
890 -* Changed max int to use core predefined constant. Props [@fabianmarz](https://github.com/fabianmarz)
891 -* Properly support legacy feature registration callbacks per #1329.
892 -* Properly disable settings as needed on dashboard.
893 -* Don't force document search on REST requests.
894 -
895 -= 3.0 - 2019-05-13 =
896 -NOTICE: Requires re-index.
897 -
898 -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.
899 -
900 -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.
901 -
902 -Other Features:
903 -* Elasticsearch language setting in admin
904 -
905 -Here are a list of filters/actions removed or changed:
906 -
907 -### Actions Removed:
908 -
909 -* `ep_feature_setup`
910 -
911 -### Filters changed:
912 -
913 -* `ep_post_sync_kill` - Removed `$post_args` argument.
914 -
915 -### Other changes:
916 -
917 -* `posts-per-page` changed to `per-page` for WP-CLI index command.
918 -
919 -= 2.8.2 - 2019-03-26 =
920 -* Enhancement: WooCommerce product attributes as facets.
921 -* Enhancement: Performance Boost for document indexing.
922 -* Bugfix for issue on WP REST API searches.
923 -* Bugfix for case-sensitivity issue with facet search.
924 -
925 -= 2.8.1 - 2019-02-13 =
926 -* Bugfix for homepage out of chronological order.
927 -* Bugfix for missing meta key. (Props [turtlepod](https://github.com/turtlepod))
928 -* Bugfix for bulk indexing default value on settings page.
929 -
930 -= 2.8.0 - 2019-02-08 =
931 -ElasticPress 2.8 provides some new enhancements and bug fixes.
932 -
933 -* Sticky posts support.
934 -* Meta LIKE query adjustment.
935 -* Autosuggest bugfix.
936 -* Autosuggest to abide by plugin settings.
937 -* WooCommerce searches with custom fields.
938 -* Adjustment to `wp elasticpress status`
939 -* Add Elasticsearch version in settings. (Props [turtlepod](https://github.com/turtlepod))
940 -* Allow user to set number of posts during bulk indexing cycle.
941 -* Facet query string customization (Props [ray-lee](https://github.com/ray-lee))
942 -* Removal of logic that determines if blog is public / indexable. (Resolves sync issue.)
943 -* Fix for auto activating sync notices. (Props [petenelson](https://github.com/petenelson))
944 -* Removal of date weighting for protected content admin queries.
945 -* Protected content: filtering of filtered post types.
946 -* Implemented --post-ids CLI option to index only specific posts. (Props [dotancohen](https://github.com/dotancohen))
947 -
948 -= 2.7.0 - 2018-12-06 =
949 -NOTICE: Requires re-index
950 -
951 -ElasticPress 2.7 provides some new enhancements and bug fixes.
952 -
953 -* Prevent indexing when blog is deleted or not public.
954 -* Do not apply absint to comment_status.
955 -* ElasticPress.io credentials bugfix.
956 -* Related posts bugfix.
957 -* Random WooCommerce ordering allowed.
958 -* Query only post IDs when indexing. (Props [elliott-stocks](https://github.com/elliott-stocks))
959 -* Better error notices. (Props [petenelson](https://github.com/petenelson))
960 -
961 -= 2.6.1 - 2018-08-24 =
962 -* Resolves issue of missing file for wp-cli.
963 -
964 -= 2.6.0 - 2018-08-22 =
965 -ElasticPress 2.6 provides some new enhancements and bug fixes.
966 -
967 -* Ability to set autosuggest endpoint by a constant (EP_AUTOSUGGEST_ENDPOINT).
968 -* Enable WooCommerce products to be included in autosuggest results.
969 -* Support for tax_query operators EXISTS and NOT EXISTS.
970 -* Addition of new filter to change default orderby/sort (ep_set_default_sort).
971 -* Do not search for author_name when searching products in WooCommerce.
972 -
973 -= 2.5.2 - 2018-05-09 =
974 -NOTICE: Requires re-index.
975 -
976 -This is a small bug fix release.
977 -
978 -* Removed unnecessary facet JavaScript
979 -* Fix facet aggregations warning
980 -
981 -= 2.5.1 - 2018-05-02 =
982 -NOTICE: Requires re-index.
983 -
984 -This if a bug fix release. This version requires a re-index as we change the way data is being sent to Elasticsearch.
985 -
986 -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.
987 -
988 -### Bug Fixes
989 -
990 -* Don't pre-strip HTML before sending it to Elasticsearch.
991 -* Support PHP 5.2 backwards compat.
992 -* Don't show faceting widget if post type doesn't support taxonomy.
993 -
994 -= 2.5 - 2018-04-23 =
995 -ElasticPress 2.5 includes a new Facets feature that makes it easy to add high performance content filtering controls to a website.
996 -
997 -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.
998 -
999 -Version 2.5 also includes a number of smaller enhancements and fixes, including official support for Elasticsearch 6.2, and increased functional parity with the WP_Query API.
1000 -
1001 -Here is a detailed list of what's been included in the release:
1002 -
1003 -### Enhancements
1004 -* Facets feature
1005 -* `--post-ids` CLI option to index only specific posts. Props [dotancohen](https://github.com/dotancohen).
1006 -* Filter for hiding host setting in dashboard. Props [tomdxw](https://github.com/tomdxw).
1007 -* Support `WP_Query` meta query `not between` comparator.
1008 -
1009 -### Bugs
1010 -* Disallow duplicated Elasticsearch requests on WooCommerce orders page. Props [lukaspawlik](https://github.com/lukaspawlik)
1011 -* Fix taxonomy sync object warning. Props [eugene-manuilov](https://github.com/eugene-manuilov)
1012 -* `true` in `is_empty_query` terminates ep_query process when it shouldn't. Props [yaronuliel](https://github.com/yaronuliel)
1013 -
1014 -= 2.4.2 - 2018-01-31 =
1015 -Version 2.4.2 is a bug fix version.
1016 -
1017 -* Fix related posts not showing up bug.
1018 -
1019 -= 2.4.1 - 2018-01-30 =
1020 -Version 2.4.1 is a bug fix and maintenance release. Here are a listed of issues that have been resolved:
1021 -
1022 -* Support Elasticsearch 6.1 and properly send Content-Type header with application/json. Props [eugene-manuilov](https://github.com/eugene-manuilov).
1023 -* Fix autosuggest event target issue bug. Props [eugene-manuilov](https://github.com/eugene-manuilov).
1024 -* Fix widget init bug. Props [eugene-manuilov](https://github.com/eugene-manuilov).
1025 -* Fix taxonomy sync parameter warning. Props [eugene-manuilov](https://github.com/eugene-manuilov).
1026 -* Increase maximum Elasticsearch compatibility to 6.1
1027 -
1028 -= 2.4 - 2017-11-01 =
1029 -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.
1030 -
1031 -We also added hooks and filters to ElasticPress that make query logging possible. The [Debug Bar ElasticPress](https://github.com/10up/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.
1032 -
1033 -Here is a comphrensive list of changes:
1034 -
1035 -### Enhancements
1036 -* Autosuggest feature
1037 -* Hooks for query log functionality in [Debug Bar ElasticPress](https://github.com/10up/debug-bar-elasticpress)
1038 -* Support `WP_Query` `fields` parameter. Props [kallehauge](https://github.com/kallehauge).
1039 -* Add setting for enabling/disabling date weighting in search. Props [lukaspawlik](https://github.com/kallehauge).
1040 -* Remove extra post meta storage key from Elasticsearch
1041 -* Add shipping class as indexed WooCommerce taxonomy. Props [kallehauge](https://github.com/kallehauge).
1042 -* Allow WooCommerce orders to be searched by items. Props [kallehauge](https://github.com/kallehauge).
1043 -* Support Elasticsearch 5.6
1044 -* Add filter to granularly control admin notices. Props [mattonomics](https://github.com/mattonomics).
1045 -* Support ES 5.5+ strict content type checking. Props [sc0ttclark](https://github.com/sc0ttclark)
1046 -
1047 -### Bug Fixes
1048 -* Fix `author_name` search field. Props [ivankristianto](https://github.com/ivankristianto).
1049 -* Fix unavailable taxonomy issue in WooCommerce. Props [ivankristianto](https://github.com/ivankristianto).
1050 -* Index all publicly queryable taxonomies. Props [allan23](https://github.com/allan23).
1051 -* Resolve case insensitive sorting issues. Props [allan23](https://github.com/allan23).
1052 -* Add escaping per VIP standards. Props [jasonbahl](https://github.com/jasonbahl).
1053 -* Fix WooCommerce post type warnings.
1054 -
1055 -= 2.3.1, 2.3.2 - 2017-06-30=
1056 -Version 2.3.1-2.3.2 is a bug fix release. Here are a listed of issues that have been resolved:
1057 -
1058 -* 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.
1059 -* Fix broken upgrade sync notification.
1060 -* Properly respect WC product visibility. Props [ivankristianto](https://github.com/ivankristianto). This requires a re-index if you are using the WooCommerce feature.
1061 -
1062 -= 2.3 - 2017-05-26 =
1063 -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.
1064 -
1065 -### Enhancements
1066 -* Documents feature
1067 -* Enable multiple feature status messages
1068 -* Disable dashboard sync via constant: `define( 'EP_DASHBOARD_SYNC', false );`. Props [rveitch](https://github.com/rveitch).
1069 -* Add filter for custom WooCommerce taxonomies. Props [kallehauge](https://github.com/kallehauge).
1070 -* Support WooCommerce `product_type` taxonomy. Props [kallehauge](https://github.com/kallehauge).
1071 -
1072 -### Bug Fixes
1073 -* Fix WP-CLI `--no-bulk` number of posts indexed message. Props [ivankristianto](https://github.com/ivankristianto).
1074 -* Honor `ep_integrate` in WooCommerce queries. Props [ivankristianto](https://github.com/ivankristianto).
1075 -* Properly check when ES results are empty. Props [lukaspawlik](https://github.com/lukaspawlik)
1076 -* Incorrect `found_posts` set in query when ES is unavailable. Props [lukaspawlik](https://github.com/lukaspawlik)
1077 -
1078 -= 2.2.1 - 2017-03-30 =
1079 -Version 2.2.1 is a bug fix release. Here are a listed of issues that have been resolved:
1080 -
1081 -* Fix dashboard syncing delayed start issues.
1082 -* If plugins endpoint errors, try root endpoint to get the ES version.
1083 -* Make sure orderby is correct for default WooCommerce sorting. Props [ivankristianto](https://github.com/ivankristianto).
1084 -* Remove operator=>AND unneed execution code.
1085 -* Stop dashboard sync if error occurs in the middle. Props [ivankristianto](https://github.com/ivankristianto).
1086 -* Add `EP_INDEX_PREFIX` constant. If set, index names will be prefixed with the constant. Props [allan23](https://github.com/allan23).
1087 -* Increase total field limit to 5000 and add filter. Props [ssorathia](https://github.com/ssorathia).
1088 -* Prevent EP from auto-activating a feature that was force deactivated
1089 -* Prevent massive field Elasticsearch error when indexing large strings
1090 -* Increase max result window size to 1000000 and add filter.
1091 -
1092 -= 2.2 - 2017-02-28 =
1093 -NOTICE: Requires re-index.
1094 -
1095 -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.
1096 -
1097 -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.
1098 -
1099 -### Enhancements
1100 -* __(Breaking change)__ Module registration API changed. See `register_module` in `classes/class-ep-modules.php`.
1101 -* __(Breaking change)__ Related posts are now in a widget instead of automatically being appending to content.
1102 -* __(Breaking change)__ Admin module renamed to Protected Content.
1103 -* Admin warning if current Elasticsearch version is not between the min/max supported version. Version 2.2 supports versions 1.3 - 5.1.
1104 -* Auto-reindex on versions requiring reindex.
1105 -* User friendly admin notifications for ElasticPress not set up, first sync needed, and feature auto activation.
1106 -* 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.
1107 -* Add support for post_mime_type. Props [Ritesh-patel](https://github.com/Ritesh-patel)
1108 -
1109 -### Bug Fixes
1110 -* Back compat with old `ep_search` function.
1111 -* Respect indexable post types in WooCommerce feature
1112 -* New product drafts not showing in WooCommerce admin list
1113 -* WooCommerce feature breaking image search in media library. Props [Ritesh-patel](https://github.com/Ritesh-patel)
1114 -* WooCommerce order search broken
1115 -* Stop the insansity made private. Props [sc0ttclark](https://github.com/sc0ttclark)
1116 -* Fix multidimensional meta querys. Props [Ritesh-patel](https://github.com/Ritesh-patel).
1117 -* Properly show bulk index errors in WP-CLI
1118 -* Update ep_delete_post, include $post_type argument. Props [Ritesh-patel](https://github.com/Ritesh-patel)
1119 -* Fix post_type product getting set in any WP_Query if tax_query is provided in WooCommerce feature. Props [Ritesh-patel](https://github.com/Ritesh-patel)
1120 -* Adds 'number' param to satisfy WP v4.6+ fixing get_sites call. Props [rveitch](https://github.com/rveitch)
1121 -* Order by proper relevancy in WooCommerce product search. Props [ivankristianto](https://github.com/ivankristianto)
1122 -* Fix recursion fatal error due to oembed discovery during syncing. Props [ivankristianto](https://github.com/ivankristianto)
1123 -
1124 -= 2.1.2 - 2016-11-11 =
1125 -NOTICE: Requires re-index.
1126 -
1127 -* Separate mapping for ES 5.0+
1128 -* Fix some unit tests
1129 -
1130 -= 2.1.1 - 2016-09-29 =
1131 -* Fix PHP 5.3 errors
1132 -* Properly show syncing button module placeholder during sync
1133 -
1134 -= 2.1 - 2016-09-20 =
1135 -* Redo UI
1136 -* Make plugin modular
1137 -* Remove unnecessary back up hosts code
1138 -* Bundle existing modules into plugin
1139 -* Support `meta_key` and `meta_value`
1140 -* Order by `meta_value_num`
1141 -* Properly support `post_parent = 0`. Props [tuanmh](https://github.com/tuanmh)
1142 -* Add search scope file. Props [rveitch](https://github.com/rveitch)
1143 -* Support WP_Query `post_status`. Props [sc0ttclark](https://github.com/sc0ttkclark)
1144 -
1145 -### Backward compat breaks:
1146 -* Move ep_admin_wp_query_integration to search integration only. EP integration by default is available everywhere.
1147 -* Remove `keep alive` setting
1148 -* Remove setting to integrate with search (just activate the module instead)
1149 -* Back up hosts code removed
1150 -* Remove active/inactive state. Rather just check if an index is going on our not.
1151 -
1152 -### Bug fixes
1153 -* Fix `post__in` support
1154 -* Fix `paged` overwriting `offset`
1155 -* Fix integer and comma separated string `sites` WP_Query processing. Props [jaisgit](https://github.com/jaisgit).
1156 -
1157 -= 2.0.1 - 2016-08-02 =
1158 -### Bug fixes
1159 -* Don't load settings on front end. This fixes a critical bug causing ElasticPress to check the Elasticsearch connection on the front end.
1160 -
1161 -= 2.0 - 2016-06-01 =
1162 -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.
1163 -
1164 -### Enhancements
1165 -* Radical search algorithm improvements for more relevant results (see [#508](https://github.com/10up/ElasticPress/pull/508) for details)
1166 -* Support meta `BETWEEN` queries.
1167 -* Improve GUI by disabling index status meta box text and improving instructions. Props [ivanlopez](https://github.com/ivanlopez)
1168 -* Support `OR` relation for tax queries.
1169 -* Sync post to Elasticsearch when meta is added/updated.
1170 -* Support all taxonomies as root WP_Query arguments. Props [tuanmh](https://github.com/tuanmh)
1171 -* Add `ID` field to Elasticsearch mapping
1172 -* Support `post_parent` WP_Query arguments. Props [tuanmh](https://github.com/tuanmh)
1173 -* Add filter to disable printing of post index status. Props [tuanmh](https://github.com/tuanmh)
1174 -* Add useful CLI hooks
1175 -* Add a filter to bypass permission checking on sync (critical for front end updates)
1176 -
1177 -### Bugs
1178 -* Consider all remote request 20x responses as successful. Props [tuanmh](https://github.com/tuanmh)
1179 -* Fix plugin localization. Props [mustafauysal](https://github.com/mustafauysal)
1180 -* Do query logging by default. Props [lukaspawlik](https://github.com/lukaspawlik)
1181 -* Fix cannot redeclare class issue. Props [tuanmh](https://github.com/tuanmh)
1182 -* Fix double querying Elasticsearch by ignoring `category_name` when `tax_query` is present.
1183 -* Fix post deletion endpoint URL. Props [lukaspawlik](https://github.com/lukaspawlik)
1184 -
1185 -A special thanks goes out to [Tuan Minh Huynh](https://github.com/tuanmh) and everyone else for contributions to version 2.0.
1186 -
1187 -= 1.9.1 - 2016-05-23 =
1188 -Quick bug fix version to address the GUI not working properly when plugin is not network enabled within multisite. Props to [Ivan Lopez](https://github.com/ivanlopez)
1189 -
1190 -= 1.9 - 2016-05-17 =
1191 -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:
1192 -
1193 -### Enhancements:
1194 -* Add in an Admin GUI to handle indexing. Props [ChrisWiegman](https://github.com/ChrisWiegman).
1195 -* Add option to not disable ElasticPress while indexing. Props [lukaspawlik](https://github.com/lukaspawlik).
1196 -* Allow filtering of which post types we want to search for. Props [rossluebe](https://github.com/rossluebe).
1197 -* Remove composer.lock from the repo. Props [ChrisWiegman](https://github.com/ChrisWiegman).
1198 -* Ensure both PHPUnit and WP-CLI are available in the development environment. Props [ChrisWiegman](https://github.com/ChrisWiegman).
1199 -* User lower-case for our composer name, so packagist can find us. Props [johnpbloch](https://github.com/johnpbloch).
1200 -* Check query_vars, not query to determine status. Props [ChrisWiegman](https://github.com/ChrisWiegman).
1201 -* Improve memory usage during indexing and fix unnecessary cache flushes. Props [cmmarslender](https://github.com/cmmarslender).
1202 -* Further reduce memory usage during indexing. Props [lukaspawlik](https://github.com/lukaspawlik).
1203 -* Add post__in and post__not_in documentation. Props [mgibbs189](https://github.com/mgibbs189).
1204 -* Add Elasticsearch Shield authentication headers if constant is set. Props [rveitch](https://github.com/rveitch).
1205 -
1206 -### Bugs:
1207 -* Fix the --no-bulk indexing option. Props [lukaspawlik](https://github.com/lukaspawlik).
1208 -* Fixed an error that occurs if no Elasticsearch host is running. Props [petenelson](https://github.com/petenelson).
1209 -* Fixed an exception error. Props [dkotter](https://github.com/dkotter).
1210 -* Fixed the WP-CLI status command. Props [dkotter](https://github.com/dkotter).
1211 -
1212 -= 1.8 - 2016-01-19 =
1213 -NOTICE: Mapping change, requires re-index.
1214 -
1215 -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:
1216 -
1217 -### Enhancements:
1218 -* Add a filter around the search fuzziness argument. Props [dkotter](https://github.com/dkotter).
1219 -* Make post indexing a non-blocking query. Props [cmmarslender](https://github.com/cmmarslender).
1220 -* Log queries for debugging. Makes [ElasticPress Debug Bar](https://github.com/10up/debug-bar-elasticpress) plugin possible.
1221 -* Make `posts_per_page = -1` possible.
1222 -* Support term id and name tax queries.
1223 -* Add raw/sortable to property to term mapping. Props [sc0ttkclark](https://github.com/sc0ttkclark)
1224 -* Add raw/sortable property to meta mapping. Props [sc0ttkclark](https://github.com/sc0ttkclark)
1225 -* Add raw/sortable to author display name and login
1226 -
1227 -### Bugs:
1228 -* Fix post deletion. Props [lukaspawlik](https://github.com/lukaspawlik).
1229 -* Properly flush cache with `wp_cache_flush`. Props [jstensved](https://github.com/jstensved)
1230 -* When directly comparing meta values in a meta query, use the `raw` property instead of `value`.
1231 -* Support arbitrary document paths in orderby. Props [sc0ttkclark](https://github.com/sc0ttkclark).
1232 -
1233 -= 1.7 - 2015-12-11 =
1234 -NOTICE: Mapping change, requires re-index.
1235 -
1236 -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:
1237 -
1238 -* `meta.value` (string)
1239 -* `meta.raw` (unanalyzed string)
1240 -* `meta.long` (unanalyzed number)
1241 -* `meta.double` (unanalyzed number)
1242 -* `meta.boolean` (unanalyzed number)
1243 -* `meta.date` (unanalyzed yyyy-MM-dd date)
1244 -* `meta.datetime` (unanalyzed yyyy-MM-dd HH:mm:ss datetime)
1245 -* `time` (unanalyzed HH:mm:ss time)
1246 -
1247 -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.
1248 -
1249 -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.
1250 -
1251 -1.7 also contains the following bugs/enhancements:
1252 -
1253 -* (Bug) Prevent missed post indexing when duplicate post dates. Props [lukaspawlik](https://github.com/lukaspawlik)
1254 -* (Bug) Complex meta types are automatically serialized upon storage.
1255 -* (Enhancement) Index posts according to post type. Props [sc0ttkclark](https://github.com/sc0ttkclark)
1256 -
1257 -= 1.6.2 - 2015-11-12 =
1258 -NOTICE: Mapping change, requires re-index.
1259 -
1260 -ElasticPress 1.6.2 fixes ALL backwards compatibility issues with Elasticsearch 2.0:
1261 -
1262 -* Removes `fuzzy_like_this` query and uses `multi_match` instead.
1263 -* Uses string instead of array for post type term when there is only one term.
1264 -
1265 -= 1.6.1 - 2015-11-09 =
1266 -NOTICE: Mapping change, requires re-index.
1267 -
1268 -ElasticPress 1.6.1 fixes mapping backwards compatibility issues with Elasticsearch 2.0:
1269 -
1270 -* Removes the fields field type from object typed fields as they should be called properties.
1271 -* Remove path from object field types.
1272 -
1273 -= 1.6 - 2015-08-31 =
1274 -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.
1275 -
1276 -### Bug Fixes:
1277 -* Clean up PHP Code Sniffer errors. Props [chriswiegman](https://github.com/chriswiegman)
1278 -* Properly document Elasticsearch version
1279 -* Abide by `exclude_from_search` instead of `public` when indexing post types. Props [allan23](https://github.com/allan23) and [ghosttoast](https://github.com/ghosttoast).
1280 -* Allow posts to be indexed with invalid date values. Props [tuanmh](https://github.com/tuanmh)
1281 -* Support `ep_post_sync_kill` filter in bulk indexing. Props [Stayallive](https://github.com/Stayallive)
1282 -
1283 -### Enhancements:
1284 -* Add blog id to `ep_index_name` filter. Props [kovshenin](https://github.com/kovshenin)
1285 -* Support post caching in search
1286 -* Add recursive term indexing for heirarchal taxonomies. Props [tuanmh](https://github.com/tuanmh)
1287 -* Enable indexing of attachments
1288 -* Support fallback hosts in case main EP host is unavailable. Props [chriswiegman](https://github.com/chriswiegman)
1289 -* Add `ep_retrieve_the_post` filter to support relevancy score manipulation. Props [matthewspencer](https://github.com/matthewspencer)
1290 -* Make search results filterable. Props [chriswiegman](https://github.com/chriswiegman)
1291 -
1292 -= 1.5.1 - 2015-07-06 =
1293 -### Bug Fixes:
1294 -* 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](https://github.com/allan23)
1295 -
1296 -= 1.5 - 2015-06-25 =
1297 -### Bug Fixes:
1298 -* Prevent direct access to any PHP files. Props [joelgarciajr84](https://github.com/joelgarciajr84)
1299 -* Fixed fields not being loaded from ES. Props [stayallive](https://github.com/stayallive)
1300 -* Fixed inclusive check in date_query integration. Props [EduardMaghakyan](https://github.com/EduardMaghakyan)
1301 -
1302 -### Enhancements:
1303 -* Add support for category_name WP_Query parameter. Props [ocean90](https://github.com/ocean90)
1304 -* Support limiting sites in network wide commands. Props [bordoni](https://github.com/bordoni)
1305 -* Add support for method to un-integrate WP_Query. Props [kingkool68](https://github.com/kingkool68)
1306 -* Support `cache_results` in WP_Query
1307 -* Add action prior to starting WP-CLI index command
1308 -* Add missing headers to WP_CLI commands. Props [chriswiegman](https://github.com/chriswiegman)
1309 -* Improve error reporting in bulk indexing during bad ES requests.
1310 -* Fix is_search check notice. Props [allenmoore](https://github.com/allenmoore) and [allan23](https://github.com/allan23)
1311 -* Added a filter to modify request headers. Props [tuanmh](https://github.com/tuanmh)
1312 -* Prevent bulk index from sending useless error emails. Props [cmmarslender](https://github.com/cmmarslender)
1313 -* Add --offset parameter to cli indexing command. [Stayallive](https://github.com/stayallive)
1314 -* Change the syncing hook to play better with plugins. Props [jonathanbardo](https://github.com/jonathanbardo)
1315 -* Support like query in post meta. Props [tuanmh](https://github.com/tuanmh)
1316 -* Sanitization fixes for PHPCS. Props [mphillips](https://github.com/mphillips)
1317 -* Added filter to set default sort order. Props [HKandulla](https://github.com/HKandulla)
1318 -* MySQL DB completely removed from integrated ElasticPress WP Query. Props [EduardMaghakyan](https://github.com/EduardMaghakyan) and [crebacz](https://github.com/crebacz)
1319 -
1320 -= 1.4 - 2015-05-18 =
1321 -### Bug Fixes:
1322 -* Duplicate sync post hooks separated. Props [superdummy](https://github.com/superdummy)
1323 -* Don't send empty index error emails. Props [cmmarslender](https://github.com/cmmarslender)
1324 -* Remove default shard and indices configuration numbers but maintain backwards compatibility. Props [zamoose](https://github.com/zamoose)
1325 -* Fix wrong author ID in post data. Props [eduardmaghakyan](https://github.com/eduardmaghakyan)
1326 -
1327 -### Enhancements:
1328 -* `date_query` and date parameters now supported in WP_Query. Props [joeyblake](https://github.com/joeyblake) and [eduardmaghakyan](https://github.com/eduardmaghakyan)
1329 -* Make all request headers filterable
1330 -* Add EP API key to all requests as a header if a constant is defined. Props [zamoose](https://github.com/zamoose)
1331 -* Add index exists function; remove indexes on blog deletion/deactivation. Props [joeyblake](https://github.com/joeyblake)
1332 -* Refactor wp-cli stats for multisite. Props [jaace](https://github.com/jaace)
1333 -* Index mappings array moved to separate file. Props [mikaelmattsson](https://github.com/mikaelmattsson)
1334 -* Support meta inequality comparisons. Props [psorensen](https://github.com/psorensen)
1335 -
1336 -= 1.3.1 - 2015-04-09 =
1337 -* Support `date` in WP_Query `orderby`. Props [psorensen](https://github.com/psorensen)
1338 -
1339 -= 1.3 - 2015-02-03 =
1340 -* Support `meta_query` in WP_Query integration
1341 -* Improved documentation. Each WP-CLI command has been documented
1342 -* Add `elasticsearch` property to global post object to assist in debugging
1343 -* `ep_integrate` param added to allow for WP_Query integration without search. (Formally called ep_match_all)
1344 -* Filter added for post statuses (defaults to `publish`). Change the sync mechanism to make sure it takes all post statuses into account. Props [jonathanbardo](https://github.com/jonathanbardo)
1345 -* Bug fix: check if failed post exists in indexing. Props [elliot-stocks](https://github.com/elliott-stocks)
1346 -* Bug fix: properly check if setup is defined in indexing. Props [elliot-stocks](https://github.com/elliott-stocks)
1347 -* Bug fix: add WP_Query integration on init rather than plugins loaded. Props [adamsilverstein](https://github.com/adamsilverstein)
1348 -* Bug fix: Properly set global post object post type in loop. Props [tott](https://github.com/tott)
1349 -* Bug fix: Do not check if index exists on every page load. Refactor so we can revert to MySQL after failed ES ping.
1350 -* Bug fix: Make sure we check `is_multisite()` if `--network-wide` is provided. Props [ivankruchkoff](https://github.com/ivankruchkoff)
1351 -* Bug fix: Abide by the `exclude_from_search` flag from post type when running search queries. Props [ryanboswell](https://github.com/ryanboswell)
1352 -* Bug fix: Correct mapping of `post_status` to `not_analyzed` to allow for filtering of the search query (will require a re-index). Props [jonathanbardo](https://github.com/jonathanbardo)
1353 -
1354 -= 1.2 - 2014-12-05 =
1355 -* Allow number of shards and replicas to be configurable.
1356 -* Improved searching algorithm. Favor exact matches over fuzzy matches.
1357 -* Query stack implementation to allow for query nesting.
1358 -* Filter and disable query integration on a per query basis.
1359 -* Support orderby` parameter in `WP_Query
1360 -* (Bug) 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.
1361 -* (Bug) Change delete action to action_delete_post instead of action_trash_post
1362 -* (Bug) Remove _boost from mapping. _boost is deprecated by Elasticsearch.
1363 -* Improve unit testing for query ordering.
1364 -
1365 -= 1.1 - 2014-10-27 =
1366 -* 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.
1367 -* Add support for post_title and post_name orderby parameters in `WP_Query` integration. Add support for order parameters.
1368 -
1369 -= 1.0 - 2014-10-20 =
1370 -* Support `search_fields` parameter. Support author, title, excerpt, content, taxonomy, and meta within this parameter.
1371 -* Move all management functionality to WP-CLI commands
1372 -* Remove ES_Query and support everything through WP_Query
1373 -* Disable sync during import
1374 -* Check for valid blog ids in index names
1375 -* Improved bulk error handling
1376 -* No need for `ep_last_synced` meta
1377 -* No need for syncing taxonomy
1378 -* Improved unit test coverage
1379 -* `sites` WP_Query parameter to allow for search only on specific blogs
1380 -
1381 -= 0.9.3 - 2014-09-26 =
1382 -Added:
1383 -* Better documentation surrounding `WP_Query` parameters (props @tlovett1).
1384 -* Option to allow for using `match_all` (props @colegeissinger for suggestion).
1385 -* Better tests for some `WP_Query` parameters (props @tlovett1).
1386 -* Allow for manual control over search integration.
1387 -* Support for passing an array of sites to search against (props @tlovett1).
1388 -* Filter for controlling whether or not ElasticPress is enabled during a `wp_query` request.
1389 -* Filter to allow adjusting which fields are searched (`ep_search_fields`).
1390 -
1391 -Changed:
1392 -* Prevented filtering `WP_Query` in admin (props @cmmarslender).
1393 -* Updated tests to better conform to WordPress repo 5.2 compatibility (props @tlovett1).
1394 -* Made running re-indexing commands simpler and easier by adding support for a new `--setup` flag on the `index` command.
1395 -* Disable search integration during syncing.
1396 -
1397 -Fixed:
1398 -* Bug that would cause a post to stay in the index when a post was unpublished.
1399 -* Bug that would cause site to be improperly switched after a `wp_reset_postdata` while not in the loop.
1400 -* Bug that would cause EP to individually sync each post during an import - disabled syncing during import - requires a full re-index after import.
1401 -
1402 -= 0.9.2 - 2014-09-11 =
1403 -Added:
1404 -* Wrapper method for wp_get_sites, added filter.
1405 -* Ability to change scope of search to other sites in network.
1406 -* tax_query support.
1407 -
1408 -Changed:
1409 -* Aggregation filter update.
1410 -
1411 -= 0.9.1 - 2014-09-05 =
1412 -Added:
1413 -* Action to allow for retrieval of raw response.
1414 -* Filter to retrieve aggregations.
1415 -* Pagination tests.
1416 -* ep_min_similarity and ep_formatted_args filters.
1417 -* ep_search_fields filter for adding custom search fields.
1418 -* Filter to allow for specific site selection on multisite indexing.
1419 -
1420 -Changed:
1421 -* Adjust default fuzziness to .75 instead of .5.
1422 -
1423 -Removed:
1424 -* Main query check on ep wp query integration.
1425 -
1426 -= 0.9 - 2014-09-03 =
1427 -Added:
1428 -* Make labels clickable in admin.
1429 -* Setup plugin textdomain; POT file for translation; localize stray string in cron.
1430 -* Tests for is_alive function.
1431 -* search_meta key param support to ES_Query.
1432 -* Test WP Query integration on multisite setup.
1433 -* Flush and re-put mapping on admin sync request.
1434 -* WP Query integration.
1435 -
1436 -Changed:
1437 -* Simplify sync.
1438 -* do_scheduled_syncs into do_syncs.
1439 -* Make config files static.
1440 -
1441 -Removed:
1442 -* EP hidden taxonomy.
1443 -
1444 -Fixed:
1445 -* Cron stuff.
1446 -* Statii.
1447 -* Type coercion in equality checks.
1448 -
1449 -= 0.1.2 - 2014-06-27 =
1450 -* Only index public taxonomies
1451 -* Support ES_Query parameter that designates post meta entries to be searched
1452 -* Escape post ID and site ID in API calls
1453 -* Fix escaping issues
1454 -* Additional tests
1455 -* Translation support
1456 -* Added is_alive function for checking health status of Elasticsearch server
1457 -* Renamed `statii` to `status`
1458 -
1459 -= 0.1.0 - Unknown =
1460 -* Initial plugin
1461 -
1462 -== Upgrade Notice ==
1463 -
1464 -= 4.0.0 =
1465 -**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](https://github.com/10up/ElasticPress/releases), 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.
1466 -
1467 -= 3.6.0 =
1468 -**Note that the upcoming ElasticPress 3.7.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.
600 +[View historical changelog details here](https://github.com/10up/ElasticPress/blob/develop/CHANGELOG.md).