Updates to 7.3.1

This commit is contained in:
WooCommerce
2025-03-31 10:17:45 +00:00
parent 37e1464122
commit 60e548cc2d
13 changed files with 84 additions and 90 deletions

View File

@@ -1,5 +1,9 @@
*** WooCommerce Subscriptions Changelog *** *** WooCommerce Subscriptions Changelog ***
2025-03-31 - version 7.3.1
* Update: Display the subscription parent order icon in the WooCommerce Orders list table by default.
* Dev: Update subscriptions-core to 8.1.1
2025-03-24 - version 7.3.0 2025-03-24 - version 7.3.0
* Tweak: Adjust the warning that appears on the reports page when HPOS is enabled but Compatibility Mode is disabled (provide a direct link to the relevant settings). * Tweak: Adjust the warning that appears on the reports page when HPOS is enabled but Compatibility Mode is disabled (provide a direct link to the relevant settings).
* Update: Improved subscription search performance for WP Post stores by removing unnecessary _order_key and _billing_email meta queries. * Update: Improved subscription search performance for WP Post stores by removing unnecessary _order_key and _billing_email meta queries.

View File

@@ -2,16 +2,16 @@
# This file is distributed under the same license as the WooCommerce Subscriptions plugin. # This file is distributed under the same license as the WooCommerce Subscriptions plugin.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WooCommerce Subscriptions 7.3.0\n" "Project-Id-Version: WooCommerce Subscriptions 7.3.1\n"
"Report-Msgid-Bugs-To: https://woocommerce.com/contact-us\n" "Report-Msgid-Bugs-To: https://woocommerce.com/contact-us\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2025-03-24T04:14:22+00:00\n" "POT-Creation-Date: 2025-03-31T01:31:21+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.9.0\n" "X-Generator: WP-CLI 2.11.0\n"
"X-Domain: woocommerce-subscriptions\n" "X-Domain: woocommerce-subscriptions\n"
#. Plugin Name of the plugin #. Plugin Name of the plugin
@@ -1924,6 +1924,46 @@ msgstr ""
msgid "Want to renew early via the checkout? Click %shere.%s" msgid "Want to renew early via the checkout? Click %shere.%s"
msgstr "" msgstr ""
#: tests/unit/scheduler/scheduler.php:65
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:290
msgctxt "table heading"
msgid "Start Date"
msgstr ""
#: tests/unit/scheduler/scheduler.php:66
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:291
msgctxt "table heading"
msgid "Trial End"
msgstr ""
#: tests/unit/scheduler/scheduler.php:67
#: vendor/woocommerce/subscriptions-core/templates/myaccount/my-subscriptions.php:43
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:292
msgctxt "table heading"
msgid "Next Payment"
msgstr ""
#: tests/unit/scheduler/scheduler.php:68
#: vendor/woocommerce/subscriptions-core/templates/emails/cancelled-subscription.php:41
#: vendor/woocommerce/subscriptions-core/templates/emails/expired-subscription.php:26
#: vendor/woocommerce/subscriptions-core/templates/emails/on-hold-subscription.php:26
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:293
msgctxt "table heading"
msgid "Last Order Date"
msgstr ""
#: tests/unit/scheduler/scheduler.php:69
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:294
msgctxt "table heading"
msgid "Cancelled Date"
msgstr ""
#: tests/unit/scheduler/scheduler.php:70
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:295
msgctxt "table heading"
msgid "End Date"
msgstr ""
#. translators: 1: relation type, 2: list of valid relation types. #. translators: 1: relation type, 2: list of valid relation types.
#: vendor/woocommerce/subscriptions-core/includes/abstracts/abstract-wcs-related-order-store.php:148 #: vendor/woocommerce/subscriptions-core/includes/abstracts/abstract-wcs-related-order-store.php:148
msgid "Invalid relation type: %1$s. Order relationship type must be one of: %2$s." msgid "Invalid relation type: %1$s. Order relationship type must be one of: %2$s."
@@ -6730,14 +6770,6 @@ msgctxt "table headings in notification email"
msgid "Price" msgid "Price"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/templates/emails/cancelled-subscription.php:41
#: vendor/woocommerce/subscriptions-core/templates/emails/expired-subscription.php:26
#: vendor/woocommerce/subscriptions-core/templates/emails/on-hold-subscription.php:26
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:293
msgctxt "table heading"
msgid "Last Order Date"
msgstr ""
#: vendor/woocommerce/subscriptions-core/templates/emails/cancelled-subscription.php:42 #: vendor/woocommerce/subscriptions-core/templates/emails/cancelled-subscription.php:42
msgctxt "table headings in notification email" msgctxt "table headings in notification email"
msgid "End of Prepaid Term" msgid "End of Prepaid Term"
@@ -7160,12 +7192,6 @@ msgstr ""
msgid "View subscription number %s" msgid "View subscription number %s"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/templates/myaccount/my-subscriptions.php:43
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:292
msgctxt "table heading"
msgid "Next Payment"
msgstr ""
#: vendor/woocommerce/subscriptions-core/templates/myaccount/my-subscriptions.php:49 #: vendor/woocommerce/subscriptions-core/templates/myaccount/my-subscriptions.php:49
#: vendor/woocommerce/subscriptions-core/templates/myaccount/related-orders.php:54 #: vendor/woocommerce/subscriptions-core/templates/myaccount/related-orders.php:54
#: vendor/woocommerce/subscriptions-core/templates/myaccount/related-subscriptions.php:43 #: vendor/woocommerce/subscriptions-core/templates/myaccount/related-subscriptions.php:43
@@ -7355,26 +7381,6 @@ msgstr ""
msgid "Can not get address type display name. Address type is not a string." msgid "Can not get address type display name. Address type is not a string."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:290
msgctxt "table heading"
msgid "Start Date"
msgstr ""
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:291
msgctxt "table heading"
msgid "Trial End"
msgstr ""
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:294
msgctxt "table heading"
msgid "Cancelled Date"
msgstr ""
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:295
msgctxt "table heading"
msgid "End Date"
msgstr ""
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:330 #: vendor/woocommerce/subscriptions-core/wcs-functions.php:330
msgid "Date type is not a string." msgid "Date type is not a string."
msgstr "" msgstr ""

