WooCommerce - Version 5.0.0

Version Description

  • 2021-02-09 =

WooCommerce

  • Enhancement - Create additional download permissions for simple downloadable products that are converted to variable products provided that there are variations offering the same files. #28521
  • Enhancement - Export SASS variables as CSS variables. #28709
  • Tweak - Added "Store management insights" option. #28712
  • Tweak - Styling for dismiss link of the store notice for Twenty Twenty and Twenty Twenty One themes. #28790
  • Tweak - Notice to deprecate legacy reports in favor of the newer analytics page. #28799
  • Tweak - Ability to create new tags for products when creating a product via the REST API. #28723
  • Tweak - Disable untested plugin's notice from System Status and Plugin's page. #28840
  • Tweak - Use wp_robots_no_robots() when available to support WP 5.7. #28993
  • Fix - Improves the logic for deleting variations when a product type is changed. #27137
  • Fix - Use 'setlocale' in 'wc_ascii_uasort_comparison' for compatibility with PHP 8. #27844
  • Fix - Normalize end of lines in log-handler-email tests for compatibility with PHP 8. #27844
  • Fix - Invert if statement to reduce nesting level in \WC_Shipping::calculate_shipping_for_package. #28558
  • Fix - Changed value for speak to fix css3 validation issue. #28607
  • Fix - Check if Cart and Checkout pages are using block instead of shortcode for the Status check. #28679
  • Fix - Attributes on Edit Product page - "Select all" not working after "Select none" used. #28681
  • Fix - Ensure the orders and products statuses are reverted correctly when restoring them. #28690
  • Fix - Add checks to make sure session is initialised before loading the data store. #28692
  • Fix - Update featured extensions API endpoint on WooCommerce/Extensions page. #28719
  • Fix - Add Authorization header to the features extensions and search requests made to the marketplace. #28719
  • Fix - Duplicate New Order emails being sent when changing order status. #28809
  • Fix - Add migration to fix existing product review count. #28814
  • Fix - Fixed issues with empty prices in PHP 8. #28900
  • Dev - Increased WordPress minimum version to 5.4 according to WooCommerce's L-2 support policy. #28977
  • Dev - Use a custom fork of PHPUnit 7 in PHP 8 to workaround compatibility issues. #27844
  • Dev - Introduced woocommerce_activated_plugin hook. #28698
  • Dev - Clean up the WC_Shipping_Zone_Data_Store::read() method, documenting the woocommerce_shipping_zone_loaded hook. #28801
  • Dev - Updated the Jetpack Autoloader to 2.9.1. #29057
  • Localization - Adding states for Dominican Republic. #28713
  • Localization - Restored list of Serbia districts #28778
  • Localization - Update Indian state name from Orissa to Odisha. #28740
  • Localization - Remove post code requirement for Guatemala. #28706
  • Localization - Fixed name for state in Guatemala. #28706

WooCommerce Admin - 1.9.0

  • Fix - Add Customer Type column to the Orders report table. #5820
  • Fix - Product exclusion filter on Orders Report.
  • Fix - Typo in Variation Stats DataStore context filter value.
  • Fix - support custom attributes in Attribute advanced report filter.
  • Fix - Don't show Stock and Reviews Homescreen panels too early.
  • Tweak - Remove deprecated use of Jetpack in shipping label banner. #5929
  • Fix - Undefined $collate variable when database does not have collation capability. #5992
  • Tweak - Remove visit_count from track, and update task count logic. #5996
  • Fix - Moved certified owner label for review to title. ##5877
  • Fix - Move collapsible config to panels object, to allow for more control. #5855
  • Enhancement - Show Help panel tooltip when user visits unfinished task more then once. #5826
  • Tweak - Fix inconsistent REST API paramater name for customer type filtering.
  • Enhancement - Tasks extensibility in Home Screen. #5794
  • Enhancement - Add page parameter to override default wc-admin page in Navigation API. #5821
  • Fix - Invalidate product count if the last product was updated in the list. #5790
  • Fix - Updating (non wordpress user) customer with order data
  • Dev - Add documentation for filter woocommerce_admin_pages_list and wc_admin_register_page #5844
  • Dev - Revert work done in #4857 for automated shipping after OBW is completed #5971
  • Add - Welcome modal when coming from Calypso #6004
  • Enhancement - Add an a/b experiment for installing free business features #5786
  • Dev - Add onChangeCallback feature to the wc-admin <Form> component #5786
  • Fix - Generate JSON translation chunks on plugin activation #6028
  • Dev - Add merchant email notifications #5922
  • Add - Email note to add first product. #6024
  • Add - Note for users coming from Calypso. #6030
  • Enhancement - Add an "unread" indicator to inbox messages. #6047
  • Add - Manage activity from home screen inbox message. #6072

See changelog for all versions.

Download this release

Release Info

Developer claudiosanches
Plugin Icon 128x128 WooCommerce
Version 5.0.0
Comparing to
See all releases

Code changes from version 5.0.0-rc.3 to 5.0.0

Files changed (36) hide show
  1. assets/js/frontend/price-slider.js +1 -1
  2. assets/js/frontend/price-slider.min.js +1 -1
  3. i18n/languages/woocommerce.pot +2 -2
  4. readme.txt +2 -1
  5. vendor/autoload.php +1 -1
  6. vendor/autoload_packages.php +1 -1
  7. vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php +1 -0
  8. vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php +37 -0
  9. vendor/automattic/jetpack-autoloader/src/class-autoloader-handler.php +65 -9
  10. vendor/automattic/jetpack-autoloader/src/class-autoloader-locator.php +1 -1
  11. vendor/automattic/jetpack-autoloader/src/class-autoloader.php +33 -69
  12. vendor/automattic/jetpack-autoloader/src/class-container.php +11 -11
  13. vendor/automattic/jetpack-autoloader/src/class-latest-autoloader-guard.php +8 -15
  14. vendor/automattic/jetpack-autoloader/src/class-path-processor.php +4 -0
  15. vendor/automattic/jetpack-autoloader/src/class-php-autoloader.php +82 -0
  16. vendor/automattic/jetpack-autoloader/src/class-plugin-locator.php +19 -6
  17. vendor/automattic/jetpack-autoloader/src/class-plugins-handler.php +17 -11
  18. vendor/automattic/jetpack-autoloader/src/class-version-selector.php +3 -3
  19. vendor/composer/autoload_real.php +4 -4
  20. vendor/composer/autoload_static.php +5 -5
  21. vendor/composer/installed.json +9 -8
  22. vendor/composer/jetpack_autoload_classmap.php +179 -179
  23. vendor/jetpack-autoloader/class-autoloader-handler.php +66 -10
  24. vendor/jetpack-autoloader/class-autoloader-locator.php +2 -2
  25. vendor/jetpack-autoloader/class-autoloader.php +34 -70
  26. vendor/jetpack-autoloader/class-container.php +12 -12
  27. vendor/jetpack-autoloader/class-hook-manager.php +1 -1
  28. vendor/jetpack-autoloader/class-latest-autoloader-guard.php +9 -16
  29. vendor/jetpack-autoloader/class-manifest-reader.php +1 -1
  30. vendor/jetpack-autoloader/class-path-processor.php +5 -1
  31. vendor/jetpack-autoloader/class-php-autoloader.php +90 -0
  32. vendor/jetpack-autoloader/class-plugin-locator.php +20 -7
  33. vendor/jetpack-autoloader/class-plugins-handler.php +18 -12
  34. vendor/jetpack-autoloader/class-version-loader.php +1 -1
  35. vendor/jetpack-autoloader/class-version-selector.php +4 -4
  36. woocommerce.php +1 -1
assets/js/frontend/price-slider.js CHANGED
@@ -76,7 +76,7 @@ jQuery( function( $ ) {
76
  wp.customize.widgetsPreview.WidgetPartial
77
  );
78
  if ( hasSelectiveRefresh ) {
79
- wp.customize.selectiveRefresh.on( 'partial-content-rendered', function() {
80
  init_price_filter();
81
  } );
82
  }
76
  wp.customize.widgetsPreview.WidgetPartial
77
  );
78
  if ( hasSelectiveRefresh ) {
79
+ wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function() {
80
  init_price_filter();
81
  } );
82
  }
assets/js/frontend/price-slider.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(function(_){return"undefined"!=typeof woocommerce_price_slider_params&&(_(document.body).on("price_slider_create price_slider_slide",function(e,r,i){_(".price_slider_amount span.from").html(accounting.formatMoney(r,{symbol:woocommerce_price_slider_params.currency_format_symbol,decimal:woocommerce_price_slider_params.currency_format_decimal_sep,thousand:woocommerce_price_slider_params.currency_format_thousand_sep,precision:woocommerce_price_slider_params.currency_format_num_decimals,format:woocommerce_price_slider_params.currency_format})),_(".price_slider_amount span.to").html(accounting.formatMoney(i,{symbol:woocommerce_price_slider_params.currency_format_symbol,decimal:woocommerce_price_slider_params.currency_format_decimal_sep,thousand:woocommerce_price_slider_params.currency_format_thousand_sep,precision:woocommerce_price_slider_params.currency_format_num_decimals,format:woocommerce_price_slider_params.currency_format})),_(document.body).trigger("price_slider_updated",[r,i])}),e(),_(document.body).on("init_price_filter",e),void("undefined"!=typeof wp&&wp.customize&&wp.customize.selectiveRefresh&&wp.customize.widgetsPreview&&wp.customize.widgetsPreview.WidgetPartial&&wp.customize.selectiveRefresh.on("partial-content-rendered",function(){e()})));function e(){_("input#min_price, input#max_price").hide(),_(".price_slider, .price_label").show();var e=_(".price_slider_amount #min_price").data("min"),r=_(".price_slider_amount #max_price").data("max"),i=_(".price_slider_amount").data("step")||1,c=_(".price_slider_amount #min_price").val(),o=_(".price_slider_amount #max_price").val();_(".price_slider:not(.ui-slider)").slider({range:!0,animate:!0,min:e,max:r,step:i,values:[c,o],create:function(){_(".price_slider_amount #min_price").val(c),_(".price_slider_amount #max_price").val(o),_(document.body).trigger("price_slider_create",[c,o])},slide:function(e,r){_("input#min_price").val(r.values[0]),_("input#max_price").val(r.values[1]),_(document.body).trigger("price_slider_slide",[r.values[0],r.values[1]])},change:function(e,r){_(document.body).trigger("price_slider_change",[r.values[0],r.values[1]])}})}});
1
+ jQuery(function(_){return"undefined"!=typeof woocommerce_price_slider_params&&(_(document.body).on("price_slider_create price_slider_slide",function(e,r,i){_(".price_slider_amount span.from").html(accounting.formatMoney(r,{symbol:woocommerce_price_slider_params.currency_format_symbol,decimal:woocommerce_price_slider_params.currency_format_decimal_sep,thousand:woocommerce_price_slider_params.currency_format_thousand_sep,precision:woocommerce_price_slider_params.currency_format_num_decimals,format:woocommerce_price_slider_params.currency_format})),_(".price_slider_amount span.to").html(accounting.formatMoney(i,{symbol:woocommerce_price_slider_params.currency_format_symbol,decimal:woocommerce_price_slider_params.currency_format_decimal_sep,thousand:woocommerce_price_slider_params.currency_format_thousand_sep,precision:woocommerce_price_slider_params.currency_format_num_decimals,format:woocommerce_price_slider_params.currency_format})),_(document.body).trigger("price_slider_updated",[r,i])}),e(),_(document.body).on("init_price_filter",e),void("undefined"!=typeof wp&&wp.customize&&wp.customize.selectiveRefresh&&wp.customize.widgetsPreview&&wp.customize.widgetsPreview.WidgetPartial&&wp.customize.selectiveRefresh.bind("partial-content-rendered",function(){e()})));function e(){_("input#min_price, input#max_price").hide(),_(".price_slider, .price_label").show();var e=_(".price_slider_amount #min_price").data("min"),r=_(".price_slider_amount #max_price").data("max"),i=_(".price_slider_amount").data("step")||1,c=_(".price_slider_amount #min_price").val(),o=_(".price_slider_amount #max_price").val();_(".price_slider:not(.ui-slider)").slider({range:!0,animate:!0,min:e,max:r,step:i,values:[c,o],create:function(){_(".price_slider_amount #min_price").val(c),_(".price_slider_amount #max_price").val(o),_(document.body).trigger("price_slider_create",[c,o])},slide:function(e,r){_("input#min_price").val(r.values[0]),_("input#max_price").val(r.values[1]),_(document.body).trigger("price_slider_slide",[r.values[0],r.values[1]])},change:function(e,r){_(document.body).trigger("price_slider_change",[r.values[0],r.values[1]])}})}});
i18n/languages/woocommerce.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WooCommerce 5.0.0-rc.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woocommerce\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2021-02-05T22:09:22+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: woocommerce\n"
2
  # This file is distributed under the same license as the WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WooCommerce 5.0.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woocommerce\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2021-02-09T22:53:14+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: woocommerce\n"
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: e-commerce, store, sales, sell, woo, shop, cart, checkout, downloadable, d
4
  Requires at least: 5.4
5
  Tested up to: 5.6
6
  Requires PHP: 7.0
7
- Stable tag: 4.9.2
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -190,6 +190,7 @@ WooCommerce comes with some sample data you can use to see how products look; im
190
  * Dev - Use a custom fork of PHPUnit 7 in PHP 8 to workaround compatibility issues. #27844
191
  * Dev - Introduced `woocommerce_activated_plugin` hook. #28698
192
  * Dev - Clean up the `WC_Shipping_Zone_Data_Store::read()` method, documenting the `woocommerce_shipping_zone_loaded` hook. #28801
 
193
  * Localization - Adding states for Dominican Republic. #28713
194
  * Localization - Restored list of Serbia districts #28778
195
  * Localization - Update Indian state name from `Orissa` to `Odisha`. #28740
4
  Requires at least: 5.4
5
  Tested up to: 5.6
6
  Requires PHP: 7.0
7
+ Stable tag: 5.0.0
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
190
  * Dev - Use a custom fork of PHPUnit 7 in PHP 8 to workaround compatibility issues. #27844
191
  * Dev - Introduced `woocommerce_activated_plugin` hook. #28698
192
  * Dev - Clean up the `WC_Shipping_Zone_Data_Store::read()` method, documenting the `woocommerce_shipping_zone_loaded` hook. #28801
193
+ * Dev - Updated the Jetpack Autoloader to 2.9.1. #29057
194
  * Localization - Adding states for Dominican Republic. #28713
195
  * Localization - Restored list of Serbia districts #28778
