Version: 6.6.0
Fix: WooCommerce dependency check was erroneously failing on stores with other plugins including a woocommerce.php file. #4497
* Add: Highlight subscriptions with overdue payment in list view with red icon & tooltip.
* Add: New wcs_set_order_address() helper function to set an array of address fields on an order or subscription.
* Update: Admin subscription reports are disabled on stores that have opted into HPOS without data syncing enabled.
* Fix: Shipping address correctly set when resubscribing or switching subscriptions that contain different billing and shipping addresses.
* Fix: When processing customer requests to update all their subscription payment methods, ensure the updated subscription is used to fetch the new payment meta, not and old instance.
* Fix: Catch exceptions when changing payment method associated with a subscription to avoid fatal errors.
* Fix: Show the payment retries metabox for renewal orders that have retry attempts on stores that have HPOS enabled.
* Fix: Scheduled retry actions are now cancelled when trashing/deleting a renewal order on stores that have HPOS enabled.
* Fix: On HPOS stores, return the correct count per subscription status from the `/system_status` WC API endpoint.
* Fix: Refactor `WC_Subscriptions_Switcher::process_checkout()` to support stores with HPOS enabled.
* Fix: Refactor `WC_REST_Subscriptions_V1_Controller::get_subscription_orders()` to support stores with HPOS enabled.
* Fix: Edit, add, and list Subscription admin pages now work when HPOS is enabled.
* Fix: Fixed issues where multiple subscription purchases wouldn't appear on the My Account > Subscriptions screen, on HPOS environments.
* Fix: Refactor `WCS_Meta_Box_Subscription_Data::save` to support HPOS stores, fixing a PHP warning notice when updating an order via the Edit Order screen.
* Fix: Set the `download_permissions_granted` value when purchasing a downloadable subscription product when HPOS is enabled.
* Fix: When a customer changes their address on their account or subscription, make sure the new address is saved when HPOS is enabled.
* Fix: Removed the potential for an infinite loop when getting a subscription's related orders while the subscription is being loaded.
* Fix: Refactor `WC_Subscriptions_Renewal_Order` and `WC_Subscriptions_Tracker` classes to support HPOS stores.
* Fix: "Subscriptions by Payment Gateway" in WooCommerce → Status now shows the correct values when HPOS is enabled.
* Fix: Check whether the order actually exists before accessing order properties in wcs_order_contains_subscription().
* Fix: When a subscription's parent order is trashed or deleted, make sure the related subscription is also trashed or deleted on stores with HPOS enabled.
* Fix: When a subscription is trashed or deleted, make sure it is cancelled first on stores with HPOS enabled.
* Fix: Merge any custom meta_query args passed to wcs_get_orders_with_meta_query() to avoid overriding WC core args that map onto meta_query.
* Fix: Prevent erroneously resyncing a subscription every time it is loaded from the database on HPOS environments.
* Fix: On HPOS environments, ensure subscription related order caches are updated when relationship order meta (eg `_subscription_renewal` or `_subscription_switch`) is updated.
* Fix: On HPOS environments, update related orders cache when subscription is trashed, deleted, or restored / untrashed.
* Fix: Replace code using wp_count_posts(), get_post_type(), get_posts and wp_delete_post() with equivalent WC Data Store functions to support stores that have HPOS enabled.
* Dev: Add subscriptions-core library version to the WooCommerce system status report.
* Dev: Introduced a WCS_Object_Data_Cache_Manager and WCS_Object_Data_Cache_Manager_Many_To_One class as HPOS equivalents of the WCS_Post_Meta_Cache_Manager classes.
* Dev: Introduced a new `untrash_order()` in the `WCS_Orders_Table_Subscription_Data_Store` class to fix untrashing subscriptions on stores that have HPOS enabled.
* Dev: Moved the trash, untrash & delete related `add_actions()` in the `WC_Subscriptions_Manager` class to be added on the `woocommerce_loaded` action.
* Dev: Fix phpcs violations in the `WC_Subscriptions_Tracker` and `WCS_Admin_System_Status` classes to improve code quality.
* Dev: Deprecate the `WC_Subscriptions_Switcher::update_shipping_methods()` function.
* Dev: Fix phpcs violations in the `WC_REST_Subscription_System_Status_Manager` class to improve code quality.
* Dev: Remove deprecated `strptime` function in favour of `DateTime::createFromFormat`.
* Dev: Update subscriptions-core to 5.3.0.
* Dev: Bump minimum required version of WooCommerce to 6.5.
* Add: Declare incompatibility with WooCommerce High-Performance Order Storage (HPOS).
* Fix: Move One Time Shipping metabox fields to use the woocommerce_product_options_shipping_product_data hook introduced in WC 6.0.
* Update: Improve handling of bulk action execution.
* Dev: Update subscriptions-core to 2.3.0
Fix - Fatal Error caused in rare cases where quantity is zero during renewal, builds upon fix released in 4.4.0.
* Dev: Add missing `woocommerce_subscriptions_switch_link_text` and `woocommerce_subscriptions_switch_link_classes` filters for finer control of switch link. PR#4382
* Fix: Update subscription address when changed with renewals on block checkout.
Fix - Fatal Error caused in rare cases where quantity is zero during renewal.
* Dev: Retrieving users subscriptions order has been updated to use the WooCommerce specific APIs in WC_Subscriptions_Order.
* Dev: Deprecate the WC_Subscriptions_Order::get_meta() function. Use wcs_get_objects_property( $order, $meta_key, "single", $default ) instead.
* Dev: Update the wcs_get_objects_property() function to prevent calls to get_post_meta() on objects that support calling the get_meta() function.
* Dev: Replace the get_post_meta() calls in WCS_Post_Meta_Cache_Manager with WC_Order::get_meta().
* Dev: Replace code using get_post_type( $order_id ) with WC Data Store get_order_type().
* Dev: Replace all cases of update_post_meta() where an Order ID is passed to use WC_Order::update_meta_data() instead.
* Fix: Remove WooThemes helper/updater admin notice/banner. PR#4328
* Fix: Remove PHP/deprecation notices during the early renewal and switch process when using WooCommerce Blocks 7.2. PR#4341
* Fix: Display subscription billing details in the Cart Block when purchasing products with subscription plans created using the All Products extension. subscriptions-core#149
* Update: Switch to global functions to remove deprecation warnings originating from WooCommerce Blocks. subscriptions-core#124
* Dev: Update subscriptions-core to 1.9.0. PR#4345
* Fix: Undefined variable `user_can_suspend` when a customer suspension limit is defined and the max number of suspensions has been reached. PR#4318
* Fix: Sets up subscriptions integration with the Mini Cart Block and adds new hook to filter compatible blocks. subscriptions-core#103
* Fix: When using a WooCommerce Blocks powered checkout, fix an issue that led to limited products being removed from the cart when completing a switch or renewal order. subscriptions-core#119
* Fix: When there is only one Shipping Method available in the recurring shipping package, make sure that this method is treated as selected in the current session and the `woocommerce_after_shipping_rate` action runs. subscriptions-core#115
* Fix: Don't anonymize new subscriptions related to old subscriptions via a resubscribe relationship. subscriptions-core#121
* Fix: Content that appears on the My account > Payment methods page should be translatable. subscriptions-core#125
* Dev: Update subscriptions-core to 1.7.0. PR#4319
* Dev: Update subscriptions-core to 1.6.3. PR#4307
* Fix: Replace uses of is_ajax() with wp_doing_ajax(). wcs#4296 PR#4307
* Improve handling of session data.
* Fix: Prevent fatal error when too few arguments passed to widget_title filter. PR#4302
* Dev: Update subscriptions-core to 1.6.2. PR#4302
* Fix: Add back the limited subscription setting for simple subscription products (introduced in v3.1.5). PR#4214
* Fix: Points and Rewards discounts (including WC Coupons when Points and Rewards is active) being removed from the cart when applied on the checkout page. PR#4158
* Fix: Subscriptions with one-time shipping having shipping charged on all renewal orders. PR#4156
* Fix: Rare fatal error caused by missing WC_Query class. PR#4155
* Fix: Make loading the variation edit product tab more performant on large sites. PR#4144
* Fix: Add a primary key to the last payment temporary table to improve compatibility with some hosts on larger sites. PR#4151
* Tweak: Update the wording when a customer edits their subscription address that this applies to "future renewals". PR#4118
* Dev: Add missing `woocommerce_rest_pre_insert_shop_subscription_object` filter to prepare_object_for_database() within the Subscriptions REST API controller class. PR#4119
* Dev: Add a `data-payment-method` attribute to the Early Renewal modal button action. PR#4123