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.