196
  * Localization - Update Indian state name from `Orissa` to `Odisha`. #28740
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit2dc56b3d00ba638e98ee2efbda7238ce::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit1c37d41437aca3a88a6b698473c4d5c4::getLoader();
vendor/autoload_packages.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php CHANGED
@@ -137,6 +137,7 @@ class AutoloadGenerator {
137
  * Packages of equal weight retain the original order
138
  *
139
  * @param array $packageMap The package map.
 
140
  * @return array
141
  */
142
  protected function sortPackageMap( array $packageMap ) {
137
  * Packages of equal weight retain the original order
138
  *
139
  * @param array $packageMap The package map.
140
+ *
141
  * @return array
142
  */
143
  protected function sortPackageMap( array $packageMap ) {
vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php CHANGED
@@ -98,6 +98,13 @@ class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterfac
98
  * @param Event $event Script event object.
99
  */
100
  public function postAutoloadDump( Event $event ) {
 
 
 
 
 
 
 
101
  $config = $this->composer->getConfig();
102
 
103
  if ( 'vendor' !== $config->raw()['config']['vendor-dir'] ) {
@@ -158,4 +165,34 @@ class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterfac
158
  return md5( uniqid( '', true ) );
159
  }
160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  }
98
  * @param Event $event Script event object.
99
  */
100
  public function postAutoloadDump( Event $event ) {
101
+ // When the autoloader is not required by the root package we don't want to execute it.
102
+ // This prevents unwanted transitive execution that generates unused autoloaders or
103
+ // at worst throws fatal executions.
104
+ if ( ! $this->isRequiredByRoot() ) {
105
+ return;
106
+ }
107
+
108
  $config = $this->composer->getConfig();
109
 
110
  if ( 'vendor' !== $config->raw()['config']['vendor-dir'] ) {
165
  return md5( uniqid( '', true ) );
166
  }
167
 
168
+ /**
169
+ * Checks to see whether or not the root package is the one that required the autoloader.
170
+ *
171
+ * @return bool
172
+ */
173
+ private function isRequiredByRoot() {
174
+ $package = $this->composer->getPackage();
175
+ $requires = $package->getRequires();
176
+ if ( ! is_array( $requires ) ) {
177
+ $requires = array();
178
+ }
179
+ $devRequires = $package->getDevRequires();
180
+ if ( ! is_array( $devRequires ) ) {
181
+ $devRequires = array();
182
+ }
183
+ $requires = array_merge( $requires, $devRequires );
184
+
185
+ if ( empty( $requires ) ) {
186
+ $this->io->writeError( "\n<error>The package is not required and this should never happen?</error>", true );
187
+ exit();
188
+ }
189
+
190
+ foreach ( $requires as $require ) {
191
+ if ( 'automattic/jetpack-autoloader' === $require->getTarget() ) {
192
+ return true;
193
+ }
194
+ }
195
+
196
+ return false;
197
+ }
198
  }
vendor/automattic/jetpack-autoloader/src/class-autoloader-handler.php CHANGED
@@ -1,11 +1,20 @@
1
  <?php
2
  /* HEADER */ // phpcs:ignore
3
 
 
 
4
  /**
5
  * This class selects the package version for the autoloader.
6
  */
7
  class Autoloader_Handler {
8
 
 
 
 
 
 
 
 
9
  /**
10
  * The Hook_Manager instance.
11
  *
@@ -30,22 +39,58 @@ class Autoloader_Handler {
30
  /**
31
  * The constructor.
32
  *
 
33
  * @param Hook_Manager $hook_manager The Hook_Manager instance.
34
  * @param Manifest_Reader $manifest_reader The Manifest_Reader instance.
35
  * @param Version_Selector $version_selector The Version_Selector instance.
36
  */
37
- public function __construct( $hook_manager, $manifest_reader, $version_selector ) {
 
38
  $this->hook_manager = $hook_manager;
39
  $this->manifest_reader = $manifest_reader;
40
  $this->version_selector = $version_selector;
41
  }
42
 
43
  /**
44
- * Creates an autoloader using the given plugins and activates it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  *
46
  * @param string[] $plugins The plugins to initialize the autoloader for.
47
  */
48
- public function create_autoloader( $plugins ) {
49
  global $jetpack_packages_psr4;
50
  $jetpack_packages_psr4 = array();
51
  $this->manifest_reader->read_manifests( $plugins, 'vendor/composer/jetpack_autoload_psr4.php', $jetpack_packages_psr4 );
@@ -65,19 +110,30 @@ class Autoloader_Handler {
65
  $jetpack_packages_filemap
66
  );
67
 
68
- // Activate the autoloader.
69
- Autoloader::activate( $loader );
 
 
70
  }
71
 
72
  /**
73
  * Resets the active autoloader and all related global state.
74
  */
75
  public function reset_autoloader() {
76
- global $jetpack_autoloader_loader;
77
- global $jetpack_autoloader_latest_version;
78
-
79
  $this->hook_manager->reset();
80
- $jetpack_autoloader_loader = null;
 
 
81
  $jetpack_autoloader_latest_version = null;
 
 
 
 
 
 
 
 
 
82
  }
83
  }
1
  <?php
2
  /* HEADER */ // phpcs:ignore
3
 
4
+ use Automattic\Jetpack\Autoloader\AutoloadGenerator;
5
+
6
  /**
7
  * This class selects the package version for the autoloader.
8
  */
9
  class Autoloader_Handler {
10
 
11
+ /**
12
+ * The PHP_Autoloader instance.
13
+ *
14
+ * @var PHP_Autoloader
15
+ */
16
+ private $php_autoloader;
17
+
18
  /**
19
  * The Hook_Manager instance.
20
  *
39
  /**
40
  * The constructor.
41
  *
42
+ * @param PHP_Autoloader $php_autoloader The PHP_Autoloader instance.
43
  * @param Hook_Manager $hook_manager The Hook_Manager instance.
44
  * @param Manifest_Reader $manifest_reader The Manifest_Reader instance.
45
  * @param Version_Selector $version_selector The Version_Selector instance.
46
  */
47
+ public function __construct( $php_autoloader, $hook_manager, $manifest_reader, $version_selector ) {
48
+ $this->php_autoloader = $php_autoloader;
49
  $this->hook_manager = $hook_manager;
50
  $this->manifest_reader = $manifest_reader;
51
  $this->version_selector = $version_selector;
52
  }
53
 
54
  /**
55
+ * Checks to see whether or not an autoloader is currently in the process of initializing.
56
+ *
57
+ * @return bool
58
+ */
59
+ public function is_initializing() {
60
+ // If no version has been set it means that no autoloader has started initializing yet.
61
+ global $jetpack_autoloader_latest_version;
62
+ if ( ! isset( $jetpack_autoloader_latest_version ) ) {
63
+ return false;
64
+ }
65
+
66
+ // When the version is set but the classmap is not it ALWAYS means that this is the
67
+ // latest autoloader and is being included by an older one.
68
+ global $jetpack_packages_classmap;
69
+ if ( empty( $jetpack_packages_classmap ) ) {
70
+ return true;
71
+ }
72
+
73
+ // Version 2.4.0 added a new global and altered the reset semantics. We need to check
74
+ // the other global as well since it may also point at initialization.
75
+ // Note: We don't need to check for the class first because every autoloader that
76
+ // will set the latest version global requires this class in the classmap.
77
+ $replacing_version = $jetpack_packages_classmap[ AutoloadGenerator::class ]['version'];
78
+ if ( $this->version_selector->is_dev_version( $replacing_version ) || version_compare( $replacing_version, '2.4.0.0', '>=' ) ) {
79
+ global $jetpack_autoloader_loader;
80
+ if ( ! isset( $jetpack_autoloader_loader ) ) {
81
+ return true;
82
+ }
83
+ }
84
+
85
+ return false;
86
+ }
87
+
88
+ /**
89
+ * Activates an autoloader using the given plugins and activates it.
90
  *
91
  * @param string[] $plugins The plugins to initialize the autoloader for.
92
  */
93
+ public function activate_autoloader( $plugins ) {
94
  global $jetpack_packages_psr4;
95
  $jetpack_packages_psr4 = array();
96
  $this->manifest_reader->read_manifests( $plugins, 'vendor/composer/jetpack_autoload_psr4.php', $jetpack_packages_psr4 );
110
  $jetpack_packages_filemap
111
  );
112
 
113
+ $this->php_autoloader->register_autoloader( $loader );
114
+
115
+ // Now that the autoloader is active we can load the filemap.
116
+ $loader->load_filemap();
117
  }
118
 
119
  /**
120
  * Resets the active autoloader and all related global state.
121
  */
122
  public function reset_autoloader() {
123
+ $this->php_autoloader->unregister_autoloader();
 
 
124
  $this->hook_manager->reset();
125
+
126
+ // Clear all of the autoloader globals so that older autoloaders don't do anything strange.
127
+ global $jetpack_autoloader_latest_version;
128
  $jetpack_autoloader_latest_version = null;
129
+
130
+ global $jetpack_packages_classmap;
131
+ $jetpack_packages_classmap = array(); // Must be array to avoid exceptions in old autoloaders!
132
+
133
+ global $jetpack_packages_psr4;
134
+ $jetpack_packages_psr4 = array(); // Must be array to avoid exceptions in old autoloaders!
135
+
136
+ global $jetpack_packages_filemap;
137
+ $jetpack_packages_filemap = array(); // Must be array to avoid exceptions in old autoloaders!
138
  }
139
  }
vendor/automattic/jetpack-autoloader/src/class-autoloader-locator.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /* HEADER */ // phpcs:ignore
3
 
4
- use \Automattic\Jetpack\Autoloader\AutoloadGenerator;
5
 
6
  /**
7
  * This class locates autoloaders.
1
  <?php
2
  /* HEADER */ // phpcs:ignore
3
 
4
+ use Automattic\Jetpack\Autoloader\AutoloadGenerator;
5
 
6
  /**
7
  * This class locates autoloaders.
vendor/automattic/jetpack-autoloader/src/class-autoloader.php CHANGED
@@ -22,6 +22,12 @@ class Autoloader {
22
 
23
  // phpcs:disable Generic.Commenting.DocComment.MissingShort
24
 
 
 
 
 
 
 
25
  /** @var Plugin_Locator $plugin_locator */
26
  $plugin_locator = $container->get( Plugin_Locator::class );
27
 
@@ -31,29 +37,39 @@ class Autoloader {
31
  // The current plugin is the one that we are attempting to initialize here.
32
  $current_plugin = $plugin_locator->find_current_plugin();
33
 
 
 
 
 
 
 
 
34
  // The cached plugins are all of those that were active or discovered by the autoloader during a previous request.
35
  // Note that it's possible this list will include plugins that have since been deactivated, but after a request
36
  // the cache should be updated and the deactivated plugins will be removed.
37
  $cached_plugins = $plugins_handler->get_cached_plugins();
38
 
39
- // The active plugins are those that we were able to discover in on the site. This list will not include
40
- // mu-plugins, those activated by code, or those who are hidden by filtering.
41
- // By combining these lists we can preemptively load classes for plugins that are activated via another method.
42
- // While this may result in us considering packages in deactivated plugins the request after they're removed,
43
- // there shouldn't be any problems as a result and the eventual consistency is reliable enough.
44
- $all_plugins = array_values( array_unique( array_merge( $plugins_handler->get_active_plugins(), $cached_plugins ) ) );
 
 
 
 
 
 
45
 
46
  /** @var Latest_Autoloader_Guard $guard */
47
  $guard = $container->get( Latest_Autoloader_Guard::class );
48
- if ( $guard->should_stop_init( $current_plugin, $all_plugins ) ) {
49
  return;
50
  }
51
 
52
- /** @var Autoloader_Handler $autoloader_handler */
53
- $autoloader_handler = $container->get( Autoloader_Handler::class );
54
-
55
  // Initialize the autoloader using the handler now that we're ready.
56
- $autoloader_handler->create_autoloader( $all_plugins );
57
 
58
  /** @var Hook_Manager $hook_manager */
59
  $hook_manager = $container->get( Hook_Manager::class );
@@ -63,7 +79,7 @@ class Autoloader {
63
  // deactivated from being considered in other requests.
64
  $hook_manager->add_action(
65
  'shutdown',
66
- function () use ( $plugins_handler, $cached_plugins ) {
67
  // Don't save a broken cache if an error happens during some plugin's initialization.
68
  if ( ! did_action( 'plugins_loaded' ) ) {
69
  // Ensure that the cache is emptied to prevent consecutive failures if the cache is to blame.
@@ -74,10 +90,12 @@ class Autoloader {
74
  return;
75
  }
76
 
77
- // Load the active plugins fresh since the list we have above might not contain
78
  // plugins that were activated but did not reset the autoloader. This happens
79
- // because they were already included in the cache.
80
- $active_plugins = $plugins_handler->get_active_plugins();
 
 
81
 
82
  // The paths should be sorted for easy comparisons with those loaded from the cache.
83
  // Note we don't need to sort the cached entries because they're already sorted.
@@ -94,58 +112,4 @@ class Autoloader {
94
 
95
  // phpcs:enable Generic.Commenting.DocComment.MissingShort
96
  }
97
-
98
- /**
99
- * Loads a class file if one could be found.
100
- *
101
- * @param string $class_name The name of the class to autoload.
102
- *
103
- * @return bool Indicates whether or not a class file was loaded.
104
- */
105
- public static function load_class( $class_name ) {
106
- global $jetpack_autoloader_loader;
107
- if ( ! isset( $jetpack_autoloader_loader ) ) {
108
- return;
109
- }
110
-
111
- $file = $jetpack_autoloader_loader->find_class_file( $class_name );
112
- if ( ! isset( $file ) ) {
113
- return false;
114
- }
115
-
116
- require $file;
117
- return true;
118
- }
119
-
120
- /**
121
- * Activates this autoloader and deactivates any other v2 autoloaders that may be present.
122
- *
123
- * @param Version_Loader $version_loader The version loader for our autoloader.
124
- */
125
- public static function activate( $version_loader ) {
126
- // Set the global autoloader to indicate that we've activated this autoloader.
127
- global $jetpack_autoloader_loader;
128
- $jetpack_autoloader_loader = $version_loader;
129
-
130
- // Remove any v2 autoloader that we've already registered.
131
- $autoload_chain = spl_autoload_functions();
132
- foreach ( $autoload_chain as $autoloader ) {
133
- // Jetpack autoloaders are always strings.
134
- if ( ! is_string( $autoloader ) ) {
135
- continue;
136
- }
137
-
138
- // We can identify a v2 autoloader using the namespace prefix without the unique suffix.
139
- if ( 'Automattic\\Jetpack\\Autoloader\\jp' === substr( $autoloader, 0, 32 ) ) {
140
- spl_autoload_unregister( $autoloader );
141
- continue;
142
- }
143
- }
144
-
145
- // Ensure that the autoloader is first to avoid contention with others.
146
- spl_autoload_register( self::class . '::load_class', true, true );
147
-
148
- // Now that we've activated the autoloader we should load the filemap.
149
- $jetpack_autoloader_loader->load_filemap();
150
- }
151
  }
22
 
23
  // phpcs:disable Generic.Commenting.DocComment.MissingShort
24
 
25
+ /** @var Autoloader_Handler $autoloader_handler */
26
+ $autoloader_handler = $container->get( Autoloader_Handler::class );
27
+
28
+ // If the autoloader is already initializing it means that it has included us as the latest.
29
+ $was_included_by_autoloader = $autoloader_handler->is_initializing();
30
+
31
  /** @var Plugin_Locator $plugin_locator */
32
  $plugin_locator = $container->get( Plugin_Locator::class );
33
 
37
  // The current plugin is the one that we are attempting to initialize here.
38
  $current_plugin = $plugin_locator->find_current_plugin();
39
 
40
+ // The active plugins are those that we were able to discover on the site. This list will not
41
+ // include mu-plugins, those activated by code, or those who are hidden by filtering. We also
42
+ // want to take care to not consider the current plugin unknown if it was included by an
43
+ // autoloader. This avoids the case where a plugin will be marked "active" while deactivated
44
+ // due to it having the latest autoloader.
45
+ $active_plugins = $plugins_handler->get_active_plugins( true, ! $was_included_by_autoloader );
46
+
47
  // The cached plugins are all of those that were active or discovered by the autoloader during a previous request.
48
  // Note that it's possible this list will include plugins that have since been deactivated, but after a request
49
  // the cache should be updated and the deactivated plugins will be removed.
50
  $cached_plugins = $plugins_handler->get_cached_plugins();
51
 
52
+ // We combine the active list and cached list to preemptively load classes for plugins that are
53
+ // presently unknown but will be loaded during the request. While this may result in us considering packages in
54
+ // deactivated plugins there shouldn't be any problems as a result and the eventual consistency is sufficient.
55
+ $all_plugins = array_merge( $active_plugins, $cached_plugins );
56
+
57
+ // In particular we also include the current plugin to address the case where it is the latest autoloader
58
+ // but also unknown (and not cached). We don't want it in the active list because we don't know that it
59
+ // is active but we need it in the all plugins list so that it is considered by the autoloader.
60
+ $all_plugins[] = $current_plugin;
61
+
62
+ // We require uniqueness in the array to avoid processing the same plugin more than once.
63
+ $all_plugins = array_values( array_unique( $all_plugins ) );
64
 
65
  /** @var Latest_Autoloader_Guard $guard */
66
  $guard = $container->get( Latest_Autoloader_Guard::class );
67
+ if ( $guard->should_stop_init( $current_plugin, $all_plugins, $was_included_by_autoloader ) ) {
68
  return;
69
  }
70
 
 
 
 
71
  // Initialize the autoloader using the handler now that we're ready.
72
+ $autoloader_handler->activate_autoloader( $all_plugins );
73
 
74
  /** @var Hook_Manager $hook_manager */
75
  $hook_manager = $container->get( Hook_Manager::class );
79
  // deactivated from being considered in other requests.
80
  $hook_manager->add_action(
81
  'shutdown',
82
+ function () use ( $plugins_handler, $cached_plugins, $was_included_by_autoloader ) {
83
  // Don't save a broken cache if an error happens during some plugin's initialization.
84
  if ( ! did_action( 'plugins_loaded' ) ) {
85
  // Ensure that the cache is emptied to prevent consecutive failures if the cache is to blame.
90
  return;
91
  }
92
 
93
+ // Load the active plugins fresh since the list we pulled earlier might not contain
94
  // plugins that were activated but did not reset the autoloader. This happens
95
+ // when a plugin is in the cache but not "active" when the autoloader loads.
96
+ // We also want to make sure that plugins which are deactivating are not
97
+ // considered "active" so that they will be removed from the cache now.
98
+ $active_plugins = $plugins_handler->get_active_plugins( false, ! $was_included_by_autoloader );
99
 
100
  // The paths should be sorted for easy comparisons with those loaded from the cache.
101
  // Note we don't need to sort the cached entries because they're already sorted.
112
 
113
  // phpcs:enable Generic.Commenting.DocComment.MissingShort
114
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  }
vendor/automattic/jetpack-autoloader/src/class-container.php CHANGED
@@ -87,6 +87,9 @@ class Container {
87
  $this->get( Version_Selector::class )
88
  );
89
 
 
 
 
90
  require_once __DIR__ . '/class-manifest-reader.php';
91
  $this->dependencies[ Manifest_Reader::class ] = new Manifest_Reader(
92
  $this->get( Version_Selector::class )
@@ -100,6 +103,7 @@ class Container {
100
 
101
  require_once __DIR__ . '/class-autoloader-handler.php';
102
  $this->dependencies[ Autoloader_Handler::class ] = new Autoloader_Handler(
 
103
  $this->get( Hook_Manager::class ),
104
  $this->get( Manifest_Reader::class ),
105
  $this->get( Version_Selector::class )
@@ -120,22 +124,18 @@ class Container {
120
  * Initializes any of the globals needed by the autoloader.
121
  */
122
  private function initialize_globals() {
 
 
 
 
 
 
 
123
  // Not all plugins can be found using the locator. In cases where a plugin loads the autoloader
124
  // but was not discoverable, we will record them in this array to track them as "active".
125
  global $jetpack_autoloader_activating_plugins_paths;
126
  if ( ! isset( $jetpack_autoloader_activating_plugins_paths ) ) {
127
  $jetpack_autoloader_activating_plugins_paths = array();
128
  }
129
-
130
- // Since older autoloaders include newer ones, we need to be able to tell the difference between an
131
- // inclusion via autoloader and an inclusion via plugin file. This allows the autoloader to
132
- // perform special tasks for each kind of inclusion.
133
- global $jetpack_autoloader_including_latest;
134
- if ( ! isset( $jetpack_autoloader_including_latest ) ) {
135
- // If the latest version global has been set but the including latest hasn't, it means that an
136
- // older autoloader without support for the global is including us.
137
- global $jetpack_autoloader_latest_version;
138
- $jetpack_autoloader_including_latest = isset( $jetpack_autoloader_latest_version );
139
- }
140
  }
141
  }
87
  $this->get( Version_Selector::class )
88
  );
89
 
90
+ require_once __DIR__ . '/class-php-autoloader.php';
91
+ $this->dependencies[ PHP_Autoloader::class ] = new PHP_Autoloader();
92
+
93
  require_once __DIR__ . '/class-manifest-reader.php';
94
  $this->dependencies[ Manifest_Reader::class ] = new Manifest_Reader(
95
  $this->get( Version_Selector::class )
103
 
104
  require_once __DIR__ . '/class-autoloader-handler.php';
105
  $this->dependencies[ Autoloader_Handler::class ] = new Autoloader_Handler(
106
+ $this->get( PHP_Autoloader::class ),
107
  $this->get( Hook_Manager::class ),
108
  $this->get( Manifest_Reader::class ),
109
  $this->get( Version_Selector::class )
124
  * Initializes any of the globals needed by the autoloader.
125
  */
126
  private function initialize_globals() {
127
+ /*
128
+ * This global was retired in version 2.9. The value is set to 'false' to maintain
129
+ * compatibility with older versions of the autoloader.
130
+ */
131
+ global $jetpack_autoloader_including_latest;
132
+ $jetpack_autoloader_including_latest = false;
133
+
134
  // Not all plugins can be found using the locator. In cases where a plugin loads the autoloader
135
  // but was not discoverable, we will record them in this array to track them as "active".
136
  global $jetpack_autoloader_activating_plugins_paths;
137
  if ( ! isset( $jetpack_autoloader_activating_plugins_paths ) ) {
138
  $jetpack_autoloader_activating_plugins_paths = array();
139
  }
 
 
 
 
 
 
 
 
 
 
 
140
  }
141
  }
vendor/automattic/jetpack-autoloader/src/class-latest-autoloader-guard.php CHANGED
@@ -45,38 +45,31 @@ class Latest_Autoloader_Guard {
45
  * has the side-effect of actually loading the latest autoloader in the event that this
46
  * is not it.
47
  *
48
- * @param string $current_plugin The current plugin we're checking.
49
- * @param string[] $plugins The active plugins to check for autoloaders in.
 
50
  *
51
  * @return bool True if we should stop initialization, otherwise false.
52
  */
53
- public function should_stop_init( $current_plugin, $plugins ) {
54
- global $jetpack_autoloader_including_latest;
55
  global $jetpack_autoloader_latest_version;
56
 
57
- // When we're being included from an older autoloader we need to
58
- // reset the latest version so that the new autoloader can look
59
- // for the latest autoloader again.
60
- if ( $jetpack_autoloader_including_latest ) {
61
- $jetpack_autoloader_latest_version = null;
62
- }
63
-
64
  // We need to reset the autoloader when the plugins change because
65
  // that means the autoloader was generated with a different list.
66
  if ( $this->plugins_handler->have_plugins_changed( $plugins ) ) {
67
  $this->autoloader_handler->reset_autoloader();
68
  }
69
 
70
- // Don't bother initializing the autoloader if it already has been.
71
- if ( isset( $jetpack_autoloader_latest_version ) ) {
 
 
72
  return true;
73
  }
74
 
75
  $latest_plugin = $this->autoloader_locator->find_latest_autoloader( $plugins, $jetpack_autoloader_latest_version );
76
  if ( isset( $latest_plugin ) && $latest_plugin !== $current_plugin ) {
77
- $jetpack_autoloader_including_latest = true;
78
  require $this->autoloader_locator->get_autoloader_path( $latest_plugin );
79
- $jetpack_autoloader_including_latest = false;
80
  return true;
81
  }
82
 
45
  * has the side-effect of actually loading the latest autoloader in the event that this
46
  * is not it.
47
  *
48
+ * @param string $current_plugin The current plugin we're checking.
49
+ * @param string[] $plugins The active plugins to check for autoloaders in.
50
+ * @param bool $was_included_by_autoloader Indicates whether or not this autoloader was included by another.
51
  *
52
  * @return bool True if we should stop initialization, otherwise false.
53
  */
54
+ public function should_stop_init( $current_plugin, $plugins, $was_included_by_autoloader ) {
 
55
  global $jetpack_autoloader_latest_version;
56
 
 
 
 
 
 
 
 
57
  // We need to reset the autoloader when the plugins change because
58
  // that means the autoloader was generated with a different list.
59
  if ( $this->plugins_handler->have_plugins_changed( $plugins ) ) {
60
  $this->autoloader_handler->reset_autoloader();
61
  }
62
 
63
+ // When the latest autoloader has already been found we don't need to search for it again.
64
+ // We should take care however because this will also trigger if the autoloader has been
65
+ // included by an older one.
66
+ if ( isset( $jetpack_autoloader_latest_version ) && ! $was_included_by_autoloader ) {
67
  return true;
68
  }
69
 
70
  $latest_plugin = $this->autoloader_locator->find_latest_autoloader( $plugins, $jetpack_autoloader_latest_version );
71
  if ( isset( $latest_plugin ) && $latest_plugin !== $current_plugin ) {
 
72
  require $this->autoloader_locator->get_autoloader_path( $latest_plugin );
 
73
  return true;
74
  }
75
 
vendor/automattic/jetpack-autoloader/src/class-path-processor.php CHANGED
@@ -9,6 +9,7 @@ class Path_Processor {
9
  * Given a path this will replace any of the path constants with a token to represent it.
10
  *
11
  * @param string $path The path we want to process.
 
12
  * @return string The tokenized path.
13
  */
14
  public function tokenize_path_constants( $path ) {
@@ -31,6 +32,7 @@ class Path_Processor {
31
  * Given a path this will replace any of the path constant tokens with the expanded path.
32
  *
33
  * @param string $tokenized_path The path we want to process.
 
34
  * @return string The expanded path.
35
  */
36
  public function untokenize_path_constants( $tokenized_path ) {
@@ -56,6 +58,7 @@ class Path_Processor {
56
  *
57
  * @param string $file The plugin or theme file to resolve.
58
  * @param array $directories_to_check The directories we should check for the file if it isn't an absolute path.
 
59
  * @return string|false Returns the absolute path to the directory, otherwise false.
60
  */
61
  public function find_directory_with_autoloader( $file, $directories_to_check ) {
@@ -114,6 +117,7 @@ class Path_Processor {
114
  * Indicates whether or not a path is absolute.
115
  *
116
  * @param string $path The path to check.
 
117
  * @return bool True if the path is absolute, otherwise false.
118
  */
119
  private function is_absolute_path( $path ) {
9
  * Given a path this will replace any of the path constants with a token to represent it.
10
  *
11
  * @param string $path The path we want to process.
12
+ *
13
  * @return string The tokenized path.
14
  */
15
  public function tokenize_path_constants( $path ) {
32
  * Given a path this will replace any of the path constant tokens with the expanded path.
33
  *
34
  * @param string $tokenized_path The path we want to process.
35
+ *
36
  * @return string The expanded path.
37
  */
38
  public function untokenize_path_constants( $tokenized_path ) {
58
  *
59
  * @param string $file The plugin or theme file to resolve.
60
  * @param array $directories_to_check The directories we should check for the file if it isn't an absolute path.
61
+ *
62
  * @return string|false Returns the absolute path to the directory, otherwise false.
63
  */
64
  public function find_directory_with_autoloader( $file, $directories_to_check ) {
117
  * Indicates whether or not a path is absolute.
118
  *
119
  * @param string $path The path to check.
120
+ *
121
  * @return bool True if the path is absolute, otherwise false.
122
  */
123
  private function is_absolute_path( $path ) {
vendor/automattic/jetpack-autoloader/src/class-php-autoloader.php ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* HEADER */ // phpcs:ignore
3
+
4
+ /**
5
+ * This class handles management of the actual PHP autoloader.
6
+ */
7
+ class PHP_Autoloader {
8
+
9
+ /**
10
+ * Registers the autoloader with PHP so that it can begin autoloading classes.
11
+ *
12
+ * @param Version_Loader $version_loader The class loader to use in the autoloader.
13
+ */
14
+ public function register_autoloader( $version_loader ) {
15
+ // Make sure no other autoloaders are registered.
16
+ $this->unregister_autoloader();
17
+
18
+ // Set the global so that it can be used to load classes.
19
+ global $jetpack_autoloader_loader;
20
+ $jetpack_autoloader_loader = $version_loader;
21
+
22
+ // Ensure that the autoloader is first to avoid contention with others.
23
+ spl_autoload_register( array( self::class, 'load_class' ), true, true );
24
+ }
25
+
26
+ /**
27
+ * Unregisters the active autoloader so that it will no longer autoload classes.
28
+ */
29
+ public function unregister_autoloader() {
30
+ // Remove any v2 autoloader that we've already registered.
31
+ $autoload_chain = spl_autoload_functions();
32
+ foreach ( $autoload_chain as $autoloader ) {
33
+ // We can identify a v2 autoloader using the namespace.
34
+ $namespace_check = null;
35
+
36
+ // Functions are recorded as strings.
37
+ if ( is_string( $autoloader ) ) {
38
+ $namespace_check = $autoloader;
39
+ } elseif ( is_array( $autoloader ) && is_string( $autoloader[0] ) ) {
40
+ // Static method calls have the class as the first array element.
41
+ $namespace_check = $autoloader[0];
42
+ } else {
43
+ // Since the autoloader has only ever been a function or a static method we don't currently need to check anything else.
44
+ continue;
45
+ }
46
+
47
+ // Check for the namespace without the generated suffix.
48
+ if ( 'Automattic\\Jetpack\\Autoloader\\jp' === substr( $namespace_check, 0, 32 ) ) {
49
+ spl_autoload_unregister( $autoloader );
50
+ }
51
+ }
52
+
53
+ // Clear the global now that the autoloader has been unregistered.
54
+ global $jetpack_autoloader_loader;
55
+ $jetpack_autoloader_loader = null;
56
+ }
57
+
58
+ /**
59
+ * Loads a class file if one could be found.
60
+ *
61
+ * Note: This function is static so that the autoloader can be easily unregistered. If
62
+ * it was a class method we would have to unwrap the object to check the namespace.
63
+ *
64
+ * @param string $class_name The name of the class to autoload.
65
+ *
66
+ * @return bool Indicates whether or not a class file was loaded.
67
+ */
68
+ public static function load_class( $class_name ) {
69
+ global $jetpack_autoloader_loader;
70
+ if ( ! isset( $jetpack_autoloader_loader ) ) {
71
+ return;
72
+ }
73
+
74
+ $file = $jetpack_autoloader_loader->find_class_file( $class_name );
75
+ if ( ! isset( $file ) ) {
76
+ return false;
77
+ }
78
+
79
+ require $file;
80
+ return true;
81
+ }
82
+ }
vendor/automattic/jetpack-autoloader/src/class-plugin-locator.php CHANGED
@@ -26,6 +26,7 @@ class Plugin_Locator {
26
  * Finds the path to the current plugin.
27
  *
28
  * @return string $path The path to the current plugin.
 
29
  * @throws \RuntimeException If the current plugin does not have an autoloader.
30
  */
31
  public function find_current_plugin() {
@@ -50,8 +51,8 @@ class Plugin_Locator {
50
  * @return array $plugin_paths The list of absolute paths we've found.
51
  */
52
  public function find_using_option( $option_name, $site_option = false ) {
53
- $raw = $site_option ? get_site_option( $option_name, array() ) : get_option( $option_name, array() );
54
- if ( empty( $raw ) ) {
55
  return array();
56
  }
57
 
@@ -59,11 +60,13 @@ class Plugin_Locator {
59
  }
60
 
61
  /**
62
- * Checks for plugins that are being activated in this request and returns all that it finds.
 
 
63
  *
64
  * @return array $plugin_paths The list of absolute paths we've found.
65
  */
66
- public function find_activating_this_request() {
67
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
68
 
69
  /**
@@ -77,11 +80,15 @@ class Plugin_Locator {
77
  return array();
78
  }
79
 
80
- $plugin_slugs = array();
81
-
82
  $action = isset( $_REQUEST['action'] ) ? wp_unslash( $_REQUEST['action'] ) : false;
 
 
 
 
 
83
  switch ( $action ) {
84
  case 'activate':
 
85
  if ( empty( $_REQUEST['plugin'] ) ) {
86
  break;
87
  }
@@ -90,6 +97,7 @@ class Plugin_Locator {
90
  break;
91
 
92
  case 'activate-selected':
 
93
  if ( empty( $_REQUEST['checked'] ) ) {
94
  break;
95
  }
@@ -98,6 +106,7 @@ class Plugin_Locator {
98
  break;
99
  }
100
 
 
101
  return $this->convert_plugins_to_paths( $plugin_slugs );
102
  }
103
 
@@ -111,6 +120,10 @@ class Plugin_Locator {
111
  * @return string[]
112
  */
113
  private function convert_plugins_to_paths( $plugins ) {
 
 
 
 
114
  // We're going to look for plugins in the standard directories.
115
  $path_constants = array( WP_PLUGIN_DIR, WPMU_PLUGIN_DIR );
116
 
26
  * Finds the path to the current plugin.
27
  *
28
  * @return string $path The path to the current plugin.
29
+ *
30
  * @throws \RuntimeException If the current plugin does not have an autoloader.
31
  */
32
  public function find_current_plugin() {
51
  * @return array $plugin_paths The list of absolute paths we've found.
52
  */
53
  public function find_using_option( $option_name, $site_option = false ) {
54
+ $raw = $site_option ? get_site_option( $option_name ) : get_option( $option_name );
55
+ if ( false === $raw ) {
56
  return array();
57
  }
58
 
60
  }
61
 
62
  /**
63
+ * Checks for plugins in the `action` request parameter.
64
+ *
65
+ * @param string[] $allowed_actions The actions that we're allowed to return plugins for.
66
  *
67
  * @return array $plugin_paths The list of absolute paths we've found.
68
  */
69
+ public function find_using_request_action( $allowed_actions ) {
70
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
71
 
72
  /**
80
  return array();
81
  }
82
 
 
 
83
  $action = isset( $_REQUEST['action'] ) ? wp_unslash( $_REQUEST['action'] ) : false;
84
+ if ( ! in_array( $action, $allowed_actions, true ) ) {
85
+ return array();
86
+ }
87
+
88
+ $plugin_slugs = array();
89
  switch ( $action ) {
90
  case 'activate':
91
+ case 'deactivate':
92
  if ( empty( $_REQUEST['plugin'] ) ) {
93
  break;
94
  }
97
  break;
98
 
99
  case 'activate-selected':
100
+ case 'deactivate-selected':
101
  if ( empty( $_REQUEST['checked'] ) ) {
102
  break;
103
  }
106
  break;
107
  }
108
 
109
+ // phpcs:enable WordPress.Security.NonceVerification.Recommended
110
  return $this->convert_plugins_to_paths( $plugin_slugs );
111
  }
112
 
120
  * @return string[]
121
  */
122
  private function convert_plugins_to_paths( $plugins ) {
123
+ if ( ! is_array( $plugins ) || empty( $plugins ) ) {
124
+ return array();
125
+ }
126
+
127
  // We're going to look for plugins in the standard directories.
128
  $path_constants = array( WP_PLUGIN_DIR, WPMU_PLUGIN_DIR );
129
 
vendor/automattic/jetpack-autoloader/src/class-plugins-handler.php CHANGED
@@ -38,11 +38,13 @@ class Plugins_Handler {
38
  /**
39
  * Gets all of the active plugins we can find.
40
  *
 
 
 
41
  * @return string[]
42
  */
43
- public function get_active_plugins() {
44
  global $jetpack_autoloader_activating_plugins_paths;
45
- global $jetpack_autoloader_including_latest;
46
 
47
  // We're going to build a unique list of plugins from a few different sources
48
  // to find all of our "active" plugins. While we need to return an integer
@@ -73,7 +75,8 @@ class Plugins_Handler {
73
  }
74
  }
75
 
76
- $plugins = $this->plugin_locator->find_activating_this_request();
 
77
  foreach ( $plugins as $path ) {
78
  $active_plugins[ $path ] = $path;
79
  }
@@ -86,11 +89,20 @@ class Plugins_Handler {
86
  // of causing a reset because the active plugins list has
87
  // been changed since it was saved in the global.
88
  $current_plugin = $this->plugin_locator->find_current_plugin();
89
- if ( ! in_array( $current_plugin, $active_plugins, true ) && ! $jetpack_autoloader_including_latest ) {
90
  $active_plugins[ $current_plugin ] = $current_plugin;
91
  $jetpack_autoloader_activating_plugins_paths[] = $current_plugin;
92
  }
93
 
 
 
 
 
 
 
 
 
 
94
  // Transform the array so that we don't have to worry about the keys interacting with other array types later.
95
  return array_values( $active_plugins );
96
  }
@@ -102,7 +114,7 @@ class Plugins_Handler {
102
  */
103
  public function get_cached_plugins() {
104
  $cached = get_transient( self::TRANSIENT_KEY );
105
- if ( false === $cached ) {
106
  return array();
107
  }
108
 
@@ -134,12 +146,6 @@ class Plugins_Handler {
134
  public function have_plugins_changed( $plugins ) {
135
  global $jetpack_autoloader_cached_plugin_paths;
136
 
137
- // When no autoloader has executed there is nothing to have changed.
138
- if ( ! isset( $jetpack_autoloader_cached_plugin_paths ) ) {
139
- $jetpack_autoloader_cached_plugin_paths = $plugins;
140
- return false;
141
- }
142
-
143
  if ( $jetpack_autoloader_cached_plugin_paths !== $plugins ) {
144
  $jetpack_autoloader_cached_plugin_paths = $plugins;
145
  return true;
38
  /**
39
  * Gets all of the active plugins we can find.
40
  *
41
+ * @param bool $include_deactivating When true, plugins deactivating this request will be considered active.
42
+ * @param bool $record_unknown When true, the current plugin will be marked as active and recorded when unknown.
43
+ *
44
  * @return string[]
45
  */
46
+ public function get_active_plugins( $include_deactivating, $record_unknown ) {
47
  global $jetpack_autoloader_activating_plugins_paths;
 
48
 
49
  // We're going to build a unique list of plugins from a few different sources
50
  // to find all of our "active" plugins. While we need to return an integer
75
  }
76
  }
77
 
78
+ // These actions contain plugins that are being activated/deactivated during this request.
79
+ $plugins = $this->plugin_locator->find_using_request_action( array( 'activate', 'activate-selected', 'deactivate', 'deactivate-selected' ) );
80
  foreach ( $plugins as $path ) {
81
  $active_plugins[ $path ] = $path;
82
  }
89
  // of causing a reset because the active plugins list has
90
  // been changed since it was saved in the global.
91
  $current_plugin = $this->plugin_locator->find_current_plugin();
92
+ if ( $record_unknown && ! in_array( $current_plugin, $active_plugins, true ) ) {
93
  $active_plugins[ $current_plugin ] = $current_plugin;
94
  $jetpack_autoloader_activating_plugins_paths[] = $current_plugin;
95
  }
96
 
97
+ // When deactivating plugins aren't desired we should entirely remove them from the active list.
98
+ if ( ! $include_deactivating ) {
99
+ // These actions contain plugins that are being deactivated during this request.
100
+ $plugins = $this->plugin_locator->find_using_request_action( array( 'deactivate', 'deactivate-selected' ) );
101
+ foreach ( $plugins as $path ) {
102
+ unset( $active_plugins[ $path ] );
103
+ }
104
+ }
105
+
106
  // Transform the array so that we don't have to worry about the keys interacting with other array types later.
107
  return array_values( $active_plugins );
108
  }
114
  */
115
  public function get_cached_plugins() {
116
  $cached = get_transient( self::TRANSIENT_KEY );
117
+ if ( ! is_array( $cached ) || empty( $cached ) ) {
118
  return array();
119
  }
120
 
146
  public function have_plugins_changed( $plugins ) {
147
  global $jetpack_autoloader_cached_plugin_paths;
148
 
 
 
 
 
 
 
149
  if ( $jetpack_autoloader_cached_plugin_paths !== $plugins ) {
150
  $jetpack_autoloader_cached_plugin_paths = $plugins;
151
  return true;
vendor/automattic/jetpack-autoloader/src/class-version-selector.php CHANGED
@@ -25,11 +25,11 @@ class Version_Selector {
25
  return true;
26
  }
27
 
28
- if ( $use_dev_versions && $this->is_package_version_dev( $selected_version ) ) {
29
  return false;
30
  }
31
 
32
- if ( $this->is_package_version_dev( $compare_version ) ) {
33
  if ( $use_dev_versions ) {
34
  return true;
35
  } else {
@@ -51,7 +51,7 @@ class Version_Selector {
51
  *
52
  * @return bool True if the version is a dev version, else false.
53
  */
54
- private function is_package_version_dev( $version ) {
55
  if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
56
  return true;
57
  }
25
  return true;
26
  }
27
 
28
+ if ( $use_dev_versions && $this->is_dev_version( $selected_version ) ) {
29
  return false;
30
  }
31
 
32
+ if ( $this->is_dev_version( $compare_version ) ) {
33
  if ( $use_dev_versions ) {
34
  return true;
35
  } else {
51
  *
52
  * @return bool True if the version is a dev version, else false.
53
  */
54
+ public function is_dev_version( $version ) {
55
  if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
56
  return true;
57
  }
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit2dc56b3d00ba638e98ee2efbda7238ce
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit2dc56b3d00ba638e98ee2efbda7238ce
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit2dc56b3d00ba638e98ee2efbda7238ce', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit2dc56b3d00ba638e98ee2efbda7238ce', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInit2dc56b3d00ba638e98ee2efbda7238ce::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit1c37d41437aca3a88a6b698473c4d5c4
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInit1c37d41437aca3a88a6b698473c4d5c4', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInit1c37d41437aca3a88a6b698473c4d5c4', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
+ call_user_func(\Composer\Autoload\ComposerStaticInit1c37d41437aca3a88a6b698473c4d5c4::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit2dc56b3d00ba638e98ee2efbda7238ce
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
@@ -818,10 +818,10 @@ class ComposerStaticInit2dc56b3d00ba638e98ee2efbda7238ce
818
  public static function getInitializer(ClassLoader $loader)
819
  {
820
  return \Closure::bind(function () use ($loader) {
821
- $loader->prefixLengthsPsr4 = ComposerStaticInit2dc56b3d00ba638e98ee2efbda7238ce::$prefixLengthsPsr4;
822
- $loader->prefixDirsPsr4 = ComposerStaticInit2dc56b3d00ba638e98ee2efbda7238ce::$prefixDirsPsr4;
823
- $loader->prefixesPsr0 = ComposerStaticInit2dc56b3d00ba638e98ee2efbda7238ce::$prefixesPsr0;
824
- $loader->classMap = ComposerStaticInit2dc56b3d00ba638e98ee2efbda7238ce::$classMap;
825
 
826
  }, null, ClassLoader::class);
827
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit1c37d41437aca3a88a6b698473c4d5c4
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
818
  public static function getInitializer(ClassLoader $loader)
819
  {
820
  return \Closure::bind(function () use ($loader) {
821
+ $loader->prefixLengthsPsr4 = ComposerStaticInit1c37d41437aca3a88a6b698473c4d5c4::$prefixLengthsPsr4;
822
+ $loader->prefixDirsPsr4 = ComposerStaticInit1c37d41437aca3a88a6b698473c4d5c4::$prefixDirsPsr4;
823
+ $loader->prefixesPsr0 = ComposerStaticInit1c37d41437aca3a88a6b698473c4d5c4::$prefixesPsr0;
824
+ $loader->classMap = ComposerStaticInit1c37d41437aca3a88a6b698473c4d5c4::$classMap;
825
 
826
  }, null, ClassLoader::class);
827
  }
vendor/composer/installed.json CHANGED
@@ -1,17 +1,17 @@
1
  [
2
  {
3
  "name": "automattic/jetpack-autoloader",
4
- "version": "v2.7.1",
5
- "version_normalized": "2.7.1.0",
6
  "source": {
7
  "type": "git",
8
  "url": "https://github.com/Automattic/jetpack-autoloader.git",
9
- "reference": "5437697a56aefbdf707849b9833e1b36093d7a73"
10
  },
11
  "dist": {
12
  "type": "zip",
13
- "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/5437697a56aefbdf707849b9833e1b36093d7a73",
14
- "reference": "5437697a56aefbdf707849b9833e1b36093d7a73",
15
  "shasum": ""
16
  },
17
  "require": {
@@ -20,10 +20,11 @@
20
  "require-dev": {
21
  "yoast/phpunit-polyfills": "0.2.0"
22
  },
23
- "time": "2020-12-18T22:33:59+00:00",
24
  "type": "composer-plugin",
25
  "extra": {
26
- "class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin"
 
27
  },
28
  "installation-source": "dist",
29
  "autoload": {
@@ -40,7 +41,7 @@
40
  ],
41
  "description": "Creates a custom autoloader for a plugin or theme.",
42
  "support": {
43
- "source": "https://github.com/Automattic/jetpack-autoloader/tree/v2.7.1"
44
  }
45
  },
46
  {
1
  [
2
  {
3
  "name": "automattic/jetpack-autoloader",
4
+ "version": "v2.9.1",
5
+ "version_normalized": "2.9.1.0",
6
  "source": {
7
  "type": "git",
8
  "url": "https://github.com/Automattic/jetpack-autoloader.git",
9
+ "reference": "d6ca2cc26ad6963e1be19b3338a9e98f40d9bd88"
10
  },
11
  "dist": {
12
  "type": "zip",
13
+ "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/d6ca2cc26ad6963e1be19b3338a9e98f40d9bd88",
14
+ "reference": "d6ca2cc26ad6963e1be19b3338a9e98f40d9bd88",
15
  "shasum": ""
16
  },
17
  "require": {
20
  "require-dev": {
21
  "yoast/phpunit-polyfills": "0.2.0"
22
  },
23
+ "time": "2021-02-05T19:07:06+00:00",
24
  "type": "composer-plugin",
25
  "extra": {
26
+ "class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin",
27
+ "mirror-repo": "Automattic/jetpack-autoloader"
28
  },
29
  "installation-source": "dist",
30
  "autoload": {
41
  ],
42
  "description": "Creates a custom autoloader for a plugin or theme.",
43
  "support": {
44
+ "source": "https://github.com/Automattic/jetpack-autoloader/tree/v2.9.1"
45
  }
46
  },
47
  {
vendor/composer/jetpack_autoload_classmap.php CHANGED
@@ -763,203 +763,203 @@ return array(
763
  'path' => $vendorDir . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php'
764
  ),
765
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Inflector\\InflectorInterface' => array(
766
- 'version' => '5.0.0.0-RC3',
767
  'path' => $baseDir . '/lib/packages/League/Container/Inflector/InflectorInterface.php'
768
  ),
769
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Inflector\\Inflector' => array(
770
- 'version' => '5.0.0.0-RC3',
771
  'path' => $baseDir . '/lib/packages/League/Container/Inflector/Inflector.php'
772
  ),
773
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Inflector\\InflectorAggregate' => array(
774
- 'version' => '5.0.0.0-RC3',
775
  'path' => $baseDir . '/lib/packages/League/Container/Inflector/InflectorAggregate.php'
776
  ),
777
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Inflector\\InflectorAggregateInterface' => array(
778
- 'version' => '5.0.0.0-RC3',
779
  'path' => $baseDir . '/lib/packages/League/Container/Inflector/InflectorAggregateInterface.php'
780
  ),
781
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\RawArgumentInterface' => array(
782
- 'version' => '5.0.0.0-RC3',
783
  'path' => $baseDir . '/lib/packages/League/Container/Argument/RawArgumentInterface.php'
784
  ),
785
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ArgumentResolverInterface' => array(
786
- 'version' => '5.0.0.0-RC3',
787
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ArgumentResolverInterface.php'
788
  ),
789
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ArgumentResolverTrait' => array(
790
- 'version' => '5.0.0.0-RC3',
791
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ArgumentResolverTrait.php'
792
  ),
793
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\RawArgument' => array(
794
- 'version' => '5.0.0.0-RC3',
795
  'path' => $baseDir . '/lib/packages/League/Container/Argument/RawArgument.php'
796
  ),
797
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ClassName' => array(
798
- 'version' => '5.0.0.0-RC3',
799
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ClassName.php'
800
  ),
801
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ClassNameWithOptionalValue' => array(
802
- 'version' => '5.0.0.0-RC3',
803
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ClassNameWithOptionalValue.php'
804
  ),
805
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ClassNameInterface' => array(
806
- 'version' => '5.0.0.0-RC3',
807
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ClassNameInterface.php'
808
  ),
809
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ReflectionContainer' => array(
810
- 'version' => '5.0.0.0-RC3',
811
  'path' => $baseDir . '/lib/packages/League/Container/ReflectionContainer.php'
812
  ),
813
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\AbstractServiceProvider' => array(
814
- 'version' => '5.0.0.0-RC3',
815
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/AbstractServiceProvider.php'
816
  ),
817
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\ServiceProviderInterface' => array(
818
- 'version' => '5.0.0.0-RC3',
819
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/ServiceProviderInterface.php'
820
  ),
821
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\ServiceProviderAggregate' => array(
822
- 'version' => '5.0.0.0-RC3',
823
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/ServiceProviderAggregate.php'
824
  ),
825
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\ServiceProviderAggregateInterface' => array(
826
- 'version' => '5.0.0.0-RC3',
827
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/ServiceProviderAggregateInterface.php'
828
  ),
829
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\BootableServiceProviderInterface' => array(
830
- 'version' => '5.0.0.0-RC3',
831
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/BootableServiceProviderInterface.php'
832
  ),
833
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Exception\\NotFoundException' => array(
834
- 'version' => '5.0.0.0-RC3',
835
  'path' => $baseDir . '/lib/packages/League/Container/Exception/NotFoundException.php'
836
  ),
837
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Exception\\ContainerException' => array(
838
- 'version' => '5.0.0.0-RC3',
839
  'path' => $baseDir . '/lib/packages/League/Container/Exception/ContainerException.php'
840
  ),
841
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ContainerAwareInterface' => array(
842
- 'version' => '5.0.0.0-RC3',
843
  'path' => $baseDir . '/lib/packages/League/Container/ContainerAwareInterface.php'
844
  ),
845
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ContainerAwareTrait' => array(
846
- 'version' => '5.0.0.0-RC3',
847
  'path' => $baseDir . '/lib/packages/League/Container/ContainerAwareTrait.php'
848
  ),
849
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Container' => array(
850
- 'version' => '5.0.0.0-RC3',
851
  'path' => $baseDir . '/lib/packages/League/Container/Container.php'
852
  ),
853
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Definition\\DefinitionAggregateInterface' => array(
854
- 'version' => '5.0.0.0-RC3',
855
  'path' => $baseDir . '/lib/packages/League/Container/Definition/DefinitionAggregateInterface.php'
856
  ),
857
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Definition\\DefinitionInterface' => array(
858
- 'version' => '5.0.0.0-RC3',
859
  'path' => $baseDir . '/lib/packages/League/Container/Definition/DefinitionInterface.php'
860
  ),
861
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Definition\\DefinitionAggregate' => array(
862
- 'version' => '5.0.0.0-RC3',
863
  'path' => $baseDir . '/lib/packages/League/Container/Definition/DefinitionAggregate.php'
864
  ),
865
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Definition\\Definition' => array(
866
- 'version' => '5.0.0.0-RC3',
867
  'path' => $baseDir . '/lib/packages/League/Container/Definition/Definition.php'
868
  ),
869
  'Automattic\\WooCommerce\\Tests\\Proxies\\MockableLegacyProxyTest' => array(
870
- 'version' => '5.0.0.0-RC3',
871
  'path' => $baseDir . '/tests/php/src/Proxies/MockableLegacyProxyTest.php'
872
  ),
873
  'Automattic\\WooCommerce\\Tests\\Proxies\\LegacyProxyTest' => array(
874
- 'version' => '5.0.0.0-RC3',
875
  'path' => $baseDir . '/tests/php/src/Proxies/LegacyProxyTest.php'
876
  ),
877
  'Automattic\\WooCommerce\\Tests\\Proxies\\ExampleClasses\\ClassThatDependsOnLegacyCode' => array(
878
- 'version' => '5.0.0.0-RC3',
879
  'path' => $baseDir . '/tests/php/src/Proxies/ExampleClasses/ClassThatDependsOnLegacyCode.php'
880
  ),
881
  'Automattic\\WooCommerce\\Tests\\Proxies\\ClassThatDependsOnLegacyCodeTest' => array(
882
- 'version' => '5.0.0.0-RC3',
883
  'path' => $baseDir . '/tests/php/src/Proxies/ClassThatDependsOnLegacyCodeTest.php'
884
  ),
885
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithPrivateInjectionMethod' => array(
886
- 'version' => '5.0.0.0-RC3',
887
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithPrivateInjectionMethod.php'
888
  ),
889
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithNonFinalInjectionMethod' => array(
890
- 'version' => '5.0.0.0-RC3',
891
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithNonFinalInjectionMethod.php'
892
  ),
893
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithScalarInjectionMethodArgument' => array(
894
- 'version' => '5.0.0.0-RC3',
895
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithScalarInjectionMethodArgument.php'
896
  ),
897
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithInjectionMethodArgumentWithoutTypeHint' => array(
898
- 'version' => '5.0.0.0-RC3',
899
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithInjectionMethodArgumentWithoutTypeHint.php'
900
  ),
901
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\DependencyClass' => array(
902
- 'version' => '5.0.0.0-RC3',
903
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/DependencyClass.php'
904
  ),
905
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithDependencies' => array(
906
- 'version' => '5.0.0.0-RC3',
907
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithDependencies.php'
908
  ),
909
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExtendedContainerTest' => array(
910
- 'version' => '5.0.0.0-RC3',
911
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExtendedContainerTest.php'
912
  ),
913
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\AbstractServiceProviderTest' => array(
914
- 'version' => '5.0.0.0-RC3',
915
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/AbstractServiceProviderTest.php'
916
  ),
917
  'Automattic\\WooCommerce\\Tests\\Internal\\WCCom\\ConnectionHelperTest' => array(
918
- 'version' => '5.0.0.0-RC3',
919
  'path' => $baseDir . '/tests/php/src/Internal/WCCom/ConnectionHelperTest.php'
920
  ),
921
  'Automattic\\WooCommerce\\Tests\\Internal\\DownloadPermissionsAdjusterTest' => array(
922
- 'version' => '5.0.0.0-RC3',
923
  'path' => $baseDir . '/tests/php/src/Internal/DownloadPermissionsAdjusterTest.php'
924
  ),
925
  'Automattic\\WooCommerce\\Tests\\Utilities\\StringUtilTest' => array(
926
- 'version' => '5.0.0.0-RC3',
927
  'path' => $baseDir . '/tests/php/src/Utilities/StringUtilTest.php'
928
  ),
929
  'Automattic\\WooCommerce\\Tests\\Utilities\\NumberUtilTest' => array(
930
- 'version' => '5.0.0.0-RC3',
931
  'path' => $baseDir . '/tests/php/src/Utilities/NumberUtilTest.php'
932
  ),
933
  'Automattic\\WooCommerce\\Testing\\Tools\\DependencyManagement\\MockableLegacyProxy' => array(
934
- 'version' => '5.0.0.0-RC3',
935
  'path' => $baseDir . '/tests/Tools/DependencyManagement/MockableLegacyProxy.php'
936
  ),
937
  'Automattic\\WooCommerce\\Testing\\Tools\\DependencyManagement\\DependencyManagementTestHook' => array(
938
- 'version' => '5.0.0.0-RC3',
939
  'path' => $baseDir . '/tests/Tools/DependencyManagement/DependencyManagementTestHook.php'
940
  ),
941
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\CodeHacker' => array(
942
- 'version' => '5.0.0.0-RC3',
943
  'path' => $baseDir . '/tests/Tools/CodeHacking/CodeHacker.php'
944
  ),
945
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\CodeHackerTestHook' => array(
946
- 'version' => '5.0.0.0-RC3',
947
  'path' => $baseDir . '/tests/Tools/CodeHacking/CodeHackerTestHook.php'
948
  ),
949
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\Hacks\\BypassFinalsHack' => array(
950
- 'version' => '5.0.0.0-RC3',
951
  'path' => $baseDir . '/tests/Tools/CodeHacking/Hacks/BypassFinalsHack.php'
952
  ),
953
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\Hacks\\StaticMockerHack' => array(
954
- 'version' => '5.0.0.0-RC3',
955
  'path' => $baseDir . '/tests/Tools/CodeHacking/Hacks/StaticMockerHack.php'
956
  ),
957
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\Hacks\\FunctionsMockerHack' => array(
958
- 'version' => '5.0.0.0-RC3',
959
  'path' => $baseDir . '/tests/Tools/CodeHacking/Hacks/FunctionsMockerHack.php'
960
  ),
961
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\Hacks\\CodeHack' => array(
962
- 'version' => '5.0.0.0-RC3',
963
  'path' => $baseDir . '/tests/Tools/CodeHacking/Hacks/CodeHack.php'
964
  ),
965
  'Automattic\\WooCommerce\\Blocks\\RestApi' => array(
@@ -2455,519 +2455,519 @@ return array(
2455
  'path' => $baseDir . '/packages/woocommerce-admin/src/ReportExporter.php'
2456
  ),
2457
  'Automattic\\WooCommerce\\Packages' => array(
2458
- 'version' => '5.0.0.0-RC3',
2459
  'path' => $baseDir . '/src/Packages.php'
2460
  ),
2461
  'Automattic\\WooCommerce\\Autoloader' => array(
2462
- 'version' => '5.0.0.0-RC3',
2463
  'path' => $baseDir . '/src/Autoloader.php'
2464
  ),
2465
  'Automattic\\WooCommerce\\Checkout\\Helpers\\ReserveStockException' => array(
2466
- 'version' => '5.0.0.0-RC3',
2467
  'path' => $baseDir . '/src/Checkout/Helpers/ReserveStockException.php'
2468
  ),
2469
  'Automattic\\WooCommerce\\Checkout\\Helpers\\ReserveStock' => array(
2470
- 'version' => '5.0.0.0-RC3',
2471
  'path' => $baseDir . '/src/Checkout/Helpers/ReserveStock.php'
2472
  ),
2473
  'Automattic\\WooCommerce\\Proxies\\LegacyProxy' => array(
2474
- 'version' => '5.0.0.0-RC3',
2475
  'path' => $baseDir . '/src/Proxies/LegacyProxy.php'
2476
  ),
2477
  'Automattic\\WooCommerce\\Proxies\\ActionsProxy' => array(
2478
- 'version' => '5.0.0.0-RC3',
2479
  'path' => $baseDir . '/src/Proxies/ActionsProxy.php'
2480
  ),
2481
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\AbstractServiceProvider' => array(
2482
- 'version' => '5.0.0.0-RC3',
2483
  'path' => $baseDir . '/src/Internal/DependencyManagement/AbstractServiceProvider.php'
2484
  ),
2485
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\ServiceProviders\\ProxiesServiceProvider' => array(
2486
- 'version' => '5.0.0.0-RC3',
2487
  'path' => $baseDir . '/src/Internal/DependencyManagement/ServiceProviders/ProxiesServiceProvider.php'
2488
  ),
2489
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\ServiceProviders\\DownloadPermissionsAdjusterServiceProvider' => array(
2490
- 'version' => '5.0.0.0-RC3',
2491
  'path' => $baseDir . '/src/Internal/DependencyManagement/ServiceProviders/DownloadPermissionsAdjusterServiceProvider.php'
2492
  ),
2493
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\ContainerException' => array(
2494
- 'version' => '5.0.0.0-RC3',
2495
  'path' => $baseDir . '/src/Internal/DependencyManagement/ContainerException.php'
2496
  ),
2497
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\ExtendedContainer' => array(
2498
- 'version' => '5.0.0.0-RC3',
2499
  'path' => $baseDir . '/src/Internal/DependencyManagement/ExtendedContainer.php'
2500
  ),
2501
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\Definition' => array(
2502
- 'version' => '5.0.0.0-RC3',
2503
  'path' => $baseDir . '/src/Internal/DependencyManagement/Definition.php'
2504
  ),
2505
  'Automattic\\WooCommerce\\Internal\\WCCom\\ConnectionHelper' => array(
2506
- 'version' => '5.0.0.0-RC3',
2507
  'path' => $baseDir . '/src/Internal/WCCom/ConnectionHelper.php'
2508
  ),
2509
  'Automattic\\WooCommerce\\Internal\\DownloadPermissionsAdjuster' => array(
2510
- 'version' => '5.0.0.0-RC3',
2511
  'path' => $baseDir . '/src/Internal/DownloadPermissionsAdjuster.php'
2512
  ),
2513
  'Automattic\\WooCommerce\\Utilities\\StringUtil' => array(
2514
- 'version' => '5.0.0.0-RC3',
2515
  'path' => $baseDir . '/src/Utilities/StringUtil.php'
2516
  ),
2517
  'Automattic\\WooCommerce\\Utilities\\NumberUtil' => array(
2518
- 'version' => '5.0.0.0-RC3',
2519
  'path' => $baseDir . '/src/Utilities/NumberUtil.php'
2520
  ),
2521
  'Automattic\\WooCommerce\\Container' => array(
2522
- 'version' => '5.0.0.0-RC3',
2523
  'path' => $baseDir . '/src/Container.php'
2524
  ),
2525
  'Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin' => array(
2526
- 'version' => '2.7.1.0',
2527
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php'
2528
  ),
2529
  'Automattic\\Jetpack\\Autoloader\\AutoloadGenerator' => array(
2530
- 'version' => '2.7.1.0',
2531
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php'
2532
  ),
2533
  'Automattic\\Jetpack\\Autoloader\\AutoloadProcessor' => array(
2534
- 'version' => '2.7.1.0',
2535
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadProcessor.php'
2536
  ),
2537
  'Automattic\\Jetpack\\Autoloader\\ManifestGenerator' => array(
2538
- 'version' => '2.7.1.0',
2539
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/ManifestGenerator.php'
2540
  ),
2541
  'Automattic\\Jetpack\\Autoloader\\AutoloadFileWriter' => array(
2542
- 'version' => '2.7.1.0',
2543
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadFileWriter.php'
2544
  ),
2545
  'WC_REST_Order_Notes_Controller' => array(
2546
- 'version' => '5.0.0.0-RC3',
2547
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-order-notes-controller.php'
2548
  ),
2549
  'WC_REST_Report_Orders_Totals_Controller' => array(
2550
- 'version' => '5.0.0.0-RC3',
2551
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-orders-totals-controller.php'
2552
  ),
2553
  'WC_REST_Customer_Downloads_Controller' => array(
2554
- 'version' => '5.0.0.0-RC3',
2555
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-customer-downloads-controller.php'
2556
  ),
2557
  'WC_REST_Payment_Gateways_Controller' => array(
2558
- 'version' => '5.0.0.0-RC3',
2559
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-payment-gateways-controller.php'
2560
  ),
2561
  'WC_REST_System_Status_Controller' => array(
2562
- 'version' => '5.0.0.0-RC3',
2563
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-system-status-controller.php'
2564
  ),
2565
  'WC_REST_Report_Reviews_Totals_Controller' => array(
2566
- 'version' => '5.0.0.0-RC3',
2567
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-reviews-totals-controller.php'
2568
  ),
2569
  'WC_REST_Report_Top_Sellers_Controller' => array(
2570
- 'version' => '5.0.0.0-RC3',
2571
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-top-sellers-controller.php'
2572
  ),
2573
  'WC_REST_Report_Products_Totals_Controller' => array(
2574
- 'version' => '5.0.0.0-RC3',
2575
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-products-totals-controller.php'
2576
  ),
2577
  'WC_REST_Shipping_Methods_Controller' => array(
2578
- 'version' => '5.0.0.0-RC3',
2579
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-methods-controller.php'
2580
  ),
2581
  'WC_REST_Controller' => array(
2582
- 'version' => '5.0.0.0-RC3',
2583
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-controller.php'
2584
  ),
2585
  'WC_REST_Network_Orders_Controller' => array(
2586
- 'version' => '5.0.0.0-RC3',
2587
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-network-orders-controller.php'
2588
  ),
2589
  'WC_REST_Product_Reviews_Controller' => array(
2590
- 'version' => '5.0.0.0-RC3',
2591
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-reviews-controller.php'
2592
  ),
2593
  'WC_REST_Product_Attribute_Terms_Controller' => array(
2594
- 'version' => '5.0.0.0-RC3',
2595
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-attribute-terms-controller.php'
2596
  ),
2597
  'WC_REST_Taxes_Controller' => array(
2598
- 'version' => '5.0.0.0-RC3',
2599
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-taxes-controller.php'
2600
  ),
2601
  'WC_REST_Settings_Controller' => array(
2602
- 'version' => '5.0.0.0-RC3',
2603
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-settings-controller.php'
2604
  ),
2605
  'WC_REST_CRUD_Controller' => array(
2606
- 'version' => '5.0.0.0-RC3',
2607
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-crud-controller.php'
2608
  ),
2609
  'WC_REST_Setting_Options_Controller' => array(
2610
- 'version' => '5.0.0.0-RC3',
2611
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-setting-options-controller.php'
2612
  ),
2613
  'WC_REST_System_Status_Tools_Controller' => array(
2614
- 'version' => '5.0.0.0-RC3',
2615
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-system-status-tools-controller.php'
2616
  ),
2617
  'WC_REST_Product_Tags_Controller' => array(
2618
- 'version' => '5.0.0.0-RC3',
2619
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-tags-controller.php'
2620
  ),
2621
  'WC_REST_Reports_Controller' => array(
2622
- 'version' => '5.0.0.0-RC3',
2623
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-reports-controller.php'
2624
  ),
2625
  'WC_REST_Orders_Controller' => array(
2626
- 'version' => '5.0.0.0-RC3',
2627
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-orders-controller.php'
2628
  ),
2629
  'WC_REST_Customers_Controller' => array(
2630
- 'version' => '5.0.0.0-RC3',
2631
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-customers-controller.php'
2632
  ),
2633
  'WC_REST_Shipping_Zone_Locations_Controller' => array(
2634
- 'version' => '5.0.0.0-RC3',
2635
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zone-locations-controller.php'
2636
  ),
2637
  'WC_REST_Webhooks_Controller' => array(
2638
- 'version' => '5.0.0.0-RC3',
2639
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-webhooks-controller.php'
2640
  ),
2641
  'WC_REST_Tax_Classes_Controller' => array(
2642
- 'version' => '5.0.0.0-RC3',
2643
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-tax-classes-controller.php'
2644
  ),
2645
  'WC_REST_Product_Categories_Controller' => array(
2646
- 'version' => '5.0.0.0-RC3',
2647
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-categories-controller.php'
2648
  ),
2649
  'WC_REST_Coupons_Controller' => array(
2650
- 'version' => '5.0.0.0-RC3',
2651
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-coupons-controller.php'
2652
  ),
2653
  'WC_REST_Data_Continents_Controller' => array(
2654
- 'version' => '5.0.0.0-RC3',
2655
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-data-continents-controller.php'
2656
  ),
2657
  'WC_REST_Report_Sales_Controller' => array(
2658
- 'version' => '5.0.0.0-RC3',
2659
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-sales-controller.php'
2660
  ),
2661
  'WC_REST_Data_Countries_Controller' => array(
2662
- 'version' => '5.0.0.0-RC3',
2663
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-data-countries-controller.php'
2664
  ),
2665
  'WC_REST_Posts_Controller' => array(
2666
- 'version' => '5.0.0.0-RC3',
2667
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-posts-controller.php'
2668
  ),
2669
  'WC_REST_Report_Coupons_Totals_Controller' => array(
2670
- 'version' => '5.0.0.0-RC3',
2671
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-coupons-totals-controller.php'
2672
  ),
2673
  'WC_REST_Product_Attributes_Controller' => array(
2674
- 'version' => '5.0.0.0-RC3',
2675
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-attributes-controller.php'
2676
  ),
2677
  'WC_REST_Terms_Controller' => array(
2678
- 'version' => '5.0.0.0-RC3',
2679
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-terms-controller.php'
2680
  ),
2681
  'WC_REST_Product_Variations_Controller' => array(
2682
- 'version' => '5.0.0.0-RC3',
2683
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-variations-controller.php'
2684
  ),
2685
  'WC_REST_Product_Shipping_Classes_Controller' => array(
2686
- 'version' => '5.0.0.0-RC3',
2687
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-shipping-classes-controller.php'
2688
  ),
2689
  'WC_REST_Shipping_Zone_Methods_Controller' => array(
2690
- 'version' => '5.0.0.0-RC3',
2691
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zone-methods-controller.php'
2692
  ),
2693
  'WC_REST_Products_Controller' => array(
2694
- 'version' => '5.0.0.0-RC3',
2695
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-products-controller.php'
2696
  ),
2697
  'WC_REST_Shipping_Zones_Controller_Base' => array(
2698
- 'version' => '5.0.0.0-RC3',
2699
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zones-controller-base.php'
2700
  ),
2701
  'WC_REST_Data_Currencies_Controller' => array(
2702
- 'version' => '5.0.0.0-RC3',
2703
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-data-currencies-controller.php'
2704
  ),
2705
  'WC_REST_Shipping_Zones_Controller' => array(
2706
- 'version' => '5.0.0.0-RC3',
2707
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zones-controller.php'
2708
  ),
2709
  'WC_REST_Report_Customers_Totals_Controller' => array(
2710
- 'version' => '5.0.0.0-RC3',
2711
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-customers-totals-controller.php'
2712
  ),
2713
  'WC_REST_Data_Controller' => array(
2714
- 'version' => '5.0.0.0-RC3',
2715
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-data-controller.php'
2716
  ),
2717
  'WC_REST_Order_Refunds_Controller' => array(
2718
- 'version' => '5.0.0.0-RC3',
2719
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-order-refunds-controller.php'
2720
  ),
2721
  'WC_REST_Customers_V1_Controller' => array(
2722
- 'version' => '5.0.0.0-RC3',
2723
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-customers-v1-controller.php'
2724
  ),
2725
  'WC_REST_Tax_Classes_V1_Controller' => array(
2726
- 'version' => '5.0.0.0-RC3',
2727
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-tax-classes-v1-controller.php'
2728
  ),
2729
  'WC_REST_Products_V1_Controller' => array(
2730
- 'version' => '5.0.0.0-RC3',
2731
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-products-v1-controller.php'
2732
  ),
2733
  'WC_REST_Webhooks_V1_Controller' => array(
2734
- 'version' => '5.0.0.0-RC3',
2735
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-webhooks-v1-controller.php'
2736
  ),
2737
  'WC_REST_Reports_V1_Controller' => array(
2738
- 'version' => '5.0.0.0-RC3',
2739
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-reports-v1-controller.php'
2740
  ),
2741
  'WC_REST_Product_Categories_V1_Controller' => array(
2742
- 'version' => '5.0.0.0-RC3',
2743
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-categories-v1-controller.php'
2744
  ),
2745
  'WC_REST_Product_Tags_V1_Controller' => array(
2746
- 'version' => '5.0.0.0-RC3',
2747
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-tags-v1-controller.php'
2748
  ),
2749
  'WC_REST_Customer_Downloads_V1_Controller' => array(
2750
- 'version' => '5.0.0.0-RC3',
2751
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-customer-downloads-v1-controller.php'
2752
  ),
2753
  'WC_REST_Orders_V1_Controller' => array(
2754
- 'version' => '5.0.0.0-RC3',
2755
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-orders-v1-controller.php'
2756
  ),
2757
  'WC_REST_Taxes_V1_Controller' => array(
2758
- 'version' => '5.0.0.0-RC3',
2759
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-taxes-v1-controller.php'
2760
  ),
2761
  'WC_REST_Order_Notes_V1_Controller' => array(
2762
- 'version' => '5.0.0.0-RC3',
2763
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-order-notes-v1-controller.php'
2764
  ),
2765
  'WC_REST_Product_Attribute_Terms_V1_Controller' => array(
2766
- 'version' => '5.0.0.0-RC3',
2767
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-attribute-terms-v1-controller.php'
2768
  ),
2769
  'WC_REST_Webhook_Deliveries_V1_Controller' => array(
2770
- 'version' => '5.0.0.0-RC3',
2771
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-webhook-deliveries-v1-controller.php'
2772
  ),
2773
  'WC_REST_Report_Top_Sellers_V1_Controller' => array(
2774
- 'version' => '5.0.0.0-RC3',
2775
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-report-top-sellers-v1-controller.php'
2776
  ),
2777
  'WC_REST_Product_Attributes_V1_Controller' => array(
2778
- 'version' => '5.0.0.0-RC3',
2779
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-attributes-v1-controller.php'
2780
  ),
2781
  'WC_REST_Order_Refunds_V1_Controller' => array(
2782
- 'version' => '5.0.0.0-RC3',
2783
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-order-refunds-v1-controller.php'
2784
  ),
2785
  'WC_REST_Product_Shipping_Classes_V1_Controller' => array(
2786
- 'version' => '5.0.0.0-RC3',
2787
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-shipping-classes-v1-controller.php'
2788
  ),
2789
  'WC_REST_Product_Reviews_V1_Controller' => array(
2790
- 'version' => '5.0.0.0-RC3',
2791
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-reviews-v1-controller.php'
2792
  ),
2793
  'WC_REST_Coupons_V1_Controller' => array(
2794
- 'version' => '5.0.0.0-RC3',
2795
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-coupons-v1-controller.php'
2796
  ),
2797
  'WC_REST_Report_Sales_V1_Controller' => array(
2798
- 'version' => '5.0.0.0-RC3',
2799
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-report-sales-v1-controller.php'
2800
  ),
2801
  'WC_REST_Reports_V2_Controller' => array(
2802
- 'version' => '5.0.0.0-RC3',
2803
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-reports-v2-controller.php'
2804
  ),
2805
  'WC_REST_Product_Variations_V2_Controller' => array(
2806
- 'version' => '5.0.0.0-RC3',
2807
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-variations-v2-controller.php'
2808
  ),
2809
  'WC_REST_Product_Attributes_V2_Controller' => array(
2810
- 'version' => '5.0.0.0-RC3',
2811
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-attributes-v2-controller.php'
2812
  ),
2813
  'WC_REST_Product_Tags_V2_Controller' => array(
2814
- 'version' => '5.0.0.0-RC3',
2815
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-tags-v2-controller.php'
2816
  ),
2817
  'WC_REST_System_Status_Tools_V2_Controller' => array(
2818
- 'version' => '5.0.0.0-RC3',
2819
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-tools-v2-controller.php'
2820
  ),
2821
  'WC_REST_Shipping_Zones_V2_Controller' => array(
2822
- 'version' => '5.0.0.0-RC3',
2823
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-zones-v2-controller.php'
2824
  ),
2825
  'WC_REST_Customers_V2_Controller' => array(
2826
- 'version' => '5.0.0.0-RC3',
2827
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-customers-v2-controller.php'
2828
  ),
2829
  'WC_REST_Shipping_Zone_Methods_V2_Controller' => array(
2830
- 'version' => '5.0.0.0-RC3',
2831
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-zone-methods-v2-controller.php'
2832
  ),
2833
  'WC_REST_Network_Orders_V2_Controller' => array(
2834
- 'version' => '5.0.0.0-RC3',
2835
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-network-orders-v2-controller.php'
2836
  ),
2837
  'WC_REST_Shipping_Methods_V2_Controller' => array(
2838
- 'version' => '5.0.0.0-RC3',
2839
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-methods-v2-controller.php'
2840
  ),
2841
  'WC_REST_Webhooks_V2_Controller' => array(
2842
- 'version' => '5.0.0.0-RC3',
2843
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-webhooks-v2-controller.php'
2844
  ),
2845
  'WC_REST_Payment_Gateways_V2_Controller' => array(
2846
- 'version' => '5.0.0.0-RC3',
2847
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-payment-gateways-v2-controller.php'
2848
  ),
2849
  'WC_REST_Coupons_V2_Controller' => array(
2850
- 'version' => '5.0.0.0-RC3',
2851
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-coupons-v2-controller.php'
2852
  ),
2853
  'WC_REST_Report_Top_Sellers_V2_Controller' => array(
2854
- 'version' => '5.0.0.0-RC3',
2855
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-report-top-sellers-v2-controller.php'
2856
  ),
2857
  'WC_REST_Products_V2_Controller' => array(
2858
- 'version' => '5.0.0.0-RC3',
2859
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-products-v2-controller.php'
2860
  ),
2861
  'WC_REST_Report_Sales_V2_Controller' => array(
2862
- 'version' => '5.0.0.0-RC3',
2863
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-report-sales-v2-controller.php'
2864
  ),
2865
  'WC_REST_Shipping_Zone_Locations_V2_Controller' => array(
2866
- 'version' => '5.0.0.0-RC3',
2867
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-zone-locations-v2-controller.php'
2868
  ),
2869
  'WC_REST_Product_Attribute_Terms_V2_Controller' => array(
2870
- 'version' => '5.0.0.0-RC3',
2871
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-attribute-terms-v2-controller.php'
2872
  ),
2873
  'WC_REST_Customer_Downloads_V2_Controller' => array(
2874
- 'version' => '5.0.0.0-RC3',
2875
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-customer-downloads-v2-controller.php'
2876
  ),
2877
  'WC_REST_Webhook_Deliveries_V2_Controller' => array(
2878
- 'version' => '5.0.0.0-RC3',
2879
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-webhook-deliveries-v2-controller.php'
2880
  ),
2881
  'WC_REST_Order_Refunds_V2_Controller' => array(
2882
- 'version' => '5.0.0.0-RC3',
2883
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-order-refunds-v2-controller.php'
2884
  ),
2885
  'WC_REST_Taxes_V2_Controller' => array(
2886
- 'version' => '5.0.0.0-RC3',
2887
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-taxes-v2-controller.php'
2888
  ),
2889
  'WC_REST_Product_Categories_V2_Controller' => array(
2890
- 'version' => '5.0.0.0-RC3',
2891
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-categories-v2-controller.php'
2892
  ),
2893
  'WC_REST_Orders_V2_Controller' => array(
2894
- 'version' => '5.0.0.0-RC3',
2895
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-orders-v2-controller.php'
2896
  ),
2897
  'WC_REST_Product_Shipping_Classes_V2_Controller' => array(
2898
- 'version' => '5.0.0.0-RC3',
2899
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-shipping-classes-v2-controller.php'
2900
  ),
2901
  'WC_REST_Tax_Classes_V2_Controller' => array(
2902
- 'version' => '5.0.0.0-RC3',
2903
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-tax-classes-v2-controller.php'
2904
  ),
2905
  'WC_REST_Settings_V2_Controller' => array(
2906
- 'version' => '5.0.0.0-RC3',
2907
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-settings-v2-controller.php'
2908
  ),
2909
  'WC_REST_Setting_Options_V2_Controller' => array(
2910
- 'version' => '5.0.0.0-RC3',
2911
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-setting-options-v2-controller.php'
2912
  ),
2913
  'WC_REST_Product_Reviews_V2_Controller' => array(
2914
- 'version' => '5.0.0.0-RC3',
2915
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-reviews-v2-controller.php'
2916
  ),
2917
  'WC_REST_Order_Notes_V2_Controller' => array(
2918
- 'version' => '5.0.0.0-RC3',
2919
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-order-notes-v2-controller.php'
2920
  ),
2921
  'WC_REST_System_Status_V2_Controller' => array(
2922
- 'version' => '5.0.0.0-RC3',
2923
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-v2-controller.php'
2924
  ),
2925
  'Automattic\\WooCommerce\\RestApi\\Utilities\\ImageAttachment' => array(
2926
- 'version' => '5.0.0.0-RC3',
2927
  'path' => $baseDir . '/includes/rest-api/Utilities/ImageAttachment.php'
2928
  ),
2929
  'Automattic\\WooCommerce\\RestApi\\Utilities\\SingletonTrait' => array(
2930
- 'version' => '5.0.0.0-RC3',
2931
  'path' => $baseDir . '/includes/rest-api/Utilities/SingletonTrait.php'
2932
  ),
2933
  'Automattic\\WooCommerce\\RestApi\\Server' => array(
2934
- 'version' => '5.0.0.0-RC3',
2935
  'path' => $baseDir . '/includes/rest-api/Server.php'
2936
  ),
2937
  'Automattic\\WooCommerce\\RestApi\\Package' => array(
2938
- 'version' => '5.0.0.0-RC3',
2939
  'path' => $baseDir . '/includes/rest-api/Package.php'
2940
  ),
2941
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\ProductHelper' => array(
2942
- 'version' => '5.0.0.0-RC3',
2943
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/ProductHelper.php'
2944
  ),
2945
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\AdminNotesHelper' => array(
2946
- 'version' => '5.0.0.0-RC3',
2947
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/AdminNotesHelper.php'
2948
  ),
2949
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\SettingsHelper' => array(
2950
- 'version' => '5.0.0.0-RC3',
2951
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/SettingsHelper.php'
2952
  ),
2953
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\CouponHelper' => array(
2954
- 'version' => '5.0.0.0-RC3',
2955
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/CouponHelper.php'
2956
  ),
2957
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\QueueHelper' => array(
2958
- 'version' => '5.0.0.0-RC3',
2959
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/QueueHelper.php'
2960
  ),
2961
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\CustomerHelper' => array(
2962
- 'version' => '5.0.0.0-RC3',
2963
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/CustomerHelper.php'
2964
  ),
2965
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\OrderHelper' => array(
2966
- 'version' => '5.0.0.0-RC3',
2967
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/OrderHelper.php'
2968
  ),
2969
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\ShippingHelper' => array(
2970
- 'version' => '5.0.0.0-RC3',
2971
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/ShippingHelper.php'
2972
  ),