2
vendor/autoload.php vendored
View File

@@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php'; require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit2b7b846857cbbe9f2e962ff7f867dff1::getLoader(); return ComposerAutoloaderInitdf568b8a1948145d8f675fb08a939b09::getLoader();

View File

@@ -32,11 +32,6 @@ class InstalledVersions
*/ */
private static $installed; private static $installed;
/**
* @var bool
*/
private static $installedIsLocalDir;
/** /**
* @var bool|null * @var bool|null
*/ */
@@ -314,12 +309,6 @@ class InstalledVersions
{ {
self::$installed = $data; self::$installed = $data;
self::$installedByVendor = array(); self::$installedByVendor = array();
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
// so we have to assume it does not, and that may result in duplicate data being returned when listing
// all installed packages for example
self::$installedIsLocalDir = false;
} }
/** /**
@@ -333,27 +322,19 @@ class InstalledVersions
} }
$installed = array(); $installed = array();
$copiedLocalDir = false;
if (self::$canGetVendors) { if (self::$canGetVendors) {
$selfDir = strtr(__DIR__, '\\', '/');
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
$vendorDir = strtr($vendorDir, '\\', '/');
if (isset(self::$installedByVendor[$vendorDir])) { if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir]; $installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) { } elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php'; $required = require $vendorDir.'/composer/installed.php';
self::$installedByVendor[$vendorDir] = $required; $installed[] = self::$installedByVendor[$vendorDir] = $required;
$installed[] = $required; if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { self::$installed = $installed[count($installed) - 1];
self::$installed = $required;
self::$installedIsLocalDir = true;
} }
} }
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
$copiedLocalDir = true;
}
} }
} }
@@ -369,7 +350,7 @@ class InstalledVersions
} }
} }
if (self::$installed !== array() && !$copiedLocalDir) { if (self::$installed !== array()) {
$installed[] = self::$installed; $installed[] = self::$installed;
} }

View File

@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer // autoload_real.php @generated by Composer
class ComposerAutoloaderInit2b7b846857cbbe9f2e962ff7f867dff1 class ComposerAutoloaderInitdf568b8a1948145d8f675fb08a939b09
{ {
private static $loader; private static $loader;
@@ -24,12 +24,12 @@ class ComposerAutoloaderInit2b7b846857cbbe9f2e962ff7f867dff1
require __DIR__ . '/platform_check.php'; require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInit2b7b846857cbbe9f2e962ff7f867dff1', 'loadClassLoader'), true, true); spl_autoload_register(array('ComposerAutoloaderInitdf568b8a1948145d8f675fb08a939b09', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit2b7b846857cbbe9f2e962ff7f867dff1', 'loadClassLoader')); spl_autoload_unregister(array('ComposerAutoloaderInitdf568b8a1948145d8f675fb08a939b09', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php'; require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit2b7b846857cbbe9f2e962ff7f867dff1::getInitializer($loader)); call_user_func(\Composer\Autoload\ComposerStaticInitdf568b8a1948145d8f675fb08a939b09::getInitializer($loader));
$loader->register(true); $loader->register(true);

View File

@@ -4,7 +4,7 @@
namespace Composer\Autoload; namespace Composer\Autoload;
class ComposerStaticInit2b7b846857cbbe9f2e962ff7f867dff1 class ComposerStaticInitdf568b8a1948145d8f675fb08a939b09
{ {
public static $prefixLengthsPsr4 = array ( public static $prefixLengthsPsr4 = array (
'C' => 'C' =>
@@ -126,9 +126,9 @@ class ComposerStaticInit2b7b846857cbbe9f2e962ff7f867dff1
public static function getInitializer(ClassLoader $loader) public static function getInitializer(ClassLoader $loader)
{ {
return \Closure::bind(function () use ($loader) { return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit2b7b846857cbbe9f2e962ff7f867dff1::$prefixLengthsPsr4; $loader->prefixLengthsPsr4 = ComposerStaticInitdf568b8a1948145d8f675fb08a939b09::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit2b7b846857cbbe9f2e962ff7f867dff1::$prefixDirsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInitdf568b8a1948145d8f675fb08a939b09::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit2b7b846857cbbe9f2e962ff7f867dff1::$classMap; $loader->classMap = ComposerStaticInitdf568b8a1948145d8f675fb08a939b09::$classMap;
}, null, ClassLoader::class); }, null, ClassLoader::class);
} }

View File

@@ -151,17 +151,17 @@
}, },
{ {
"name": "woocommerce/subscriptions-core", "name": "woocommerce/subscriptions-core",
"version": "8.1.0", "version": "8.1.1",
"version_normalized": "8.1.0.0", "version_normalized": "8.1.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Automattic/woocommerce-subscriptions-core.git", "url": "https://github.com/Automattic/woocommerce-subscriptions-core.git",
"reference": "e12381a3ac3cde2ad2ff2e762a0e28c3bee02e5c" "reference": "fb74303f96c53800aaec99a27e376aa9ece968cd"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Automattic/woocommerce-subscriptions-core/zipball/e12381a3ac3cde2ad2ff2e762a0e28c3bee02e5c", "url": "https://api.github.com/repos/Automattic/woocommerce-subscriptions-core/zipball/fb74303f96c53800aaec99a27e376aa9ece968cd",
"reference": "e12381a3ac3cde2ad2ff2e762a0e28c3bee02e5c", "reference": "fb74303f96c53800aaec99a27e376aa9ece968cd",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -174,7 +174,7 @@
"woocommerce/woocommerce-sniffs": "0.1.0", "woocommerce/woocommerce-sniffs": "0.1.0",
"yoast/phpunit-polyfills": "1.1.0" "yoast/phpunit-polyfills": "1.1.0"
}, },
"time": "2025-03-24T00:03:20+00:00", "time": "2025-03-31T00:33:21+00:00",
"type": "wordpress-plugin", "type": "wordpress-plugin",
"extra": { "extra": {
"phpcodesniffer-search-depth": 2 "phpcodesniffer-search-depth": 2
@@ -204,7 +204,7 @@
"description": "Sell products and services with recurring payments in your WooCommerce Store.", "description": "Sell products and services with recurring payments in your WooCommerce Store.",
"homepage": "https://github.com/Automattic/woocommerce-subscriptions-core", "homepage": "https://github.com/Automattic/woocommerce-subscriptions-core",
"support": { "support": {
"source": "https://github.com/Automattic/woocommerce-subscriptions-core/tree/8.1.0", "source": "https://github.com/Automattic/woocommerce-subscriptions-core/tree/8.1.1",
"issues": "https://github.com/Automattic/woocommerce-subscriptions-core/issues" "issues": "https://github.com/Automattic/woocommerce-subscriptions-core/issues"
}, },
"install-path": "../woocommerce/subscriptions-core" "install-path": "../woocommerce/subscriptions-core"

View File

@@ -1,9 +1,9 @@
<?php return array( <?php return array(
'root' => array( 'root' => array(
'name' => 'woocommerce/woocommerce-subscriptions', 'name' => 'woocommerce/woocommerce-subscriptions',
'pretty_version' => 'dev-release/7.3.0', 'pretty_version' => 'dev-release/7.3.1',
'version' => 'dev-release/7.3.0', 'version' => 'dev-release/7.3.1',
'reference' => 'ef3998fdc41ca6a6013d950438fd9a34a3204a06', 'reference' => 'bbd68f5de02c5b7fe412d87e548a957d7bfb8abf',
'type' => 'wordpress-plugin', 'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
'aliases' => array(), 'aliases' => array(),
@@ -20,18 +20,18 @@
'dev_requirement' => false, 'dev_requirement' => false,
), ),
'woocommerce/subscriptions-core' => array( 'woocommerce/subscriptions-core' => array(
'pretty_version' => '8.1.0', 'pretty_version' => '8.1.1',
'version' => '8.1.0.0', 'version' => '8.1.1.0',
'reference' => 'e12381a3ac3cde2ad2ff2e762a0e28c3bee02e5c', 'reference' => 'fb74303f96c53800aaec99a27e376aa9ece968cd',
'type' => 'wordpress-plugin', 'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../woocommerce/subscriptions-core', 'install_path' => __DIR__ . '/../woocommerce/subscriptions-core',
'aliases' => array(), 'aliases' => array(),
'dev_requirement' => false, 'dev_requirement' => false,
), ),
'woocommerce/woocommerce-subscriptions' => array( 'woocommerce/woocommerce-subscriptions' => array(
'pretty_version' => 'dev-release/7.3.0', 'pretty_version' => 'dev-release/7.3.1',
'version' => 'dev-release/7.3.0', 'version' => 'dev-release/7.3.1',
'reference' => 'ef3998fdc41ca6a6013d950438fd9a34a3204a06', 'reference' => 'bbd68f5de02c5b7fe412d87e548a957d7bfb8abf',
'type' => 'wordpress-plugin', 'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
'aliases' => array(), 'aliases' => array(),

View File

@@ -1,5 +1,8 @@
*** WooCommerce Subscriptions Core Changelog *** *** WooCommerce Subscriptions Core Changelog ***
= 8.1.1 - 2025-03-30 =
* Update - Display the subscriptions parent order icon in the WooCommerce Orders list table by default.
= 8.1.0 - 2025-03-24 = = 8.1.0 - 2025-03-24 =
* Update - Improved subscription search performance for WP Post stores by removing unnecessary _order_key and _billing_email meta queries. * Update - Improved subscription search performance for WP Post stores by removing unnecessary _order_key and _billing_email meta queries.
* Update - Make it possible to dispatch the Cancelled Subscription email more than once (when initially set to pending-cancellation, and again when it reaches final cancellation). * Update - Make it possible to dispatch the Cancelled Subscription email more than once (when initially set to pending-cancellation, and again when it reaches final cancellation).

View File

@@ -16,7 +16,7 @@ class WC_Subscriptions_Core_Plugin {
* The version of subscriptions-core library. * The version of subscriptions-core library.
* @var string * @var string
*/ */
protected $library_version = '8.1.0'; // WRCS: DEFINED_VERSION. protected $library_version = '8.1.1'; // WRCS: DEFINED_VERSION.
/** /**
* The subscription scheduler instance. * The subscription scheduler instance.

View File

@@ -2455,7 +2455,7 @@ class WC_Subscriptions_Order {
echo '<span class="subscription_renewal_order tips" data-tip="' . esc_attr__( 'Renewal Order', 'woocommerce-subscriptions' ) . '"></span>'; echo '<span class="subscription_renewal_order tips" data-tip="' . esc_attr__( 'Renewal Order', 'woocommerce-subscriptions' ) . '"></span>';
} elseif ( wcs_order_contains_resubscribe( $order ) ) { } elseif ( wcs_order_contains_resubscribe( $order ) ) {
echo '<span class="subscription_resubscribe_order tips" data-tip="' . esc_attr__( 'Resubscribe Order', 'woocommerce-subscriptions' ) . '"></span>'; echo '<span class="subscription_resubscribe_order tips" data-tip="' . esc_attr__( 'Resubscribe Order', 'woocommerce-subscriptions' ) . '"></span>';
} elseif ( apply_filters( 'woocommerce_subscriptions_orders_list_render_parent_order_relation', false, $order ) && wcs_order_contains_parent( $order ) ) { } elseif ( apply_filters( 'woocommerce_subscriptions_orders_list_render_parent_order_relation', true, $order ) && wcs_order_contains_parent( $order ) ) {
echo '<span class="subscription_parent_order tips" data-tip="' . esc_attr__( 'Parent Order', 'woocommerce-subscriptions' ) . '"></span>'; echo '<span class="subscription_parent_order tips" data-tip="' . esc_attr__( 'Parent Order', 'woocommerce-subscriptions' ) . '"></span>';
} else { } else {
echo '<span class="normal_order">&ndash;</span>'; echo '<span class="normal_order">&ndash;</span>';

View File

@@ -6,5 +6,5 @@
* Author: Automattic * Author: Automattic
* Author URI: https://woocommerce.com/ * Author URI: https://woocommerce.com/
* Requires WP: 5.6 * Requires WP: 5.6
* Version: 8.1.0 * Version: 8.1.1
*/ */

View File

@@ -5,7 +5,7 @@
* Description: Sell products and services with recurring payments in your WooCommerce Store. * Description: Sell products and services with recurring payments in your WooCommerce Store.
* Author: WooCommerce * Author: WooCommerce
* Author URI: https://woocommerce.com/ * Author URI: https://woocommerce.com/
* Version: 7.3.0 * Version: 7.3.1
* Requires Plugins: woocommerce * Requires Plugins: woocommerce
* *
* WC requires at least: 8.7.1 * WC requires at least: 8.7.1
@@ -78,7 +78,7 @@ class WC_Subscriptions {
public static $plugin_file = __FILE__; public static $plugin_file = __FILE__;
/** @var string */ /** @var string */
public static $version = '7.3.0'; // WRCS: DEFINED_VERSION. public static $version = '7.3.1'; // WRCS: DEFINED_VERSION.
/** @var string */ /** @var string */
public static $wc_minimum_supported_version = '7.7'; public static $wc_minimum_supported_version = '7.7';