diff --git a/CHANGELOG.md b/CHANGELOG.md index 200ce35417..b437f1c9f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,61 @@ All notable changes to this project will be documented in this file, per [the Ke ## [Unreleased] + + + +## [4.4.1] - 2023-01-10 + +**Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code.** + +This is a bug fix release. + +### Added +- Node 18 support. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia) via [#3224](https://github.com/10up/ElasticPress/pull/3224). +- Unit tests for WP-CLI Commands. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia) via [#3202](https://github.com/10up/ElasticPress/pull/3202). +- Unit tests for the `HealthCheckElasticsearch` class, Protected Feature, and #3106. Props [@burhandodhy](https://github.com/burhandodhy) via [#3213](https://github.com/10up/ElasticPress/pull/3213),[#3183](https://github.com/10up/ElasticPress/pull/3183), and [#3184](https://github.com/10up/ElasticPress/pull/3184). + +### Changed +- 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) via [#3215](https://github.com/10up/ElasticPress/pull/3215) and [#3250](https://github.com/10up/ElasticPress/pull/3250). +- `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) via [#3206](https://github.com/10up/ElasticPress/pull/3206). +- 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) via [#3228](https://github.com/10up/ElasticPress/pull/3228). +- 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) via [#3207](https://github.com/10up/ElasticPress/pull/3207). +- "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) via [#3210](https://github.com/10up/ElasticPress/pull/3210). +- Visibility of the `analyze_log` method of the `FailedQueries` class. Props [@MARQAS](https://github.com/MARQAS) via [#3223](https://github.com/10up/ElasticPress/pull/3223). +- Text of the notice under the Documents feature. Props [@MARQAS](https://github.com/MARQAS) and [@NV607FOX](https://github.com/NV607FOX) via [#3212](https://github.com/10up/ElasticPress/pull/3212). +- Usage of `get_index_default_per_page` instead of a direct call to `Utils\get_option`. Props [@burhandodhy](https://github.com/burhandodhy) via [#3163](https://github.com/10up/ElasticPress/pull/3163). + +### Removed +- Unnecessary `remove_filters` from the unit tests. Props [@burhandodhy](https://github.com/burhandodhy) via [#3220](https://github.com/10up/ElasticPress/pull/3220). + +### Fixed +- 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) via [#3206](https://github.com/10up/ElasticPress/pull/3206). +- Layout issue in Instant Results that would occur with small result sets. Props [@JakePT](https://github.com/JakePT) via [#3200](https://github.com/10up/ElasticPress/pull/3200). +- Issue where keyboard focus on a facet option was lost upon selection. Props [@JakePT](https://github.com/JakePT) via [#3209](https://github.com/10up/ElasticPress/pull/3209). +- JS error on Status Report page. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia) via [#3187](https://github.com/10up/ElasticPress/pull/3187). +- Hooks documentation reference. Props [@burhandodhy](https://github.com/burhandodhy) via [#3244](https://github.com/10up/ElasticPress/pull/3244). +- `'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) via [#3243](https://github.com/10up/ElasticPress/pull/3243). +- `Uncaught ArgumentCountError: Too few arguments to function WP_CLI::halt()` message. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT) via [#3242](https://github.com/10up/ElasticPress/pull/3242). +- Queries with `post_parent` set to `0` not working correctly. Props [@JiveDig](https://github.com/JiveDig) via [#3211](https://github.com/10up/ElasticPress/pull/3211). +- Sync command exits without any error message if mapping fails. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia) via [#3202](https://github.com/10up/ElasticPress/pull/3202). +- Evaluate the WP-CLI `--pretty` flag as real boolean. Props [@oscarssanchez](https://github.com/oscarssanchez) via [#3185](https://github.com/10up/ElasticPress/pull/3185). +- Remove deprecated command from the error message. Props [@burhandodhy](https://github.com/burhandodhy) via [#3194](https://github.com/10up/ElasticPress/pull/3194). +- CLI command `delete-index --network-wide` throws error when EP is not network activated. Props [@burhandodhy](https://github.com/burhandodhy) via [#3172](https://github.com/10up/ElasticPress/pull/3172). +- E2E tests for PHP 8. Props [@burhandodhy](https://github.com/burhandodhy) via [#3188](https://github.com/10up/ElasticPress/pull/3188). +- Feature title issue on the report page and notices. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT) via [#3248](https://github.com/10up/ElasticPress/pull/3248). +- Autosuggest Site Health Info containing incorrect information unrelated to Autosuggest. Props [@JakePT](https://github.com/JakePT) via [#3247](https://github.com/10up/ElasticPress/pull/3247). +- Styling of the Instant Results Facets field. Props [@JakePT](https://github.com/JakePT) via [#3249](https://github.com/10up/ElasticPress/pull/3249). + +### Security +- Bumped `simple-git` from 3.6.0 to 3.15.1. Props [@dependabot](https://github.com/dependabot) via [#3190](https://github.com/10up/ElasticPress/pull/3190). + ## [4.4.0] - 2022-11-29 **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code.** @@ -1637,6 +1692,7 @@ This is a bug fix release with some filter additions. - Initial plugin release [Unreleased]: https://github.com/10up/ElasticPress/compare/trunk...develop +[4.4.1]: https://github.com/10up/ElasticPress/compare/4.4.0...4.4.1 [4.4.0]: https://github.com/10up/ElasticPress/compare/4.3.1...4.4.0 [4.3.1]: https://github.com/10up/ElasticPress/compare/4.3.0...4.3.1 [4.3.0]: https://github.com/10up/ElasticPress/compare/4.2.2...4.3.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cff98d2e5a..03fe51e099 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -35,7 +35,7 @@ The `develop` branch is the development branch which means it contains the next 1. Props: Update `CREDITS.md` file with any new contributors, confirm maintainers are accurate. 1. Readme updates: Make any other readme changes as necessary. `README.md` is geared toward GitHub and `readme.txt` contains WordPress.org-specific content. The two are slightly different. 1. New files: Check to be sure any new files/paths that are unnecessary in the production version are included in `.distignore`. -1. POT file: Run `wp i18n make-pot . lang/elasticpress.pot` and commit the file. +1. POT file: Run `wp i18n make-pot . lang/elasticpress.pot` and commit the file. In case of errors, try to disable Xdebug (see [#3079](https://github.com/10up/ElasticPress/pull/3079#issuecomment-1291028290).) 1. Release date: Double check the release date in both changelog files. 1. Merge: Merge the release branch/PR into `develop`, then make a non-fast-forward merge from `develop` into `trunk` (`git checkout trunk && git merge --no-ff develop`). `trunk` contains the stable development version. 1. Test: While still on the `trunk` branch, test for functionality locally. diff --git a/CREDITS.md b/CREDITS.md index 89733cc646..a1b0bdb6a0 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -203,6 +203,11 @@ Thank you to all the people who have already contributed to this repository via [@cmcandrew](https://github.com/cmcandrew), [@DenisFlorin](https://github.com/DenisFlorin), [Mike Hemberger (@JiveDig)](https://github.com/JiveDig), +[Oluwatosin Yakubu (@tomioflagos)](https://github.com/tomioflagos), +[Logan Fox (@NV607FOX)](https://github.com/NV607FOX), +[@anders-naslund](https://github.com/anders-naslund), +[Paolo Burzacca (@paoloburzacca)](https://github.com/paoloburzacca), +[Anjula Hettige (@anjulahettige)](https://github.com/anjulahettige), and [@qazaqstan2025](https://github.com/qazaqstan2025). diff --git a/elasticpress.php b/elasticpress.php index 551d4a893a..b128cd2b9a 100644 --- a/elasticpress.php +++ b/elasticpress.php @@ -3,7 +3,7 @@ * Plugin Name: ElasticPress * Plugin URI: https://github.com/10up/ElasticPress * Description: A fast and flexible search and query engine for WordPress. - * Version: 4.4.0 + * Version: 4.4.1 * Requires at least: 5.6 * Requires PHP: 7.0 * Author: 10up @@ -32,7 +32,7 @@ define( 'EP_URL', plugin_dir_url( __FILE__ ) ); define( 'EP_PATH', plugin_dir_path( __FILE__ ) ); define( 'EP_FILE', plugin_basename( __FILE__ ) ); -define( 'EP_VERSION', '4.4.0' ); +define( 'EP_VERSION', '4.4.1' ); /** * PSR-4-ish autoloading diff --git a/lang/elasticpress.pot b/lang/elasticpress.pot index 0ee711ae0d..512bd62f22 100644 --- a/lang/elasticpress.pot +++ b/lang/elasticpress.pot @@ -1,21 +1,21 @@ -# Copyright (C) 2022 10up +# Copyright (C) 2023 10up # This file is distributed under the GPL v2 or later. msgid "" msgstr "" -"Project-Id-Version: ElasticPress 4.4.0\n" +"Project-Id-Version: ElasticPress 4.4.1\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/elasticpress\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2022-11-29T17:32:15+00:00\n" +"POT-Creation-Date: 2023-01-10T13:30:59+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"X-Generator: WP-CLI 2.7.0\n" +"X-Generator: WP-CLI 2.7.1\n" "X-Domain: elasticpress\n" #. Plugin Name of the plugin -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:42 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:44 #: includes/classes/StatusReport/ElasticPress.php:28 msgid "ElasticPress" msgstr "" @@ -131,7 +131,7 @@ msgstr "" #: includes/classes/AdminNotices.php:817 #: includes/classes/StatusReport/ElasticPressIo.php:30 #: includes/classes/StatusReport/FailedQueries.php:211 -#: assets/js/sync/index.js:171 +#: assets/js/sync/index.js:187 #: dist/js/sync-script.js:1 msgid "ElasticPress.io" msgstr "" @@ -139,7 +139,7 @@ msgstr "" #: includes/classes/AdminNotices.php:801 #: includes/classes/AdminNotices.php:817 #: includes/classes/StatusReport/FailedQueries.php:211 -#: assets/js/sync/index.js:172 +#: assets/js/sync/index.js:188 #: dist/js/sync-script.js:1 msgid "Elasticsearch" msgstr "" @@ -149,397 +149,383 @@ msgstr "" msgid "Your website content seems to have more public custom fields than %1$s is able to store. Check our articles about Elasticsearch field limitations and how to index just the custom fields you need if you receive any errors while syncing." msgstr "" -#: includes/classes/Command.php:97 -#: includes/classes/Command.php:142 +#: includes/classes/Command.php:98 +#: includes/classes/Command.php:143 msgid "No feature with that slug is registered" msgstr "" -#: includes/classes/Command.php:101 +#: includes/classes/Command.php:102 msgid "This feature is already active" msgstr "" #. translators: Error message -#: includes/classes/Command.php:108 +#: includes/classes/Command.php:109 msgid "Feature requirements are not met: %s" msgstr "" #. translators: Warning message -#: includes/classes/Command.php:111 +#: includes/classes/Command.php:112 msgid "Feature is usable but there are warnings: %s" msgstr "" -#: includes/classes/Command.php:117 +#: includes/classes/Command.php:118 msgid "This feature requires a re-index. You may want to run the index command next." msgstr "" -#: includes/classes/Command.php:120 +#: includes/classes/Command.php:121 msgid "Feature activated" msgstr "" -#: includes/classes/Command.php:150 +#: includes/classes/Command.php:151 msgid "Feature is not active" msgstr "" -#: includes/classes/Command.php:155 +#: includes/classes/Command.php:156 msgid "Feature deactivated" msgstr "" -#: includes/classes/Command.php:176 +#: includes/classes/Command.php:177 msgid "Active features:" msgstr "" -#: includes/classes/Command.php:186 +#: includes/classes/Command.php:187 msgid "Registered features:" msgstr "" #. translators: 1. Indexable; 2. Site ID -#: includes/classes/Command.php:271 +#: includes/classes/Command.php:269 msgid "Adding %1$s mapping for site %2$d…" msgstr "" -#: includes/classes/Command.php:287 -#: includes/classes/Command.php:323 -#: includes/classes/Command.php:360 -#: includes/classes/IndexHelper.php:385 +#: includes/classes/Command.php:285 +#: includes/classes/Command.php:325 +#: includes/classes/Command.php:366 +#: includes/classes/IndexHelper.php:389 msgid "Mapping sent" msgstr "" -#: includes/classes/Command.php:289 -#: includes/classes/Command.php:325 -#: includes/classes/Command.php:362 -#: includes/classes/IndexHelper.php:387 -msgid "Mapping failed" +#. translators: Error message +#: includes/classes/Command.php:290 +#: includes/classes/Command.php:330 +#: includes/classes/Command.php:371 +#: includes/classes/IndexHelper.php:1216 +msgid "Mapping failed: %s" msgstr "" #. translators: Indexable label -#: includes/classes/Command.php:307 -#: includes/classes/Command.php:344 +#: includes/classes/Command.php:309 +#: includes/classes/Command.php:350 msgid "Adding %s mapping…" msgstr "" -#: includes/classes/Command.php:469 +#: includes/classes/Command.php:499 msgid "Are you sure you want to delete your Elasticsearch index?" msgstr "" -#: includes/classes/Command.php:476 -#: includes/classes/Command.php:503 -#: includes/classes/Command.php:519 +#: includes/classes/Command.php:506 #: includes/classes/Command.php:533 +#: includes/classes/Command.php:549 +#: includes/classes/Command.php:563 msgid "Index deleted" msgstr "" -#: includes/classes/Command.php:478 -#: includes/classes/Command.php:521 -#: includes/classes/Command.php:535 +#: includes/classes/Command.php:508 +#: includes/classes/Command.php:551 +#: includes/classes/Command.php:565 msgid "Index delete failed" msgstr "" #. translators: 1. Indexable label; 2. Site ID -#: includes/classes/Command.php:498 +#: includes/classes/Command.php:528 msgid "Deleting %1$s index for site %2$d…" msgstr "" -#: includes/classes/Command.php:505 +#: includes/classes/Command.php:535 msgid "Delete index failed" msgstr "" #. translators: Index Label (plural) -#: includes/classes/Command.php:514 -#: includes/classes/Command.php:528 +#: includes/classes/Command.php:544 +#: includes/classes/Command.php:558 msgid "Deleting index for %s…" msgstr "" -#: includes/classes/Command.php:555 +#: includes/classes/Command.php:585 msgid "ElasticPress is not network activated." msgstr "" #. translators: Index Label -#: includes/classes/Command.php:562 +#: includes/classes/Command.php:592 msgid "Recreating %s network alias…" msgstr "" -#: includes/classes/Command.php:569 -#: includes/classes/Command.php:1138 -#: includes/classes/Command.php:1196 +#: includes/classes/Command.php:599 +#: includes/classes/Command.php:625 +#: includes/classes/Command.php:1186 +#: includes/classes/Command.php:1244 msgid "Done." msgstr "" -#: includes/classes/Command.php:571 +#: includes/classes/Command.php:601 msgid "An error occurred" msgstr "" -#: includes/classes/Command.php:588 +#: includes/classes/Command.php:618 msgid "Autosuggest is not enabled." msgstr "" -#: includes/classes/Command.php:631 +#: includes/classes/Command.php:663 msgid "Indexing cleaned up." msgstr "" -#: includes/classes/Command.php:705 +#: includes/classes/Command.php:737 msgid "Indexing with setup option needs to delete Elasticsearch index first, are you sure you want to delete your Elasticsearch index?" msgstr "" -#: includes/classes/Command.php:709 -msgid "Function pcntl_signal not available. Make sure to run `wp elasticpress clear-index` in case the process is killed." +#: includes/classes/Command.php:741 +msgid "Function pcntl_signal not available. Make sure to run `wp elasticpress clear-sync` in case the process is killed." msgstr "" -#: includes/classes/Command.php:813 +#: includes/classes/Command.php:845 msgid "Total time elapsed: " msgstr "" -#: includes/classes/Command.php:817 +#: includes/classes/Command.php:849 msgid "Done!" msgstr "" -#: includes/classes/Command.php:845 +#: includes/classes/Command.php:877 msgid "Failed to return status." msgstr "" -#: includes/classes/Command.php:890 +#: includes/classes/Command.php:922 msgid "Failed to return stats." msgstr "" -#: includes/classes/Command.php:916 +#: includes/classes/Command.php:948 msgid "Elasticsearch host is not set." msgstr "" -#: includes/classes/Command.php:918 +#: includes/classes/Command.php:950 msgid "Could not connect to Elasticsearch." msgstr "" -#: includes/classes/Command.php:929 +#: includes/classes/Command.php:961 msgid "An index is already occurring. Try again later." msgstr "" -#: includes/classes/Command.php:980 +#: includes/classes/Command.php:1012 msgid "Index cleared." msgstr "" -#: includes/classes/Command.php:1110 +#: includes/classes/Command.php:1158 msgid "Sync was interrupted" msgstr "" -#: includes/classes/Command.php:1128 +#: includes/classes/Command.php:1176 msgid "There is no indexing operation running." msgstr "" -#: includes/classes/Command.php:1130 +#: includes/classes/Command.php:1178 msgid "Stopping indexing…" msgstr "" -#: includes/classes/Command.php:1176 +#: includes/classes/Command.php:1224 msgid "This command expects a version number or the --default flag." msgstr "" -#: includes/classes/Command.php:1323 +#: includes/classes/Command.php:1371 msgid "Time elapsed: " msgstr "" -#: includes/classes/Command.php:1327 +#: includes/classes/Command.php:1375 msgid "Memory Usage: " msgstr "" +#: includes/classes/Command.php:1391 +msgid "Mapping Failed." +msgstr "" + #. translators: URL of the request -#: includes/classes/Command.php:1414 +#: includes/classes/Command.php:1468 msgid "URL: %s" msgstr "" #. translators: Request arguments (outputted with print_r()) -#: includes/classes/Command.php:1421 +#: includes/classes/Command.php:1475 msgid "Request Args: %s" msgstr "" #. translators: HTTP transport used -#: includes/classes/Command.php:1428 +#: includes/classes/Command.php:1482 msgid "Transport: %s" msgstr "" #. translators: Context under which the http_api_debug hook is fired -#: includes/classes/Command.php:1435 +#: includes/classes/Command.php:1489 msgid "Context: %s" msgstr "" #. translators: HTTP response (outputted with print_r()) -#: includes/classes/Command.php:1442 +#: includes/classes/Command.php:1496 msgid "Response: %s" msgstr "" -#: includes/classes/Command.php:1479 +#: includes/classes/Command.php:1533 msgid "Are you sure you want to delete all ElasticPress settings?" msgstr "" -#: includes/classes/Command.php:1484 +#: includes/classes/Command.php:1538 msgid "Settings deleted." msgstr "" #. translators: New command name -#: includes/classes/DeprecatedCommand.php:44 -#: includes/classes/DeprecatedCommand.php:73 -#: includes/classes/DeprecatedCommand.php:152 -#: includes/classes/DeprecatedCommand.php:178 -#: includes/classes/DeprecatedCommand.php:213 -#: includes/classes/DeprecatedCommand.php:245 -#: includes/classes/DeprecatedCommand.php:269 +#: includes/classes/DeprecatedCommand.php:46 +#: includes/classes/DeprecatedCommand.php:75 +#: includes/classes/DeprecatedCommand.php:154 +#: includes/classes/DeprecatedCommand.php:180 +#: includes/classes/DeprecatedCommand.php:215 +#: includes/classes/DeprecatedCommand.php:247 +#: includes/classes/DeprecatedCommand.php:271 msgid "This command is deprecated. Please use %s instead." msgstr "" -#: includes/classes/Elasticsearch.php:1307 +#: includes/classes/Elasticsearch.php:1317 msgid "Site not indexed.

Please run: wp elasticpress index --setup --network-wide using WP-CLI. Or use the index button on the left of this screen.

" msgstr "" -#: includes/classes/Elasticsearch.php:1311 +#: includes/classes/Elasticsearch.php:1321 msgid "Site not indexed.

Please run: wp elasticpress index --setup using WP-CLI. Or use the index button on the left of this screen.

" msgstr "" -#: includes/classes/Elasticsearch.php:1493 +#: includes/classes/Elasticsearch.php:1503 msgid "Elasticsearch Host is not available." msgstr "" -#: includes/classes/Feature.php:235 +#: includes/classes/Feature.php:243 #: assets/js/sync/components/sync/controls.js:96 #: dist/js/sync-script.js:1 msgid "Learn more" msgstr "" -#: includes/classes/Feature.php:240 +#: includes/classes/Feature.php:248 msgid "Collapse" msgstr "" -#: includes/classes/Feature.php:297 +#: includes/classes/Feature.php:305 msgid "Enabling this feature will require re-indexing your content." msgstr "" -#: includes/classes/Feature.php:305 +#: includes/classes/Feature.php:313 msgid "Settings not saved. Cannot save settings while a sync is in progress." msgstr "" -#: includes/classes/Feature.php:307 +#: includes/classes/Feature.php:315 msgid "View sync status." msgstr "" -#: includes/classes/Feature.php:312 +#: includes/classes/Feature.php:320 #: includes/classes/StatusReport/ElasticPress.php:79 #: includes/dashboard.php:693 #: includes/partials/settings-page.php:38 msgid "Settings" msgstr "" -#: includes/classes/Feature.php:316 +#: includes/classes/Feature.php:324 msgid "Status" msgstr "" -#: includes/classes/Feature.php:318 -#: includes/classes/Feature/Autosuggest/Autosuggest.php:122 -#: includes/classes/Feature/InstantResults/InstantResults.php:179 +#: includes/classes/Feature.php:326 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:124 +#: includes/classes/Feature/InstantResults/InstantResults.php:181 #: includes/classes/Feature/Search/Search.php:630 #: includes/classes/Feature/Search/Search.php:637 #: includes/classes/Feature/Search/Search.php:658 msgid "Enabled" msgstr "" -#: includes/classes/Feature.php:319 -#: includes/classes/Feature/Autosuggest/Autosuggest.php:123 -#: includes/classes/Feature/InstantResults/InstantResults.php:182 +#: includes/classes/Feature.php:327 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:125 +#: includes/classes/Feature/InstantResults/InstantResults.php:184 #: includes/classes/Feature/Search/Search.php:631 #: includes/classes/Feature/Search/Search.php:638 #: includes/classes/Feature/Search/Search.php:659 msgid "Disabled" msgstr "" -#: includes/classes/Feature.php:330 +#: includes/classes/Feature.php:338 msgid "Setting adjustments to this feature require a re-sync. Use WP-CLI." msgstr "" -#: includes/classes/Feature.php:340 +#: includes/classes/Feature.php:348 msgid "Save" msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:43 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:45 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:913 msgid "Autosuggest" msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:45 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:47 msgid "Suggest relevant content as text is entered into the search field." msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:47 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:49 msgid "https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#autosuggest" msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:69 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:71 msgid "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." msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:112 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:114 msgid "Autosuggest Selector" msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:115 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:117 msgid "Input additional selectors where you would like to include autosuggest separated by a comma. Example: .custom-selector, #custom-id, input[type=\"text\"]" msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:120 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:122 msgid "Google Analytics Events" msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:124 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:126 msgid "When enabled, a gtag tracking event is fired when an autosuggest result is clicked." msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:138 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:140 msgid "Endpoint URL" msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:143 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:145 msgid "Your autosuggest endpoint is set in wp-config.php" msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:146 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:148 msgid "This address will be exposed to the public." msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:702 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:704 msgid "This feature modifies the site’s default user experience by presenting a list of suggestions below detected search fields as text is entered into the field." msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:706 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:708 msgid "You aren't using ElasticPress.io so we can't be sure your host is properly secured. Autosuggest requires a publicly accessible endpoint, which can expose private content and allow data modification if improperly configured." msgstr "" -#: includes/classes/Feature/Autosuggest/Autosuggest.php:855 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:857 msgid "Connection" msgstr "" #. translators: 1: tag (ElasticPress.io); 2. ; 3: tag (KB article); 4. ; 5: tag (Site Health Debug Section); 6. ; -#: includes/classes/Feature/Autosuggest/Autosuggest.php:865 +#: includes/classes/Feature/Autosuggest/Autosuggest.php:866 msgid "You are directly connected to %1$sElasticPress.io%2$s, ensuring the most performant Autosuggest experience. %3$sLearn more about what this means%4$s or %5$sclick here for debug information%6$s." msgstr "" -#. translators: 1: tag (ElasticPress.io); 2. ; 3: tag (KB article); 4. ; -#: includes/classes/Feature/Autosuggest/Autosuggest.php:876 -msgid "You are directly connected to %1$sElasticPress.io%2$s, ensuring the most performant Autosuggest experience. %1$sLearn more about what this means%2$s." -msgstr "" - -#: includes/classes/Feature/Autosuggest/Autosuggest.php:885 -msgid "These are the allowed parameters stored in ElasticPress.io" -msgstr "" - -#: includes/classes/Feature/Autosuggest/Autosuggest.php:898 -msgid "Post Types: %l" -msgstr "" - -#: includes/classes/Feature/Autosuggest/Autosuggest.php:899 -msgid "Post Status: %l" -msgstr "" - -#: includes/classes/Feature/Autosuggest/Autosuggest.php:900 -msgid "Search Fields: %l" -msgstr "" - -#. translators: List of files allowed to be returned wrapped by var_export() -#: includes/classes/Feature/Autosuggest/Autosuggest.php:902 -msgid "Returned Fields: %s" +#. translators: 1. elasticpress.io logo; +#: includes/classes/Feature/Autosuggest/Autosuggest.php:917 +msgid "Autosuggest By %s" msgstr "" #: includes/classes/Feature/Comments/Comments.php:31 @@ -600,7 +586,7 @@ msgid "The All supported documents uploaded to your media library will appear in search results." +msgid "This feature modifies the default user experience for your visitors by adding popular document file types to search results. All supported documents (PDFs and Microsoft Office) uploaded to your media library will appear in search results." msgstr "" #: includes/classes/Feature/Documents/Documents.php:359 @@ -620,7 +606,7 @@ msgid "Document Content" msgstr "" #: includes/classes/Feature/Facets/Facets.php:40 -#: includes/classes/Feature/InstantResults/InstantResults.php:156 +#: includes/classes/Feature/InstantResults/InstantResults.php:158 msgid "Facets" msgstr "" @@ -633,22 +619,22 @@ msgid "https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuri msgstr "" #: includes/classes/Feature/Facets/Facets.php:128 -#: includes/classes/Feature/InstantResults/InstantResults.php:162 +#: includes/classes/Feature/InstantResults/InstantResults.php:164 msgid "Match Type" msgstr "" #: includes/classes/Feature/Facets/Facets.php:130 -#: includes/classes/Feature/InstantResults/InstantResults.php:166 +#: includes/classes/Feature/InstantResults/InstantResults.php:168 msgid "Show any content tagged to all selected terms" msgstr "" #: includes/classes/Feature/Facets/Facets.php:131 -#: includes/classes/Feature/InstantResults/InstantResults.php:170 +#: includes/classes/Feature/InstantResults/InstantResults.php:172 msgid "Show all content tagged to any selected term" msgstr "" #: includes/classes/Feature/Facets/Facets.php:132 -#: includes/classes/Feature/InstantResults/InstantResults.php:172 +#: includes/classes/Feature/InstantResults/InstantResults.php:174 msgid "\"All\" will only show content that matches all facets. \"Any\" will show content that matches any facet." msgstr "" @@ -759,77 +745,83 @@ msgstr "" msgid "Faceting will filter out any content that is not tagged to all selected terms; change this to show %1$s content tagged to %2$s selected term in ElasticPress settings." msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:70 +#: includes/classes/Feature/InstantResults/InstantResults.php:72 +#: includes/classes/Feature/InstantResults/InstantResults.php:1005 msgid "Instant Results" msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:72 +#: includes/classes/Feature/InstantResults/InstantResults.php:74 msgid "Search forms display results instantly after submission. A modal opens that populates results by querying ElasticPress directly." msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:74 +#: includes/classes/Feature/InstantResults/InstantResults.php:76 msgid "https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#instant-results" msgstr "" #. translators: %s: ElasticPress.io link. -#: includes/classes/Feature/InstantResults/InstantResults.php:111 +#: includes/classes/Feature/InstantResults/InstantResults.php:113 msgid "WordPress search forms will display results instantly. When the search query is submitted, a modal will open that populates results by querying ElasticPress directly, bypassing WordPress. As the user refines their search, results are refreshed. Requires an %s or a custom proxy to function." msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:115 +#: includes/classes/Feature/InstantResults/InstantResults.php:117 msgid "ElasticPress.io plan" msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:137 +#: includes/classes/Feature/InstantResults/InstantResults.php:139 #: includes/classes/Feature/Search/Search.php:643 msgid "Highlight tag " msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:140 +#: includes/classes/Feature/InstantResults/InstantResults.php:142 msgid "None" msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:152 +#: includes/classes/Feature/InstantResults/InstantResults.php:154 msgid "Highlight search terms in results with the selected HTML tag." msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:176 +#: includes/classes/Feature/InstantResults/InstantResults.php:178 msgid "Term Count" msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:184 +#: includes/classes/Feature/InstantResults/InstantResults.php:186 msgid "When enabled, it will show the term count in the instant results widget." msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:216 +#: includes/classes/Feature/InstantResults/InstantResults.php:218 msgid "You are using a custom proxy. Make sure you implement all security measures needed." msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:218 +#: includes/classes/Feature/InstantResults/InstantResults.php:220 msgid "To use this feature you need to be an ElasticPress.io customer or implement a custom proxy." msgstr "" #. translators: Article URL -#: includes/classes/Feature/InstantResults/InstantResults.php:228 +#: includes/classes/Feature/InstantResults/InstantResults.php:230 msgid "ElasticPress is network activated. Additional steps are required to ensure Instant Results works for all sites on the network. See our article on running ElasticPress in network mode for more details." msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:797 +#: includes/classes/Feature/InstantResults/InstantResults.php:799 msgid "Post type" msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:798 +#: includes/classes/Feature/InstantResults/InstantResults.php:800 msgid "Type" msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:865 +#: includes/classes/Feature/InstantResults/InstantResults.php:867 msgid "Price range" msgstr "" -#: includes/classes/Feature/InstantResults/InstantResults.php:866 +#: includes/classes/Feature/InstantResults/InstantResults.php:868 msgid "Price" msgstr "" +#. translators: 1. elasticpress.io logo; +#: includes/classes/Feature/InstantResults/InstantResults.php:1009 +msgid "Instant Results By %s" +msgstr "" + #: includes/classes/Feature/ProtectedContent/ProtectedContent.php:33 msgid "Protected Content" msgstr "" @@ -921,7 +913,15 @@ msgid "Add synonyms to your post searches" msgstr "" #: includes/classes/Feature/Search/Search.php:774 -msgid "Exclude from Search" +#: assets/js/search/editor/plugins/exclude-from-search.js:23 +#: dist/js/search-editor-script.js:1 +msgid "Exclude from search results" +msgstr "" + +#: includes/classes/Feature/Search/Search.php:775 +#: assets/js/search/editor/plugins/exclude-from-search.js:24 +#: dist/js/search-editor-script.js:1 +msgid "Excludes this post from the results of your site's search form while ElasticPress is active." msgstr "" #: includes/classes/Feature/Search/Synonyms.php:89 @@ -1328,31 +1328,31 @@ msgstr "" msgid "Be aware that storing user data may bound you to certain legal obligations depending on your local government regulations." msgstr "" -#: includes/classes/Feature/WooCommerce/WooCommerce.php:32 +#: includes/classes/Feature/WooCommerce/WooCommerce.php:33 msgid "WooCommerce" msgstr "" -#: includes/classes/Feature/WooCommerce/WooCommerce.php:34 +#: includes/classes/Feature/WooCommerce/WooCommerce.php:35 msgid "“I want a cotton, woman’s t-shirt, for under $15 that’s in stock.” Faceted product browsing strains servers and increases load times. Your buyers can find the perfect product quickly, and buy it quickly." msgstr "" -#: includes/classes/Feature/WooCommerce/WooCommerce.php:36 +#: includes/classes/Feature/WooCommerce/WooCommerce.php:37 msgid "https://elasticpress.zendesk.com/hc/en-us/articles/360050447492-Configuring-ElasticPress-via-the-Plugin-Dashboard#woocommerce" msgstr "" -#: includes/classes/Feature/WooCommerce/WooCommerce.php:795 +#: includes/classes/Feature/WooCommerce/WooCommerce.php:796 msgid "SKU" msgstr "" -#: includes/classes/Feature/WooCommerce/WooCommerce.php:802 +#: includes/classes/Feature/WooCommerce/WooCommerce.php:803 msgid "Variations SKUs" msgstr "" -#: includes/classes/Feature/WooCommerce/WooCommerce.php:892 +#: includes/classes/Feature/WooCommerce/WooCommerce.php:893 msgid "Most caching and performance tools can’t keep up with the nearly infinite ways your visitors might filter or navigate your products. No matter how many products, filters, or customers you have, ElasticPress will keep your online store performing quickly. If used in combination with the Protected Content feature, ElasticPress will also accelerate order searches and back end product management." msgstr "" -#: includes/classes/Feature/WooCommerce/WooCommerce.php:924 +#: includes/classes/Feature/WooCommerce/WooCommerce.php:925 msgid "WooCommerce not installed." msgstr "" @@ -1361,36 +1361,36 @@ msgstr "" msgid "Due to the number of products in the site, you will need to resync after applying a custom sort order." msgstr "" -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:39 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:41 msgid "Your site can connect to Elasticsearch." msgstr "" -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:45 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:47 msgid "You can have a fast and flexible search and query engine for WordPress using ElasticPress." msgstr "" -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:55 -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:65 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:57 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:67 msgid "Your site could not connect to Elasticsearch" msgstr "" -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:58 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:60 msgid "The Elasticsearch host is not set." msgstr "" -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:62 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:64 msgid "Add a host" msgstr "" -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:71 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:73 msgid "Update your settings" msgstr "" -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:75 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:77 msgid "Check if your credentials to ElasticPress.io host are correct." msgstr "" -#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:77 +#: includes/classes/HealthCheck/HealthCheckElasticsearch.php:79 msgid "Check if your Elasticsearch host URL is correct and you have the right access to the host." msgstr "" @@ -1399,9 +1399,9 @@ msgstr "" msgid "Comment" msgstr "" -#: includes/classes/Indexable/Comment/QueryIntegration.php:127 -#: includes/classes/Indexable/Post/QueryIntegration.php:284 -#: includes/classes/Indexable/Term/QueryIntegration.php:98 +#: includes/classes/Indexable/Comment/QueryIntegration.php:126 +#: includes/classes/Indexable/Post/QueryIntegration.php:283 +#: includes/classes/Indexable/Term/QueryIntegration.php:97 msgid "sites is deprecated. Use site__in instead." msgstr "" @@ -1455,54 +1455,58 @@ msgid "Indexing %1$s…" msgstr "" #. translators: 1. Number of objects skipped 2. Indexable type -#: includes/classes/IndexHelper.php:416 +#: includes/classes/IndexHelper.php:417 msgid "Skipping %1$d %2$s…" msgstr "" #. translators: 1. Indexable type 2. Offset start, 3. Offset end, 4. Found items 5. Last object ID -#: includes/classes/IndexHelper.php:704 +#: includes/classes/IndexHelper.php:705 msgid "Processed %1$s %2$d - %3$d of %4$d. Last Object ID: %5$d" msgstr "" #. translators: 1: indexable (plural), 2: Blog ID, 3: number of failed objects -#: includes/classes/IndexHelper.php:767 +#: includes/classes/IndexHelper.php:768 msgid "Number of %1$s index errors on site %2$d: %3$d" msgstr "" #. translators: 1: indexable (plural), 2: number of failed objects -#: includes/classes/IndexHelper.php:775 +#: includes/classes/IndexHelper.php:776 msgid "Number of %1$s index errors: %2$d" msgstr "" #. translators: 1: indexable (plural), 2: Blog ID, 3: number of synced objects -#: includes/classes/IndexHelper.php:789 +#: includes/classes/IndexHelper.php:790 msgid "Number of %1$s indexed on site %2$d: %3$d" msgstr "" #. translators: 1: indexable (plural), 2: number of synced objects -#: includes/classes/IndexHelper.php:797 +#: includes/classes/IndexHelper.php:798 msgid "Number of %1$s indexed: %2$d" msgstr "" -#: includes/classes/IndexHelper.php:855 +#: includes/classes/IndexHelper.php:856 #: includes/classes/Screen/Sync.php:228 -#: assets/js/sync/components/sync/progress.js:40 +#: assets/js/sync/components/sync/progress.js:58 #: dist/js/sync-script.js:1 msgid "Sync complete" msgstr "" #. translators: 1: Indexable name -#: includes/classes/IndexHelper.php:896 +#: includes/classes/IndexHelper.php:897 msgid "Network alias created for %1$s" msgstr "" #. translators: 1: Indexable name -#: includes/classes/IndexHelper.php:904 +#: includes/classes/IndexHelper.php:905 msgid "Network alias creation failed for %1$s" msgstr "" +#: includes/classes/IndexHelper.php:1218 +msgid "Mapping has failed, which will cause ElasticPress search results to be incorrect. Please click `Delete all Data and Start a Fresh Sync` to retry mapping." +msgstr "" + #. translators: Error message -#: includes/classes/IndexHelper.php:1213 +#: includes/classes/IndexHelper.php:1222 msgid "Index failed: %s" msgstr "" @@ -1520,7 +1524,7 @@ msgstr "" msgid "ElasticPress - Last Sync" msgstr "" -#: includes/classes/Screen/HealthInfo.php:63 +#: includes/classes/Screen/HealthInfo.php:69 msgid "ElasticPress.io - Autosuggest" msgstr "" @@ -1542,9 +1546,9 @@ msgid "Processed %1$d/%2$d. Last Object ID: %3$d" msgstr "" #: includes/classes/Screen/Sync.php:229 -#: assets/js/sync/components/sync/progress.js:44 -#: assets/js/sync/index.js:265 -#: assets/js/sync/index.js:475 +#: assets/js/sync/components/sync/progress.js:62 +#: assets/js/sync/index.js:288 +#: assets/js/sync/index.js:492 #: dist/js/sync-script.js:1 msgid "Sync paused" msgstr "" @@ -1639,22 +1643,22 @@ msgstr "" msgid "Timeouts" msgstr "" -#: includes/classes/StatusReport/ElasticPressIo.php:51 -#: includes/classes/StatusReport/ElasticPressIo.php:58 +#: includes/classes/StatusReport/ElasticPressIo.php:59 +#: includes/classes/StatusReport/ElasticPressIo.php:64 msgid "Allowed Autosuggest Parameters" msgstr "" -#: includes/classes/StatusReport/ElasticPressIo.php:59 +#: includes/classes/StatusReport/ElasticPressIo.php:65 msgid "Allowed autosuggest parameters info not available." msgstr "" -#: includes/classes/StatusReport/ElasticPressIo.php:81 -#: includes/classes/StatusReport/ElasticPressIo.php:82 -#: includes/classes/StatusReport/ElasticPressIo.php:83 +#: includes/classes/StatusReport/ElasticPressIo.php:85 +#: includes/classes/StatusReport/ElasticPressIo.php:86 +#: includes/classes/StatusReport/ElasticPressIo.php:87 msgid "%l" msgstr "" -#: includes/classes/StatusReport/ElasticPressIo.php:108 +#: includes/classes/StatusReport/ElasticPressIo.php:118 msgid "Instant Results Template" msgstr "" @@ -1764,66 +1768,65 @@ msgid "Elasticsearch Indices" msgstr "" #: includes/classes/StatusReport/LastSync.php:26 -#: includes/classes/StatusReport/LastSync.php:35 -#: includes/classes/StatusReport/LastSync.php:42 -#: assets/js/sync/components/sync/panel.js:85 +#: assets/js/sync/components/sync/panel.js:87 #: dist/js/sync-script.js:1 msgid "Last Sync" msgstr "" -#: includes/classes/StatusReport/LastSync.php:43 -msgid "Last sync info not available." -msgstr "" - -#: includes/classes/StatusReport/LastSync.php:78 +#: includes/classes/StatusReport/LastSync.php:67 msgid "WP Dashboard" msgstr "" -#: includes/classes/StatusReport/LastSync.php:79 +#: includes/classes/StatusReport/LastSync.php:68 msgid "WP-CLI" msgstr "" -#: includes/classes/StatusReport/LastSync.php:86 +#: includes/classes/StatusReport/LastSync.php:75 msgid "Total" msgstr "" -#: includes/classes/StatusReport/LastSync.php:87 +#: includes/classes/StatusReport/LastSync.php:76 msgid "Synced" msgstr "" -#: includes/classes/StatusReport/LastSync.php:88 +#: includes/classes/StatusReport/LastSync.php:77 msgid "Skipped" msgstr "" -#: includes/classes/StatusReport/LastSync.php:89 +#: includes/classes/StatusReport/LastSync.php:78 msgid "Failed" msgstr "" -#: includes/classes/StatusReport/LastSync.php:90 +#: includes/classes/StatusReport/LastSync.php:79 msgid "Errors" msgstr "" -#: includes/classes/StatusReport/LastSync.php:91 +#: includes/classes/StatusReport/LastSync.php:80 msgid "Method" msgstr "" -#: includes/classes/StatusReport/LastSync.php:92 +#: includes/classes/StatusReport/LastSync.php:81 msgid "End Date Time" msgstr "" -#: includes/classes/StatusReport/LastSync.php:93 +#: includes/classes/StatusReport/LastSync.php:82 msgid "Start Date Time" msgstr "" -#: includes/classes/StatusReport/LastSync.php:94 +#: includes/classes/StatusReport/LastSync.php:83 msgid "Total Time" msgstr "" -#: includes/classes/StatusReport/LastSync.php:108 +#: includes/classes/StatusReport/LastSync.php:97 msgctxt "Sync info not available" msgid "N/A" msgstr "" +#. translators: last sync title +#: includes/classes/StatusReport/LastSync.php:112 +msgid "%s (In Progress)" +msgstr "" + #: includes/classes/StatusReport/WordPress.php:26 msgid "WordPress" msgstr "" @@ -2333,12 +2336,12 @@ msgid "Previous" msgstr "" #. translators: %1$d: current page. %2$d: total pages. -#: assets/js/instant-results/components/results/pagination.js:57 +#: assets/js/instant-results/components/results/pagination.js:56 #: dist/js/instant-results-script.js:1 msgid "Page %1$d of %2$d" msgstr "" -#: assets/js/instant-results/components/results/pagination.js:70 +#: assets/js/instant-results/components/results/pagination.js:69 #: dist/js/instant-results-script.js:1 msgid "Next" msgstr "" @@ -2443,11 +2446,6 @@ msgstr "" msgid "Add to results" msgstr "" -#: assets/js/search/editor/plugins/exclude-from-search.js:23 -#: dist/js/search-editor-script.js:1 -msgid "Exclude from search" -msgstr "" - #: assets/js/settings.js:93 #: dist/js/settings-script.js:1 msgid "Plug in your ElasticPress.io server here!" @@ -2468,43 +2466,43 @@ msgstr "" msgid "Off" msgstr "" -#: assets/js/sync/components/sync-page.js:40 +#: assets/js/sync/components/sync-page.js:41 #: dist/js/sync-script.js:1 msgid "Sync Settings" msgstr "" #. translators: %s: Index type. ElasticPress.io or Elasticsearch. -#: assets/js/sync/components/sync-page.js:47 +#: assets/js/sync/components/sync-page.js:48 #: dist/js/sync-script.js:1 msgid "Run a sync to index your existing content %s. Once syncing finishes, your site is officially supercharged." msgstr "" -#: assets/js/sync/components/sync-page.js:52 +#: assets/js/sync/components/sync-page.js:53 #: dist/js/sync-script.js:1 msgid "on ElasticPress.io" msgstr "" -#: assets/js/sync/components/sync-page.js:53 +#: assets/js/sync/components/sync-page.js:54 #: dist/js/sync-script.js:1 msgid "in Elasticsearch" msgstr "" -#: assets/js/sync/components/sync-page.js:55 +#: assets/js/sync/components/sync-page.js:56 #: dist/js/sync-script.js:1 msgid "If you are missing data in your search results or have recently added custom content types to your site, you should run a sync to reflect these changes." msgstr "" -#: assets/js/sync/components/sync-page.js:72 +#: assets/js/sync/components/sync-page.js:74 #: dist/js/sync-script.js:1 msgid "Delete All Data and Sync" msgstr "" -#: assets/js/sync/components/sync-page.js:73 +#: assets/js/sync/components/sync-page.js:75 #: dist/js/sync-script.js:1 msgid "If you are still having issues with your search results, you may need to do a completely fresh sync." msgstr "" -#: assets/js/sync/components/sync-page.js:83 +#: assets/js/sync/components/sync-page.js:86 #: dist/js/sync-script.js:1 msgid "All indexed data on ElasticPress will be deleted without affecting anything on your WordPress website. This may take a few hours depending on the amount of content that needs to be synced and indexed. While this is happening, searches will use the default WordPress results" msgstr "" @@ -2529,39 +2527,45 @@ msgstr "" msgid "Stop" msgstr "" -#: assets/js/sync/components/sync/log.js:35 +#: assets/js/sync/components/sync/log.js:41 #: dist/js/sync-script.js:1 msgid "Full Log" msgstr "" #. translators: %d: Error message count. -#: assets/js/sync/components/sync/log.js:42 +#: assets/js/sync/components/sync/log.js:48 #: dist/js/sync-script.js:1 msgid "Errors (%d)" msgstr "" -#: assets/js/sync/components/sync/log.js:63 +#: assets/js/sync/components/sync/log.js:69 #: dist/js/sync-script.js:1 msgid "Show log" msgstr "" -#: assets/js/sync/components/sync/panel.js:103 +#: assets/js/sync/components/sync/panel.js:105 #: dist/js/sync-script.js:1 msgid "Delete all Data and Start a Fresh Sync" msgstr "" -#: assets/js/sync/components/sync/progress.js:48 -#: assets/js/sync/index.js:472 +#: assets/js/sync/components/sync/progress.js:54 +#: assets/js/sync/index.js:155 +#: dist/js/sync-script.js:1 +msgid "Sync failed" +msgstr "" + +#: assets/js/sync/components/sync/progress.js:66 +#: assets/js/sync/index.js:489 #: dist/js/sync-script.js:1 msgid "WP CLI sync in progress" msgstr "" -#: assets/js/sync/components/sync/progress.js:51 +#: assets/js/sync/components/sync/progress.js:69 #: dist/js/sync-script.js:1 msgid "Sync in progress" msgstr "" -#: assets/js/sync/components/sync/progress.js:68 +#: assets/js/sync/components/sync/progress.js:86 #: dist/js/sync-script.js:1 msgid "Started on" msgstr "" @@ -2596,44 +2600,39 @@ msgstr "" msgid "Unable to parse response. Find troubleshooting steps at https://elasticpress.zendesk.com/hc/en-us/sections/360010868652-Troubleshooting." msgstr "" -#: assets/js/sync/index.js:145 -#: dist/js/sync-script.js:1 -msgid "Sync failed" -msgstr "" - #. translators: %s: Index type. ElasticPress.io or Elasticsearch. -#: assets/js/sync/index.js:166 +#: assets/js/sync/index.js:182 #: dist/js/sync-script.js:1 msgid "Your indexing process has been stopped by WP-CLI and your %s index could be missing content. To restart indexing, please click the Start button or use WP-CLI commands to perform the reindex. Please note that search results could be incorrect or incomplete until the reindex finishes." msgstr "" -#: assets/js/sync/index.js:174 +#: assets/js/sync/index.js:190 #: dist/js/sync-script.js:1 msgid "Sync interrupted by WP-CLI command." msgstr "" -#: assets/js/sync/index.js:406 -#: assets/js/sync/index.js:486 +#: assets/js/sync/index.js:423 +#: assets/js/sync/index.js:503 #: dist/js/sync-script.js:1 msgid "Starting delete and sync…" msgstr "" -#: assets/js/sync/index.js:416 +#: assets/js/sync/index.js:433 #: dist/js/sync-script.js:1 msgid "Pausing sync…" msgstr "" -#: assets/js/sync/index.js:426 +#: assets/js/sync/index.js:443 #: dist/js/sync-script.js:1 msgid "Resuming sync…" msgstr "" -#: assets/js/sync/index.js:436 +#: assets/js/sync/index.js:453 #: dist/js/sync-script.js:1 msgid "Sync stopped" msgstr "" -#: assets/js/sync/index.js:446 +#: assets/js/sync/index.js:463 #: dist/js/sync-script.js:1 msgid "Starting sync…" msgstr "" diff --git a/package-lock.json b/package-lock.json index a0ed5a39cd..048785fcf8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "elasticpress", - "version": "4.4.0", + "version": "4.4.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "elasticpress", - "version": "4.4.0", + "version": "4.4.1", "license": "GPL-2.0-or-later", "dependencies": { "@10up/component-tooltip": "^2.0.0", diff --git a/package.json b/package.json index a8f5d5eda8..4e0008851e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "elasticpress", - "version": "4.4.0", + "version": "4.4.1", "license": "GPL-2.0-or-later", "description": "A fast and flexible search and query engine for WordPress.", "devDependencies": { diff --git a/readme.txt b/readme.txt index bf29722573..8259818736 100644 --- a/readme.txt +++ b/readme.txt @@ -2,7 +2,7 @@ Contributors: 10up, tlovett1, vhauri, tott, oscarssanchez, cmmarslender Tags: performance, slow, search, elasticsearch, fuzzy, facet, aggregation, searching, autosuggest, suggest, elastic, advanced search, woocommerce, related posts, woocommerce Tested up to: 6.1 -Stable tag: 4.4.0 +Stable tag: 4.4.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -77,6 +77,56 @@ For sure! Feel free to submit ideas or feedback in general to our [GitHub repo]( == Changelog == += 4.4.1 - 2023-01-10 = + +**Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code.** + +This is a bug fix release. + +__Added:__ + +* Node 18 support. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia). +* Unit tests for WP-CLI Commands. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia). +* Unit tests for the `HealthCheckElasticsearch` class, Protected Feature, and #3106. Props [@burhandodhy](https://github.com/burhandodhy). + +__Changed:__ + +* 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). +* `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). +* 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). +* 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). +* "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). +* Visibility of the `analyze_log` method of the `FailedQueries` class. Props [@MARQAS](https://github.com/MARQAS). +* Text of the notice under the Documents feature. Props [@MARQAS](https://github.com/MARQAS) and [@NV607FOX](https://github.com/NV607FOX). +* Usage of `get_index_default_per_page` instead of a direct call to `Utils\get_option`. Props [@burhandodhy](https://github.com/burhandodhy). + +__Removed:__ + +* Unnecessary `remove_filters` from the unit tests. Props [@burhandodhy](https://github.com/burhandodhy). + +__Fixed:__ + +* 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). +* Layout issue in Instant Results that would occur with small result sets. Props [@JakePT](https://github.com/JakePT). +* Issue where keyboard focus on a facet option was lost upon selection. Props [@JakePT](https://github.com/JakePT). +* JS error on Status Report page. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia). +* Hooks documentation reference. Props [@burhandodhy](https://github.com/burhandodhy). +* `'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). +* `Uncaught ArgumentCountError: Too few arguments to function WP_CLI::halt()` message. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT). +* Queries with `post_parent` set to `0` not working correctly. Props [@JiveDig](https://github.com/JiveDig). +* Sync command exits without any error message if mapping fails. Props [@burhandodhy](https://github.com/burhandodhy) and [@felipeelia](https://github.com/felipeelia). +* Evaluate the WP-CLI `--pretty` flag as real boolean. Props [@oscarssanchez](https://github.com/oscarssanchez). +* Remove deprecated command from the error message. Props [@burhandodhy](https://github.com/burhandodhy). +* CLI command `delete-index --network-wide` throws error when EP is not network activated. Props [@burhandodhy](https://github.com/burhandodhy). +* E2E tests for PHP 8. Props [@burhandodhy](https://github.com/burhandodhy). +* Feature title issue on the report page and notices. Props [@burhandodhy](https://github.com/burhandodhy) and [@JakePT](https://github.com/JakePT). +* Autosuggest Site Health Info containing incorrect information unrelated to Autosuggest. Props [@JakePT](https://github.com/JakePT). +* Styling of the Instant Results Facets field. Props [@JakePT](https://github.com/JakePT). + +__Security:__ + +* Bumped `simple-git` from 3.6.0 to 3.15.1. Props [@dependabot](https://github.com/dependabot). + = 4.4.0 - 2022-11-29 = **Note that starting from the ElasticPress 5.0.0 release the `Users` feature will be moved to the [ElasticPress Labs](https://github.com/10up/ElasticPressLabs) plugin. The `Terms` and `Comments` features will remain in ElasticPress but will be available only if enabled via code.**