2973
  'Automattic\\Jetpack\\Constants' => array(
763
  'path' => $vendorDir . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php'
764
  ),
765
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Inflector\\InflectorInterface' => array(
766
+ 'version' => '5.0.0.0',
767
  'path' => $baseDir . '/lib/packages/League/Container/Inflector/InflectorInterface.php'
768
  ),
769
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Inflector\\Inflector' => array(
770
+ 'version' => '5.0.0.0',
771
  'path' => $baseDir . '/lib/packages/League/Container/Inflector/Inflector.php'
772
  ),
773
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Inflector\\InflectorAggregate' => array(
774
+ 'version' => '5.0.0.0',
775
  'path' => $baseDir . '/lib/packages/League/Container/Inflector/InflectorAggregate.php'
776
  ),
777
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Inflector\\InflectorAggregateInterface' => array(
778
+ 'version' => '5.0.0.0',
779
  'path' => $baseDir . '/lib/packages/League/Container/Inflector/InflectorAggregateInterface.php'
780
  ),
781
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\RawArgumentInterface' => array(
782
+ 'version' => '5.0.0.0',
783
  'path' => $baseDir . '/lib/packages/League/Container/Argument/RawArgumentInterface.php'
784
  ),
785
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ArgumentResolverInterface' => array(
786
+ 'version' => '5.0.0.0',
787
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ArgumentResolverInterface.php'
788
  ),
