PluginProbe
ElasticPress / 5.0.2
ElasticPress v5.0.2
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
elasticpress / readme.txt

readme.txt in ElasticPress 5.0.2, at readme.txt

2,159 lines 170.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 === ElasticPress ===
2 Contributors: 10up, tlovett1, vhauri, tott, felipeelia, 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.4
5 Stable tag: 5.0.2
6 License: GPLv2 or later
7 License URI: https://www.gnu.org/licenses/gpl-2.0.html
8
9 A fast and flexible search and query engine for WordPress.
10
11 == Description ==
12 ElasticPress, a fast and flexible search and query engine for WordPress, enables WordPress to find or “query” relevant content extremely fast through a variety of highly customizable features. WordPress out-of-the-box struggles to analyze content relevancy and can be very slow. ElasticPress supercharges your WordPress website making for happier users and administrators. The plugin even contains features for popular plugins.
13
14 Here is a list of the amazing ElasticPress features included in the plugin:
15
16 __Search__: Instantly find the content you’re looking for. The first time.
17
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
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
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
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.
25
26 __Documents__: Indexes text inside of popular file types, and adds those files types to search results.
27
28 __Autosuggest__: Suggest relevant content as text is entered into the search field.
29
30 __Filters__: Add controls to your website to filter content by one or more taxonomies.
31
32 __Comments__: Indexes your comments and provides a widget with type-ahead search functionality. It works with WooCommerce product reviews out-of-the-box.
33
34 == Frequently Asked Questions ==
35
36 = How does ElasticPress work? =
37
38 The ElasticPress plugin enables you to connect your WordPress site to the ElasticPress.io service, a SaaS solution that provides an enhanced search experience while reducing load on your WordPress site. For advanced users familiar with both WordPress and Elasticsearch hosting and management, ElasticPress also offers support for plugin functionality using an Elasticsearch instance. Please keep in mind that there are multiple security, performance, and configuration considerations to take into account if you take this approach.
39
40 = I have to use an in-house or custom Elasticsearch solution due to policy or institutional requirements. Can you still help? =
41
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.
43
44 = Where can I find ElasticPress documentation and user guides? =
45
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://elasticpress.zendesk.com/hc/en-us).
47
48 = I have a problem with the plugin. Where can I get help? =
49
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.
51
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/).
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
58 = Is ElasticPress compatible with OpenSearch or Elasticsearch X.Y? =
59
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://10up.github.io/ElasticPress/tutorial-compatibility.html).
61
62 = I really like ElasticPress! Can I contribute? =
63
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).
65
66 == Installation ==
67 1. First, you will need to properly [install and configure](https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html) Elasticsearch.
68 2. Activate the plugin in WordPress.
69 3. In the ElasticPress settings page, input your Elasticsearch host.
70 4. Sync your content by clicking the sync icon.
71 5. Enjoy!
72
73 == Screenshots ==
74 1. Features Page
75 2. Search Fields & Weighting Dashboard
76 3. Sync Page
77 4. Synonyms Dashboard
78 5. Instant Results modal
79
80 == Changelog ==
81
82 = 5.0.2 - 2024-01-16 =
83
84 __Changed:__
85
86 * [Terms] Counts are now calculated with `wp_count_terms()` in `query_db`. Props [@rebeccahum](https://github.com/rebeccahum).
87 * Composer and npm files are now part of the final package. Props [@felipeelia](https://github.com/felipeelia).
88
89 __Fixed:__
90
91 * [WooCommerce] Not use a hard-coded list of order post types. Props [@felipeelia](https://github.com/felipeelia).
92 * [Autosuggest] Stop calling the get`-autosuggest-allowed` endpoint to build the REST API schema. Props [@felipeelia](https://github.com/felipeelia).
93
94 __Security:__
95
96 * Bumped `follow-redirects` from 1.15.3 to 1.15.4. Props [@dependabot](https://github.com/dependabot).
97
98 = 5.0.1 - 2023-12-12 =
99
100 __Added:__
101
102 * 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).
103
104 __Fixed:__
105
106 * Queries failing due to a "request body is required" error. Props [@felipeelia](https://github.com/felipeelia).
107 * Fatal error when site has a bad cookie. Props [@burhandodhy](https://github.com/burhandodhy).
108 * Broken i18n of some strings. Props [@felipeelia](https://github.com/felipeelia) and [@iazema](https://github.com/iazema).
109 * 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).
110 * PHP warning when using block themes. Props [@felipeelia](https://github.com/felipeelia) and [@tropicandid](https://github.com/tropicandid).
111 * Several typos. Props [@szepeviktor](https://github.com/szepeviktor).
112 * Index cleanup process - offset being zeroed too late. Props [@pknap](https://github.com/pknap).
113 * PHP warning in site health page. Props [@turtlepod](https://github.com/turtlepod).
114 * ReactDOM.render is no longer supported in React 18. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
115 * E2e tests with WordPress 6.4. Props [@felipeelia](https://github.com/felipeelia).
116 * PHP Setup in GitHub Actions. Props [@felipeelia](https://github.com/felipeelia).
117
118 = 5.0.0 - 2023-11-01 =
119
120 **ElasticPress 5.0.0 contains some important changes. Make sure to read these highlights before upgrading:**
121
122 * This version does not require a full reindex but it is recommended, especially for websites using synonyms containing spaces.
123 * 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.
124 * Features now have their fields declared in JSON. Custom features may need to implement the `set_settings_schema()` method to work.
125 * 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.
126 * 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.
127 * New minimum versions are:
128 * Elasticsearch: 5.2
129 * WordPress: 6.0
130 * PHP: 7.4
131
132 __Added__:
133
134 * 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).
135 * 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).
136 * 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).
137 * New Date Filter Block. Props [@burhandodhy](https://github.com/burhandodhy), [@JakePT](https://github.com/JakePT), and [@felipeelia](https://github.com/felipeelia).
138 * 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).
139 * Final status of syncs (success, with errors, failed, or aborted.) Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
140 * REST API endpoint at `elasticpress/v1/features` for updating feature settings. Props [@JakePT](https://github.com/JakePT).
141 * New `ElasticsearchErrorInterpreter` class. Props [@felipeelia](https://github.com/felipeelia).
142 * 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).
143 * The sync page now describes what triggered the current sync, and previous syncs. Props [@JakePT](https://github.com/JakePT).
144 * Weighting and Synonyms Dashboards to multisites. Props [@felipeelia](https://github.com/felipeelia).
145 * No-cache headers to sync calls. Props [@felipeelia](https://github.com/felipeelia).
146
147 __Changed:__
148
149 * Abstracted Sync page logic into a provider pattern. Props [@JakePT](https://github.com/JakePT).
150 * 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).
151 * 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).
152 * Features settings declared as JSON. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
153 * Tweaked layout and notifications style on the Status Report screen for consistency with the updated Sync page. Props [@JakePT](https://github.com/JakePT).
154 * Moved REST API endpoint definitions to controller classes. Props [@JakePT](https://github.com/JakePT).
155 * SyncManager array queues are now indexed by the blog ID. Props [@sathyapulse](https://github.com/sathyapulse) and [@felipeelia](https://github.com/felipeelia).
156 * Comments and Terms are now hidden by default. Props [@felipeelia](https://github.com/felipeelia).
157 * 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).
158 * Run e2e tests against the minimum supported WordPress version. Props [@felipeelia](https://github.com/felipeelia).
159 * Several tweaks in the Features settings API. Props [@JakePT](https://github.com/JakePT) via [#3708](https://github.com/10up/ElasticPress/pull/3708).
160 * 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).
161 * Node packages updated. Props [@felipeelia](https://github.com/felipeelia).
162 * Updated the labels of feature settings and options for consistency and clarity. Props [@JakePT](https://github.com/JakePT).
163 * 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).
164 * Minimum requirements. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
165 * 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).
166 * Radio and checkbox settings were changed from booleans to strings. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
167 * The troubleshooting article link was updated. Props [@felipeelia](https://github.com/felipeelia) and [@anjulahettige](https://github.com/anjulahettige).
168
169 __Deprecated:__
170
171 * The `IndexHelper::get_last_index` method was replaced by `IndexHelper::get_last_sync`.
172 * The `FailedQueries::maybe_suggest_solution_for_es` method was replaced by `ElasticsearchErrorInterpreter::maybe_suggest_solution_for_es`.
173 * `Weighting::render_settings_section`, `Weighting::handle_save`, `Weighting::redirect`, and `Weighting::save_weighting_configuration` were deprecated in favor of React components.
174
175 __Removed:__
176
177 * Users-related files from the main plugin. Props [@felipeelia](https://github.com/felipeelia).
178 * Removed mapping files related to older versions of Elasticsearch. Props [@MARQAS](https://github.com/MARQAS).
179
180 __Fixed:__
181
182 * Docblock for the `ep_facet_renderer_class` filter. Props [@misfist](https://github.com/misfist).
183 * Instant Results console warning. Props [@burhandodhy](https://github.com/burhandodhy).
184 * Total fields limit message interpretation. Props [@felipeelia](https://github.com/felipeelia) [@JakePT](https://github.com/JakePT).
185 * End to end tests intermittent failures. Props [@felipeelia](https://github.com/felipeelia).
186 * React warning on Sync page. Props [@burhandodhy](https://github.com/burhandodhy).
187 * Content was not showing properly on the tooltop on install page. Props [@burhandodhy](https://github.com/burhandodhy).
188 * Redirect to correct sync url after enabling feature that requires a new sync. Props [@burhandodhy](https://github.com/burhandodhy).
189 * Post type setting wasn't respected during sync. Props [@burhandodhy](https://github.com/burhandodhy).
190 * Fix a JS error appearing when sync requests are intentionally stopped. Props [@burhandodhy](https://github.com/burhandodhy).
191 * Features description copy. Props [@felipeelia](https://github.com/felipeelia), [@burhandodhy](https://github.com/burhandodhy), and [@MARQAS](https://github.com/MARQAS).
192 * Endpoint URL field is not a URL type field. Props [@burhandodhy](https://github.com/burhandodhy).
193 * WooCommerce feature not autoactivating. Props [@felipeelia](https://github.com/felipeelia).
194 * Elasticsearch errors interpretation. Props [@felipeelia](https://github.com/felipeelia).
195 * Deactivating a feature via WP-CLI also takes into account draft states. Props [@felipeelia](https://github.com/felipeelia).
196
197 = 4.7.2 - 2023-10-10 =
198
199 __Added:__
200
201 * New `ep_highlight_number_of_fragments` filter. Props [@dgnorrod](https://github.com/dgnorrod) and [@felipeelia](https://github.com/felipeelia).
202 * >=PHP 7.0 version check. Props [@bmarshall511](https://github.com/bmarshall511) and [@felipeelia](https://github.com/felipeelia).
203 * GitHub action to automatically open a new issue when a new version of WordPress is released. Props [@felipeelia](https://github.com/felipeelia).
204
205 __Removed:__
206
207 * Unnecessary aliases in use statements. Props [@felipeelia](https://github.com/felipeelia).
208
209 __Fixed:__
210
211 * Calls to `ep_woocommerce_default_supported_post_types` were ignored. Props [@felipeelia](https://github.com/felipeelia) and [@MARQAS](https://github.com/MARQAS).
212 * WooCommerce Orders search field disappearing when Orders Autosuggest receives an unexpected response from ElasticPress.io. Props [@JakePT](https://github.com/JakePT) and [@anjulahettige](https://github.com/anjulahettige).
213 * Call composer while building docs. Props [@felipeelia](https://github.com/felipeelia).
214 * Make sure `post__not_in` and `post_status` are translated into arrays, not objects. Props [@felipeelia](https://github.com/felipeelia).
215 * Updated phpDoc entries. Props [@renatonascalves](https://github.com/renatonascalves).
216 * Docblock for `Utils\get_option` return type. Props [@felipeelia](https://github.com/felipeelia).
217 * Docblock for `ep_capability` and `ep_network_capability` filters. Props [@burhandodhy](https://github.com/burhandodhy).
218 * PHP warning related to the Autosuggest template generation. Props [@felipeelia](https://github.com/felipeelia).
219 * WooCommerce unit tests running multiple times. Props [@felipeelia](https://github.com/felipeelia).
220 * Display the meta range facet block in versions prior to WP 6.1. Props [@felipeelia](https://github.com/felipeelia) and [@MARQAS](https://github.com/MARQAS).
221 * Number of expected arguments for `add_attachment` and `edit_attachment`. Props [@burhandodhy](https://github.com/burhandodhy).
222 * Error while running `composer install` on PHP 8. Props [@burhandodhy](https://github.com/burhandodhy).
223
224 __Security:__
225
226 * Bumped `composer/composer` from 2.5.8 to 2.6.4. Props [@dependabot](https://github.com/dependabot).
227
228
229 = 4.7.1 - 2023-08-31 =
230
231 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code. Check [our blog post](https://www.elasticpress.io/blog/2023/03/enabling-comments-and-terms-in-elasticpress-5-0) for more info.**
232
233 __Added:__
234
235 * Synonyms and weighting settings added to the status report. Props [@felipeelia](https://github.com/felipeelia).
236
237 __Changed:__
238
239 * Composer packages are namespaced by Strauss. Props [@felipeelia](https://github.com/felipeelia) and [@junaidbhura](https://github.com/junaidbhura).
240 * E2e tests now log the formatted query info from Debug Bar ElasticPress. Props [@felipeelia](https://github.com/felipeelia).
241
242 __Fixed:__
243
244 * WooCommerce products sorted by popularity are now always sorted in a descending order. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
245 * E2e tests with WordPress 6.3. Props [@felipeelia](https://github.com/felipeelia).
246
247 = 4.7.0 - 2023-08-10 =
248
249 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code. Check [our blog post](https://www.elasticpress.io/blog/2023/03/enabling-comments-and-terms-in-elasticpress-5-0) for more info.**
250
251 __Added:__
252
253 * Exclude Media Attachments from search results. Props [@burhandodhy](https://github.com/burhandodhy).
254 * New `Default to Site Language` option in the language dropdown in ElasticPress' settings page. Props [@felipeelia](https://github.com/felipeelia).
255 * Compatibility with block themes for the Facet meta blocks. Props [@felipeelia](https://github.com/felipeelia).
256 * Integrate Did You Mean feature in the Instant Results. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
257 * All blocks now support styling features in themes that support them. Props [@JakePT](https://github.com/JakePT).
258 * Descriptions and keywords have been added to all blocks. Props [@JakePT](https://github.com/JakePT).
259 * New `ep_stop` filter, that changes the stop words used according to the language set. Props [@felipeelia](https://github.com/felipeelia).
260 * New `get-index-settings` WP-CLI command. Props [@felipeelia](https://github.com/felipeelia).
261 * New `ep_facet_tax_special_slug_taxonomies` filter. Props [@oscarssanchez](https://github.com/oscarssanchez).
262 * New `--stop-on-error` flag to the `sync` command. Props [@oscarssanchez](https://github.com/oscarssanchez).
263 * New `get` WP-CLI command. Props [@felipeelia](https://github.com/felipeelia).
264 * Transient utility functions. Props [@felipeelia](https://github.com/felipeelia).
265 * Indices' language settings in status reports. Props [@felipeelia](https://github.com/felipeelia).
266 * Initial changes to implement a DI Container. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/tott).
267 * New `$only_indexable` parameter to the `Utils\get_sites()` function. Props [@felipeelia](https://github.com/felipeelia).
268
269 __Changed:__
270
271 * WooCommerce feature only integrates with queries that are the main query, a search, or have ep_integrate set as true. Props [@felipeelia](https://github.com/felipeelia).
272 * Miscellaneous changes to all blocks, including their category, names, and code structure. Props [@JakePT](https://github.com/JakePT), [@oscarssanchez](https://github.com/oscarssanchez), and [@felipeelia](https://github.com/felipeelia).
273 * The Facets feature was renamed to Filters. Props [@JakePT](https://github.com/JakePT) and [@felipeelia](https://github.com/felipeelia).
274 * The WooCommerce feature was refactored, separating code related to products and orders. Props [@felipeelia](https://github.com/felipeelia).
275 * Transients deletion during uninstall. Props [@felipeelia](https://github.com/felipeelia).
276 * Bump Elasticsearch version to 7.10.2 for E2E tests. Props [@burhandodhy](https://github.com/burhandodhy).
277 * Refactor `get_settings()` usage inside ElasticPress features. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
278 * In a multisite, if a site is indexable or not is now stored in site meta, instead of a blog option. Props [@felipeelia](https://github.com/felipeelia).
279 * Autosuggest authenticated requests are not cached anymore and are only sent during the sync process or when the weighting dashboard is saved. Props [@felipeelia](https://github.com/felipeelia) and [@kovshenin](https://github.com/kovshenin).
280 * Use `createRoot` instead of `render` to render elements. Props [@oscarssanchez](https://github.com/oscarssanchez), [@burhandodhy](https://github.com/burhandodhy), [@JakePT](https://github.com/JakePT), and [@felipeelia](https://github.com/felipeelia).
281 * Moved methods to abstract Facet classes. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
282 * Only display available languages in the Settings screen. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
283 * WooCommerce feature description. Props [@brandwaffle](https://github.com/brandwaffle), [@felipeelia](https://github.com/felipeelia), and [@JakePT](https://github.com/JakePT).
284
285 __Deprecated:__
286
287 * `Autosuggest::delete_cached_query()` was deprecated without a replacement. See [#3566](https://github.com/10up/ElasticPress/pull/3566).
288 * `EP_Uninstaller::delete_related_posts_transients()` and `EP_Uninstaller::delete_total_fields_limit_transients()` was merged into `EP_Uninstaller::delete_transients_by_name`. See [#3548](https://github.com/10up/ElasticPress/pull/3548).
289 * The `ep_woocommerce_default_supported_post_types` filter was split into `ep_woocommerce_orders_supported_post_types` and `ep_woocommerce_products_supported_post_types`. See [#3502](https://github.com/10up/ElasticPress/pull/3502).
290 * The `ep_woocommerce_supported_taxonomies` filter is now `ep_woocommerce_products_supported_taxonomies`. See [#3502](https://github.com/10up/ElasticPress/pull/3502).
291 * All old `WooCommerce\Orders` methods were migrated to the new `WooCommerce\OrdersAutosuggest` class. See [#3502](https://github.com/10up/ElasticPress/pull/3502).
292 * The `Elasticsearch::clear_total_fields_limit_cache()` method was replaced by `Elasticsearch::clear_index_settings_cache()`. See [#3552](https://github.com/10up/ElasticPress/pull/3552).
293 * Several methods that were previously part of the `WooCommerce\WooCommerce` class were moved to the new `WooCommerce\Product` class. See [#3502](https://github.com/10up/ElasticPress/pull/3502).
294 * Several methods that were specific to Facet types were moved to the new `Block` and `Renderer` abstract classes. See [#3499](https://github.com/10up/ElasticPress/pull/3499).
295
296 __Fixed:__
297
298 * Same error message being displayed more than once on the Dashboard sync. Props [@felipeelia](https://github.com/felipeelia), [@MARQAS](https://github.com/MARQAS), [@tott](https://github.com/tott), and [@wildberrylillet](https://github.com/wildberrylillet).
299 * Sync media item when attaching or detaching media. Props [@MARQAS](https://github.com/MARQAS) and [@felipeelia](https://github.com/felipeelia).
300 * Display "Loading results" instead of "0 results" on first search using Instant Results. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@JakePT](https://github.com/JakePT).
301 * Highlighting returning inaccurate post title when partial/no term match on Instant Results. Props [@oscarssanchez](https://github.com/oscarssanchez), [@JakePT](https://github.com/JakePT), and [@tomi10up](https://github.com/tomi10up).
302 * Warning in Orders Autosuggest: `"Creation of dynamic property $search_template is deprecated"`. Props [@burhandodhy](https://github.com/burhandodhy).
303 * Warning while using PHP 8.1+: `Deprecated: version_compare(): Passing null to parameter #1 ($version1) of type string is deprecated`. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
304 * Warning in the metadata range facet renderer: `Undefined array key "is_preview"`. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
305
306 __Security:__
307
308 * Bumped `word-wrap` from 1.2.3 to 1.2.4. Props [@dependabot](https://github.com/dependabot).
309 * Bumped `tough-cookie` from 4.1.2 to 4.1.3 and `@cypress/request` from 2.88.10 to 2.88.12. Props [@dependabot](https://github.com/dependabot).
310
311 = 4.6.1 - 2023-07-05 =
312
313 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code. Check [our blog post](https://www.elasticpress.io/blog/2023/03/enabling-comments-and-terms-in-elasticpress-5-0) for more info.**
314
315 __Added:__
316
317 * Add doc url for "Did You Mean" feature. Props [@burhandodhy](https://github.com/burhandodhy).
318
319 __Changed:__
320
321 * Use `wp_cache_supports` over `wp_cache_supports_group_flush`. Props [@spacedmonkey](https://github.com/spacedmonkey).
322 * Update the `ep_exclude_from_search` post meta only if it is set or has some value. Props [@MARQAS](https://github.com/MARQAS) and [@columbian-chris](https://github.com/columbian-chris).
323
324 __Fixed:__
325
326 * Deprecation notice in `ElasticPress\Feature\WooCommerce\Orders`. Props [@mwidmann](https://github.com/mwidmann).
327 * Don't apply a facet filter to the query if the filter value is empty. Props [@burhandodhy](https://github.com/burhandodhy).
328 * Syncing a post with empty post meta key. Props [@MARQAS](https://github.com/MARQAS) and [@oscarssanchez](https://github.com/oscarssanchez).
329 * Order by clauses with Elasticsearch field formats are not changed anymore. Props [@felipeelia](https://github.com/felipeelia) and [@tlovett1](https://github.com/tlovett1).
330 * Failed Query logs are automatically cleared on refreshing the "Status Report" page. Props [@burhandodhy](https://github.com/burhandodhy).
331 * Warning message on Health page when Last Sync information is not available. Props [@burhandodhy](https://github.com/burhandodhy).
332 * Deprecation notice: json_encode(): Passing null to parameter #2. Props [@burhandodhy](https://github.com/burhandodhy).
333 * Documentation of the `ep_facet_search_get_terms_args` filter. Props [@burhandodhy](https://github.com/burhandodhy).
334
335 = 4.6.0 - 2023-06-13 =
336
337 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code. Check [our blog post](https://www.elasticpress.io/blog/2023/03/enabling-comments-and-terms-in-elasticpress-5-0) for more info.**
338
339 __Added:__
340
341 * 'Did you mean' feature. Props [@burhandodhy](https://github.com/burhandodhy), [@felipeelia](https://github.com/felipeelia), [@brandwaffle](https://github.com/brandwaffle), and [@tott](https://github.com/tott).
342 * Facet by Post type. Props [@oscarssanchez](https://github.com/oscarssanchez), [@felipeelia](https://github.com/felipeelia), and [@burhandodhy](https://github.com/burhandodhy).
343 * Two new options to disable weighting results by date in WooCommerce products related queries. Props [@MARQAS](https://github.com/MARQAS) and [@felipeelia](https://github.com/felipeelia).
344 * Sort meta queries by named clauses and sort by different meta types. Props [@felipeelia](https://github.com/felipeelia) and [@selim13](https://github.com/selim13).
345 * New `--force` flag in the sync WP-CLI command, to stop any other ongoing syncs. Props [@felipeelia](https://github.com/felipeelia) and [@tomjn](https://github.com/tomjn).
346 * Installers added to composer.json, so `installer-paths` works without any additional requirement. Props [@felipeelia](https://github.com/felipeelia) and [@tomjn](https://github.com/tomjn).
347 * Links to Patchstack Vulnerability Disclosure Program. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
348 * E2E tests for Password Protected Post. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
349
350 __Changed:__
351
352 * If no index is found, the "failed queries" message will be replaced with a prompt to sync. Props [@felipeelia](https://github.com/felipeelia).
353 * Bumped Cypress version to v12. Props [@felipeelia](https://github.com/felipeelia).
354 * Documentation partially moved to Zendesk. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
355
356 __Fixed:__
357
358 * Fatal error related to the `maybe_process_error_limit` function. Props [@burhandodhy](https://github.com/burhandodhy).
359 * Display the error message returned by Elasticsearch if a mapping operation fails. Props [@felipeelia](https://github.com/felipeelia) via [#3464](https://github.com/10up/ElasticPress/pull/3464).
360 * Negative `menu_order` values being transformed into positive numbers. Props [@felipeelia](https://github.com/felipeelia) and [@navidabdi](https://github.com/navidabdi).
361 * Password protected content being indexed upon save when Protected Content is not active. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
362 * Error message when the Elasticsearch server is not available during the put mapping operation. Props [@felipeelia](https://github.com/felipeelia).
363
364 = 4.5.2 - 2023-04-19 =
365
366 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code. Check [our blog post](https://www.elasticpress.io/blog/2023/03/enabling-comments-and-terms-in-elasticpress-5-0) for more info.**
367
368 __Added:__
369
370 * New `ep_enable_query_integration_during_indexing` filter. Props [@rebeccahum](https://github.com/rebeccahum).
371
372 __Changed:__
373
374 * Automated message sent in GitHub issues after 3 days of inactivity. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
375
376 __Fixed:__
377
378 * Authenticated requests for autosuggest were not being properly cached while using external object cache. Props [@felipeelia](https://github.com/felipeelia).
379
380 = 4.5.1 - 2023-04-11 =
381
382 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code. Check [our blog post](https://www.elasticpress.io/blog/2023/03/enabling-comments-and-terms-in-elasticpress-5-0) for more info.**
383
384 __Added:__
385
386 * New `ep_instant_results_args_schema` filter for filtering Instant Results arguments schema. Props [@JakePT](https://github.com/JakePT).
387 * New `ep.Autosuggest.navigateCallback` JS filter for changing the behavior of a clicked element on Autosuggest. Props [@oscarssanchez](https://github.com/oscarssanchez), [@felipeelia](https://github.com/felipeelia), and [@JakePT](https://github.com/JakePT).
388 * New `ep.Autosuggest.fetchOptions` JS filter for filtering Elasticsearch fetch configuration of Autosuggest. Props [@tlovett1](https://github.com/,tlovett1), [@MARQAS](https://github.com/MARQAS), and [@felipeelia](https://github.com/felipeelia).
389 * Code linting before pushing to the repository. Props [@felipeelia](https://github.com/felipeelia).
390 * Unit tests for the Status Reports feature. Props [@burhandodhy](https://github.com/burhandodhy).
391
392 __Changed:__
393
394 * Meta field facets now only filter based on fields selected on blocks. The new `ep_facet_should_check_if_allowed` filter reverts this behavior. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
395
396 __Fixed:__
397
398 * Instant Results crashing when using taxonomies as facets that are attached to both searchable and non-searchable post types. Props [@JakePT](https://github.com/JakePT).
399 * Fatal error during plugin uninstall. Props [@felipeelia](https://github.com/felipeelia).
400 * Compatibility issue which prevented Instant Results from working in WordPress 6.2. Props [@JakePT](https://github.com/JakePT).
401 * Fatal error while syncing on older versions of WordPress. Props [@felipeelia](https://github.com/felipeelia), [@TorlockC](https://github.com/TorlockC).
402 * Facets removing taxonomy parameters in the URL when not using pretty permalinks. Props [@MARQAS](https://github.com/MARQAS) and [@felipeelia](https://github.com/felipeelia).
403 * JS errors when creating Facet blocks in WP 6.2. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
404 * `ep_index_meta` option blowing up on an indexing process with many errors. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
405 * Typo in `index_output` WP-CLI command help text. Props [@bratvanov](https://github.com/bratvanov).
406 * React warning messages for the comments block. Props [@burhandodhy](https://github.com/burhandodhy).
407 * Fixed `action_edited_term` to call `kill_sync` in SyncManager for post Indexable. Props [@rebeccahum](https://github.com/rebeccahum).
408 * Undefined array key `'index'` during sync. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
409 * Meta Range Facet Block e2e tests. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
410 * Users e2e tests using WP 6.2. Props [@felipeelia](https://github.com/felipeelia).
411
412 __Security:__
413
414 * Bumped `webpack` from 5.75.0 to 5.76.3. Props [@dependabot](https://github.com/dependabot).
415
416 = 4.5.0 - 2023-03-09 =
417
418 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code. Check [our blog post](https://www.elasticpress.io/blog/2023/03/enabling-comments-and-terms-in-elasticpress-5-0) for more info.**
419
420 ElasticPress 4.5.0 release highlights:
421
422 * Autosuggest for WooCommerce Orders ([#3175](https://github.com/10up/ElasticPress/pull/3175), [#3308](https://github.com/10up/ElasticPress/pull/3308), [#3321](https://github.com/10up/ElasticPress/pull/3321), [#3324](https://github.com/10up/ElasticPress/pull/3324), [#3323](https://github.com/10up/ElasticPress/pull/3323), [#3310](https://github.com/10up/ElasticPress/pull/3310), [#3349](https://github.com/10up/ElasticPress/pull/3349), [#3339](https://github.com/10up/ElasticPress/pull/3339), and [#3363](https://github.com/10up/ElasticPress/pull/3363))
423 * New Facet by Meta Range block ([#3289](https://github.com/10up/ElasticPress/pull/3289), [#3342](https://github.com/10up/ElasticPress/pull/3342), [#3337](https://github.com/10up/ElasticPress/pull/3337), [#3361](https://github.com/10up/ElasticPress/pull/3361), [#3364](https://github.com/10up/ElasticPress/pull/3364), [#3368](https://github.com/10up/ElasticPress/pull/3368), and [#3365](https://github.com/10up/ElasticPress/pull/3365))
424 * ElasticPress.io messages system ([#3162](https://github.com/10up/ElasticPress/pull/3162) and [#3376](https://github.com/10up/ElasticPress/pull/3376))
425 * Indices of disabled features will be deleted during a full sync ([#3261](https://github.com/10up/ElasticPress/pull/3261))
426 * WooCommerce Queries ([#3259](https://github.com/10up/ElasticPress/pull/3259) and [#3362](https://github.com/10up/ElasticPress/pull/3362))
427
428 __Added:__
429
430 * Autosuggest for WooCommerce Orders. Props [@JakePT](https://github.com/JakePT) and [@felipeelia](https://github.com/felipeelia).
431 * New Facet by Meta Range block (currently in Beta.) Props [@felipeelia](https://github.com/felipeelia).
432 * Option to display term counts in Facets blocks. Props [@felipeelia](https://github.com/felipeelia).
433 * New capability for managing ElasticPress. Props [@tlovett1](https://github.com/tlovett1), [@tott](https://github.com/tott), and [@felipeelia](https://github.com/felipeelia).
434 * New "Download report" button in the Status Report page. Props [@felipeelia](https://github.com/felipeelia).
435 * ElasticPress.io messages system. Props [@felipeelia](https://github.com/felipeelia) and [@JakePT](https://github.com/JakePT).
436 * WP CLI commands `get-search-template`, `put-search-template`, and `delete-search-template`. Props [@oscarssanchez](https://github.com/oscarssanchez).
437 * New `--status` parameter to the `get-indices` WP-CLI command. Props [@felipeelia](https://github.com/felipeelia).
438 * New `ep_instant_results_per_page` filter for changing the number of results per page in Instant Results. Props [@JakePT](https://github.com/JakePT).
439 * Support for `post_parent__in` and `post_parent__not_in`. Props [@MARQAS](https://github.com/MARQAS).
440 * New `ep_sync_args` filter. Props [@felipeelia](https://github.com/felipeelia) and [@nickchomey](https://github.com/nickchomey).
441 * "Full Sync" (Yes/No) to the Last Sync section in Status Report. Props [@felipeelia](https://github.com/felipeelia).
442 * New `ep_user_register_feature` and `ep_feature_is_visible` filters. Props [@felipeelia](https://github.com/felipeelia).
443 * Requests now have a new header called `X-ElasticPress-Request-ID` to help with debugging. Props [@felipeelia](https://github.com/felipeelia).
444 * Compatibility with `'orderby' => 'none'` in WP_Query. Props [@felipeelia](https://github.com/felipeelia).
445 * Unit tests related to the `ep_weighting_configuration_for_search` filter. Props [@felipeelia](https://github.com/felipeelia).
446 * New Unit tests for the WooCoomerce feature. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
447 * Description for the `--network-wide` flag in WP-CLI commands. Props [@MARQAS](https://github.com/MARQAS).
448 * New `is_available()` helper method in the Feature class. Props [@burhandodhy](https://github.com/burhandodhy).
449
450 __Changed:__
451
452 * Indices of disabled features will be deleted during a full sync. Mappings of needed but non-existent indices will be added even during a regular sync. Props [@felipeelia](https://github.com/felipeelia).
453 * Reduced number of WooCommerce product queries automatically integrated with ElasticPress. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
454 * The number of results per page in Instant Results now matches the site's posts per page setting. Props [@JakePT](https://github.com/JakePT).
455 * Under the hood improvements to the structure of Instant Results. Props [@JakePT](https://github.com/JakePT).
456 * Apply the "Exclude from Search" filter directly on ES Query. Props [@burhandodhy](https://github.com/burhandodhy).
457 * Avoid using Elasticsearch if query has an unsupported orderby clause. Props [@burhandodhy](https://github.com/burhandodhy).
458 * E2e tests split into 2 groups to be executed in parallel. Props [@iamchughmayank](https://github.com/iamchughmayank), [@burhandodhy](https://github.com/burhandodhy), and [@felipeelia](https://github.com/felipeelia).
459 * Filter command flags using `get_flag_value()`. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
460 * Code Standards are now applied to the test suite as well. Props [@felipeelia](https://github.com/felipeelia).
461 * Text displayed when a feature that requires a sync is about to be enabled. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
462
463 __Removed:__
464
465 * Remove legacy filters `woocommerce_layered_nav_query_post_ids`, `woocommerce_unfiltered_product_ids`, and `ep_wp_query_search_cached_posts`. Props [@burhandodhy](https://github.com/burhandodhy).
466
467 __Fixed:__
468
469 * API requests for Instant Results sent on page load before the modal has been opened. Props [@JakePT](https://github.com/JakePT).
470 * Prevent search queries for coupons from using Elasticsearch. Props [@burhandodhy](https://github.com/burhandodhy).
471 * Thumbnails are not removed from indexed WooCommerce Products when the attachments are deleted. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
472 * Auto sync posts associated with a child term when the term parent is changed. Props [@MARQAS](https://github.com/MARQAS) and [@felipeelia](https://github.com/felipeelia).
473 * Status Report page firing requests to ES twice. Props [@felipeelia](https://github.com/felipeelia).
474 * Sanitization of Meta Queries. Props [@MARQAS](https://github.com/MARQAS).
475 * Facets styles not enqueued more than once. Props [@felipeelia](https://github.com/felipeelia) and [@MediaMaquina](https://github.com/MediaMaquina).
476 * Duplicate terms listed in Instant Results facets. Props [@felipeelia](https://github.com/felipeelia).
477 * Not setting the post context when indexing a post. Props [@tomjn](https://github.com/tomjn).
478 * Some utilitary methods in the Command class treated as WP-CLI Commands. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
479 * Make the "Failed Queries" notice dismissible. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
480 * Undefined index `'elasticpress'` in the Status Report page. Props [@MARQAS](https://github.com/MARQAS).
481 * Undefined array key `'displayCount'` error for facet. Props [@burhandodhy](https://github.com/burhandodhy).
482 * Warnings on the feature setup page. Props [@burhandodhy](https://github.com/burhandodhy).
483
484 __Security:__
485
486 * Bumped `http-cache-semantics` from 4.1.0 to 4.1.1. Props [@dependabot](https://github.com/dependabot).
487 * Bumped `got` from 9.6.0 to 11.8.5 and `simple-bin-help` from 1.7.7 to 1.8.0. Props [@dependabot](https://github.com/dependabot).
488 * Bumped `simple-git` from 3.15.1 to 3.16.0. Props [@dependabot](https://github.com/dependabot).
489 * Bumped `json5` from 1.0.1 to 1.0.2. Props [@dependabot](https://github.com/dependabot).
490
491 = 4.4.1 - 2023-01-10 =
492
493 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code.**
494
495 This is a bug fix release.
496
497 __Added:__
498
499 * Node 18 support. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
500 * Unit tests for WP-CLI Commands. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
501 * Unit tests for the `HealthCheckElasticsearch` class, Protected Feature, and #3106. Props [@burhandodhy](https://github.com/burhandodhy).
502
503 __Changed:__
504
505 * Detection of indexable meta fields when visiting the sync and status report pages. Props [@felipeelia](https://github.com/felipeelia), [@paoloburzacca](https://github.com/paoloburzacca), and [@burhandodhy](https://github.com/burhandodhy).
506 * `put-mapping` WP-CLI command returns an error message if mapping failed. Props [@burhandodhy](https://github.com/burhandodhy), [@JakePT](https://github.com/JakePT), and [@felipeelia](https://github.com/felipeelia).
507 * Last Sync subsection title in the Status Report page. Props [@MARQAS](https://github.com/MARQAS), [@felipeelia](https://github.com/felipeelia), and [@tomioflagos](https://github.com/tomioflagos).
508 * Title for Autosuggest and Instant results features, if connected to an ElasticPress.io account. Props [@burhandodhy](https://github.com/burhandodhy), [@felipeelia](https://github.com/felipeelia), and [@NV607FOX](https://github.com/NV607FOX).
509 * "Exclude from search" checkbox text. Props [@burhandodhy](https://github.com/burhandodhy), [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia), and [@anjulahettige](https://github.com/anjulahettige).
510 * Visibility of the `analyze_log` method of the `FailedQueries` class. Props [@MARQAS](https://github.com/MARQAS).
511 * Text of the notice under the Documents feature. Props [@MARQAS](https://github.com/MARQAS) and [@NV607FOX](https://github.com/NV607FOX).
512 * Usage of `get_index_default_per_page` instead of a direct call to `Utils\get_option`. Props [@burhandodhy](https://github.com/burhandodhy).
513
514 __Removed:__
515
516 * Unnecessary `remove_filters` from the unit tests. Props [@burhandodhy](https://github.com/burhandodhy).
517
518 __Fixed:__
519
520 * Sync is stopped if put mapping throws an error. Props [@burhandodhy](https://github.com/burhandodhy), [@JakePT](https://github.com/JakePT), and [@felipeelia](https://github.com/felipeelia).
521 * Layout issue in Instant Results that would occur with small result sets. Props [@JakePT](https://github.com/JakePT).
522 * Issue where keyboard focus on a facet option was lost upon selection. Props [@JakePT](https://github.com/JakePT).
523 * JS error on Status Report page. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
524 * Hooks documentation reference. Props [@burhandodhy](https://github.com/burhandodhy).
525 * `'current'` as value for the `'sites'` parameter. Props [@burhandodhy](https://github.com/burhandodhy), [@oscarssanchez](https://github.com/oscarssanchez), and [@anders-naslund](https://github.com/anders-naslund).
526 * `Uncaught ArgumentCountError: Too few arguments to function WP_CLI::halt()` message. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
527 * Queries with `post_parent` set to `0` not working correctly. Props [@JiveDig](https://github.com/JiveDig).
528 * Sync command exits without any error message if mapping fails. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
529 * Evaluate the WP-CLI `--pretty` flag as real boolean. Props [@oscarssanchez](https://github.com/oscarssanchez).
530 * Remove deprecated command from the error message. Props [@burhandodhy](https://github.com/burhandodhy).
531 * CLI command `delete-index --network-wide` throws error when EP is not network activated. Props [@burhandodhy](https://github.com/burhandodhy).
532 * E2E tests for PHP 8. Props [@burhandodhy](https://github.com/burhandodhy).
533 * Feature title issue on the report page and notices. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
534 * Autosuggest Site Health Info containing incorrect information unrelated to Autosuggest. Props [@JakePT](https://github.com/JakePT).
535 * Styling of the Instant Results Facets field. Props [@JakePT](https://github.com/JakePT).
536
537 __Security:__
538
539 * Bumped `simple-git` from 3.6.0 to 3.15.1. Props [@dependabot](https://github.com/dependabot).
540
541 = 4.4.0 - 2022-11-29 =
542
543 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code.**
544
545 ElasticPress 4.4.0 release highlights:
546
547 * New Status Report page and failed queries logs ([#3130](https://github.com/10up/ElasticPress/pull/3130), [#3148](https://github.com/10up/ElasticPress/pull/3148), and [#3136](https://github.com/10up/ElasticPress/pull/3136))
548 * Instant Results template customization ([#2959](https://github.com/10up/ElasticPress/pull/2959))
549 * Facets by Meta available by default. Users should delete the 1-file plugin released with 4.3.0 ([#3071](https://github.com/10up/ElasticPress/pull/3071))
550 * New option to exclude posts from search ([#3100](https://github.com/10up/ElasticPress/pull/3100))
551 * Renamed some WP-CLI commands and added deprecation notices for the old versions (see table below)
552
553 __Added:__
554
555 * New Status Report page. Props [@felipeelia](https://github.com/felipeelia), [@JakePT](https://github.com/JakePT), [@tott](https://github.com/tott), and [@brandwaffle](https://github.com/brandwaffle).
556 * New Query Logger to display admin notices about failed queries and the list in the new Status Report page. Props [@felipeelia](https://github.com/felipeelia), [@JakePT](https://github.com/JakePT), and [@brandwaffle](https://github.com/brandwaffle).
557 * New option to exclude posts from search. Props [@burhandodhy](https://github.com/burhandodhy), [@felipeelia](https://github.com/felipeelia), and [@JakePT](https://github.com/JakePT).
558 * Search Comments block. Replaces the Comments widget in the block editor. Props [@JakePT](https://github.com/JakePT) and [@felipeelia](https://github.com/felipeelia).
559 * [Instant Results] Notice when ElasticPress is network activated warning that Instant Results will not work on all sites without additional steps. Props [@JakePT](https://github.com/JakePT).
560 * Extra debugging information in the browser console when syncing fails and more useful error messages with a troubleshooting URL. Props [@JakePT](https://github.com/JakePT).
561 * New `elasticpress.InstantResults.Result` JavaScript filter for filtering the component used for Instant Results search results. Props [@JakePT](https://github.com/JakePT).
562 * New `window.epInstantResults.openModal()` method for developers to manually open Instant Results. Props [@JakePT](https://github.com/JakePT).
563 * Support for `stock_status` filter on the WooCommerce Admin Product List. Props [@felipeelia](https://github.com/felipeelia) and [@jakgsl](https://github.com/jakgsl).
564 * Option to toggle the term count in Instant results. Props [@MARQAS](https://github.com/MARQAS) and [@JakePT](https://github.com/JakePT).
565 * New `ep_autosuggest_query_args` filter, to change WP Query args of the autosuggest query template. Props [@felipeelia](https://github.com/felipeelia).
566 * New `ep_post_filters` filter and refactor of the `Post::format_args` method. Props [@felipeelia](https://github.com/felipeelia).
567 * New `get_index_settings()` method to retrieve index settings. Props [@rebeccahum](https://github.com/rebeccahum).
568 * New `ep_woocommerce_default_supported_post_types` and `ep_woocommerce_admin_searchable_post_types` filters. Props [@ecaron](https://github.com/ecaron).
569 * Add test factories for Post, User and Term. Props [@burhandodhy](https://github.com/burhandodhy).
570 * Unit tests to check access to custom results endpoints. Props [@burhandodhy](https://github.com/burhandodhy).
571 * New unit tests for the user feature. Props [@burhandodhy](https://github.com/burhandodhy).
572
573 __Changed:__
574
575 * Facets by Meta available by default. Props [@burhandodhy](https://github.com/burhandodhy).
576 * If an Elasticsearch index is missing, force a full sync. Props [@MARQAS](https://github.com/MARQAS), [@felipeelia](https://github.com/felipeelia), and [@JakePT](https://github.com/JakePT).
577 * ElasticPress.io clients only need to enter the Subscription ID now. Props [@MARQAS](https://github.com/MARQAS) and [@felipeelia](https://github.com/felipeelia).
578 * `Renderer::order_by_selected` visibility. Props [@burhandodhy](https://github.com/burhandodhy).
579 * After editing a term, only sync posts if the term is associated with fewer posts than the Content Items per Index Cycle number. Props [@felipeelia](https://github.com/felipeelia), [@cmcandrew](https://github.com/cmcandrew), [@DenisFlorin](https://github.com/DenisFlorin), and [@burhandodhy](https://github.com/burhandodhy).
580 * The `meta_query` clause when using the `meta_key` parameter. Props [@felipeelia](https://github.com/felipeelia), [@MARQAS](https://github.com/MARQAS), and [@Greygooo](https://github.com/Greygooo).
581 * Facets filters are not applied in the WP Query level anymore. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
582 * To be compatible with WordPress 6.1, when passing `'all'` as the `fields` parameter of `WP_User_Query` only user IDs will be returned. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
583 * `update_term_meta_cache` parameter set as false while getting terms for Facets. Props [@mae829](https://github.com/mae829).
584 * Small refactor of Indexables' `parse_orderby` to make it easier to read. Props [@felipeelia](https://github.com/felipeelia).
585 * Search algorithms descriptions. Props [@felipeelia](https://github.com/felipeelia).
586 * Hide taxonomies from facet block whose `show_ui` is set to false. Props [@burhandodhy](https://github.com/burhandodhy).
587 * Use `Utils\*_option()` when possible. Props [@rebeccahum](https://github.com/rebeccahum).
588 * Remove unnecessary check from `allow_excerpt_html`. Props [@burhandodhy](https://github.com/burhandodhy).
589 * Updated Cypress (version 9 to 10). Props [@felipeelia](https://github.com/felipeelia).
590 * Use factory to create comments for tests. Props [@burhandodhy](https://github.com/burhandodhy).
591 * Improved e2e tests performance. Props [@felipeelia](https://github.com/felipeelia).
592 * GitHub Action used by PHPCS. Props [@felipeelia](https://github.com/felipeelia).
593
594 __Deprecated:__
595
596 * The following WP-CLI commands were deprecated. They will still work but with a warning.
597 * `wp elasticpress index` in favor of `wp elasticpress sync`
598 * `wp elasticpress get-cluster-indexes` in favor of `wp elasticpress get-cluster-indices`
599 * `wp elasticpress get-indexes` in favor of `wp elasticpress get-indices`
600 * `wp elasticpress clear-index` in favor of `wp elasticpress clear-sync`
601 * `wp elasticpress get-indexing-status` in favor of `wp elasticpress get-ongoing-sync-status`
602 * `wp elasticpress get-last-cli-index` in favor of `wp elasticpress get-last-cli-sync`
603 * `wp elasticpress stop-indexing` in favor of `wp elasticpress stop-sync`
604
605 Props [@MARQAS](https://github.com/MARQAS) and [@felipeelia](https://github.com/felipeelia).
606
607 * The `sites` parameter for WP_Query, WP_Term_Query and WP_Comment_Query was deprecated in favor of the new `site__in` and `site__not_in`. Props [@burhandodhy](https://github.com/burhandodhy).
608
609 __Removed:__
610
611 * Compatibility code for WP < 4.6 in the Post Search feature. Props [@burhandodhy](https://github.com/burhandodhy).
612 * Legacy hook from unit tests. Props [@burhandodhy](https://github.com/burhandodhy).
613 * Time average box in the Index Health page. Props [@felipeelia](https://github.com/felipeelia) and [@alaa-alshamy](https://github.com/alaa-alshamy).
614 * [Protected Content] Removed post types to be indexed by default: ep-synonym, ep-pointer, wp_global_styles, wp_navigation, wp_template, and wp_template_part. Props [@felipeelia](https://github.com/felipeelia).
615
616 __Fixed:__
617
618 * Clicking on the Facet Term redirect to Homepage. Props [@burhandodhy](https://github.com/burhandodhy).
619 * Custom results are not highlighted. Props [@burhandodhy](https://github.com/burhandodhy).
620 * Error when passing an array of post types to WP_Comment_Query. Props [@felipeelia](https://github.com/felipeelia), [@JakePT](https://github.com/JakePT), and [@MARQAS](https://github.com/MARQAS).
621 * Deprecated filters for search algorithms do not overwrite values set with the newer filters. Props [@felipeelia](https://github.com/felipeelia) and [@marc-tt](https://github.com/marc-tt).
622 * No posts returned when an invalid value was passed to the tax_query parameter. Props [@burhandodhy](https://github.com/burhandodhy).
623 * Incorrect excerpt when `get_the_excerpt` is called outside the Loop and Excerpt highlighting option is enabled. Props [@burhandodhy](https://github.com/burhandodhy).
624 * Facet returns no result for a term having accent characters. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
625 * An issue where some characters in taxonomy terms would appear encoded when displayed in Instant Results. Props [@JakePT](https://github.com/JakePT).
626 * An issue that caused Autosuggest filter functions to no longer work. Props [@JakePT](https://github.com/JakePT).
627 * An issue that prevented clicking Autosuggest suggestions if they had been customized with additional markup. Props [@JakePT](https://github.com/JakePT).
628 * WooCommerce custom product sort order. Props [@felipeelia](https://github.com/felipeelia) and [@MARQAS](https://github.com/MARQAS).
629 * Network alias creation failed warning when one of the sites is deactivated. Props [@burhandodhy](https://github.com/burhandodhy).
630 * JS Error on widget screen. Props [@burhandodhy](https://github.com/burhandodhy).
631 * PHP Warning when a post has no comments. Props [@felipeelia](https://github.com/felipeelia) and [@JiveDig](https://github.com/JiveDig).
632 * `put-mapping --network-wide` throws error when plugin is not activated on network. Props [@burhandodhy](https://github.com/burhandodhy).
633 * Internationalization of strings in JavaScript files. Props [@felipeelia](https://github.com/felipeelia).
634 * Documentation of the `ep_woocommerce_admin_products_list_search_fields` filter. Props [@felipeelia](https://github.com/felipeelia).
635 * Warning if `_source` is not returned in query hit. Props [@pschoffer](https://github.com/pschoffer).
636 * Undefined variable `$update` on synonyms page. Props [@burhandodhy](https://github.com/burhandodhy).
637 * PHP 8 deprecation warning related to `uasort()` usage. Props [@burhandodhy](https://github.com/burhandodhy).
638 * Cypress intermittent tests failures. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
639 * Fix PHP Unit Tests for PHP 8. Props [@burhandodhy](https://github.com/burhandodhy).
640
641 __Security:__
642
643 * Bumped `loader-utils` from 1.4.0 to 1.4.2. Props [@dependabot](https://github.com/dependabot).
644
645 = 4.3.1 - 2022-09-27 =
646
647 This release fixes some bugs and also adds some new filters.
648
649 __Added:__
650
651 * New `ep_facet_taxonomy_terms` filter to filter the Facet terms. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
652 * Added `ep.Autosuggest.itemHTML`, `ep.Autosuggest.listHTML`, `ep.Autosuggest.query`, and `ep.Autosuggest.element` JavaScript hooks to Autosuggest and migrated filter functions to hook callbacks for backwards compatibility. Props [@JakePT](https://github.com/JakePT).
653 * E2E tests for the Comments Feature. Props [@burhandodhy](https://github.com/burhandodhy).
654 * E2E tests for the Instant Results feature. Props [@MARQAS](https://github.com/MARQAS) and [@felipeelia](https://github.com/felipeelia).
655 * More E2E tests for the WooCommerce Feature. Props [@burhandodhy](https://github.com/burhandodhy).
656
657 __Changed:__
658
659 * REST API endpoints used for managing custom results are no longer publicly accessible. Props [@JakePT](https://github.com/JakePT) and [@PypWalters](https://github.com/PypWalters).
660
661 __Fixed:__
662
663 * WooCommerce data privacy eraser query deleting all orders if EP is enabled for admin and Ajax requests. Props [@sun](https://github.com/sun) and [@bogdanarizancu](https://github.com/bogdanarizancu).
664 * Facets removing WooCommerce sorting. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
665 * Facets triggering the ElasticPress integration in feed pages. Props [@felipeelia](https://github.com/felipeelia) and [@rafaucau](https://github.com/rafaucau).
666 * Taxonomy Facet tree issue when child category is selected. Props [@burhandodhy](https://github.com/burhandodhy).
667 * Term search in the admin panel for non-public taxonomies returning nothing. Props [@burhandodhy](https://github.com/burhandodhy).
668 * Clicking a Related Posts link while in the editor no longer follows the link. Props [@JakePT](https://github.com/JakePT).
669 * Visual alignment of elements in the Settings page. Props [@MARQAS](https://github.com/MARQAS) and [@felipeelia](https://github.com/felipeelia).
670 * Intermittent tests failures. Props [@burhandodhy](https://github.com/burhandodhy).
671
672 = 4.3.0 - 2022-08-31 =
673
674 ElasticPress 4.3.0 fixes some bugs and introduces some new and exciting changes.
675
676 WooCommerce Product Variations SKUs are now a publicly searchable field. Site administrators wanting to allow users to search for their product variations SKUs can enable it in the _Search Fields & Weighting_ Dashboard, under Products. If a user searches for a variation SKU, the parent product will be displayed in the search results.
677
678 The last ElasticPress sync information is now available in WordPress's Site Health. If you want to check information like the date of the last full sync, time spent, number of indexed content, or errors go to Tools -> Site Health, open the Info tab and click on _ElasticPress - Last Sync_.
679
680 Facets received some further improvements in this version. In addition to some refactoring related to WordPress Block Editor, ElasticPress 4.3.0 ships with an experimental version of a _Facet By Meta_ block. With that, users will be able to filter content based on post meta fields. If you want to try it, download and activate [this plugin](https://raw.githubusercontent.com/10up/ElasticPress/develop/tests/cypress/wordpress-files/test-plugins/elasticpress-facet-by-meta.php). Do you have an idea of an enhancement? Search in our [`facets`](https://github.com/10up/ElasticPress/labels/module%3Afacets) label in GitHub and if it is not there yet, feel free to open a new issue. We would love to hear new ideas!
681
682 __Added:__
683
684 * Search products by their variations' SKUs. Props [@burhandodhy](https://github.com/burhandodhy).
685 * New block to Facet by Meta fields. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/@tott).
686 * Display last sync info in site health screen. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
687 * New `epwr_decay_field` filter to set the decay field for date weighting. Props [@MARQAS](https://github.com/MARQAS) and [@HypeAU](https://github.com/HypeAU).
688 * Autosuggest: filter the autosuggest ElasticSearch query by defining a `window.epAutosuggestQueryFilter()` function in JavaScript. Props [@johnwatkins0](https://github.com/johnwatkins0).
689 * Autosuggest: filter the HTML of all results by defining a `window.epAutosuggestListItemsHTMLFilter()` function in JavaScript. Props [@JakePT](https://github.com/JakePT).
690 * Autosuggest: filter the container element by defining a `window.epAutosuggestElementFilter()` function in JavaScript. Props [@JakePT](https://github.com/JakePT).
691 * Documentation for Autosuggest JavaScript filters. Props [@JakePT](https://github.com/JakePT) and [@brandwaffle](https://github.com/brandwaffle).
692 * Documentation for styling Instant Results. Props [@JakePT](https://github.com/JakePT).
693 * Use `wp_cache_flush_group()` for autosuggest when available. Props [@tillkruss](https://github.com/tillkruss).
694 * The public search API is automatically deactivated when the Instant Results feature is deactivated. Props [@JakePT](https://github.com/JakePT).
695 * Support for transforming instances of the legacy Facet and Related Posts widgets into blocks. Props [@JakePT](https://github.com/JakePT).
696 * Use `wp_cache_flush_runtime()` when available. Props [@tillkruss](https://github.com/tillkruss), [@felipeelia](https://github.com/felipeelia), and [@tott](https://github.com/@tott).
697 * E2E tests for the Custom Results feature. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
698 * E2E tests for the Terms feature. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
699
700 __Changed:__
701
702 * Improved performance in `get_term_tree()`. Props [@rebeccahum](https://github.com/rebeccahum).
703 * Migrated Related Posts block definitions to `block.json`. Props [@JakePT](https://github.com/JakePT).
704 * Total comment count made during sync process to be a proper count call. Props [@felipeelia](https://github.com/felipeelia) and [@bsabalaskey](https://github.com/bsabalaskey).
705 * Search algorithms moved to separate classes. Props [@felipeelia](https://github.com/felipeelia).
706 * The legacy Facet and Related Posts widgets are now hidden when using the block editor. Props [@JakePT](https://github.com/JakePT).
707 * Facets are now divided by types and received their own class. Props [@felipeelia](https://github.com/felipeelia).
708 * PHP compatibility check merged to regular lint. Props [@felipeelia](https://github.com/felipeelia).
709 * E2e tests to run WP-CLI commands in an existent docker container. Props [@felipeelia](https://github.com/felipeelia).
710 * Increased E2e tests coverage for WP-CLI commands. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
711
712 __Deprecated:__
713
714 * The following filters were deprecated. They will still work but add a notice in the error logs.
715 * Deprecated `ep_formatted_args_query` in favour of `ep_post_formatted_args_query`
716 * Deprecated `ep_match_phrase_boost` in favour of `ep_post_match_phrase_boost`
717 * Deprecated `ep_match_boost` in favour of `ep_post_match_boost`
718 * Deprecated `ep_fuzziness_arg` in favour of `ep_post_fuzziness_arg`
719 * Deprecated `ep_match_fuzziness` in favour of `ep_post_match_fuzziness`
720 * Deprecated `ep_match_cross_fields_boost` in favour of `ep_post_match_cross_fields_boost`
721
722 __Fixed:__
723
724 * Error returned by the `recreate-network-alias` CLI command when called on single site. Props [@burhandodhy](https://github.com/burhandodhy).
725 * Term objects in `format_hits_as_terms` to use `WP_Term` instead of `stdClass` to match WordPress expectations. Props [@jonathanstegall](https://github.com/jonathanstegall).
726 * Post reindex on meta deletion. Props [@pschoffer](https://github.com/pschoffer).
727 * Autosaved drafts not showing up in draft post listing when using the Protected Content feature. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
728 * Display fatal error messages in the Sync Dashboard. Props [@felipeelia](https://github.com/felipeelia) and [@orasik](https://github.com/orasik).
729 * An issue where syncing after skipping setup, instead of deleting and syncing, resulted in an error. Props [@JakePT](https://github.com/JakePT).
730 * Stuck progress bar when no post is found. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
731 * Infinite loop during sync if the site has just password protected posts and no other content. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
732 * JS error on Custom Results edit page. Props [@burhandodhy](https://github.com/burhandodhy).
733 * Horizontal scroll in ElasticPress Quick Setup Screen. Props [@MARQAS](https://github.com/MARQAS) and [@JakePT](https://github.com/JakePT).
734 * Allows to replace `post_excerpt` with highlighted results from within AJAX and other integrated contexts. Props [@nickchomey](https://github.com/nickchomey).
735 * Empty results for taxonomy terms that have non ASCII characters. Props [@alaa-alshamy](https://github.com/alaa-alshamy).
736 * Format of highlight tags quotation mark. Props [@nickchomey](https://github.com/nickchomey).
737 * Intermittent error with sticky posts in the tests suite. Props [@felipeelia](https://github.com/felipeelia).
738
739 __Security:__
740
741 * Bumped `terser` from 5.12.0 to 5.14.2. Props [@dependabot](https://github.com/dependabot).
742 * Bumped `@wordpress/env` from 4.5.0 to 5.0.0. Props [@felipeelia](https://github.com/felipeelia).
743
744 = 4.2.2 - 2022-07-14 =
745
746 This is a bug fix release.
747
748 __Added:__
749
750 * New `ep_enable_do_weighting` filter and re-factor with new function `apply_weighting`. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
751 * New `ep_default_analyzer_char_filters` filter. Props [@rebeccahum](https://github.com/rebeccahum).
752 * E2E test to prevent saving feature settings during a sync. Props [@burhandodhy](https://github.com/burhandodhy).
753 * Full compatibility with Composer v2. Props [@felipeelia](https://github.com/felipeelia).
754
755 __Changed:__
756
757 * `update_index_settings()` now accounts for the index closing action timing out and re-opens index if closed. Props [@rebeccahum](https://github.com/rebeccahum).
758
759 __Fixed:__
760
761 * Wrong post types being displayed on the homepage while having the Facets feature enabled. Props [@felipeelia](https://github.com/felipeelia) and [@oscarssanchez](https://github.com/oscarssanchez).
762 * Wrong notice about unsupported server software. Props [@felipeelia](https://github.com/felipeelia).
763
764 __Security:__
765
766 * Bumped `moment` from 2.29.2 to 2.29.4. Props [@dependabot](https://github.com/dependabot).
767
768 = 4.2.1 - 2022-06-28 =
769
770 This is a bug fix release.
771
772 __Added:__
773
774 * Server type/software detection and warning. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
775 * Coverage of E2E tests for the activate-feature command. Props [@burhandodhy](https://github.com/burhandodhy).
776
777 __Changed:__
778
779 * Sync button `title` attribute. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
780 * `npm run build:zip` to use `git archive`. Props [@felipeelia](https://github.com/felipeelia).
781
782 __Fixed:__
783
784 * Fatal error related to WP-CLI timers on long-running syncs. Props [@felipeelia](https://github.com/felipeelia) and [@przestrzal](https://github.com/przestrzal).
785 * Uncaught TypeError on the Settings Page. Props [@burhandodhy](https://github.com/burhandodhy).
786 * 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).
787 * An issue where feature settings could be saved during a sync. Props [@JakePT](https://github.com/JakePT).
788 * 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).
789 * Facet block wrongly available in the post editor. Props [@oscarssanchez](https://github.com/oscarssanchez).
790 * Show Facet widgets on taxonomy archives. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia).
791 * Meta queries with 'exists' as compare operator and empty meta values handling. Props [@burhandodhy](https://github.com/burhandodhy).
792 * Sync interruption message always mentioning ElasticPress.io. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT).
793 * 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).
794 * E2e tests for the Facets feature. Props [@felipeelia](https://github.com/felipeelia).
795 * Intermittent error on GitHub Actions using the latest node 16 version. Props [@felipeelia](https://github.com/felipeelia).
796
797 = 4.2.0 - 2022-05-26 =
798
799 ElasticPress 4.2.0 fixes some bugs and introduces some new and exciting changes.
800
801 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.
802
803 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.
804
805 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.
806
807 __Added:__
808
809 * E2e tests for the Facets feature. Props [@felipeelia](https://github.com/felipeelia).
810 * `$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).
811 * New filter `ep_integrate_search_queries`. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
812 * New `get-last-sync` WP-CLI command. Props [@felipeelia](https://github.com/felipeelia).
813 * Facet block (previously only available as a widget.) Props [@felipeelia](https://github.com/felipeelia).
814 * New `_variations_skus` field to WooCommerce products. Props [@felipeelia](https://github.com/felipeelia), [@kallehauge](https://github.com/kallehauge), and [@lukaspawlik](https://github.com/lukaspawlik).
815 * Support for ordering Users by `user_registered` and lowercase `id`. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
816 * 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).
817
818 __Changed:__
819
820 * Facets widgets rendered by a separate class. Props [@felipeelia](https://github.com/felipeelia).
821 * 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).
822 * Log errors and remove indexing status on failed syncs. Props [@felipeelia](https://github.com/felipeelia).
823 * Refactored Sync page JavaScript. Props [@JakePT](https://github.com/JakePT).
824 * Updated admin scripts to use WordPress's version of React. Props [@JakePT](https://github.com/JakePT).
825 * WooCommerce products list in the Dashboard now properly leverages ElasticPress. Props [@felipeelia](https://github.com/felipeelia).
826 * Removed Instant Results' dependency on `@wordpress/components` and `@wordpress/date`. Props [@JakePT](https://github.com/JakePT) and [@felipeelia](https://github.com/felipeelia).
827 * (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).
828 * 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).
829
830 __Fixed:__
831
832 * WP-CLI parameters documentation. Props [@felipeelia](https://github.com/felipeelia).
833 * Full indices removal after e2e tests. Props [@felipeelia](https://github.com/felipeelia) and [@dustinrue](https://github.com/dustinrue).
834 * Usage of the `$return` parameter in `Feature\RelatedPosts::find_related()`. Props [@felipeelia](https://github.com/felipeelia) and [@altendorfme](https://github.com/altendorfme).
835 * Link to API Functions under the Related Posts feature -> Learn more. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
836 * 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).
837 * 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).
838 * An issue where deselecting a feature during install would not stop that feature from being activated. Props [@JakePT](https://github.com/JakePT).
839 * Add the missing text domain for the Related Posts block. Props [@burhandodhy](https://github.com/burhandodhy).
840 * 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).
841 * 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).
842 * "Time elapsed" and "Total time elapsed" in WP-CLI index command. Props [@felipeelia](https://github.com/felipeelia) and [@archon810](https://github.com/archon810).
843 * Sync process with skipped objects. Props [@juliecampbell](https://github.com/juliecampbell) and [@felipeelia](https://github.com/felipeelia).
844 * Typo in the sync page. Props [@JakePT](https://github.com/JakePT) and [@davidegreenwald](https://github.com/davidegreenwald).
845 * 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).
846 * 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).
847 * 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).
848 * Undefined index notice in Facets renderer. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
849 * Prevent an unnecessary call when the ES server is not set yet. Props [@felipeelia](https://github.com/felipeelia) and [@burhandodhy](https://github.com/burhandodhy).
850 * An incompatibility with the way WP 6.0 handles WP_User_Query using fields. Props [@felipeelia](https://github.com/felipeelia).
851
852 __Security:__
853
854 * Bumped `moment` from 2.29.1 to 2.29.2. Props [@dependabot](https://github.com/dependabot).
855 * Bumped `@wordpress/env` from 4.4.0 to 4.5.0. Props [@felipeelia](https://github.com/felipeelia).
856
857 = 4.1.0 - 2022-04-05 =
858
859 __Added:__
860
861 * Utility command to create zip packages: `npm run build:zip`. Props [@felipeelia](https://github.com/felipeelia).
862 * E2e tests for the Synonyms feature. Props [@felipeelia](https://github.com/felipeelia).
863 * `generate_mapping()` to post and comment indexables. Props [@rebeccahum](https://github.com/rebeccahum).
864 * `get_related_query()` to the `RelatedPosts` class. Props [@ayebare](https://github.com/ayebare).
865 * New `--pretty` flag to the WP-CLI commands that output a JSON. Props [@felipeelia](https://github.com/felipeelia) and [@oscarssanchez](https://github.com/oscarssanchez).
866 * 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).
867
868 __Changed:__
869
870 * Refactored remaining admin scripts to remove jQuery as a dependency. Props [@JakePT](https://github.com/JakePT).
871 * Generate Instant Results' search template as an anonymous user by default. Props [@JakePT](https://github.com/JakePT).
872
873 __Fixed:__
874
875 * PHP warning Trying to access array offset on value of type int in `get_index_names()`. Props [@sun](https://github.com/sun).
876 * Searches by WooCommerce Order ID. Props [@felipeelia](https://github.com/felipeelia).
877 * Display and error message if syncing failed due to invalid JSON response from the server. Props [@dsawardekar](https://github.com/dsawardekar).
878 * Better compatibility with PHP 8.1 by replacing the deprecated `FILTER_SANITIZE_STRING`. Props [@sjinks](https://github.com/sjinks).
879 * `get_term_tree()` no longer infinite loops when parent ID is non-existent. Props [@rebeccahum](https://github.com/rebeccahum).
880 * 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).
881 * Pagination while syncing Indexables other than Posts. Props [@felipeelia](https://github.com/felipeelia) and [@derringer](https://github.com/derringer).
882 * Handle the output of an array of messages in sync processes. Props [@felipeelia](https://github.com/felipeelia).
883 * 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).
884 * "Learn More" link on the Sync Page. Props [@felipeelia](https://github.com/felipeelia), [@JakePT](https://github.com/JakePT), and [@brandwaffle](https://github.com/brandwaffle).
885 * 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).
886
887 __Security:__
888
889 * Bumped `node-forge` from 1.2.1 to 1.3.0. Props [@dependabot](https://github.com/dependabot).
890 * 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).
891
892 = 4.0.1 - 2022-03-16 =
893
894 **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.**
895
896 __Security:__
897
898 * Orders belonging to all users loaded in the My Account WooCommerce page. Props [@tomburtless](https://github.com/tomburtless) and [@oscarssanchez](https://github.com/oscarssanchez).
899
900 = 4.0.0 - 2022-03-08 =
901
902 **ElasticPress 4.0 contains some important changes. Make sure to read these highlights before upgrading:**
903
904 * This version requires a full reindex.
905 * It introduces a new search algorithm that may change the search results displayed on your site.
906 * 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.
907 * Users upgrading from Beta 1 need to re-save the Instant Results feature settings.
908 * New minimum versions are:
909
910 ||Min|Max|
911 |---|:---:|:---:|
912 |Elasticsearch|5.2|7.10|
913 |WordPress|5.6+|latest|
914 |PHP|7.0+|latest|
915
916 **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).)
917
918 The Facets widget is not currently available within Full Site Editing mode.
919
920 __Added:__
921
922 * Instant Results. Props [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia), and [Pratheep Chandrasekhar](https://www.linkedin.com/in/pratheepch/).
923 * 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).
924 * Filter `ep_load_search_weighting` to disable search weighting engine. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
925 * 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).
926 * Support for search form post type fields to Instant Results. Props [@JakePT](https://github.com/JakePT).
927 * Alternative way to count total posts on larger DBs during indexing. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
928 * 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).
929 * Show WP-CLI progress on the new Sync page. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
930 * Display results counts for facet options in Instant Results. Props [@JakePT](https://github.com/JakePT), [@felipeelia](https://github.com/felipeelia).
931 * ARIA attributes to Facet widget links to improve accessibility. Props [@JakePT](https://github.com/JakePT).
932 * Support for shareable URLs to Instant Results. Props [@JakePT](https://github.com/JakePT) and [@felipeelia](https://github.com/felipeelia).
933 * 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).
934 * 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).
935
936 __Changed:__
937
938 * 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/).
939 * 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).
940 * 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).
941 * 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).
942 * Internationalize start and end datetimes of sync. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
943 * `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).
944 * 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).
945 * 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).
946 * 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).
947 * 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).
948 * 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).
949 * Features screen: improved accessibility and jQuery dependency removal. Props [@JakePT](https://github.com/JakePT).
950 * Taxonomy parameters now reflect the WordPress parsed `tax_query` value. Props [@felipeelia](https://github.com/felipeelia) and [@sathyapulse](https://github.com/sathyapulse).
951 * Features order in the Features screen. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
952 * 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).
953 * 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).
954 * Complement to the resync message related to Instant Results. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
955 * 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).
956 * 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).
957
958 __Removed:__
959
960 * Built assets (minified JavaScript and CSS files) from the repository. Props [@felipeelia](https://github.com/felipeelia) and [@jeffpaul](https://github.com/jeffpaul).
961 * Duplicate `case 'description':` from `ElasticPress\Indexable\Term\Term::parse_orderby`. Props [@sjinks](https://github.com/sjinks).
962
963 __Fixed:__
964
965 * CSS issues on Features page. Props [@JakePT](https://github.com/JakePT).
966 * AJAX URL on subsites. Props [@Rahmon](https://github.com/Rahmon).
967 * PHP Notice while monitoring a WP-CLI sync in the dashboard. Props [@felipeelia](https://github.com/felipeelia) and [@ParhamG](https://github.com/ParhamG).
968 * Sync page when WooCommerce's "hide out of stock items" and Instant Results are both enabled. Props [@felipeelia](https://github.com/felipeelia).
969 * PHPUnit Tests and WordPress 5.9 compatibility. Props [@felipeelia](https://github.com/felipeelia).
970 * WooCommerce Orders Search when searching for an order ID. Props [@felipeelia](https://github.com/felipeelia).
971 * Code standards. Props [@felipeelia](https://github.com/felipeelia).
972 * Posts insertion and deletion in the same thread. Props [@felipeelia](https://github.com/felipeelia) and [@tcrsavage](https://github.com/tcrsavage).
973 * Invalid values in `tax_query` terms resulting in a query failure. Props [@rinatkhaziev](https://github.com/rinatkhaziev) and [@felipeelia](https://github.com/felipeelia).
974 * 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).
975 * Nested queries are no longer deleted. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@christianc1](https://github.com/christianc1).
976 * Type hints for `epwr_decay` and `epwr_weight` hooks. Props [@edwinsiebel](https://github.com/edwinsiebel).
977 * Errors count in the new Sync page. Props [@felipeelia](https://github.com/felipeelia).
978 * 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).
979 * 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).
980 * Sync link on index health page. Props [@JakePT](https://github.com/JakePT).
981 * 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).
982
983 __Security:__
984
985 * Use most recent external GitHub Actions versions. Props [@felipeelia](https://github.com/felipeelia) and [@qazaqstan2025](https://github.com/qazaqstan2025).
986 * 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).
987 * Bumped `follow-redirects` from 1.14.7 to 1.14.9. Props [@dependabot](https://github.com/dependabot).
988
989 = 3.6.6 - 2021-12-20 =
990
991 ElasticPress 4.0 Beta 1 is [now available](https://github.com/10up/ElasticPress/releases/tag/4.0.0-beta.1) for non-production testing.
992
993 **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.
994
995 Supported versions changes planned for ElasticPress 4.0.0:
996
997 * Elasticsearch: from 5.0 - 7.9 to 5.2 - 7.10.
998 * WordPress: from 3.7.1+ to 5.6+.
999 * PHP: from 5.6+ to 7.0+.
1000
1001 __Added:__
1002
1003 * Ensure array query parameters do not contain empty items. Props [@roborourke](https://github.com/roborourke).
1004 * WP-CLI `request` subcommand. Props [@joehoyle](https://github.com/joehoyle) and [@felipeelia](https://github.com/felipeelia).
1005
1006 __Changed:__
1007
1008 * 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).
1009
1010 __Fixed:__
1011
1012 * Broken search pagination on hierarchical post types. Props [@tfrommen](https://github.com/tfrommen).
1013 * Synonyms erased when syncing via WP-CLI. Props [@felipeelia](https://github.com/felipeelia) and [@oscarssanchez](https://github.com/oscarssanchez).
1014 * 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).
1015 * Not indexable sites added to indexes list in WP-CLI commands. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
1016
1017 = 3.6.5 - 2021-11-30 =
1018
1019 **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.
1020
1021 Supported versions changes planned for ElasticPress 4.0.0:
1022
1023 * Elasticsearch: from 5.0 - 7.9 to 5.2 - 7.10.
1024 * WordPress: from 3.7.1+ to 5.6+.
1025 * PHP: from 5.6+ to 7.0+.
1026
1027 __Added:__
1028
1029 * Docs: Link to the support page in README.md. Props [@brandwaffle](https://github.com/brandwaffle).
1030 * New `ep_weighting_default_enabled_taxonomies` filter. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/tott).
1031 * `$blog_id` and `$indexable_slug` parameters to the `ep_keep_index` filter. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
1032
1033 __Changed:__
1034
1035 * Add `$type` parameter to `ep_do_intercept_request` filter. Props [@rebeccahum](https://github.com/rebeccahum) and [@felipeelia](https://github.com/felipeelia).
1036 * Cache the detected Posts mapping version, avoiding `get_mapping` calls in all admin requests. Props [@felipeelia](https://github.com/felipeelia).
1037 * Docs: Required ES and WP versions planned for ElasticPress 4.0.0. Props [@felipeelia](https://github.com/felipeelia).
1038 * 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).
1039
1040 __Fixed:__
1041
1042 * 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).
1043 * Duplicate orderby statement in Users query. Props [@brettshumaker](https://github.com/brettshumaker), [@pschoffer](https://github.com/pschoffer), and [@rebeccahum](https://github.com/rebeccahum).
1044 * When using offset and default maximum result window value for size, subtract offset from size. Props [@rebeccahum](https://github.com/rebeccahum).
1045 * Order for Custom Search Results in autosuggest. Props [@felipeelia](https://github.com/felipeelia) and [@johnwatkins0](https://github.com/johnwatkins0).
1046 * WP-CLI stats and status to output all indices related to ElasticPress. Props [@felipeelia](https://github.com/felipeelia).
1047 * Tests: Ensure that Posts related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon).
1048 * Tests: PHPUnit and yoast/phpunit-polyfills. Props [@felipeelia](https://github.com/felipeelia).
1049
1050 __Security:__
1051
1052 * Bumped `path-parse` from 1.0.6 to 1.0.7. Props [@dependabot](https://github.com/dependabot).
1053 * Bumped `10up-toolkit` from 1.0.12 to 1.0.13. Props [@felipeelia](https://github.com/felipeelia).
1054
1055 = 3.6.4 - 2021-10-26 =
1056
1057 **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.
1058
1059 Supported versions changes planned for ElasticPress 4.0.0:
1060
1061 * Elasticsearch: from 5.0 - 7.9 to 5.2 - 7.10.
1062 * WordPress: from 3.7.1+ to 5.6+.
1063 * PHP: from 5.6+ to 7.0+.
1064
1065 __Added:__
1066
1067 * WP-CLI: New `get-mapping` command. Props [@tfrommen](https://github.com/tfrommen), [@felipeelia](https://github.com/felipeelia), and [@Rahmon](https://github.com/Rahmon).
1068 * New filters: `ep_query_request_args` and `ep_pre_request_args`. Props [@felipeelia](https://github.com/felipeelia).
1069 * 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).
1070
1071 __Changed:__
1072
1073 * Automatically generated WP-CLI docs. Props [@felipeelia](https://github.com/felipeelia).
1074 * Verification of active features requirement. Props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia), and [@WPprodigy](https://github.com/WPprodigy).
1075 * `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).
1076 * Terms search query in admin will not be fuzzy. Props [@rebeccahum](https://github.com/rebeccahum).
1077
1078 __Fixed:__
1079
1080 * Elapsed time beyond 1000 seconds in WP-CLI index command. Props [@felipeelia](https://github.com/felipeelia) and [@dustinrue](https://github.com/dustinrue).
1081 * Layout of Index Health totals on small displays. Props [@JakePT](https://github.com/JakePT) and [@oscarssanchez](https://github.com/oscarssanchez).
1082 * Deprecated URL for multiple documents get from ElasticSearch. Props [@pschoffer](https://github.com/pschoffer).
1083 * Add new lines and edit terms in the Advanced Synonym Editor. Props [@JakePT](https://github.com/JakePT) and [@johnwatkins0](https://github.com/johnwatkins0).
1084 * Terms: Avoid falling back to MySQL when results are empty. Props [@felipeelia](https://github.com/felipeelia).
1085 * Terms: Usage of several parameters for searching and ordering. Props [@felipeelia](https://github.com/felipeelia) and [@Rahmon](https://github.com/Rahmon).
1086 * Attachment indexing on Elasticsearch 7. Props [@Rahmon](https://github.com/Rahmon).
1087 * Tests: Ensure that Documents related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon).
1088 * Tests: Ensure that WooCommerce related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
1089 * Tests: Ensure that Comments related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
1090 * Tests: Ensure that Multisite related queries use ElasticPress. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
1091 * Tests: Ensure that Terms related queries use ElasticPress. Props [@felipeelia](https://github.com/felipeelia).
1092
1093 = 3.6.3 - 2021-09-29 =
1094
1095 **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.
1096
1097 Official PHP support is currently 5.6+. Minimum PHP version for ElasticPress 3.7.0 will be 7.0+.
1098
1099 __Added:__
1100
1101 * 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).
1102 * 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).
1103 * WP-CLI documentation for some commands and parameters. Props [@felipeelia](https://github.com/felipeelia).
1104
1105 __Changed:__
1106
1107 * In addition to post titles, now autosuggest also partially matches taxonomy terms. Props [@felipeelia](https://github.com/felipeelia) and [@Rahmon](https://github.com/Rahmon).
1108 * Date parsing change to avoid `E_WARNING`s. Props [@pschoffer](https://github.com/pschoffer).
1109
1110 __Fixed:__
1111
1112 * Comments created by anonymous users (but approved by default) are now indexed. Props [@tomjn](https://github.com/tomjn) and [@Rahmon](https://github.com/Rahmon).
1113 * Deleted terms are now properly removed from the Elasticsearch index. Props [@felipeelia](https://github.com/felipeelia).
1114 * Children of deleted terms are now properly removed from the Elasticsearch index. Props [@pschoffer](https://github.com/pschoffer).
1115 * Post tag duplicated in the Elasticsearch query. Props [@oscarssanchez](https://github.com/oscarssanchez), [@Rahmon](https://github.com/Rahmon), and [@felipeelia](https://github.com/felipeelia).
1116 * Infinite loading state of ElasticPress Related Posts block in the Widgets Edit Screen. Props [@felipeelia](https://github.com/felipeelia).
1117 * Return of `Search::integrate_search_queries()` when `is_integrated_request`. Props [@adiloztaser](https://github.com/adiloztaser).
1118 * Mapping determination based on existing info. Props [@felipeelia](https://github.com/felipeelia).
1119 * `WP_Term_Query` and `parent = 0`. Props [@felipeelia](https://github.com/felipeelia) and [@juansanchezfernandes](https://github.com/juansanchezfernandes).
1120 * WP Acceptance Tests. Props [@felipeelia](https://github.com/felipeelia).
1121 * Typos in the output of some WP-CLI Commands. Props [@rebeccahum](https://github.com/rebeccahum).
1122
1123 __Security:__
1124
1125 * 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).
1126
1127 = 3.6.2 - 2021-08-26 =
1128 **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.
1129
1130 This version bumps official PHP support from 5.3+ to 5.6+. Minimum PHP version for ElasticPress 3.7.0 will be 7.0+.
1131
1132 __Added:__
1133
1134 * GitHub Action to test compatibility with different PHP versions. Props [@felipeelia](https://github.com/felipeelia).
1135 * 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).
1136 * `ep_default_analyzer_filters` filter to adjust default analyzer filters. Props [@pschoffer](https://github.com/pschoffer) and [@felipeelia](https://github.com/felipeelia).
1137 * `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).
1138 * `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).
1139
1140 __Changed:__
1141
1142 * Use `10up-toolkit` to build assets. Props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia), and [@nicholasio](https://github.com/nicholasio).
1143 * Official PHP supported version bumped to 5.6. Props [@felipeelia](https://github.com/felipeelia).
1144 * Lint React rules using `10up/eslint-config/react`. Props [@Rahmon](https://github.com/Rahmon).
1145 * For ES 7.0+ mappings, change `edgeNGram` to `edge_ngram`. Props [@pschoffer](https://github.com/pschoffer) and [@rinatkhaziev](https://github.com/rinatkhaziev).
1146
1147 __Removed:__
1148
1149 * 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).
1150 * Remove unused `path` from `dynamic_templates`. Props [@pschoffer](https://github.com/pschoffer).
1151
1152 __Fixed:__
1153
1154 * 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).
1155 * `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).
1156 * Multiple words synonyms. Props [@scooterlord](https://github.com/scooterlord), [@jonasstrandqvist](https://github.com/jonasstrandqvist), and [@felipeelia](https://github.com/felipeelia).
1157 * Category slug used when doing cat Tax Query with ID. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@karols0](https://github.com/karols0).
1158 * 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).
1159 * Prevents a post from being attempted to delete twice. Props [@pauarge](https://github.com/pauarge).
1160 * Indexing button on Health screen. Props [@Rahmon](https://github.com/Rahmon) and [@oscarssanchez](https://github.com/oscarssanchez).
1161 * WP Acceptance tests and Page Crashed errors. Props [@felipeelia](https://github.com/felipeelia) and [@jeffpaul](https://github.com/jeffpaul).
1162 * 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).
1163
1164 __Security:__
1165
1166 * Bumps `path-parse` from 1.0.6 to 1.0.7. Props [@dependabot](https://github.com/dependabot).
1167
1168 = 3.6.1 - 2021-07-15 =
1169 **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.
1170
1171 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.
1172
1173 __Added:__
1174
1175 * 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).
1176 * Flagged `3.6.0` as version that needs a full reindex. Props [@adiloztaser](https://github.com/adiloztaser) and [@felipeelia](https://github.com/felipeelia).
1177
1178 __Changed:__
1179
1180 * Notice when a sync is needed is now an error. Props [@felipeelia](https://github.com/felipeelia) and [@brandwaffle](https://github.com/brandwaffle).
1181
1182 __Fixed:__
1183
1184 * Encode the Search Term header before sending it to ElasticPress.io. Props [@felipeelia](https://github.com/felipeelia).
1185
1186 = 3.6.0 - 2021-07-07 =
1187 **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.
1188
1189 This version requires a full reindex.
1190
1191 __Breaking Changes:__
1192
1193 * 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).
1194 * 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).
1195 * Confirmation for destructive WP-CLI commands. Props [@nickdaugherty](https://github.com/nickdaugherty) and [@Rahmon](https://github.com/Rahmon).
1196
1197 __Added:__
1198
1199 * Comments Indexable. Props [@dkotter](https://github.com/dkotter), [@dinhtungdu](https://github.com/dinhtungdu), [@Rahmon](https://github.com/Rahmon), and [@felipeelia](https://github.com/felipeelia).
1200 * "ElasticPress - Comments", a search form for comments. Props [@Rahmon](https://github.com/Rahmon) and [@felipeelia](https://github.com/felipeelia).
1201 * 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).
1202 * Facets: new `ep_facet_use_field` filter. Props [@moraleida](https://github.com/moraleida).
1203 * GitHub Action to auto-close non-responsive reporter feedback issues after 3 days. Props [@jeffpaul](https://github.com/jeffpaul).
1204 * Autosuggest: new `ep_autosuggest_default_selectors` filter. Props [@JakePT](https://github.com/JakePT) and [@johnbillion](https://github.com/johnbillion).
1205 * 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).
1206 * `Elasticsearch::get_documents()` and `Indexable::multi_get()`. Props [@nickdaugherty](https://github.com/nickdaugherty), [@felipeelia](https://github.com/felipeelia), and [@Rahmon](https://github.com/Rahmon).
1207 * Custom sorting to features on the Features page. Props [@Rahmon](https://github.com/Rahmon).
1208 * Terms: add a new `facet` field to hold the entire term object in json format. Props [@moraleida](https://github.com/moraleida).
1209 * Elasticsearch connection check to Site Health page. Props [@spacedmonkey](https://github.com/spacedmonkey) and [@Rahmon](https://github.com/Rahmon).
1210 * Support for NOT LIKE operator for meta_query. Props [@Thalvik)](https://github.com/Thalvik) and [@Rahmon](https://github.com/Rahmon).
1211 * Support for `category__not_in` and `tag__not_in`. Props [@oscarssanchez](https://github.com/oscarssanchez) and [@felipeelia](https://github.com/felipeelia).
1212 * Support for `post__name_in`. Props [@jayhill90](https://github.com/jayhill90) and [@oscarssanchez](https://github.com/oscarssanchez).
1213 * `$indexable_slug` property to `ElasticPress\Indexable\Post\SyncManager`. Props [@edwinsiebel](https://github.com/edwinsiebel).
1214 * Permission check bypass for indexing / deleting for cron and WP CLI. Props [@nickdaugherty](https://github.com/nickdaugherty) and [@felipeelia](https://github.com/felipeelia).
1215 * Check if term exists before a capabilities check is done. Props [@msawicki](https://github.com/msawicki).
1216 * New `ep_show_indexing_option_on_multisite` filter. Props [@johnbillion](https://github.com/johnbillion) and [@Rahmon](https://github.com/Rahmon).
1217 * Documentation updates related to upcoming changes in 3.7.0. Props [@jeffpaul](https://github.com/jeffpaul).
1218 * Documentation about how to search using rendered content (shortcodes and reusable blocks). Props [@johnbillion](https://github.com/johnbillion) and [@felipeelia](https://github.com/felipeelia).
1219 * Autosuggest: filter results HTML by defining a `window.epAutosuggestItemHTMLFilter()` function in JavaScript. Props [@JakePT](https://github.com/JakePT).
1220
1221 __Changed:__
1222
1223 * 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).
1224 * Autosuggest: JavaScript is not loaded anymore when ElasticPress is indexing. Props [@fagiani](https://github.com/fagiani) and [@felipeelia](https://github.com/felipeelia).
1225 * `Indexable\Post\Post::prepare_date_terms()` to only call `date_i18n()` once. Props [@WPprodigy](https://github.com/WPprodigy) and [@Rahmon](https://github.com/Rahmon).
1226
1227 __Removed:__
1228
1229 * Assets source mappings. Props [@Rahmon](https://github.com/Rahmon) and [@MadalinWR](https://github.com/MadalinWR).
1230 * References to `posts_by_query` property and `spl_object_hash` calls. Props [@danielbachhuber](https://github.com/danielbachhuber) and [@Rahmon](https://github.com/Rahmon).
1231
1232 __Fixed:__
1233
1234 * GitHub issue templates. Props [@jeffpaul](https://github.com/jeffpaul).
1235 * Facets: error in filters where terms wouldn't match if the user types a space. Props [@felipeelia](https://github.com/felipeelia).
1236 * 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).
1237 * Output of WP-CLI index errors. Props [@notjustcode-sp](https://github.com/notjustcode-sp) and [@felipeelia](https://github.com/felipeelia).
1238 * `index_name` is transformed in lowercase before the index creation in Elasticsearch. Props [@teoteo](https://github.com/teoteo) and [@felipeelia](https://github.com/felipeelia).
1239 * 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).
1240 * 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).
1241 * Sort for WP_User_Query. Props [@Rahmon](https://github.com/Rahmon).
1242 * WP Acceptance Tests. Props [@felipeelia](https://github.com/felipeelia).
1243 * Styling issue of Autosuggest and search block (WP 5.8). Props [@dinhtungdu](https://github.com/dinhtungdu).
1244 * `Undefined variable: closed` notice in `Elasticsearch::update_index_settings()`. Props [@nickdaugherty](https://github.com/nickdaugherty) and [@pschoffer](https://github.com/pschoffer).
1245 * Documentation for WP-CLI `*-feature` commands. Props [@felipeelia](https://github.com/felipeelia).
1246 * Custom Results: a `current_user_can()` call now receives the post ID instead of the whole object. Props [@Sysix](https://github.com/Sysix).
1247 * Autosuggest: adjust debounce to avoid sending unnecessary requests to the server. Props [@Rahmon](https://github.com/Rahmon).
1248
1249 __Security:__
1250
1251 * Updated browserslist and jsdoc versions. Props [@felipeelia](https://github.com/felipeelia).
1252 * Updated lodash, hosted-git-info, ssri, rmccue/requests, and y18n versions. Props [@dependabot](https://github.com/dependabot).
1253
1254 = 3.5.6 - 2021-03-18 =
1255 This release fixes some bugs and also adds some new actions and filters.
1256
1257 __Security Fix:__
1258
1259 * Updated JS dependencies. Props [@hats00n](https://github.com/hats00n) and [@felipeelia](https://github.com/felipeelia)
1260
1261 __Bug Fixes:__
1262
1263 * Fixed document indexing when running index command with nobulk option. Props [@Rahmon](https://github.com/Rahmon)
1264 * Added an extra check in the iteration over the aggregations. Props [@felipeelia](https://github.com/felipeelia)
1265 * Fixed no mapping found for [name.sortable] for Elasticsearch version 5. Props [@Rahmon](https://github.com/Rahmon)
1266 * Fixed uninstall process to remove all options and transients. Props [@Rahmon](https://github.com/Rahmon)
1267
1268 __Enhancements:__
1269
1270 * Added missing inline JS documentation. Props [@JakePT](https://github.com/JakePT)
1271 * Added the filter `ep_autosuggest_http_headers`. Props [@Rahmon](https://github.com/Rahmon)
1272 * Added terms indexes to the status and stats WP-CLI commands. Props [@felipeelia](https://github.com/felipeelia)
1273 * The Protected Content feature isn't auto-activated when using ElasticPress.io anymore. Props [@felipeelia](https://github.com/felipeelia)
1274 * 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)
1275 * Added the new filter `epwr_weight` and changed the default way scores are applied based on post date. Props [@Rahmon](https://github.com/Rahmon)
1276
1277 = 3.5.5 - 2021-02-25 =
1278 This release fixes some bugs and also adds some new actions and filters.
1279
1280 __Bug Fixes:__
1281
1282 * Fix a problem in autosuggest when highlighting is not active. Props [@felipeelia](https://github.com/felipeelia) and [@Rahmon](https://github.com/Rahmon)
1283 * Fix a wrong phrase in the Indexables documentation. Props [@jpowersdev](https://github.com/jpowersdev)
1284 * Fix Facet Term Search for more than one Widget. Props [@goaround](https://github.com/goaround)
1285 * Fix a Warning that was triggered while using PHP 8. Props [@Rahmon](https://github.com/Rahmon)
1286
1287 __Enhancements:__
1288
1289 * Add an `is-loading` class to the search form while autosuggestions are loading. Props [@JakePT](https://github.com/JakePT)
1290 * Add the new `set-algorithm-version` and `get-algorithm-version` WP-CLI commands. Props [@felipeelia](https://github.com/felipeelia)
1291 * Add a new `ep_query_weighting_fields` filter. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/tott)
1292 * Add two parameters to the `ep_formatted_args_query` filter. Props [@felipeelia](https://github.com/felipeelia) and [@tott](https://github.com/tott)
1293 * Add the new `set-algorithm-version` and `get-algorithm-version` WP-CLI commands. Props [@felipeelia](https://github.com/felipeelia)
1294 * Create a new section in documentation called `Theme Integration`. Props [@JakePT](https://github.com/JakePT)
1295 * Improvements to contributing documentation and tests. Props [@jeffpaul](https://github.com/jeffpaul) and [@felipeelia](https://github.com/felipeelia)
1296 * 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)
1297
1298 = 3.5.4 - 2021-02-11 =
1299 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.
1300
1301 __Security Fix:__
1302
1303 * Fixed a nonce check associated with updating the default Autosuggest search query in ElasticPress.io. Props [@felipeelia](https://github.com/felipeelia)
1304
1305 __Bug Fixes:__
1306
1307 * Fix broken click on highlighted element in Autosuggest results. Props [@felipeelia](https://github.com/felipeelia)
1308 * Properly cast `from` parameter in `$formatted_args` to an integer to prevent errors if empty. Props [@CyberCyclone](https://github.com/CyberCyclone)
1309
1310 __Enhancements:__
1311
1312 * Add an `ep_is_facetable` filter to enable custom control over where to show or hide Facets. Props [@moraleida]
1313 * Improvements to contributing documentation and tests. Props [@jeffpaul](https://github.com/jeffpaul) and [@felipeelia](https://github.com/felipeelia)
1314
1315 = 3.5.3 - 2021-01-28 =
1316 This is a bug fix release.
1317
1318 __Bug Fixes:__
1319
1320 * 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)
1321 * Fixed CSS formatting issues in the Settings and Features menus. Props [@Rahmon](https://github.com/Rahmon)
1322
1323 = 3.5.2 - 2021-01-18 =
1324 This is a bug fix release.
1325
1326 __Bug Fixes:__
1327
1328 * Fixed a typo in elasticpress.pot. Props [@alexwoollam](https://github.com/alexwoollam)
1329 * Don’t use timestamps that cause 5 digit years. Props [@brandon-m-skinner](https://github.com/brandon-m-skinner)
1330 * Fix admin notice on the Synonyms page. Props [@Rahmon](https://github.com/Rahmon)
1331 * Properly update slider numbers while sliding. Props [@Rahmon](https://github.com/Rahmon)
1332 * Properly handle error from `get_terms()`. Props [@ciprianimike](https://github.com/ciprianimike)
1333 * Fix incorrect titles page. Props [@Rahmon](https://github.com/Rahmon)
1334 * Fix linting tests. Props [@felipeelia](https://github.com/felipeelia)
1335 * Fix issue with price filter unsetting previous query. Props [@oscarssanchez](https://github.com/oscarssanchez)
1336
1337 __Enhancements:__
1338
1339 * 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)
1340 * Added `ep_filesystem_args` filter. Props [@pjohanneson](https://github.com/pjohanneson)
1341 * Add SKU field to Weighting Engine if WooCommerce is active and fix issue with overriding `search_fields`. Props [@felipeelia](https://github.com/felipeelia)
1342 * Support `author__in` and `author__not_in` queries. Props [@dinhtungdu](https://github.com/dinhtungdu)
1343 * Update multiple unit tests. Props [@petenelson](https://github.com/petenelson)
1344 * Show CLI indexing status in EP dashboard. Props [@Rahmon](https://github.com/Rahmon)
1345 * 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)
1346
1347 = 3.5.1 - 2020-10-29 =
1348 A bug fix release.
1349
1350 __Bug fixes:__
1351
1352 * Fixes highlighting so that full content is returned instead of only snippets.
1353 * Fix empty synonym bug.
1354 * Only highlight post content, excerpt, and title.
1355
1356 __Enhancements:__
1357
1358 * Track CLI index in a headless fashion
1359
1360 = 3.5.0 - 2020-10-20 =
1361 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.
1362
1363 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.
1364
1365 __Bug fixes:__
1366
1367 * Fix default autosuggest selector.
1368 * Fix facet feature $_GET parameter naming collision.
1369 * Autosuggest a11y fixes. Props [amesplant](https://github.com/amesplant).
1370 * Check $feature type before calling Feature methods. Props [pdewouters](https://github.com/pdewouters).
1371 * Ensure trashed post is removed from Elasticsearch. Props [edwinsiebel](https://github.com/edwinsiebel).
1372 * Add default permission callback to REST routes. Props [dkotter](https://github.com/dkotter).
1373 * Hide links to weighting and synonym dashboard if network activated. Props [felipeelia](https://github.com/felipeelia).
1374 * Only sync post on allow listed post meta. Props [felipeelia](https://github.com/felipeelia).
1375 * Check if site is indexable before syncing in network activated mode.
1376 * Fix facet widget and 3-level deep hierarchical taxonomy. Props [dinhtungdu](https://github.com/dinhtungdu).
1377 * Make sure AJAX sync is disabled if EP_DASHBOARD is set to false.. Props [turtlepod](https://github.com/turtlepod).
1378
1379 __Enhancements:__
1380
1381 * Synonym dashboard. Props [christianc1](https://github.com/christianc1).
1382 * Search term highlighting. Props [oscarsanchez](https://github.com/oscarsanchez).
1383 * Search algorithm improvements.
1384 * Improved WP Acceptance tests. Props [asharirfan](https://github.com/asharirfan).
1385 * Rename ElasticPress submenu to "Features". Props [helen](https://github.com/helen).
1386 * Add functionality for skipping ElasticPress install.
1387 * Increase max supported Elasticsearch version to 7.9.
1388 * Add filter to prepared user meta data. Props [g-kanoufi](https://github.com/g-kanoufi).
1389 * Improve Terms Feature terminology to remove confusion.
1390 * Add filter to facet terms query arguments. Props [felipeelia](https://github.com/felipeelia).
1391
1392 = 3.4.3 - 2020-07-21 =
1393 __Enhancements:__
1394
1395 * Remove jQuery from front end JavaScript dependencies.
1396
1397 __Bug Fixes:__
1398
1399 * Fix accessibility bug on autosuggest.
1400 * Fix broken facet search.
1401
1402 = 3.4.2 - 2020-06-17 =
1403 __Bug fixes:__
1404
1405 * uninstall.php: Change the EP_FILE const to its value. Props [felipeelia](https://github.com/felipeelia).
1406 * Fix list features WP CLI command. Props [felipeelia](https://github.com/felipeelia).
1407 * Add `rel="nofollow"` to facet links. Props [mlaroy](https://github.com/mlaroy).
1408 * Facets widget: Move <div> outside ob_start(). Props [kallehauge](https://github.com/kallehauge).
1409 * Load facet scripts and styles only when they are really necessary. Props [goaround](https://github.com/goaround).
1410 * Index attachments with Protected Content and query for them in media search. Props [oscarsanchez](https://github.com/oscarsanchez).
1411 * Fixed `Deprecated field [include] used, expected [includes] instead.`. Props [dinhtungdu](https://github.com/dinhtungdu).
1412
1413 __Enhancements:__
1414
1415 * Add filter for enabling sticky posts. Props [shadyvb](https://github.com/shadyvb).
1416 * Add sync kill filter. Props [barryceelen](https://github.com/barryceelen).
1417 * Add timeout filters for bulk_index and index_document. Props [@oscarsanchez](https://github.com/oscarsanchez).
1418
1419 = 3.4.1 - 2020-3-31 =
1420 * Make weighting dashboard flex containers to prevent the slider from changing size. Props [@mlaroy](https://github.com/mlaroy).
1421 * Fix issue where weightings wouldn't save properly for certain post types. Props [mustafauysal](https://github.com/mustafauysal).
1422 * Fix bug where terms wouldn't finish syncing in certain scenarios.
1423 * Properly order WooCommerce products using double to account for decimals. Props [@oscarsanchez](https://github.com/oscarsanchez).
1424 * Show current indices in index health dashboard. Props [moraleida](https://github.com/moraleida).
1425
1426 = 3.4.0 - 2020-03-03 =
1427 * Addition of Terms Indexable and Feature. ElasticPress can now integrate with `WP_Term_Query`. Props [dkotter](https://github.com/dkotter).
1428 * Fixes for `WP_User_Query` 'fields' parameter. Props [petenelson](https://github.com/petenelson).
1429 * Support all taxonomies in root of `WP_Query`
1430 * Readd `ep_retrieve_aggregations` hook for backwards compatibility
1431 * Move indexable posts class registration into a function that runs in the `plugins_loaded` action. Props [petenelson](https://github.com/petenelson).
1432 * Fix author name in weighting and use post_author.display_name for weighted author field search. Props [petenelson](https://github.com/petenelson).
1433 * Add `ep_prepared_*_meta` filters
1434 * Refactor CLI indexing code for simplicity.
1435 * Limit indexed Protected Content post types removing `revision`, `oembed_cache`, `custom_css`, `user_request`, `customize_changeset`, and `wp_block`.
1436 * Cast taxonomy slug to array in case it's already an array in `WP_Query`.
1437 * Remove unnecessary usage of `--network-wide` CLI parameter.
1438 * Add name, nickname, and display name to fields used for user search.
1439 * Add `clear-transient` WP CLI command.
1440 * Don't make product categories facetable when WooCommerce feature is not active. Props [mustafauysal](https://github.com/mustafauysal).
1441
1442 = 3.3.0 - 2018-12-18 =
1443 * Officially support Elasticsearch 7.5
1444 * Add optional Google Analytics Autosuggest tracking Event
1445 * Fix single node warning before sync has occurred.
1446 * When `ep_integrate` is set to false, do not apply faceting.
1447 * Fix search ordering error when there are no pointers.
1448 * Add filter `ep_get_hits_from_query` to modify retrieved Elasticsearch hits.
1449 * Make sure `post_type` array does not include keys. Fixes a bbPress issue.
1450 * Pass query object to EP response so we can check for main query. This fixes a faceting bug.
1451 * Add EP-Search-Term header to autosuggest requests to EP.io
1452 * Clean up indexing transient on sigkill
1453
1454 = 3.2.6 - 2019-11-27 =
1455 This is a bugfix release
1456
1457 * Under some edge conditions content for autosuggest can be large - don't cache it
1458
1459 = 3.2.5 - 2019-11-20 =
1460 This is a bug fix version.
1461
1462 * Fix WP <5.0 fatal error on register_block_type.
1463
1464 = 3.2.4 - 2019-11-19 =
1465 This is a bug fix version.
1466
1467 * Fix Gutenberg block initialization
1468 * Fix Autosuggest: remove filter with proper priority in query generation. Props [Maxdw](https://github.com/Maxdw).
1469 * Fix Autosuggest: returning WP_Error for non object cache autosuggest queries causes issue. Fallback to transient
1470
1471 = 3.2.3 - 2019-11-13 =
1472 This is a bug fix version.
1473
1474 * Ensure query building for Autosuggest does not fallback to WPDB.
1475
1476 = 3.2.2 - 2019-11-05 =
1477 This is a bug fix version with some feature additions.
1478
1479 * Fix PHPCS errors. Props [mmcachran](https://github.com/mmcachran)
1480 * Fix ensuring stats are built prior to requesting information
1481 * Fix related post block enqueue block assets on the frontend
1482 * Fix custom order results change webpack config for externals:lodash
1483 * Fix don't overwrite search fields
1484 * Autosuggest queries generated though PHP instead of JavaScript
1485 * Add WP Acceptance tests
1486 * Add new WP-CLI commands: get_indexes and get_cluster_indexes
1487
1488 = 3.2.1 - 2019-10-14 =
1489 This is a bug fix version.
1490
1491 * Fix Gutenberg breaking issue with Related Posts and image blocks. Props [adamsilverstein](https://github.com/adamsilverstein)
1492
1493 = 3.2.0 - 2019-10-08 =
1494 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.
1495
1496 * Improve block asset enqueueing: hook on `enqueue_block_editor_assets`. Props [adamsilverstein](https://github.com/adamsilverstein).
1497 * Handle empty search weighting fields bug.
1498 * Integrate WooCommerce default filter by price widget with ES range query.
1499 * Improve messaging for custom result post type.
1500 * Index health page.
1501 * Add tag_in and tag__and support.
1502 * Related posts Gutenberg block.
1503 * Facet widget ordering option. Props [psorensen](https://github.com/psorensen).
1504 * Control Index-ability of individual sites in multisite.
1505 * Integrate WooCommerce default filter by price widget with ES range query.
1506
1507 See https://github.com/10up/ElasticPress/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A3.2.0+is%3Aclosed+
1508
1509 = 3.1.4 - 2019-08-28 =
1510 Version 3.1.4 is a bug fix release.
1511
1512 See fixes: https://github.com/10up/ElasticPress/pulls?q=is%3Apr+milestone%3A3.1.4+is%3Aclosed
1513
1514 = 3.1.3 - 2019-08-22 =
1515 This is a bug fix release.
1516
1517 * Check wpcli transient before integrating with queries
1518 * Fix version comparison bug when comparing Elasticsearch versions
1519 * Use proper taxonomy name for WooCommerce attributes.
1520 * Increase Elasticsearch minimum supported version to 5.0
1521 * Fix product attribute archives
1522
1523 = 3.1.2 - 2019-08-16 =
1524 This is a bug fix release with some filter additions.
1525
1526 * Add ep_es_query_results filter.
1527 * Add option to sync prior to shutdown.
1528 * Readme update around WPCLI post syncing. Props [@mmcachran](https://github.com/mmcachran)
1529 * Ignore sticky posts in `find_related`. Props [@columbian-chris](https://github.com/columbian-chris)
1530 * Weighting dashboard fixes around saving. [@oscarsanchez](https://github.com/oscarsanchez)
1531 * Weighting UI improvements. Props [@mlaroy](https://github.com/mlaroy)
1532
1533 = 3.1.1 - 2019-07-25 =
1534 * Ensure taxonomies that are shared among multiple post types show up on the weighting screen
1535
1536 = 3.1.0 - 2019-07-22 =
1537 * Support for nested tax queries. Props [@dkotter](https://github.com/dkotter)
1538 * `ep_bulk_index_action_args` filter. Props [@fabianmarz](https://github.com/fabianmarz)
1539 * Add filters to control MLT related posts params.
1540 * `ep_allow_post_content_filtered_index` filter to bypass filtered post content on indexing.
1541 * Weighting dashboard to control weights of specific fields on a per post type basis
1542 * Search ordering feature. Enables custom results for specific search queries.
1543 * Refactor admin notice, admin screen "resolver", and install path logic
1544 * WordPress.org profile
1545 * New EP settings interface. Props [@dkoo](https://github.com/dkoo)
1546 * Delete pagination from facet URL.
1547 * allows WooCommerce product attributes to be facetable in 3.0
1548 * Autosuggest queries now match the search queries performed by WordPress, including weighting and any custom results
1549 * Fix data escaping in WP 4.8.x
1550 * Support order by "type"/"post_type" in EP queries
1551 * Properly redirect after network sync
1552 * User mapping for pre 5.0 Props [@mustafauysal](https://github.com/mustafauysal)
1553 * Avoid multiple reflows in autosuggest. Props [@fabianmarz](https://github.com/fabianmarz)
1554 * 400 error when popularity is default sorting.
1555 * Fixed Facet widget not rendering WC product attribute options. Props [@fabianmarz](https://github.com/fabianmarz)
1556 * Delete wpcli sync option/transient when an error occurs
1557 * Create index/network alias when adding a new site on a network activated installation. Props [@elliott-stocks](https://github.com/elliott-stocks)
1558 * Fix WooCommerce order search when WooCommerce module activated but protected content turned off.
1559
1560 = 3.0.3 - 2019-06-04 =
1561 * Pass $post_id twice in ep_post_sync_kill for backwards compatibility. Props [aaemnnosttv](https://github.com/aaemnnosttv)
1562 * Add `ep_search_request_path` filter for backwards compant.
1563 * Add `ep_query_request_path` filter for modifying the query path.
1564 * Fix missing action name in post query integration.
1565 * Properly add date filter to WP_Query.
1566
1567 = 3.0.2 - 2019-05-23 =
1568 3.0.2 is a minor bug release version. Here is a list of fixes:
1569
1570 * Fix date query errors
1571 * Readd ep_retrieve_the_{type} filter. Props [gassan](https://github.com/gassan)
1572 * Fix empty autosuggest selector notice
1573
1574 = 3.0.1 - 2019-05-20 =
1575 3.0.1 is a minor bug release version. Here is a list of fixes:
1576
1577 * `wp elasticpress stats` and `wp elasticpress status` commands fatal error fixed.
1578 * Add autosuggest selector field default to fix notice.
1579 * Re-add `ep_find_related` as deprecated function.
1580 * Changed max int to use core predefined constant. Props [@fabianmarz](https://github.com/fabianmarz)
1581 * Properly support legacy feature registration callbacks per #1329.
1582 * Properly disable settings as needed on dashboard.
1583 * Don't force document search on REST requests.
1584
1585 = 3.0 - 2019-05-13 =
1586 NOTICE: Requires re-index.
1587
1588 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.
1589
1590 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.
1591
1592 Other Features:
1593 * Elasticsearch language setting in admin
1594
1595 Here are a list of filters/actions removed or changed:
1596
1597 ### Actions Removed:
1598
1599 * `ep_feature_setup`
1600
1601 ### Filters changed:
1602
1603 * `ep_post_sync_kill` - Removed `$post_args` argument.
1604
1605 ### Other changes:
1606
1607 * `posts-per-page` changed to `per-page` for WP-CLI index command.
1608
1609 = 2.8.2 - 2019-03-26 =
1610 * Enhancement: WooCommerce product attributes as facets.
1611 * Enhancement: Performance Boost for document indexing.
1612 * Bugfix for issue on WP REST API searches.
1613 * Bugfix for case-sensitivity issue with facet search.
1614
1615 = 2.8.1 - 2019-02-13 =
1616 * Bugfix for homepage out of chronological order.
1617 * Bugfix for missing meta key. (Props [turtlepod](https://github.com/turtlepod))
1618 * Bugfix for bulk indexing default value on settings page.
1619
1620 = 2.8.0 - 2019-02-08 =
1621 ElasticPress 2.8 provides some new enhancements and bug fixes.
1622
1623 * Sticky posts support.
1624 * Meta LIKE query adjustment.
1625 * Autosuggest bugfix.
1626 * Autosuggest to abide by plugin settings.
1627 * WooCommerce searches with custom fields.
1628 * Adjustment to `wp elasticpress status`
1629 * Add Elasticsearch version in settings. (Props [turtlepod](https://github.com/turtlepod))
1630 * Allow user to set number of posts during bulk indexing cycle.
1631 * Facet query string customization (Props [ray-lee](https://github.com/ray-lee))
1632 * Removal of logic that determines if blog is public / indexable. (Resolves sync issue.)
1633 * Fix for auto activating sync notices. (Props [petenelson](https://github.com/petenelson))
1634 * Removal of date weighting for protected content admin queries.
1635 * Protected content: filtering of filtered post types.
1636 * Implemented --post-ids CLI option to index only specific posts. (Props [dotancohen](https://github.com/dotancohen))
1637
1638 = 2.7.0 - 2018-12-06 =
1639 NOTICE: Requires re-index
1640
1641 ElasticPress 2.7 provides some new enhancements and bug fixes.
1642
1643 * Prevent indexing when blog is deleted or not public.
1644 * Do not apply absint to comment_status.
1645 * ElasticPress.io credentials bugfix.
1646 * Related posts bugfix.
1647 * Random WooCommerce ordering allowed.
1648 * Query only post IDs when indexing. (Props [elliott-stocks](https://github.com/elliott-stocks))
1649 * Better error notices. (Props [petenelson](https://github.com/petenelson))
1650
1651 = 2.6.1 - 2018-08-24 =
1652 * Resolves issue of missing file for wp-cli.
1653
1654 = 2.6.0 - 2018-08-22 =
1655 ElasticPress 2.6 provides some new enhancements and bug fixes.
1656
1657 * Ability to set autosuggest endpoint by a constant (EP_AUTOSUGGEST_ENDPOINT).
1658 * Enable WooCommerce products to be included in autosuggest results.
1659 * Support for tax_query operators EXISTS and NOT EXISTS.
1660 * Addition of new filter to change default orderby/sort (ep_set_default_sort).
1661 * Do not search for author_name when searching products in WooCommerce.
1662
1663 = 2.5.2 - 2018-05-09 =
1664 NOTICE: Requires re-index.
1665
1666 This is a small bug fix release.
1667
1668 * Removed unnecessary facet JavaScript
1669 * Fix facet aggregations warning
1670
1671 = 2.5.1 - 2018-05-02 =
1672 NOTICE: Requires re-index.
1673
1674 This if a bug fix release. This version requires a re-index as we change the way data is being sent to Elasticsearch.
1675
1676 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.
1677
1678 ### Bug Fixes
1679
1680 * Don't pre-strip HTML before sending it to Elasticsearch.
1681 * Support PHP 5.2 backwards compat.
1682 * Don't show faceting widget if post type doesn't support taxonomy.
1683
1684 = 2.5 - 2018-04-23 =
1685 ElasticPress 2.5 includes a new Facets feature that makes it easy to add high performance content filtering controls to a website.
1686
1687 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.
1688
1689 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.
1690
1691 Here is a detailed list of what's been included in the release:
1692
1693 ### Enhancements
1694 * Facets feature
1695 * `--post-ids` CLI option to index only specific posts. Props [dotancohen](https://github.com/dotancohen).
1696 * Filter for hiding host setting in dashboard. Props [tomdxw](https://github.com/tomdxw).
1697 * Support `WP_Query` meta query `not between` comparator.
1698
1699 ### Bugs
1700 * Disallow duplicated Elasticsearch requests on WooCommerce orders page. Props [lukaspawlik](https://github.com/lukaspawlik)
1701 * Fix taxonomy sync object warning. Props [eugene-manuilov](https://github.com/eugene-manuilov)
1702 * `true` in `is_empty_query` terminates ep_query process when it shouldn't. Props [yaronuliel](https://github.com/yaronuliel)
1703
1704 = 2.4.2 - 2018-01-31 =
1705 Version 2.4.2 is a bug fix version.
1706
1707 * Fix related posts not showing up bug.
1708
1709 = 2.4.1 - 2018-01-30 =
1710 Version 2.4.1 is a bug fix and maintenance release. Here are a listed of issues that have been resolved:
1711
1712 * Support Elasticsearch 6.1 and properly send Content-Type header with application/json. Props [eugene-manuilov](https://github.com/eugene-manuilov).
1713 * Fix autosuggest event target issue bug. Props [eugene-manuilov](https://github.com/eugene-manuilov).
1714 * Fix widget init bug. Props [eugene-manuilov](https://github.com/eugene-manuilov).
1715 * Fix taxonomy sync parameter warning. Props [eugene-manuilov](https://github.com/eugene-manuilov).
1716 * Increase maximum Elasticsearch compatibility to 6.1
1717
1718 = 2.4 - 2017-11-01 =
1719 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.
1720
1721 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.
1722
1723 Here is a comphrensive list of changes:
1724
1725 ### Enhancements
1726 * Autosuggest feature
1727 * Hooks for query log functionality in [Debug Bar ElasticPress](https://github.com/10up/debug-bar-elasticpress)
1728 * Support `WP_Query` `fields` parameter. Props [kallehauge](https://github.com/kallehauge).
1729 * Add setting for enabling/disabling date weighting in search. Props [lukaspawlik](https://github.com/kallehauge).
1730 * Remove extra post meta storage key from Elasticsearch
1731 * Add shipping class as indexed WooCommerce taxonomy. Props [kallehauge](https://github.com/kallehauge).
1732 * Allow WooCommerce orders to be searched by items. Props [kallehauge](https://github.com/kallehauge).
1733 * Support Elasticsearch 5.6
1734 * Add filter to granularly control admin notices. Props [mattonomics](https://github.com/mattonomics).
1735 * Support ES 5.5+ strict content type checking. Props [sc0ttclark](https://github.com/sc0ttclark)
1736
1737 ### Bug Fixes
1738 * Fix `author_name` search field. Props [ivankristianto](https://github.com/ivankristianto).
1739 * Fix unavailable taxonomy issue in WooCommerce. Props [ivankristianto](https://github.com/ivankristianto).
1740 * Index all publicly queryable taxonomies. Props [allan23](https://github.com/allan23).
1741 * Resolve case insensitive sorting issues. Props [allan23](https://github.com/allan23).
1742 * Add escaping per VIP standards. Props [jasonbahl](https://github.com/jasonbahl).
1743 * Fix WooCommerce post type warnings.
1744
1745 = 2.3.1, 2.3.2 - 2017-06-30=
1746 Version 2.3.1-2.3.2 is a bug fix release. Here are a listed of issues that have been resolved:
1747
1748 * 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.
1749 * Fix broken upgrade sync notification.
1750 * Properly respect WC product visibility. Props [ivankristianto](https://github.com/ivankristianto). This requires a re-index if you are using the WooCommerce feature.
1751
1752 = 2.3 - 2017-05-26 =
1753 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.
1754
1755 ### Enhancements
1756 * Documents feature
1757 * Enable multiple feature status messages
1758 * Disable dashboard sync via constant: `define( 'EP_DASHBOARD_SYNC', false );`. Props [rveitch](https://github.com/rveitch).
1759 * Add filter for custom WooCommerce taxonomies. Props [kallehauge](https://github.com/kallehauge).
1760 * Support WooCommerce `product_type` taxonomy. Props [kallehauge](https://github.com/kallehauge).
1761
1762 ### Bug Fixes
1763 * Fix WP-CLI `--no-bulk` number of posts indexed message. Props [ivankristianto](https://github.com/ivankristianto).
1764 * Honor `ep_integrate` in WooCommerce queries. Props [ivankristianto](https://github.com/ivankristianto).
1765 * Properly check when ES results are empty. Props [lukaspawlik](https://github.com/lukaspawlik)
1766 * Incorrect `found_posts` set in query when ES is unavailable. Props [lukaspawlik](https://github.com/lukaspawlik)
1767
1768 = 2.2.1 - 2017-03-30 =
1769 Version 2.2.1 is a bug fix release. Here are a listed of issues that have been resolved:
1770
1771 * Fix dashboard syncing delayed start issues.
1772 * If plugins endpoint errors, try root endpoint to get the ES version.
1773 * Make sure orderby is correct for default WooCommerce sorting. Props [ivankristianto](https://github.com/ivankristianto).
1774 * Remove operator=>AND unneed execution code.
1775 * Stop dashboard sync if error occurs in the middle. Props [ivankristianto](https://github.com/ivankristianto).
1776 * Add `EP_INDEX_PREFIX` constant. If set, index names will be prefixed with the constant. Props [allan23](https://github.com/allan23).
1777 * Increase total field limit to 5000 and add filter. Props [ssorathia](https://github.com/ssorathia).
1778 * Prevent EP from auto-activating a feature that was force deactivated
1779 * Prevent massive field Elasticsearch error when indexing large strings
1780 * Increase max result window size to 1000000 and add filter.
1781
1782 = 2.2 - 2017-02-28 =
1783 NOTICE: Requires re-index.
1784
1785 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.
1786
1787 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.
1788
1789 ### Enhancements
1790 * __(Breaking change)__ Module registration API changed. See `register_module` in `classes/class-ep-modules.php`.
1791 * __(Breaking change)__ Related posts are now in a widget instead of automatically being appending to content.
1792 * __(Breaking change)__ Admin module renamed to Protected Content.
1793 * Admin warning if current Elasticsearch version is not between the min/max supported version. Version 2.2 supports versions 1.3 - 5.1.
1794 * Auto-reindex on versions requiring reindex.
1795 * User friendly admin notifications for ElasticPress not set up, first sync needed, and feature auto activation.
1796 * 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.
1797 * Add support for post_mime_type. Props [Ritesh-patel](https://github.com/Ritesh-patel)
1798
1799 ### Bug Fixes
1800 * Back compat with old `ep_search` function.
1801 * Respect indexable post types in WooCommerce feature
1802 * New product drafts not showing in WooCommerce admin list
1803 * WooCommerce feature breaking image search in media library. Props [Ritesh-patel](https://github.com/Ritesh-patel)
1804 * WooCommerce order search broken
1805 * Stop the insansity made private. Props [sc0ttclark](https://github.com/sc0ttclark)
1806 * Fix multidimensional meta queries. Props [Ritesh-patel](https://github.com/Ritesh-patel).
1807 * Properly show bulk index errors in WP-CLI
1808 * Update ep_delete_post, include $post_type argument. Props [Ritesh-patel](https://github.com/Ritesh-patel)
1809 * 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)
1810 * Adds 'number' param to satisfy WP v4.6+ fixing get_sites call. Props [rveitch](https://github.com/rveitch)
1811 * Order by proper relevancy in WooCommerce product search. Props [ivankristianto](https://github.com/ivankristianto)
1812 * Fix recursion fatal error due to oembed discovery during syncing. Props [ivankristianto](https://github.com/ivankristianto)
1813
1814 = 2.1.2 - 2016-11-11 =
1815 NOTICE: Requires re-index.
1816
1817 * Separate mapping for ES 5.0+
1818 * Fix some unit tests
1819
1820 = 2.1.1 - 2016-09-29 =
1821 * Fix PHP 5.3 errors
1822 * Properly show syncing button module placeholder during sync
1823
1824 = 2.1 - 2016-09-20 =
1825 * Redo UI
1826 * Make plugin modular
1827 * Remove unnecessary back up hosts code
1828 * Bundle existing modules into plugin
1829 * Support `meta_key` and `meta_value`
1830 * Order by `meta_value_num`
1831 * Properly support `post_parent = 0`. Props [tuanmh](https://github.com/tuanmh)
1832 * Add search scope file. Props [rveitch](https://github.com/rveitch)
1833 * Support WP_Query `post_status`. Props [sc0ttclark](https://github.com/sc0ttkclark)
1834
1835 ### Backward compat breaks:
1836 * Move ep_admin_wp_query_integration to search integration only. EP integration by default is available everywhere.
1837 * Remove `keep alive` setting
1838 * Remove setting to integrate with search (just activate the module instead)
1839 * Back up hosts code removed
1840 * Remove active/inactive state. Rather just check if an index is going on our not.
1841
1842 ### Bug fixes
1843 * Fix `post__in` support
1844 * Fix `paged` overwriting `offset`
1845 * Fix integer and comma separated string `sites` WP_Query processing. Props [jaisgit](https://github.com/jaisgit).
1846
1847 = 2.0.1 - 2016-08-02 =
1848 ### Bug fixes
1849 * Don't load settings on front end. This fixes a critical bug causing ElasticPress to check the Elasticsearch connection on the front end.
1850
1851 = 2.0 - 2016-06-01 =
1852 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.
1853
1854 ### Enhancements
1855 * Radical search algorithm improvements for more relevant results (see [#508](https://github.com/10up/ElasticPress/pull/508) for details)
1856 * Support meta `BETWEEN` queries.
1857 * Improve GUI by disabling index status meta box text and improving instructions. Props [ivanlopez](https://github.com/ivanlopez)
1858 * Support `OR` relation for tax queries.
1859 * Sync post to Elasticsearch when meta is added/updated.
1860 * Support all taxonomies as root WP_Query arguments. Props [tuanmh](https://github.com/tuanmh)
1861 * Add `ID` field to Elasticsearch mapping
1862 * Support `post_parent` WP_Query arguments. Props [tuanmh](https://github.com/tuanmh)
1863 * Add filter to disable printing of post index status. Props [tuanmh](https://github.com/tuanmh)
1864 * Add useful CLI hooks
1865 * Add a filter to bypass permission checking on sync (critical for front end updates)
1866
1867 ### Bugs
1868 * Consider all remote request 20x responses as successful. Props [tuanmh](https://github.com/tuanmh)
1869 * Fix plugin localization. Props [mustafauysal](https://github.com/mustafauysal)
1870 * Do query logging by default. Props [lukaspawlik](https://github.com/lukaspawlik)
1871 * Fix cannot redeclare class issue. Props [tuanmh](https://github.com/tuanmh)
1872 * Fix double querying Elasticsearch by ignoring `category_name` when `tax_query` is present.
1873 * Fix post deletion endpoint URL. Props [lukaspawlik](https://github.com/lukaspawlik)
1874
1875 A special thanks goes out to [Tuan Minh Huynh](https://github.com/tuanmh) and everyone else for contributions to version 2.0.
1876
1877 = 1.9.1 - 2016-05-23 =
1878 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)
1879
1880 = 1.9 - 2016-05-17 =
1881 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:
1882
1883 ### Enhancements:
1884 * Add in an Admin GUI to handle indexing. Props [ChrisWiegman](https://github.com/ChrisWiegman).
1885 * Add option to not disable ElasticPress while indexing. Props [lukaspawlik](https://github.com/lukaspawlik).
1886 * Allow filtering of which post types we want to search for. Props [rossluebe](https://github.com/rossluebe).
1887 * Remove composer.lock from the repo. Props [ChrisWiegman](https://github.com/ChrisWiegman).
1888 * Ensure both PHPUnit and WP-CLI are available in the development environment. Props [ChrisWiegman](https://github.com/ChrisWiegman).
1889 * User lower-case for our composer name, so packagist can find us. Props [johnpbloch](https://github.com/johnpbloch).
1890 * Check query_vars, not query to determine status. Props [ChrisWiegman](https://github.com/ChrisWiegman).
1891 * Improve memory usage during indexing and fix unnecessary cache flushes. Props [cmmarslender](https://github.com/cmmarslender).
1892 * Further reduce memory usage during indexing. Props [lukaspawlik](https://github.com/lukaspawlik).
1893 * Add post__in and post__not_in documentation. Props [mgibbs189](https://github.com/mgibbs189).
1894 * Add Elasticsearch Shield authentication headers if constant is set. Props [rveitch](https://github.com/rveitch).
1895
1896 ### Bugs:
1897 * Fix the --no-bulk indexing option. Props [lukaspawlik](https://github.com/lukaspawlik).
1898 * Fixed an error that occurs if no Elasticsearch host is running. Props [petenelson](https://github.com/petenelson).
1899 * Fixed an exception error. Props [dkotter](https://github.com/dkotter).
1900 * Fixed the WP-CLI status command. Props [dkotter](https://github.com/dkotter).
1901
1902 = 1.8 - 2016-01-19 =
1903 NOTICE: Mapping change, requires re-index.
1904
1905 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:
1906
1907 ### Enhancements:
1908 * Add a filter around the search fuzziness argument. Props [dkotter](https://github.com/dkotter).
1909 * Make post indexing a non-blocking query. Props [cmmarslender](https://github.com/cmmarslender).
1910 * Log queries for debugging. Makes [ElasticPress Debug Bar](https://github.com/10up/debug-bar-elasticpress) plugin possible.
1911 * Make `posts_per_page = -1` possible.
1912 * Support term id and name tax queries.
1913 * Add raw/sortable to property to term mapping. Props [sc0ttkclark](https://github.com/sc0ttkclark)
1914 * Add raw/sortable property to meta mapping. Props [sc0ttkclark](https://github.com/sc0ttkclark)
1915 * Add raw/sortable to author display name and login
1916
1917 ### Bugs:
1918 * Fix post deletion. Props [lukaspawlik](https://github.com/lukaspawlik).
1919 * Properly flush cache with `wp_cache_flush`. Props [jstensved](https://github.com/jstensved)
1920 * When directly comparing meta values in a meta query, use the `raw` property instead of `value`.
1921 * Support arbitrary document paths in orderby. Props [sc0ttkclark](https://github.com/sc0ttkclark).
1922
1923 = 1.7 - 2015-12-11 =
1924 NOTICE: Mapping change, requires re-index.
1925
1926 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:
1927
1928 * `meta.value` (string)
1929 * `meta.raw` (unanalyzed string)
1930 * `meta.long` (unanalyzed number)
1931 * `meta.double` (unanalyzed number)
1932 * `meta.boolean` (unanalyzed number)
1933 * `meta.date` (unanalyzed yyyy-MM-dd date)
1934 * `meta.datetime` (unanalyzed yyyy-MM-dd HH:mm:ss datetime)
1935 * `time` (unanalyzed HH:mm:ss time)
1936
1937 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.
1938
1939 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.
1940
1941 1.7 also contains the following bugs/enhancements:
1942
1943 * (Bug) Prevent missed post indexing when duplicate post dates. Props [lukaspawlik](https://github.com/lukaspawlik)
1944 * (Bug) Complex meta types are automatically serialized upon storage.
1945 * (Enhancement) Index posts according to post type. Props [sc0ttkclark](https://github.com/sc0ttkclark)
1946
1947 = 1.6.2 - 2015-11-12 =
1948 NOTICE: Mapping change, requires re-index.
1949
1950 ElasticPress 1.6.2 fixes ALL backwards compatibility issues with Elasticsearch 2.0:
1951
1952 * Removes `fuzzy_like_this` query and uses `multi_match` instead.
1953 * Uses string instead of array for post type term when there is only one term.
1954
1955 = 1.6.1 - 2015-11-09 =
1956 NOTICE: Mapping change, requires re-index.
1957
1958 ElasticPress 1.6.1 fixes mapping backwards compatibility issues with Elasticsearch 2.0:
1959
1960 * Removes the fields field type from object typed fields as they should be called properties.
1961 * Remove path from object field types.
1962
1963 = 1.6 - 2015-08-31 =
1964 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.
1965
1966 ### Bug Fixes:
1967 * Clean up PHP Code Sniffer errors. Props [chriswiegman](https://github.com/chriswiegman)
1968 * Properly document Elasticsearch version
1969 * Abide by `exclude_from_search` instead of `public` when indexing post types. Props [allan23](https://github.com/allan23) and [ghosttoast](https://github.com/ghosttoast).
1970 * Allow posts to be indexed with invalid date values. Props [tuanmh](https://github.com/tuanmh)
1971 * Support `ep_post_sync_kill` filter in bulk indexing. Props [Stayallive](https://github.com/Stayallive)
1972
1973 ### Enhancements:
1974 * Add blog id to `ep_index_name` filter. Props [kovshenin](https://github.com/kovshenin)
1975 * Support post caching in search
1976 * Add recursive term indexing for heirarchal taxonomies. Props [tuanmh](https://github.com/tuanmh)
1977 * Enable indexing of attachments
1978 * Support fallback hosts in case main EP host is unavailable. Props [chriswiegman](https://github.com/chriswiegman)
1979 * Add `ep_retrieve_the_post` filter to support relevancy score manipulation. Props [matthewspencer](https://github.com/matthewspencer)
1980 * Make search results filterable. Props [chriswiegman](https://github.com/chriswiegman)
1981
1982 = 1.5.1 - 2015-07-06 =
1983 ### Bug Fixes:
1984 * 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)
1985
1986 = 1.5 - 2015-06-25 =
1987 ### Bug Fixes:
1988 * Prevent direct access to any PHP files. Props [joelgarciajr84](https://github.com/joelgarciajr84)
1989 * Fixed fields not being loaded from ES. Props [stayallive](https://github.com/stayallive)
1990 * Fixed inclusive check in date_query integration. Props [EduardMaghakyan](https://github.com/EduardMaghakyan)
1991
1992 ### Enhancements:
1993 * Add support for category_name WP_Query parameter. Props [ocean90](https://github.com/ocean90)
1994 * Support limiting sites in network wide commands. Props [bordoni](https://github.com/bordoni)
1995 * Add support for method to un-integrate WP_Query. Props [kingkool68](https://github.com/kingkool68)
1996 * Support `cache_results` in WP_Query
1997 * Add action prior to starting WP-CLI index command
1998 * Add missing headers to WP_CLI commands. Props [chriswiegman](https://github.com/chriswiegman)
1999 * Improve error reporting in bulk indexing during bad ES requests.
2000 * Fix is_search check notice. Props [allenmoore](https://github.com/allenmoore) and [allan23](https://github.com/allan23)
2001 * Added a filter to modify request headers. Props [tuanmh](https://github.com/tuanmh)
2002 * Prevent bulk index from sending useless error emails. Props [cmmarslender](https://github.com/cmmarslender)
2003 * Add --offset parameter to cli indexing command. [Stayallive](https://github.com/stayallive)
2004 * Change the syncing hook to play better with plugins. Props [jonathanbardo](https://github.com/jonathanbardo)
2005 * Support like query in post meta. Props [tuanmh](https://github.com/tuanmh)
2006 * Sanitization fixes for PHPCS. Props [mphillips](https://github.com/mphillips)
2007 * Added filter to set default sort order. Props [HKandulla](https://github.com/HKandulla)
2008 * MySQL DB completely removed from integrated ElasticPress WP Query. Props [EduardMaghakyan](https://github.com/EduardMaghakyan) and [crebacz](https://github.com/crebacz)
2009
2010 = 1.4 - 2015-05-18 =
2011 ### Bug Fixes:
2012 * Duplicate sync post hooks separated. Props [superdummy](https://github.com/superdummy)
2013 * Don't send empty index error emails. Props [cmmarslender](https://github.com/cmmarslender)
2014 * Remove default shard and indices configuration numbers but maintain backwards compatibility. Props [zamoose](https://github.com/zamoose)
2015 * Fix wrong author ID in post data. Props [eduardmaghakyan](https://github.com/eduardmaghakyan)
2016
2017 ### Enhancements:
2018 * `date_query` and date parameters now supported in WP_Query. Props [joeyblake](https://github.com/joeyblake) and [eduardmaghakyan](https://github.com/eduardmaghakyan)
2019 * Make all request headers filterable
2020 * Add EP API key to all requests as a header if a constant is defined. Props [zamoose](https://github.com/zamoose)
2021 * Add index exists function; remove indexes on blog deletion/deactivation. Props [joeyblake](https://github.com/joeyblake)
2022 * Refactor wp-cli stats for multisite. Props [jaace](https://github.com/jaace)
2023 * Index mappings array moved to separate file. Props [mikaelmattsson](https://github.com/mikaelmattsson)
2024 * Support meta inequality comparisons. Props [psorensen](https://github.com/psorensen)
2025
2026 = 1.3.1 - 2015-04-09 =
2027 * Support `date` in WP_Query `orderby`. Props [psorensen](https://github.com/psorensen)
2028
2029 = 1.3 - 2015-02-03 =
2030 * Support `meta_query` in WP_Query integration
2031 * Improved documentation. Each WP-CLI command has been documented
2032 * Add `elasticsearch` property to global post object to assist in debugging
2033 * `ep_integrate` param added to allow for WP_Query integration without search. (Formally called ep_match_all)
2034 * 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)
2035 * Bug fix: check if failed post exists in indexing. Props [elliot-stocks](https://github.com/elliott-stocks)
2036 * Bug fix: properly check if setup is defined in indexing. Props [elliot-stocks](https://github.com/elliott-stocks)
2037 * Bug fix: add WP_Query integration on init rather than plugins loaded. Props [adamsilverstein](https://github.com/adamsilverstein)
2038 * Bug fix: Properly set global post object post type in loop. Props [tott](https://github.com/tott)
2039 * Bug fix: Do not check if index exists on every page load. Refactor so we can revert to MySQL after failed ES ping.
2040 * Bug fix: Make sure we check `is_multisite()` if `--network-wide` is provided. Props [ivankruchkoff](https://github.com/ivankruchkoff)
2041 * Bug fix: Abide by the `exclude_from_search` flag from post type when running search queries. Props [ryanboswell](https://github.com/ryanboswell)
2042 * 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)
2043
2044 = 1.2 - 2014-12-05 =
2045 * Allow number of shards and replicas to be configurable.
2046 * Improved searching algorithm. Favor exact matches over fuzzy matches.
2047 * Query stack implementation to allow for query nesting.
2048 * Filter and disable query integration on a per query basis.
2049 * Support orderby` parameter in `WP_Query
2050 * (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.
2051 * (Bug) Change delete action to action_delete_post instead of action_trash_post
2052 * (Bug) Remove _boost from mapping. _boost is deprecated by Elasticsearch.
2053 * Improve unit testing for query ordering.
2054
2055 = 1.1 - 2014-10-27 =
2056 * 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.
2057 * Add support for post_title and post_name orderby parameters in `WP_Query` integration. Add support for order parameters.
2058
2059 = 1.0 - 2014-10-20 =
2060 * Support `search_fields` parameter. Support author, title, excerpt, content, taxonomy, and meta within this parameter.
2061 * Move all management functionality to WP-CLI commands
2062 * Remove ES_Query and support everything through WP_Query
2063 * Disable sync during import
2064 * Check for valid blog ids in index names
2065 * Improved bulk error handling
2066 * No need for `ep_last_synced` meta
2067 * No need for syncing taxonomy
2068 * Improved unit test coverage
2069 * `sites` WP_Query parameter to allow for search only on specific blogs
2070
2071 = 0.9.3 - 2014-09-26 =
2072 Added:
2073 * Better documentation surrounding `WP_Query` parameters (props @tlovett1).
2074 * Option to allow for using `match_all` (props @colegeissinger for suggestion).
2075 * Better tests for some `WP_Query` parameters (props @tlovett1).
2076 * Allow for manual control over search integration.
2077 * Support for passing an array of sites to search against (props @tlovett1).
2078 * Filter for controlling whether or not ElasticPress is enabled during a `wp_query` request.
2079 * Filter to allow adjusting which fields are searched (`ep_search_fields`).
2080
2081 Changed:
2082 * Prevented filtering `WP_Query` in admin (props @cmmarslender).
2083 * Updated tests to better conform to WordPress repo 5.2 compatibility (props @tlovett1).
2084 * Made running re-indexing commands simpler and easier by adding support for a new `--setup` flag on the `index` command.
2085 * Disable search integration during syncing.
2086
2087 Fixed:
2088 * Bug that would cause a post to stay in the index when a post was unpublished.
2089 * Bug that would cause site to be improperly switched after a `wp_reset_postdata` while not in the loop.
2090 * Bug that would cause EP to individually sync each post during an import - disabled syncing during import - requires a full re-index after import.
2091
2092 = 0.9.2 - 2014-09-11 =
2093 Added:
2094 * Wrapper method for wp_get_sites, added filter.
2095 * Ability to change scope of search to other sites in network.
2096 * tax_query support.
2097
2098 Changed:
2099 * Aggregation filter update.
2100
2101 = 0.9.1 - 2014-09-05 =
2102 Added:
2103 * Action to allow for retrieval of raw response.
2104 * Filter to retrieve aggregations.
2105 * Pagination tests.
2106 * ep_min_similarity and ep_formatted_args filters.
2107 * ep_search_fields filter for adding custom search fields.
2108 * Filter to allow for specific site selection on multisite indexing.
2109
2110 Changed:
2111 * Adjust default fuzziness to .75 instead of .5.
2112
2113 Removed:
2114 * Main query check on ep wp query integration.
2115
2116 = 0.9 - 2014-09-03 =
2117 Added:
2118 * Make labels clickable in admin.
2119 * Setup plugin textdomain; POT file for translation; localize stray string in cron.
2120 * Tests for is_alive function.
2121 * search_meta key param support to ES_Query.
2122 * Test WP Query integration on multisite setup.
2123 * Flush and re-put mapping on admin sync request.
2124 * WP Query integration.
2125
2126 Changed:
2127 * Simplify sync.
2128 * do_scheduled_syncs into do_syncs.
2129 * Make config files static.
2130
2131 Removed:
2132 * EP hidden taxonomy.
2133
2134 Fixed:
2135 * Cron stuff.
2136 * Statii.
2137 * Type coercion in equality checks.
2138
2139 = 0.1.2 - 2014-06-27 =
2140 * Only index public taxonomies
2141 * Support ES_Query parameter that designates post meta entries to be searched
2142 * Escape post ID and site ID in API calls
2143 * Fix escaping issues
2144 * Additional tests
2145 * Translation support
2146 * Added is_alive function for checking health status of Elasticsearch server
2147 * Renamed `statii` to `status`
2148
2149 = 0.1.0 - Unknown =
2150 * Initial plugin
2151
2152 == Upgrade Notice ==
2153
2154 = 4.0.0 =
2155 **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.
2156
2157 = 3.6.0 =
2158 **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.
2159