789
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ArgumentResolverTrait' => array(
790
+ 'version' => '5.0.0.0',
791
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ArgumentResolverTrait.php'
792
  ),
793
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\RawArgument' => array(
794
+ 'version' => '5.0.0.0',
795
  'path' => $baseDir . '/lib/packages/League/Container/Argument/RawArgument.php'
796
  ),
797
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ClassName' => array(
798
+ 'version' => '5.0.0.0',
799
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ClassName.php'
800
  ),
801
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ClassNameWithOptionalValue' => array(
802
+ 'version' => '5.0.0.0',
803
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ClassNameWithOptionalValue.php'
804
  ),
805
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Argument\\ClassNameInterface' => array(
806
+ 'version' => '5.0.0.0',
807
  'path' => $baseDir . '/lib/packages/League/Container/Argument/ClassNameInterface.php'
808
  ),
809
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ReflectionContainer' => array(
810
+ 'version' => '5.0.0.0',
811
  'path' => $baseDir . '/lib/packages/League/Container/ReflectionContainer.php'
812
  ),
813
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\AbstractServiceProvider' => array(
814
+ 'version' => '5.0.0.0',
815
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/AbstractServiceProvider.php'
816
  ),
817
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\ServiceProviderInterface' => array(
818
+ 'version' => '5.0.0.0',
819
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/ServiceProviderInterface.php'
820
  ),
821
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\ServiceProviderAggregate' => array(
822
+ 'version' => '5.0.0.0',
823
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/ServiceProviderAggregate.php'
824
  ),
825
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\ServiceProviderAggregateInterface' => array(
826
+ 'version' => '5.0.0.0',
827
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/ServiceProviderAggregateInterface.php'
828
  ),
829
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ServiceProvider\\BootableServiceProviderInterface' => array(
830
+ 'version' => '5.0.0.0',
831
  'path' => $baseDir . '/lib/packages/League/Container/ServiceProvider/BootableServiceProviderInterface.php'
832
  ),
833
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Exception\\NotFoundException' => array(
834
+ 'version' => '5.0.0.0',
835
  'path' => $baseDir . '/lib/packages/League/Container/Exception/NotFoundException.php'
836
  ),
837
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Exception\\ContainerException' => array(
838
+ 'version' => '5.0.0.0',
839
  'path' => $baseDir . '/lib/packages/League/Container/Exception/ContainerException.php'
840
  ),
841
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ContainerAwareInterface' => array(
842
+ 'version' => '5.0.0.0',
843
  'path' => $baseDir . '/lib/packages/League/Container/ContainerAwareInterface.php'
844
  ),
845
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\ContainerAwareTrait' => array(
846
+ 'version' => '5.0.0.0',
847
  'path' => $baseDir . '/lib/packages/League/Container/ContainerAwareTrait.php'
848
  ),
849
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Container' => array(
850
+ 'version' => '5.0.0.0',
851
  'path' => $baseDir . '/lib/packages/League/Container/Container.php'
852
  ),
853
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Definition\\DefinitionAggregateInterface' => array(
854
+ 'version' => '5.0.0.0',
855
  'path' => $baseDir . '/lib/packages/League/Container/Definition/DefinitionAggregateInterface.php'
856
  ),
857
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Definition\\DefinitionInterface' => array(
858
+ 'version' => '5.0.0.0',
859
  'path' => $baseDir . '/lib/packages/League/Container/Definition/DefinitionInterface.php'
860
  ),
861
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Definition\\DefinitionAggregate' => array(
862
+ 'version' => '5.0.0.0',
863
  'path' => $baseDir . '/lib/packages/League/Container/Definition/DefinitionAggregate.php'
864
  ),
865
  'Automattic\\WooCommerce\\Vendor\\League\\Container\\Definition\\Definition' => array(
866
+ 'version' => '5.0.0.0',
867
  'path' => $baseDir . '/lib/packages/League/Container/Definition/Definition.php'
868
  ),
869
  'Automattic\\WooCommerce\\Tests\\Proxies\\MockableLegacyProxyTest' => array(
870
+ 'version' => '5.0.0.0',
871
  'path' => $baseDir . '/tests/php/src/Proxies/MockableLegacyProxyTest.php'
872
  ),
873
  'Automattic\\WooCommerce\\Tests\\Proxies\\LegacyProxyTest' => array(
874
+ 'version' => '5.0.0.0',
875
  'path' => $baseDir . '/tests/php/src/Proxies/LegacyProxyTest.php'
876
  ),
877
  'Automattic\\WooCommerce\\Tests\\Proxies\\ExampleClasses\\ClassThatDependsOnLegacyCode' => array(
878
+ 'version' => '5.0.0.0',
879
  'path' => $baseDir . '/tests/php/src/Proxies/ExampleClasses/ClassThatDependsOnLegacyCode.php'
880
  ),
881
  'Automattic\\WooCommerce\\Tests\\Proxies\\ClassThatDependsOnLegacyCodeTest' => array(
882
+ 'version' => '5.0.0.0',
883
  'path' => $baseDir . '/tests/php/src/Proxies/ClassThatDependsOnLegacyCodeTest.php'
884
  ),
885
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithPrivateInjectionMethod' => array(
886
+ 'version' => '5.0.0.0',
887
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithPrivateInjectionMethod.php'
888
  ),
889
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithNonFinalInjectionMethod' => array(
890
+ 'version' => '5.0.0.0',
891
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithNonFinalInjectionMethod.php'
892
  ),
893
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithScalarInjectionMethodArgument' => array(
894
+ 'version' => '5.0.0.0',
895
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithScalarInjectionMethodArgument.php'
896
  ),
897
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithInjectionMethodArgumentWithoutTypeHint' => array(
898
+ 'version' => '5.0.0.0',
899
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithInjectionMethodArgumentWithoutTypeHint.php'
900
  ),
901
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\DependencyClass' => array(
902
+ 'version' => '5.0.0.0',
903
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/DependencyClass.php'
904
  ),
905
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExampleClasses\\ClassWithDependencies' => array(
906
+ 'version' => '5.0.0.0',
907
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExampleClasses/ClassWithDependencies.php'
908
  ),
909
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\ExtendedContainerTest' => array(
910
+ 'version' => '5.0.0.0',
911
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/ExtendedContainerTest.php'
912
  ),
913
  'Automattic\\WooCommerce\\Tests\\Internal\\DependencyManagement\\AbstractServiceProviderTest' => array(
914
+ 'version' => '5.0.0.0',
915
  'path' => $baseDir . '/tests/php/src/Internal/DependencyManagement/AbstractServiceProviderTest.php'
916
  ),
917
  'Automattic\\WooCommerce\\Tests\\Internal\\WCCom\\ConnectionHelperTest' => array(
918
+ 'version' => '5.0.0.0',
919
  'path' => $baseDir . '/tests/php/src/Internal/WCCom/ConnectionHelperTest.php'
920
  ),
921
  'Automattic\\WooCommerce\\Tests\\Internal\\DownloadPermissionsAdjusterTest' => array(
922
+ 'version' => '5.0.0.0',
923
  'path' => $baseDir . '/tests/php/src/Internal/DownloadPermissionsAdjusterTest.php'
924
  ),
925
  'Automattic\\WooCommerce\\Tests\\Utilities\\StringUtilTest' => array(
926
+ 'version' => '5.0.0.0',
927
  'path' => $baseDir . '/tests/php/src/Utilities/StringUtilTest.php'
928
  ),
929
  'Automattic\\WooCommerce\\Tests\\Utilities\\NumberUtilTest' => array(
930
+ 'version' => '5.0.0.0',
931
  'path' => $baseDir . '/tests/php/src/Utilities/NumberUtilTest.php'
932
  ),
933
  'Automattic\\WooCommerce\\Testing\\Tools\\DependencyManagement\\MockableLegacyProxy' => array(
934
+ 'version' => '5.0.0.0',
935
  'path' => $baseDir . '/tests/Tools/DependencyManagement/MockableLegacyProxy.php'
936
  ),
937
  'Automattic\\WooCommerce\\Testing\\Tools\\DependencyManagement\\DependencyManagementTestHook' => array(
938
+ 'version' => '5.0.0.0',
939
  'path' => $baseDir . '/tests/Tools/DependencyManagement/DependencyManagementTestHook.php'
940
  ),
941
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\CodeHacker' => array(
942
+ 'version' => '5.0.0.0',
943
  'path' => $baseDir . '/tests/Tools/CodeHacking/CodeHacker.php'
944
  ),
945
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\CodeHackerTestHook' => array(
946
+ 'version' => '5.0.0.0',
947
  'path' => $baseDir . '/tests/Tools/CodeHacking/CodeHackerTestHook.php'
948
  ),
949
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\Hacks\\BypassFinalsHack' => array(
950
+ 'version' => '5.0.0.0',
951
  'path' => $baseDir . '/tests/Tools/CodeHacking/Hacks/BypassFinalsHack.php'
952
  ),
953
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\Hacks\\StaticMockerHack' => array(
954
+ 'version' => '5.0.0.0',
955
  'path' => $baseDir . '/tests/Tools/CodeHacking/Hacks/StaticMockerHack.php'
956
  ),
957
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\Hacks\\FunctionsMockerHack' => array(
958
+ 'version' => '5.0.0.0',
959
  'path' => $baseDir . '/tests/Tools/CodeHacking/Hacks/FunctionsMockerHack.php'
960
  ),
961
  'Automattic\\WooCommerce\\Testing\\Tools\\CodeHacking\\Hacks\\CodeHack' => array(
962
+ 'version' => '5.0.0.0',
963
  'path' => $baseDir . '/tests/Tools/CodeHacking/Hacks/CodeHack.php'
964
  ),
965
  'Automattic\\WooCommerce\\Blocks\\RestApi' => array(
2455
  'path' => $baseDir . '/packages/woocommerce-admin/src/ReportExporter.php'
2456
  ),
2457
  'Automattic\\WooCommerce\\Packages' => array(
2458
+ 'version' => '5.0.0.0',
2459
  'path' => $baseDir . '/src/Packages.php'
2460
  ),
2461
  'Automattic\\WooCommerce\\Autoloader' => array(
2462
+ 'version' => '5.0.0.0',
2463
  'path' => $baseDir . '/src/Autoloader.php'
2464
  ),
2465
  'Automattic\\WooCommerce\\Checkout\\Helpers\\ReserveStockException' => array(
2466
+ 'version' => '5.0.0.0',
2467
  'path' => $baseDir . '/src/Checkout/Helpers/ReserveStockException.php'
2468
  ),
2469
  'Automattic\\WooCommerce\\Checkout\\Helpers\\ReserveStock' => array(
2470
+ 'version' => '5.0.0.0',
2471
  'path' => $baseDir . '/src/Checkout/Helpers/ReserveStock.php'
2472
  ),
2473
  'Automattic\\WooCommerce\\Proxies\\LegacyProxy' => array(
2474
+ 'version' => '5.0.0.0',
2475
  'path' => $baseDir . '/src/Proxies/LegacyProxy.php'
2476
  ),
2477
  'Automattic\\WooCommerce\\Proxies\\ActionsProxy' => array(
2478
+ 'version' => '5.0.0.0',
2479
  'path' => $baseDir . '/src/Proxies/ActionsProxy.php'
2480
  ),
2481
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\AbstractServiceProvider' => array(
2482
+ 'version' => '5.0.0.0',
2483
  'path' => $baseDir . '/src/Internal/DependencyManagement/AbstractServiceProvider.php'
2484
  ),
2485
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\ServiceProviders\\ProxiesServiceProvider' => array(
2486
+ 'version' => '5.0.0.0',
2487
  'path' => $baseDir . '/src/Internal/DependencyManagement/ServiceProviders/ProxiesServiceProvider.php'
2488
  ),
2489
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\ServiceProviders\\DownloadPermissionsAdjusterServiceProvider' => array(
2490
+ 'version' => '5.0.0.0',
2491
  'path' => $baseDir . '/src/Internal/DependencyManagement/ServiceProviders/DownloadPermissionsAdjusterServiceProvider.php'
2492
  ),
2493
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\ContainerException' => array(
2494
+ 'version' => '5.0.0.0',
2495
  'path' => $baseDir . '/src/Internal/DependencyManagement/ContainerException.php'
2496
  ),
2497
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\ExtendedContainer' => array(
2498
+ 'version' => '5.0.0.0',
2499
  'path' => $baseDir . '/src/Internal/DependencyManagement/ExtendedContainer.php'
2500
  ),
2501
  'Automattic\\WooCommerce\\Internal\\DependencyManagement\\Definition' => array(
2502
+ 'version' => '5.0.0.0',
2503
  'path' => $baseDir . '/src/Internal/DependencyManagement/Definition.php'
2504
  ),
2505
  'Automattic\\WooCommerce\\Internal\\WCCom\\ConnectionHelper' => array(
2506
+ 'version' => '5.0.0.0',
2507
  'path' => $baseDir . '/src/Internal/WCCom/ConnectionHelper.php'
2508
  ),
2509
  'Automattic\\WooCommerce\\Internal\\DownloadPermissionsAdjuster' => array(
2510
+ 'version' => '5.0.0.0',
2511
  'path' => $baseDir . '/src/Internal/DownloadPermissionsAdjuster.php'
2512
  ),
2513
  'Automattic\\WooCommerce\\Utilities\\StringUtil' => array(
2514
+ 'version' => '5.0.0.0',
2515
  'path' => $baseDir . '/src/Utilities/StringUtil.php'
2516
  ),
2517
  'Automattic\\WooCommerce\\Utilities\\NumberUtil' => array(
2518
+ 'version' => '5.0.0.0',
2519
  'path' => $baseDir . '/src/Utilities/NumberUtil.php'
2520
  ),
2521
  'Automattic\\WooCommerce\\Container' => array(
2522
+ 'version' => '5.0.0.0',
2523
  'path' => $baseDir . '/src/Container.php'
2524
  ),
2525
  'Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin' => array(
2526
+ 'version' => '2.9.1.0',
2527
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php'
2528
  ),
2529
  'Automattic\\Jetpack\\Autoloader\\AutoloadGenerator' => array(
2530
+ 'version' => '2.9.1.0',
2531
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php'
2532
  ),
2533
  'Automattic\\Jetpack\\Autoloader\\AutoloadProcessor' => array(
2534
+ 'version' => '2.9.1.0',
2535
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadProcessor.php'
2536
  ),
2537
  'Automattic\\Jetpack\\Autoloader\\ManifestGenerator' => array(
2538
+ 'version' => '2.9.1.0',
2539
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/ManifestGenerator.php'
2540
  ),
2541
  'Automattic\\Jetpack\\Autoloader\\AutoloadFileWriter' => array(
2542
+ 'version' => '2.9.1.0',
2543
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadFileWriter.php'
2544
  ),
2545
  'WC_REST_Order_Notes_Controller' => array(
2546
+ 'version' => '5.0.0.0',
2547
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-order-notes-controller.php'
2548
  ),
2549
  'WC_REST_Report_Orders_Totals_Controller' => array(
2550
+ 'version' => '5.0.0.0',
2551
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-orders-totals-controller.php'
2552
  ),
2553
  'WC_REST_Customer_Downloads_Controller' => array(
2554
+ 'version' => '5.0.0.0',
2555
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-customer-downloads-controller.php'
2556
  ),
2557
  'WC_REST_Payment_Gateways_Controller' => array(
2558
+ 'version' => '5.0.0.0',
2559
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-payment-gateways-controller.php'
2560
  ),
2561
  'WC_REST_System_Status_Controller' => array(
2562
+ 'version' => '5.0.0.0',
2563
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-system-status-controller.php'
2564
  ),
2565
  'WC_REST_Report_Reviews_Totals_Controller' => array(
2566
+ 'version' => '5.0.0.0',
2567
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-reviews-totals-controller.php'
2568
  ),
2569
  'WC_REST_Report_Top_Sellers_Controller' => array(
2570
+ 'version' => '5.0.0.0',
2571
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-top-sellers-controller.php'
2572
  ),
2573
  'WC_REST_Report_Products_Totals_Controller' => array(
2574
+ 'version' => '5.0.0.0',
2575
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-products-totals-controller.php'
2576
  ),
2577
  'WC_REST_Shipping_Methods_Controller' => array(
2578
+ 'version' => '5.0.0.0',
2579
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-methods-controller.php'
2580
  ),
2581
  'WC_REST_Controller' => array(
2582
+ 'version' => '5.0.0.0',
2583
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-controller.php'
2584
  ),
2585
  'WC_REST_Network_Orders_Controller' => array(
2586
+ 'version' => '5.0.0.0',
2587
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-network-orders-controller.php'
2588
  ),
2589
  'WC_REST_Product_Reviews_Controller' => array(
2590
+ 'version' => '5.0.0.0',
2591
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-reviews-controller.php'
2592
  ),
2593
  'WC_REST_Product_Attribute_Terms_Controller' => array(
2594
+ 'version' => '5.0.0.0',
2595
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-attribute-terms-controller.php'
2596
  ),
2597
  'WC_REST_Taxes_Controller' => array(
2598
+ 'version' => '5.0.0.0',
2599
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-taxes-controller.php'
2600
  ),
2601
  'WC_REST_Settings_Controller' => array(
2602
+ 'version' => '5.0.0.0',
2603
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-settings-controller.php'
2604
  ),
2605
  'WC_REST_CRUD_Controller' => array(
2606
+ 'version' => '5.0.0.0',
2607
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-crud-controller.php'
2608
  ),
2609
  'WC_REST_Setting_Options_Controller' => array(
2610
+ 'version' => '5.0.0.0',
2611
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-setting-options-controller.php'
2612
  ),
2613
  'WC_REST_System_Status_Tools_Controller' => array(
2614
+ 'version' => '5.0.0.0',
2615
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-system-status-tools-controller.php'
2616
  ),
2617
  'WC_REST_Product_Tags_Controller' => array(
2618
+ 'version' => '5.0.0.0',
2619
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-tags-controller.php'
2620
  ),
2621
  'WC_REST_Reports_Controller' => array(
2622
+ 'version' => '5.0.0.0',
2623
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-reports-controller.php'
2624
  ),
2625
  'WC_REST_Orders_Controller' => array(
2626
+ 'version' => '5.0.0.0',
2627
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-orders-controller.php'
2628
  ),
2629
  'WC_REST_Customers_Controller' => array(
2630
+ 'version' => '5.0.0.0',
2631
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-customers-controller.php'
2632
  ),
2633
  'WC_REST_Shipping_Zone_Locations_Controller' => array(
2634
+ 'version' => '5.0.0.0',
2635
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zone-locations-controller.php'
2636
  ),
2637
  'WC_REST_Webhooks_Controller' => array(
2638
+ 'version' => '5.0.0.0',
2639
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-webhooks-controller.php'
2640
  ),
2641
  'WC_REST_Tax_Classes_Controller' => array(
2642
+ 'version' => '5.0.0.0',
2643
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-tax-classes-controller.php'
2644
  ),
2645
  'WC_REST_Product_Categories_Controller' => array(
2646
+ 'version' => '5.0.0.0',
2647
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-categories-controller.php'
2648
  ),
2649
  'WC_REST_Coupons_Controller' => array(
2650
+ 'version' => '5.0.0.0',
2651
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-coupons-controller.php'
2652
  ),
2653
  'WC_REST_Data_Continents_Controller' => array(
2654
+ 'version' => '5.0.0.0',
2655
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-data-continents-controller.php'
2656
  ),
2657
  'WC_REST_Report_Sales_Controller' => array(
2658
+ 'version' => '5.0.0.0',
2659
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-sales-controller.php'
2660
  ),
2661
  'WC_REST_Data_Countries_Controller' => array(
2662
+ 'version' => '5.0.0.0',
2663
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-data-countries-controller.php'
2664
  ),
2665
  'WC_REST_Posts_Controller' => array(
2666
+ 'version' => '5.0.0.0',
2667
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-posts-controller.php'
2668
  ),
2669
  'WC_REST_Report_Coupons_Totals_Controller' => array(
2670
+ 'version' => '5.0.0.0',
2671
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-coupons-totals-controller.php'
2672
  ),
2673
  'WC_REST_Product_Attributes_Controller' => array(
2674
+ 'version' => '5.0.0.0',
2675
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-attributes-controller.php'
2676
  ),
2677
  'WC_REST_Terms_Controller' => array(
2678
+ 'version' => '5.0.0.0',
2679
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-terms-controller.php'
2680
  ),
2681
  'WC_REST_Product_Variations_Controller' => array(
2682
+ 'version' => '5.0.0.0',
2683
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-variations-controller.php'
2684
  ),
2685
  'WC_REST_Product_Shipping_Classes_Controller' => array(
2686
+ 'version' => '5.0.0.0',
2687
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-product-shipping-classes-controller.php'
2688
  ),
2689
  'WC_REST_Shipping_Zone_Methods_Controller' => array(
2690
+ 'version' => '5.0.0.0',
2691
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zone-methods-controller.php'
2692
  ),
2693
  'WC_REST_Products_Controller' => array(
2694
+ 'version' => '5.0.0.0',
2695
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-products-controller.php'
2696
  ),
2697
  'WC_REST_Shipping_Zones_Controller_Base' => array(
2698
+ 'version' => '5.0.0.0',
2699
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zones-controller-base.php'
2700
  ),
2701
  'WC_REST_Data_Currencies_Controller' => array(
2702
+ 'version' => '5.0.0.0',
2703
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-data-currencies-controller.php'
2704
  ),
2705
  'WC_REST_Shipping_Zones_Controller' => array(
2706
+ 'version' => '5.0.0.0',
2707
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zones-controller.php'
2708
  ),
2709
  'WC_REST_Report_Customers_Totals_Controller' => array(
2710
+ 'version' => '5.0.0.0',
2711
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-report-customers-totals-controller.php'
2712
  ),
2713
  'WC_REST_Data_Controller' => array(
2714
+ 'version' => '5.0.0.0',
2715
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-data-controller.php'
2716
  ),
2717
  'WC_REST_Order_Refunds_Controller' => array(
2718
+ 'version' => '5.0.0.0',
2719
  'path' => $baseDir . '/includes/rest-api/Controllers/Version3/class-wc-rest-order-refunds-controller.php'
2720
  ),
2721
  'WC_REST_Customers_V1_Controller' => array(
2722
+ 'version' => '5.0.0.0',
2723
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-customers-v1-controller.php'
2724
  ),
2725
  'WC_REST_Tax_Classes_V1_Controller' => array(
2726
+ 'version' => '5.0.0.0',
2727
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-tax-classes-v1-controller.php'
2728
  ),
2729
  'WC_REST_Products_V1_Controller' => array(
2730
+ 'version' => '5.0.0.0',
2731
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-products-v1-controller.php'
2732
  ),
2733
  'WC_REST_Webhooks_V1_Controller' => array(
2734
+ 'version' => '5.0.0.0',
2735
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-webhooks-v1-controller.php'
2736
  ),
2737
  'WC_REST_Reports_V1_Controller' => array(
2738
+ 'version' => '5.0.0.0',
2739
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-reports-v1-controller.php'
2740
  ),
2741
  'WC_REST_Product_Categories_V1_Controller' => array(
2742
+ 'version' => '5.0.0.0',
2743
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-categories-v1-controller.php'
2744
  ),
2745
  'WC_REST_Product_Tags_V1_Controller' => array(
2746
+ 'version' => '5.0.0.0',
2747
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-tags-v1-controller.php'
2748
  ),
2749
  'WC_REST_Customer_Downloads_V1_Controller' => array(
2750
+ 'version' => '5.0.0.0',
2751
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-customer-downloads-v1-controller.php'
2752
  ),
2753
  'WC_REST_Orders_V1_Controller' => array(
2754
+ 'version' => '5.0.0.0',
2755
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-orders-v1-controller.php'
2756
  ),
2757
  'WC_REST_Taxes_V1_Controller' => array(
2758
+ 'version' => '5.0.0.0',
2759
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-taxes-v1-controller.php'
2760
  ),
2761
  'WC_REST_Order_Notes_V1_Controller' => array(
2762
+ 'version' => '5.0.0.0',
2763
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-order-notes-v1-controller.php'
2764
  ),
2765
  'WC_REST_Product_Attribute_Terms_V1_Controller' => array(
2766
+ 'version' => '5.0.0.0',
2767
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-attribute-terms-v1-controller.php'
2768
  ),
2769
  'WC_REST_Webhook_Deliveries_V1_Controller' => array(
2770
+ 'version' => '5.0.0.0',
2771
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-webhook-deliveries-v1-controller.php'
2772
  ),
2773
  'WC_REST_Report_Top_Sellers_V1_Controller' => array(
2774
+ 'version' => '5.0.0.0',
2775
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-report-top-sellers-v1-controller.php'
2776
  ),
2777
  'WC_REST_Product_Attributes_V1_Controller' => array(
2778
+ 'version' => '5.0.0.0',
2779
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-attributes-v1-controller.php'
2780
  ),
2781
  'WC_REST_Order_Refunds_V1_Controller' => array(
2782
+ 'version' => '5.0.0.0',
2783
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-order-refunds-v1-controller.php'
2784
  ),
2785
  'WC_REST_Product_Shipping_Classes_V1_Controller' => array(
2786
+ 'version' => '5.0.0.0',
2787
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-shipping-classes-v1-controller.php'
2788
  ),
2789
  'WC_REST_Product_Reviews_V1_Controller' => array(
2790
+ 'version' => '5.0.0.0',
2791
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-product-reviews-v1-controller.php'
2792
  ),
2793
  'WC_REST_Coupons_V1_Controller' => array(
2794
+ 'version' => '5.0.0.0',
2795
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-coupons-v1-controller.php'
2796
  ),
2797
  'WC_REST_Report_Sales_V1_Controller' => array(
2798
+ 'version' => '5.0.0.0',
2799
  'path' => $baseDir . '/includes/rest-api/Controllers/Version1/class-wc-rest-report-sales-v1-controller.php'
2800
  ),
2801
  'WC_REST_Reports_V2_Controller' => array(
2802
+ 'version' => '5.0.0.0',
2803
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-reports-v2-controller.php'
2804
  ),
2805
  'WC_REST_Product_Variations_V2_Controller' => array(
2806
+ 'version' => '5.0.0.0',
2807
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-variations-v2-controller.php'
2808
  ),
2809
  'WC_REST_Product_Attributes_V2_Controller' => array(
2810
+ 'version' => '5.0.0.0',
2811
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-attributes-v2-controller.php'
2812
  ),
2813
  'WC_REST_Product_Tags_V2_Controller' => array(
2814
+ 'version' => '5.0.0.0',
2815
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-tags-v2-controller.php'
2816
  ),
2817
  'WC_REST_System_Status_Tools_V2_Controller' => array(
2818
+ 'version' => '5.0.0.0',
2819
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-tools-v2-controller.php'
2820
  ),
2821
  'WC_REST_Shipping_Zones_V2_Controller' => array(
2822
+ 'version' => '5.0.0.0',
2823
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-zones-v2-controller.php'
2824
  ),
2825
  'WC_REST_Customers_V2_Controller' => array(
2826
+ 'version' => '5.0.0.0',
2827
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-customers-v2-controller.php'
2828
  ),
2829
  'WC_REST_Shipping_Zone_Methods_V2_Controller' => array(
2830
+ 'version' => '5.0.0.0',
2831
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-zone-methods-v2-controller.php'
2832
  ),
2833
  'WC_REST_Network_Orders_V2_Controller' => array(
2834
+ 'version' => '5.0.0.0',
2835
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-network-orders-v2-controller.php'
2836
  ),
2837
  'WC_REST_Shipping_Methods_V2_Controller' => array(
2838
+ 'version' => '5.0.0.0',
2839
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-methods-v2-controller.php'
2840
  ),
2841
  'WC_REST_Webhooks_V2_Controller' => array(
2842
+ 'version' => '5.0.0.0',
2843
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-webhooks-v2-controller.php'
2844
  ),
2845
  'WC_REST_Payment_Gateways_V2_Controller' => array(
2846
+ 'version' => '5.0.0.0',
2847
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-payment-gateways-v2-controller.php'
2848
  ),
2849
  'WC_REST_Coupons_V2_Controller' => array(
2850
+ 'version' => '5.0.0.0',
2851
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-coupons-v2-controller.php'
2852
  ),
2853
  'WC_REST_Report_Top_Sellers_V2_Controller' => array(
2854
+ 'version' => '5.0.0.0',
2855
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-report-top-sellers-v2-controller.php'
2856
  ),
2857
  'WC_REST_Products_V2_Controller' => array(
2858
+ 'version' => '5.0.0.0',
2859
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-products-v2-controller.php'
2860
  ),
2861
  'WC_REST_Report_Sales_V2_Controller' => array(
2862
+ 'version' => '5.0.0.0',
2863
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-report-sales-v2-controller.php'
2864
  ),
2865
  'WC_REST_Shipping_Zone_Locations_V2_Controller' => array(
2866
+ 'version' => '5.0.0.0',
2867
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-zone-locations-v2-controller.php'
2868
  ),
2869
  'WC_REST_Product_Attribute_Terms_V2_Controller' => array(
2870
+ 'version' => '5.0.0.0',
2871
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-attribute-terms-v2-controller.php'
2872
  ),
2873
  'WC_REST_Customer_Downloads_V2_Controller' => array(
2874
+ 'version' => '5.0.0.0',
2875
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-customer-downloads-v2-controller.php'
2876
  ),
2877
  'WC_REST_Webhook_Deliveries_V2_Controller' => array(
2878
+ 'version' => '5.0.0.0',
2879
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-webhook-deliveries-v2-controller.php'
2880
  ),
2881
  'WC_REST_Order_Refunds_V2_Controller' => array(
2882
+ 'version' => '5.0.0.0',
2883
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-order-refunds-v2-controller.php'
2884
  ),
2885
  'WC_REST_Taxes_V2_Controller' => array(
2886
+ 'version' => '5.0.0.0',
2887
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-taxes-v2-controller.php'
2888
  ),
2889
  'WC_REST_Product_Categories_V2_Controller' => array(
2890
+ 'version' => '5.0.0.0',
2891
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-categories-v2-controller.php'
2892
  ),
2893
  'WC_REST_Orders_V2_Controller' => array(
2894
+ 'version' => '5.0.0.0',
2895
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-orders-v2-controller.php'
2896
  ),
2897
  'WC_REST_Product_Shipping_Classes_V2_Controller' => array(
2898
+ 'version' => '5.0.0.0',
2899
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-shipping-classes-v2-controller.php'
2900
  ),
2901
  'WC_REST_Tax_Classes_V2_Controller' => array(
2902
+ 'version' => '5.0.0.0',
2903
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-tax-classes-v2-controller.php'
2904
  ),
2905
  'WC_REST_Settings_V2_Controller' => array(
2906
+ 'version' => '5.0.0.0',
2907
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-settings-v2-controller.php'
2908
  ),
2909
  'WC_REST_Setting_Options_V2_Controller' => array(
2910
+ 'version' => '5.0.0.0',
2911
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-setting-options-v2-controller.php'
2912
  ),
2913
  'WC_REST_Product_Reviews_V2_Controller' => array(
2914
+ 'version' => '5.0.0.0',
2915
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-product-reviews-v2-controller.php'
2916
  ),
2917
  'WC_REST_Order_Notes_V2_Controller' => array(
2918
+ 'version' => '5.0.0.0',
2919
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-order-notes-v2-controller.php'
2920
  ),
2921
  'WC_REST_System_Status_V2_Controller' => array(
2922
+ 'version' => '5.0.0.0',
2923
  'path' => $baseDir . '/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-v2-controller.php'
2924
  ),
2925
  'Automattic\\WooCommerce\\RestApi\\Utilities\\ImageAttachment' => array(
2926
+ 'version' => '5.0.0.0',
2927
  'path' => $baseDir . '/includes/rest-api/Utilities/ImageAttachment.php'
2928
  ),
2929
  'Automattic\\WooCommerce\\RestApi\\Utilities\\SingletonTrait' => array(
2930
+ 'version' => '5.0.0.0',
2931
  'path' => $baseDir . '/includes/rest-api/Utilities/SingletonTrait.php'
2932
  ),
2933
  'Automattic\\WooCommerce\\RestApi\\Server' => array(
2934
+ 'version' => '5.0.0.0',
2935
  'path' => $baseDir . '/includes/rest-api/Server.php'
2936
  ),
2937
  'Automattic\\WooCommerce\\RestApi\\Package' => array(
2938
+ 'version' => '5.0.0.0',
2939
  'path' => $baseDir . '/includes/rest-api/Package.php'
2940
  ),
2941
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\ProductHelper' => array(
2942
+ 'version' => '5.0.0.0',
2943
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/ProductHelper.php'
2944
  ),
2945
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\AdminNotesHelper' => array(
2946
+ 'version' => '5.0.0.0',
2947
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/AdminNotesHelper.php'
2948
  ),
2949
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\SettingsHelper' => array(
2950
+ 'version' => '5.0.0.0',
2951
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/SettingsHelper.php'
2952
  ),
2953
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\CouponHelper' => array(
2954
+ 'version' => '5.0.0.0',
2955
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/CouponHelper.php'
2956
  ),
2957
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\QueueHelper' => array(
2958
+ 'version' => '5.0.0.0',
2959
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/QueueHelper.php'
2960
  ),
2961
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\CustomerHelper' => array(
2962
+ 'version' => '5.0.0.0',
2963
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/CustomerHelper.php'
2964
  ),
2965
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\OrderHelper' => array(
2966
+ 'version' => '5.0.0.0',
2967
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/OrderHelper.php'
2968
  ),
2969
  'Automattic\\WooCommerce\\RestApi\\UnitTests\\Helpers\\ShippingHelper' => array(
2970
+ 'version' => '5.0.0.0',
2971
  'path' => $baseDir . '/tests/legacy/unit-tests/rest-api/Helpers/ShippingHelper.php'
2972
  ),
2973
  'Automattic\\Jetpack\\Constants' => array(
vendor/jetpack-autoloader/class-autoloader-handler.php CHANGED
@@ -5,15 +5,24 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
 
 
12
  /**
13
  * This class selects the package version for the autoloader.
14
  */
15
  class Autoloader_Handler {
16
 
 
 
 
 
 
 
 
17
  /**
18
  * The Hook_Manager instance.
19
  *
@@ -38,22 +47,58 @@ class Autoloader_Handler {
38
  /**
39
  * The constructor.
40
  *
 
41
  * @param Hook_Manager $hook_manager The Hook_Manager instance.
42
  * @param Manifest_Reader $manifest_reader The Manifest_Reader instance.
43
  * @param Version_Selector $version_selector The Version_Selector instance.
44
  */
45
- public function __construct( $hook_manager, $manifest_reader, $version_selector ) {
 
46
  $this->hook_manager = $hook_manager;
47
  $this->manifest_reader = $manifest_reader;
48
  $this->version_selector = $version_selector;
49
  }
50
 
51
  /**
52
- * Creates an autoloader using the given plugins and activates it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  *
54
  * @param string[] $plugins The plugins to initialize the autoloader for.
55
  */
56
- public function create_autoloader( $plugins ) {
57
  global $jetpack_packages_psr4;
58
  $jetpack_packages_psr4 = array();
59
  $this->manifest_reader->read_manifests( $plugins, 'vendor/composer/jetpack_autoload_psr4.php', $jetpack_packages_psr4 );
@@ -73,19 +118,30 @@ class Autoloader_Handler {
73
  $jetpack_packages_filemap
74
  );
75
 
76
- // Activate the autoloader.
77
- Autoloader::activate( $loader );
 
 
78
  }
79
 
80
  /**
81
  * Resets the active autoloader and all related global state.
82
  */
83
  public function reset_autoloader() {
84
- global $jetpack_autoloader_loader;
85
- global $jetpack_autoloader_latest_version;
86
-
87
  $this->hook_manager->reset();
88
- $jetpack_autoloader_loader = null;
 
 
89
  $jetpack_autoloader_latest_version = null;
 
 
 
 
 
 
 
 
 
90
  }
91
  }
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
12
+ use Automattic\Jetpack\Autoloader\AutoloadGenerator;
13
+
14
  /**
15
  * This class selects the package version for the autoloader.
16
  */
17
  class Autoloader_Handler {
18
 
19
+ /**
20
+ * The PHP_Autoloader instance.
21
+ *
22
+ * @var PHP_Autoloader
23
+ */
24
+ private $php_autoloader;
25
+
26
  /**
27
  * The Hook_Manager instance.
28
  *
47
  /**
48
  * The constructor.
49
  *
50
+ * @param PHP_Autoloader $php_autoloader The PHP_Autoloader instance.
51
  * @param Hook_Manager $hook_manager The Hook_Manager instance.
52
  * @param Manifest_Reader $manifest_reader The Manifest_Reader instance.
53
  * @param Version_Selector $version_selector The Version_Selector instance.
54
  */
55
+ public function __construct( $php_autoloader, $hook_manager, $manifest_reader, $version_selector ) {
56
+ $this->php_autoloader = $php_autoloader;
57
  $this->hook_manager = $hook_manager;
58
  $this->manifest_reader = $manifest_reader;
59
  $this->version_selector = $version_selector;
60
  }
61
 
62
  /**
63
+ * Checks to see whether or not an autoloader is currently in the process of initializing.
64
+ *
65
+ * @return bool
66
+ */
67
+ public function is_initializing() {
68
+ // If no version has been set it means that no autoloader has started initializing yet.
69
+ global $jetpack_autoloader_latest_version;
70
+ if ( ! isset( $jetpack_autoloader_latest_version ) ) {
71
+ return false;
72
+ }
73
+
74
+ // When the version is set but the classmap is not it ALWAYS means that this is the
75
+ // latest autoloader and is being included by an older one.
76
+ global $jetpack_packages_classmap;
77
+ if ( empty( $jetpack_packages_classmap ) ) {
78
+ return true;
79
+ }
80
+
81
+ // Version 2.4.0 added a new global and altered the reset semantics. We need to check
82
+ // the other global as well since it may also point at initialization.
83
+ // Note: We don't need to check for the class first because every autoloader that
84
+ // will set the latest version global requires this class in the classmap.
85
+ $replacing_version = $jetpack_packages_classmap[ AutoloadGenerator::class ]['version'];
86
+ if ( $this->version_selector->is_dev_version( $replacing_version ) || version_compare( $replacing_version, '2.4.0.0', '>=' ) ) {
87
+ global $jetpack_autoloader_loader;
88
+ if ( ! isset( $jetpack_autoloader_loader ) ) {
89
+ return true;
90
+ }
91
+ }
92
+
93
+ return false;
94
+ }
95
+
96
+ /**
97
+ * Activates an autoloader using the given plugins and activates it.
98
  *
99
  * @param string[] $plugins The plugins to initialize the autoloader for.
100
  */
101
+ public function activate_autoloader( $plugins ) {
102
  global $jetpack_packages_psr4;
103
  $jetpack_packages_psr4 = array();
104
  $this->manifest_reader->read_manifests( $plugins, 'vendor/composer/jetpack_autoload_psr4.php', $jetpack_packages_psr4 );
118
  $jetpack_packages_filemap
119
  );
120
 
121
+ $this->php_autoloader->register_autoloader( $loader );
122
+
123
+ // Now that the autoloader is active we can load the filemap.
124
+ $loader->load_filemap();
125
  }
126
 
127
  /**
128
  * Resets the active autoloader and all related global state.
129
  */
130
  public function reset_autoloader() {
131
+ $this->php_autoloader->unregister_autoloader();
 
 
132
  $this->hook_manager->reset();
133
+
134
+ // Clear all of the autoloader globals so that older autoloaders don't do anything strange.
135
+ global $jetpack_autoloader_latest_version;
136
  $jetpack_autoloader_latest_version = null;
137
+
138
+ global $jetpack_packages_classmap;
139
+ $jetpack_packages_classmap = array(); // Must be array to avoid exceptions in old autoloaders!
140
+
141
+ global $jetpack_packages_psr4;
142
+ $jetpack_packages_psr4 = array(); // Must be array to avoid exceptions in old autoloaders!
143
+
144
+ global $jetpack_packages_filemap;
145
+ $jetpack_packages_filemap = array(); // Must be array to avoid exceptions in old autoloaders!
146
  }
147
  }
vendor/jetpack-autoloader/class-autoloader-locator.php CHANGED
@@ -5,11 +5,11 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
12
- use \Automattic\Jetpack\Autoloader\AutoloadGenerator;
13
 
14
  /**
15
  * This class locates autoloaders.
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
12
+ use Automattic\Jetpack\Autoloader\AutoloadGenerator;
13
 
14
  /**
15
  * This class locates autoloaders.
vendor/jetpack-autoloader/class-autoloader.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
@@ -30,6 +30,12 @@ class Autoloader {
30
 
31
  // phpcs:disable Generic.Commenting.DocComment.MissingShort
32
 
 
 
 
 
 
 
33
  /** @var Plugin_Locator $plugin_locator */
34
  $plugin_locator = $container->get( Plugin_Locator::class );
35
 
@@ -39,29 +45,39 @@ class Autoloader {
39
  // The current plugin is the one that we are attempting to initialize here.
40
  $current_plugin = $plugin_locator->find_current_plugin();
41
 
 
 
 
 
 
 
 
42
  // The cached plugins are all of those that were active or discovered by the autoloader during a previous request.
43
  // Note that it's possible this list will include plugins that have since been deactivated, but after a request
44
  // the cache should be updated and the deactivated plugins will be removed.
45
  $cached_plugins = $plugins_handler->get_cached_plugins();
46
 
47
- // The active plugins are those that we were able to discover in on the site. This list will not include
48
- // mu-plugins, those activated by code, or those who are hidden by filtering.
49
- // By combining these lists we can preemptively load classes for plugins that are activated via another method.
50
- // While this may result in us considering packages in deactivated plugins the request after they're removed,
51
- // there shouldn't be any problems as a result and the eventual consistency is reliable enough.
52
- $all_plugins = array_values( array_unique( array_merge( $plugins_handler->get_active_plugins(), $cached_plugins ) ) );
 
 
 
 
 
 
53
 
54
  /** @var Latest_Autoloader_Guard $guard */
55
  $guard = $container->get( Latest_Autoloader_Guard::class );
56
- if ( $guard->should_stop_init( $current_plugin, $all_plugins ) ) {
57
  return;
58
  }
59
 
60
- /** @var Autoloader_Handler $autoloader_handler */
61
- $autoloader_handler = $container->get( Autoloader_Handler::class );
62
-
63
  // Initialize the autoloader using the handler now that we're ready.
64
- $autoloader_handler->create_autoloader( $all_plugins );
65
 
66
  /** @var Hook_Manager $hook_manager */
67
  $hook_manager = $container->get( Hook_Manager::class );
@@ -71,7 +87,7 @@ class Autoloader {
71
  // deactivated from being considered in other requests.
72
  $hook_manager->add_action(
73
  'shutdown',
74
- function () use ( $plugins_handler, $cached_plugins ) {
75
  // Don't save a broken cache if an error happens during some plugin's initialization.
76
  if ( ! did_action( 'plugins_loaded' ) ) {
77
  // Ensure that the cache is emptied to prevent consecutive failures if the cache is to blame.
@@ -82,10 +98,12 @@ class Autoloader {
82
  return;
83
  }
84
 
85
- // Load the active plugins fresh since the list we have above might not contain
86
  // plugins that were activated but did not reset the autoloader. This happens
87
- // because they were already included in the cache.
88
- $active_plugins = $plugins_handler->get_active_plugins();
 
 
89
 
90
  // The paths should be sorted for easy comparisons with those loaded from the cache.
91
  // Note we don't need to sort the cached entries because they're already sorted.
@@ -102,58 +120,4 @@ class Autoloader {
102
 
103
  // phpcs:enable Generic.Commenting.DocComment.MissingShort
104
  }
105
-
106
- /**
107
- * Loads a class file if one could be found.
108
- *
109
- * @param string $class_name The name of the class to autoload.
110
- *
111
- * @return bool Indicates whether or not a class file was loaded.
112
- */
113
- public static function load_class( $class_name ) {
114
- global $jetpack_autoloader_loader;
115
- if ( ! isset( $jetpack_autoloader_loader ) ) {
116
- return;
117
- }
118
-
119
- $file = $jetpack_autoloader_loader->find_class_file( $class_name );
120
- if ( ! isset( $file ) ) {
121
- return false;
122
- }
123
-
124
- require $file;
125
- return true;
126
- }
127
-
128
- /**
129
- * Activates this autoloader and deactivates any other v2 autoloaders that may be present.
130
- *
131
- * @param Version_Loader $version_loader The version loader for our autoloader.
132
- */
133
- public static function activate( $version_loader ) {
134
- // Set the global autoloader to indicate that we've activated this autoloader.
135
- global $jetpack_autoloader_loader;
136
- $jetpack_autoloader_loader = $version_loader;
137
-
138
- // Remove any v2 autoloader that we've already registered.
139
- $autoload_chain = spl_autoload_functions();
140
- foreach ( $autoload_chain as $autoloader ) {
141
- // Jetpack autoloaders are always strings.
142
- if ( ! is_string( $autoloader ) ) {
143
- continue;
144
- }
145
-
146
- // We can identify a v2 autoloader using the namespace prefix without the unique suffix.
147
- if ( 'Automattic\\Jetpack\\Autoloader\\jp' === substr( $autoloader, 0, 32 ) ) {
148
- spl_autoload_unregister( $autoloader );
149
- continue;
150
- }
151
- }
152
-
153
- // Ensure that the autoloader is first to avoid contention with others.
154
- spl_autoload_register( self::class . '::load_class', true, true );
155
-
156
- // Now that we've activated the autoloader we should load the filemap.
157
- $jetpack_autoloader_loader->load_filemap();
158
- }
159
  }
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
30
 
31
  // phpcs:disable Generic.Commenting.DocComment.MissingShort
32
 
33
+ /** @var Autoloader_Handler $autoloader_handler */
34
+ $autoloader_handler = $container->get( Autoloader_Handler::class );
35
+
36
+ // If the autoloader is already initializing it means that it has included us as the latest.
37
+ $was_included_by_autoloader = $autoloader_handler->is_initializing();
38
+
39
  /** @var Plugin_Locator $plugin_locator */
40
  $plugin_locator = $container->get( Plugin_Locator::class );
41
 
45
  // The current plugin is the one that we are attempting to initialize here.
46
  $current_plugin = $plugin_locator->find_current_plugin();
47
 
48
+ // The active plugins are those that we were able to discover on the site. This list will not
49
+ // include mu-plugins, those activated by code, or those who are hidden by filtering. We also
50
+ // want to take care to not consider the current plugin unknown if it was included by an
51
+ // autoloader. This avoids the case where a plugin will be marked "active" while deactivated
52
+ // due to it having the latest autoloader.
53
+ $active_plugins = $plugins_handler->get_active_plugins( true, ! $was_included_by_autoloader );
54
+
55
  // The cached plugins are all of those that were active or discovered by the autoloader during a previous request.
56
  // Note that it's possible this list will include plugins that have since been deactivated, but after a request
57
  // the cache should be updated and the deactivated plugins will be removed.
58
  $cached_plugins = $plugins_handler->get_cached_plugins();
59
 
60
+ // We combine the active list and cached list to preemptively load classes for plugins that are
61
+ // presently unknown but will be loaded during the request. While this may result in us considering packages in
62
+ // deactivated plugins there shouldn't be any problems as a result and the eventual consistency is sufficient.
63
+ $all_plugins = array_merge( $active_plugins, $cached_plugins );
64
+
65
+ // In particular we also include the current plugin to address the case where it is the latest autoloader
66
+ // but also unknown (and not cached). We don't want it in the active list because we don't know that it
67
+ // is active but we need it in the all plugins list so that it is considered by the autoloader.
68
+ $all_plugins[] = $current_plugin;
69
+
70
+ // We require uniqueness in the array to avoid processing the same plugin more than once.
71
+ $all_plugins = array_values( array_unique( $all_plugins ) );
72
 
73
  /** @var Latest_Autoloader_Guard $guard */
74
  $guard = $container->get( Latest_Autoloader_Guard::class );
75
+ if ( $guard->should_stop_init( $current_plugin, $all_plugins, $was_included_by_autoloader ) ) {
76
  return;
77
  }
78
 
 
 
 
79
  // Initialize the autoloader using the handler now that we're ready.
80
+ $autoloader_handler->activate_autoloader( $all_plugins );
81
 
82
  /** @var Hook_Manager $hook_manager */
83
  $hook_manager = $container->get( Hook_Manager::class );
87
  // deactivated from being considered in other requests.
88
  $hook_manager->add_action(
89
  'shutdown',
90
+ function () use ( $plugins_handler, $cached_plugins, $was_included_by_autoloader ) {
91
  // Don't save a broken cache if an error happens during some plugin's initialization.
92
  if ( ! did_action( 'plugins_loaded' ) ) {
93
  // Ensure that the cache is emptied to prevent consecutive failures if the cache is to blame.
98
  return;
99
  }
100
 
101
+ // Load the active plugins fresh since the list we pulled earlier might not contain
102
  // plugins that were activated but did not reset the autoloader. This happens
103
+ // when a plugin is in the cache but not "active" when the autoloader loads.
104
+ // We also want to make sure that plugins which are deactivating are not
105
+ // considered "active" so that they will be removed from the cache now.
106
+ $active_plugins = $plugins_handler->get_active_plugins( false, ! $was_included_by_autoloader );
107
 
108
  // The paths should be sorted for easy comparisons with those loaded from the cache.
109
  // Note we don't need to sort the cached entries because they're already sorted.
120
 
121
  // phpcs:enable Generic.Commenting.DocComment.MissingShort
122
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  }
vendor/jetpack-autoloader/class-container.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
@@ -95,6 +95,9 @@ class Container {
95
  $this->get( Version_Selector::class )
96
  );
97
 
 
 
 
98
  require_once __DIR__ . '/class-manifest-reader.php';
99
  $this->dependencies[ Manifest_Reader::class ] = new Manifest_Reader(
100
  $this->get( Version_Selector::class )
@@ -108,6 +111,7 @@ class Container {
108
 
109
  require_once __DIR__ . '/class-autoloader-handler.php';
110
  $this->dependencies[ Autoloader_Handler::class ] = new Autoloader_Handler(
 
111
  $this->get( Hook_Manager::class ),
112
  $this->get( Manifest_Reader::class ),
113
  $this->get( Version_Selector::class )
@@ -128,22 +132,18 @@ class Container {
128
  * Initializes any of the globals needed by the autoloader.
129
  */
130
  private function initialize_globals() {
 
 
 
 
 
 
 
131
  // Not all plugins can be found using the locator. In cases where a plugin loads the autoloader
132
  // but was not discoverable, we will record them in this array to track them as "active".
133
  global $jetpack_autoloader_activating_plugins_paths;
134
  if ( ! isset( $jetpack_autoloader_activating_plugins_paths ) ) {
135
  $jetpack_autoloader_activating_plugins_paths = array();
136
  }
137
-
138
- // Since older autoloaders include newer ones, we need to be able to tell the difference between an
139
- // inclusion via autoloader and an inclusion via plugin file. This allows the autoloader to
140
- // perform special tasks for each kind of inclusion.
141
- global $jetpack_autoloader_including_latest;
142
- if ( ! isset( $jetpack_autoloader_including_latest ) ) {
143
- // If the latest version global has been set but the including latest hasn't, it means that an
144
- // older autoloader without support for the global is including us.
145
- global $jetpack_autoloader_latest_version;
146
- $jetpack_autoloader_including_latest = isset( $jetpack_autoloader_latest_version );
147
- }
148
  }
149
  }
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
95
  $this->get( Version_Selector::class )
96
  );
97
 
98
+ require_once __DIR__ . '/class-php-autoloader.php';
99
+ $this->dependencies[ PHP_Autoloader::class ] = new PHP_Autoloader();
100
+
101
  require_once __DIR__ . '/class-manifest-reader.php';
102
  $this->dependencies[ Manifest_Reader::class ] = new Manifest_Reader(
103
  $this->get( Version_Selector::class )
111
 
112
  require_once __DIR__ . '/class-autoloader-handler.php';
113
  $this->dependencies[ Autoloader_Handler::class ] = new Autoloader_Handler(
114
+ $this->get( PHP_Autoloader::class ),
115
  $this->get( Hook_Manager::class ),
116
  $this->get( Manifest_Reader::class ),
117
  $this->get( Version_Selector::class )
132
  * Initializes any of the globals needed by the autoloader.
133
  */
134
  private function initialize_globals() {
135
+ /*
136
+ * This global was retired in version 2.9. The value is set to 'false' to maintain
137
+ * compatibility with older versions of the autoloader.
138
+ */
139
+ global $jetpack_autoloader_including_latest;
140
+ $jetpack_autoloader_including_latest = false;
141
+
142
  // Not all plugins can be found using the locator. In cases where a plugin loads the autoloader
143
  // but was not discoverable, we will record them in this array to track them as "active".
144
  global $jetpack_autoloader_activating_plugins_paths;
145
  if ( ! isset( $jetpack_autoloader_activating_plugins_paths ) ) {
146
  $jetpack_autoloader_activating_plugins_paths = array();
147
  }
 
 
 
 
 
 
 
 
 
 
 
148
  }
149
  }
vendor/jetpack-autoloader/class-hook-manager.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
vendor/jetpack-autoloader/class-latest-autoloader-guard.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
@@ -53,38 +53,31 @@ class Latest_Autoloader_Guard {
53
  * has the side-effect of actually loading the latest autoloader in the event that this
54
  * is not it.
55
  *
56
- * @param string $current_plugin The current plugin we're checking.
57
- * @param string[] $plugins The active plugins to check for autoloaders in.
 
58
  *
59
  * @return bool True if we should stop initialization, otherwise false.
60
  */
61
- public function should_stop_init( $current_plugin, $plugins ) {
62
- global $jetpack_autoloader_including_latest;
63
  global $jetpack_autoloader_latest_version;
64
 
65
- // When we're being included from an older autoloader we need to
66
- // reset the latest version so that the new autoloader can look
67
- // for the latest autoloader again.
68
- if ( $jetpack_autoloader_including_latest ) {
69
- $jetpack_autoloader_latest_version = null;
70
- }
71
-
72
  // We need to reset the autoloader when the plugins change because
73
  // that means the autoloader was generated with a different list.
74
  if ( $this->plugins_handler->have_plugins_changed( $plugins ) ) {
75
  $this->autoloader_handler->reset_autoloader();
76
  }
77
 
78
- // Don't bother initializing the autoloader if it already has been.
79
- if ( isset( $jetpack_autoloader_latest_version ) ) {
 
 
80
  return true;
81
  }
82
 
83
  $latest_plugin = $this->autoloader_locator->find_latest_autoloader( $plugins, $jetpack_autoloader_latest_version );
84
  if ( isset( $latest_plugin ) && $latest_plugin !== $current_plugin ) {
85
- $jetpack_autoloader_including_latest = true;
86
  require $this->autoloader_locator->get_autoloader_path( $latest_plugin );
87
- $jetpack_autoloader_including_latest = false;
88
  return true;
89
  }
90
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
53
  * has the side-effect of actually loading the latest autoloader in the event that this
54
  * is not it.
55
  *
56
+ * @param string $current_plugin The current plugin we're checking.
57
+ * @param string[] $plugins The active plugins to check for autoloaders in.
58
+ * @param bool $was_included_by_autoloader Indicates whether or not this autoloader was included by another.
59
  *
60
  * @return bool True if we should stop initialization, otherwise false.
61
  */
62
+ public function should_stop_init( $current_plugin, $plugins, $was_included_by_autoloader ) {
 
63
  global $jetpack_autoloader_latest_version;
64
 
 
 
 
 
 
 
 
65
  // We need to reset the autoloader when the plugins change because
66
  // that means the autoloader was generated with a different list.
67
  if ( $this->plugins_handler->have_plugins_changed( $plugins ) ) {
68
  $this->autoloader_handler->reset_autoloader();
69
  }
70
 
71
+ // When the latest autoloader has already been found we don't need to search for it again.
72
+ // We should take care however because this will also trigger if the autoloader has been
73
+ // included by an older one.
74
+ if ( isset( $jetpack_autoloader_latest_version ) && ! $was_included_by_autoloader ) {
75
  return true;
76
  }
77
 
78
  $latest_plugin = $this->autoloader_locator->find_latest_autoloader( $plugins, $jetpack_autoloader_latest_version );
79
  if ( isset( $latest_plugin ) && $latest_plugin !== $current_plugin ) {
 
80
  require $this->autoloader_locator->get_autoloader_path( $latest_plugin );
 
81
  return true;
82
  }
83
 
vendor/jetpack-autoloader/class-manifest-reader.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
vendor/jetpack-autoloader/class-path-processor.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
@@ -17,6 +17,7 @@ class Path_Processor {
17
  * Given a path this will replace any of the path constants with a token to represent it.
18
  *
19
  * @param string $path The path we want to process.
 
20
  * @return string The tokenized path.
21
  */
22
  public function tokenize_path_constants( $path ) {
@@ -39,6 +40,7 @@ class Path_Processor {
39
  * Given a path this will replace any of the path constant tokens with the expanded path.
40
  *
41
  * @param string $tokenized_path The path we want to process.
 
42
  * @return string The expanded path.
43
  */
44
  public function untokenize_path_constants( $tokenized_path ) {
@@ -64,6 +66,7 @@ class Path_Processor {
64
  *
65
  * @param string $file The plugin or theme file to resolve.
66
  * @param array $directories_to_check The directories we should check for the file if it isn't an absolute path.
 
67
  * @return string|false Returns the absolute path to the directory, otherwise false.
68
  */
69
  public function find_directory_with_autoloader( $file, $directories_to_check ) {
@@ -122,6 +125,7 @@ class Path_Processor {
122
  * Indicates whether or not a path is absolute.
123
  *
124
  * @param string $path The path to check.
 
125
  * @return bool True if the path is absolute, otherwise false.
126
  */
127
  private function is_absolute_path( $path ) {
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
17
  * Given a path this will replace any of the path constants with a token to represent it.
18
  *
19
  * @param string $path The path we want to process.
20
+ *
21
  * @return string The tokenized path.
22
  */
23
  public function tokenize_path_constants( $path ) {
40
  * Given a path this will replace any of the path constant tokens with the expanded path.
41
  *
42
  * @param string $tokenized_path The path we want to process.
43
+ *
44
  * @return string The expanded path.
45
  */
46
  public function untokenize_path_constants( $tokenized_path ) {
66
  *
67
  * @param string $file The plugin or theme file to resolve.
68
  * @param array $directories_to_check The directories we should check for the file if it isn't an absolute path.
69
+ *
70
  * @return string|false Returns the absolute path to the directory, otherwise false.
71
  */
72
  public function find_directory_with_autoloader( $file, $directories_to_check ) {
125
  * Indicates whether or not a path is absolute.
126
  *
127
  * @param string $path The path to check.
128
+ *
129
  * @return bool True if the path is absolute, otherwise false.
130
  */
131
  private function is_absolute_path( $path ) {
vendor/jetpack-autoloader/class-php-autoloader.php ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file was automatically generated by automattic/jetpack-autoloader.
4
+ *
5
+ * @package automattic/jetpack-autoloader
6
+ */
7
+
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
+
10
+ // phpcs:ignore
11
+
12
+ /**
13
+ * This class handles management of the actual PHP autoloader.
14
+ */
15
+ class PHP_Autoloader {
16
+
17
+ /**
18
+ * Registers the autoloader with PHP so that it can begin autoloading classes.
19
+ *
20
+ * @param Version_Loader $version_loader The class loader to use in the autoloader.
21
+ */
22
+ public function register_autoloader( $version_loader ) {
23
+ // Make sure no other autoloaders are registered.
24
+ $this->unregister_autoloader();
25
+
26
+ // Set the global so that it can be used to load classes.
27
+ global $jetpack_autoloader_loader;
28
+ $jetpack_autoloader_loader = $version_loader;
29
+
30
+ // Ensure that the autoloader is first to avoid contention with others.
31
+ spl_autoload_register( array( self::class, 'load_class' ), true, true );
32
+ }
33
+
34
+ /**
35
+ * Unregisters the active autoloader so that it will no longer autoload classes.
36
+ */
37
+ public function unregister_autoloader() {
38
+ // Remove any v2 autoloader that we've already registered.
39
+ $autoload_chain = spl_autoload_functions();
40
+ foreach ( $autoload_chain as $autoloader ) {
41
+ // We can identify a v2 autoloader using the namespace.
42
+ $namespace_check = null;
43
+
44
+ // Functions are recorded as strings.
45
+ if ( is_string( $autoloader ) ) {
46
+ $namespace_check = $autoloader;
47
+ } elseif ( is_array( $autoloader ) && is_string( $autoloader[0] ) ) {
48
+ // Static method calls have the class as the first array element.
49
+ $namespace_check = $autoloader[0];
50
+ } else {
51
+ // Since the autoloader has only ever been a function or a static method we don't currently need to check anything else.
52
+ continue;
53
+ }
54
+
55
+ // Check for the namespace without the generated suffix.
56
+ if ( 'Automattic\\Jetpack\\Autoloader\\jp' === substr( $namespace_check, 0, 32 ) ) {
57
+ spl_autoload_unregister( $autoloader );
58
+ }
59
+ }
60
+
61
+ // Clear the global now that the autoloader has been unregistered.
62
+ global $jetpack_autoloader_loader;
63
+ $jetpack_autoloader_loader = null;
64
+ }
65
+
66
+ /**
67
+ * Loads a class file if one could be found.
68
+ *
69
+ * Note: This function is static so that the autoloader can be easily unregistered. If
70
+ * it was a class method we would have to unwrap the object to check the namespace.
71
+ *
72
+ * @param string $class_name The name of the class to autoload.
73
+ *
74
+ * @return bool Indicates whether or not a class file was loaded.
75
+ */
76
+ public static function load_class( $class_name ) {
77
+ global $jetpack_autoloader_loader;
78
+ if ( ! isset( $jetpack_autoloader_loader ) ) {
79
+ return;
80
+ }
81
+
82
+ $file = $jetpack_autoloader_loader->find_class_file( $class_name );
83
+ if ( ! isset( $file ) ) {
84
+ return false;
85
+ }
86
+
87
+ require $file;
88
+ return true;
89
+ }
90
+ }
vendor/jetpack-autoloader/class-plugin-locator.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
@@ -34,6 +34,7 @@ class Plugin_Locator {
34
  * Finds the path to the current plugin.
35
  *
36
  * @return string $path The path to the current plugin.
 
37
  * @throws \RuntimeException If the current plugin does not have an autoloader.
38
  */
39
  public function find_current_plugin() {
@@ -58,8 +59,8 @@ class Plugin_Locator {
58
  * @return array $plugin_paths The list of absolute paths we've found.
59
  */
60
  public function find_using_option( $option_name, $site_option = false ) {
61
- $raw = $site_option ? get_site_option( $option_name, array() ) : get_option( $option_name, array() );
62
- if ( empty( $raw ) ) {
63
  return array();
64
  }
65
 
@@ -67,11 +68,13 @@ class Plugin_Locator {
67
  }
68
 
69
  /**
70
- * Checks for plugins that are being activated in this request and returns all that it finds.
 
 
71
  *
72
  * @return array $plugin_paths The list of absolute paths we've found.
73
  */
74
- public function find_activating_this_request() {
75
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
76
 
77
  /**
@@ -85,11 +88,15 @@ class Plugin_Locator {
85
  return array();
86
  }
87
 
88
- $plugin_slugs = array();
89
-
90
  $action = isset( $_REQUEST['action'] ) ? wp_unslash( $_REQUEST['action'] ) : false;
 
 
 
 
 
91
  switch ( $action ) {
92
  case 'activate':
 
93
  if ( empty( $_REQUEST['plugin'] ) ) {
94
  break;
95
  }
@@ -98,6 +105,7 @@ class Plugin_Locator {
98
  break;
99
 
100
  case 'activate-selected':
 
101
  if ( empty( $_REQUEST['checked'] ) ) {
102
  break;
103
  }
@@ -106,6 +114,7 @@ class Plugin_Locator {
106
  break;
107
  }
108
 
 
109
  return $this->convert_plugins_to_paths( $plugin_slugs );
110
  }
111
 
@@ -119,6 +128,10 @@ class Plugin_Locator {
119
  * @return string[]
120
  */
121
  private function convert_plugins_to_paths( $plugins ) {
 
 
 
 
122
  // We're going to look for plugins in the standard directories.
123
  $path_constants = array( WP_PLUGIN_DIR, WPMU_PLUGIN_DIR );
124
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
34
  * Finds the path to the current plugin.
35
  *
36
  * @return string $path The path to the current plugin.
37
+ *
38
  * @throws \RuntimeException If the current plugin does not have an autoloader.
39
  */
40
  public function find_current_plugin() {
59
  * @return array $plugin_paths The list of absolute paths we've found.
60
  */
61
  public function find_using_option( $option_name, $site_option = false ) {
62
+ $raw = $site_option ? get_site_option( $option_name ) : get_option( $option_name );
63
+ if ( false === $raw ) {
64
  return array();
65
  }
66
 
68
  }
69
 
70
  /**
71
+ * Checks for plugins in the `action` request parameter.
72
+ *
73
+ * @param string[] $allowed_actions The actions that we're allowed to return plugins for.
74
  *
75
  * @return array $plugin_paths The list of absolute paths we've found.
76
  */
77
+ public function find_using_request_action( $allowed_actions ) {
78
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
79
 
80
  /**
88
  return array();
89
  }
90
 
 
 
91
  $action = isset( $_REQUEST['action'] ) ? wp_unslash( $_REQUEST['action'] ) : false;
92
+ if ( ! in_array( $action, $allowed_actions, true ) ) {
93
+ return array();
94
+ }
95
+
96
+ $plugin_slugs = array();
97
  switch ( $action ) {
98
  case 'activate':
99
+ case 'deactivate':
100
  if ( empty( $_REQUEST['plugin'] ) ) {
101
  break;
102
  }
105
  break;
106
 
107
  case 'activate-selected':
108
+ case 'deactivate-selected':
109
  if ( empty( $_REQUEST['checked'] ) ) {
110
  break;
111
  }
114
  break;
115
  }
116
 
117
+ // phpcs:enable WordPress.Security.NonceVerification.Recommended
118
  return $this->convert_plugins_to_paths( $plugin_slugs );
119
  }
120
 
128
  * @return string[]
129
  */
130
  private function convert_plugins_to_paths( $plugins ) {
131
+ if ( ! is_array( $plugins ) || empty( $plugins ) ) {
132
+ return array();
133
+ }
134
+
135
  // We're going to look for plugins in the standard directories.
136
  $path_constants = array( WP_PLUGIN_DIR, WPMU_PLUGIN_DIR );
137
 
vendor/jetpack-autoloader/class-plugins-handler.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
@@ -46,11 +46,13 @@ class Plugins_Handler {
46
  /**
47
  * Gets all of the active plugins we can find.
48
  *
 
 
 
49
  * @return string[]
50
  */
51
- public function get_active_plugins() {
52
  global $jetpack_autoloader_activating_plugins_paths;
53
- global $jetpack_autoloader_including_latest;
54
 
55
  // We're going to build a unique list of plugins from a few different sources
56
  // to find all of our "active" plugins. While we need to return an integer
@@ -81,7 +83,8 @@ class Plugins_Handler {
81
  }
82
  }
83
 
84
- $plugins = $this->plugin_locator->find_activating_this_request();
 
85
  foreach ( $plugins as $path ) {
86
  $active_plugins[ $path ] = $path;
87
  }
@@ -94,11 +97,20 @@ class Plugins_Handler {
94
  // of causing a reset because the active plugins list has
95
  // been changed since it was saved in the global.
96
  $current_plugin = $this->plugin_locator->find_current_plugin();
97
- if ( ! in_array( $current_plugin, $active_plugins, true ) && ! $jetpack_autoloader_including_latest ) {
98
  $active_plugins[ $current_plugin ] = $current_plugin;
99
  $jetpack_autoloader_activating_plugins_paths[] = $current_plugin;
100
  }
101
 
 
 
 
 
 
 
 
 
 
102
  // Transform the array so that we don't have to worry about the keys interacting with other array types later.
103
  return array_values( $active_plugins );
104
  }
@@ -110,7 +122,7 @@ class Plugins_Handler {
110
  */
111
  public function get_cached_plugins() {
112
  $cached = get_transient( self::TRANSIENT_KEY );
113
- if ( false === $cached ) {
114
  return array();
115
  }
116
 
@@ -142,12 +154,6 @@ class Plugins_Handler {
142
  public function have_plugins_changed( $plugins ) {
143
  global $jetpack_autoloader_cached_plugin_paths;
144
 
145
- // When no autoloader has executed there is nothing to have changed.
146
- if ( ! isset( $jetpack_autoloader_cached_plugin_paths ) ) {
147
- $jetpack_autoloader_cached_plugin_paths = $plugins;
148
- return false;
149
- }
150
-
151
  if ( $jetpack_autoloader_cached_plugin_paths !== $plugins ) {
152
  $jetpack_autoloader_cached_plugin_paths = $plugins;
153
  return true;
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
46
  /**
47
  * Gets all of the active plugins we can find.
48
  *
49
+ * @param bool $include_deactivating When true, plugins deactivating this request will be considered active.
50
+ * @param bool $record_unknown When true, the current plugin will be marked as active and recorded when unknown.
51
+ *
52
  * @return string[]
53
  */
54
+ public function get_active_plugins( $include_deactivating, $record_unknown ) {
55
  global $jetpack_autoloader_activating_plugins_paths;
 
56
 
57
  // We're going to build a unique list of plugins from a few different sources
58
  // to find all of our "active" plugins. While we need to return an integer
83
  }
84
  }
85
 
86
+ // These actions contain plugins that are being activated/deactivated during this request.
87
+ $plugins = $this->plugin_locator->find_using_request_action( array( 'activate', 'activate-selected', 'deactivate', 'deactivate-selected' ) );
88
  foreach ( $plugins as $path ) {
89
  $active_plugins[ $path ] = $path;
90
  }
97
  // of causing a reset because the active plugins list has
98
  // been changed since it was saved in the global.
99
  $current_plugin = $this->plugin_locator->find_current_plugin();
100
+ if ( $record_unknown && ! in_array( $current_plugin, $active_plugins, true ) ) {
101
  $active_plugins[ $current_plugin ] = $current_plugin;
102
  $jetpack_autoloader_activating_plugins_paths[] = $current_plugin;
103
  }
104
 
105
+ // When deactivating plugins aren't desired we should entirely remove them from the active list.
106
+ if ( ! $include_deactivating ) {
107
+ // These actions contain plugins that are being deactivated during this request.
108
+ $plugins = $this->plugin_locator->find_using_request_action( array( 'deactivate', 'deactivate-selected' ) );
109
+ foreach ( $plugins as $path ) {
110
+ unset( $active_plugins[ $path ] );
111
+ }
112
+ }
113
+
114
  // Transform the array so that we don't have to worry about the keys interacting with other array types later.
115
  return array_values( $active_plugins );
116
  }
122
  */
123
  public function get_cached_plugins() {
124
  $cached = get_transient( self::TRANSIENT_KEY );
125
+ if ( ! is_array( $cached ) || empty( $cached ) ) {
126
  return array();
127
  }
128
 
154
  public function have_plugins_changed( $plugins ) {
155
  global $jetpack_autoloader_cached_plugin_paths;
156
 
 
 
 
 
 
 
157
  if ( $jetpack_autoloader_cached_plugin_paths !== $plugins ) {
158
  $jetpack_autoloader_cached_plugin_paths = $plugins;
159
  return true;
vendor/jetpack-autoloader/class-version-loader.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
vendor/jetpack-autoloader/class-version-selector.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp2dc56b3d00ba638e98ee2efbda7238ce;
9
 
10
  // phpcs:ignore
11
 
@@ -33,11 +33,11 @@ class Version_Selector {
33
  return true;
34
  }
35
 
36
- if ( $use_dev_versions && $this->is_package_version_dev( $selected_version ) ) {
37
  return false;
38
  }
39
 
40
- if ( $this->is_package_version_dev( $compare_version ) ) {
41
  if ( $use_dev_versions ) {
42
  return true;
43
  } else {
@@ -59,7 +59,7 @@ class Version_Selector {
59
  *
60
  * @return bool True if the version is a dev version, else false.
61
  */
62
- private function is_package_version_dev( $version ) {
63
  if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
64
  return true;
65
  }
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jp1c37d41437aca3a88a6b698473c4d5c4;
9
 
10
  // phpcs:ignore
11
 
33
  return true;
34
  }
35
 
36
+ if ( $use_dev_versions && $this->is_dev_version( $selected_version ) ) {
37
  return false;
38
  }
39
 
40
+ if ( $this->is_dev_version( $compare_version ) ) {
41
  if ( $use_dev_versions ) {
42
  return true;
43
  } else {
59
  *
60
  * @return bool True if the version is a dev version, else false.
61
  */
62
+ public function is_dev_version( $version ) {
63
  if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
64
  return true;
65
  }
woocommerce.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WooCommerce
4
  * Plugin URI: https://woocommerce.com/
5
  * Description: An eCommerce toolkit that helps you sell anything. Beautifully.
6
- * Version: 5.0.0-rc.3
7
  * Author: Automattic
8
  * Author URI: https://woocommerce.com
9
  * Text Domain: woocommerce
3
  * Plugin Name: WooCommerce
4
  * Plugin URI: https://woocommerce.com/
5
  * Description: An eCommerce toolkit that helps you sell anything. Beautifully.
6
+ * Version: 5.0.0
7
  * Author: Automattic
8
  * Author URI: https://woocommerce.com
9
  * Text Domain: woocommerce