WooCommerce – Subscriptions – Version – 9.2.0

2026-09-08 – version 9.2.0
* Update: We’ve redesigned the WooCommerce Subscriptions settings page — a single-column layout with clearer labels and inline help:
* Early renewal payments are now on by default on stores that never saved the “Allow early renewal payments” setting. Turn it off under WooCommerce > Settings > Subscriptions.
* “Turn off automatic payments” now requires “Accept Manual Renewals” to be enabled.
* “Suspensions per Billing Period” is now a number field instead of a dropdown.
* “Switch Button Text” now defaults to “Switch” for new stores.
* Gifting is now set per product instead of storewide. A background migration carries the storewide default onto existing products, so they keep their current behavior; new products are off by default.
* A new bulk edit action on the Products screen enables or disables gifting across multiple products at once.
* Update: When a subscription’s scheduled event – a renewal payment, payment retry, trial end, expiration, end of prepaid term or customer notification – is cleared and not replaced, the failed-scheduled-actions log now records which subscription and event were affected and when the event should have run. Previously nothing in the WooCommerce logs identified the subscription, so a subscription left with a date and no scheduled action could only be found by hand., * Added a 9.2.0 upgrade step that creates the woocommerce_subscription_downloads table where it is missing. Stores that updated from a version older than 8.1.0 never got the table, so sharing downloadable files with subscription products silently failed.
* Removed a redundant maybe_unserialize() call from the product CSV export of subscription plan meta. WooCommerce already unserializes the value before the ‘woocommerce_product_export_meta_value’ filter runs, so the call never had anything to act on.
* The ‘woocommerce_subscriptions_switch_is_identical_product’ filter receives a seventh argument, whether the switcher found the switch to be to the plan the item is already on. When paying for a pending or failed switch order, that verdict is kept after the filter runs, since nothing is posted on that path for a callback to compare.
* On stores using high-performance order storage, WCS_Orders_Table_Subscription_Data_Store now writes only the subscription properties that changed, or that have no stored value, instead of re-asserting all of them on each save. Saving a subscription no longer writes those back over values changed since the instance was loaded, whether by another instance in the same request or by an earlier one. The store overrides get_props_to_update() to look for stored values in the orders meta table, where subscription properties are kept, rather than in post meta, where they are never found.
2026-08-05 – version 9.1.0
* Fix: Removed the onboarding notice and walkthrough shown after activating Subscriptions, which pointed merchants at the “Simple subscription” and “Variable subscription” product types — both off by default since 9.0.0.
* Fix: Invalid subscription switch payment links no longer attach an unrelated order to checkout.
* Fix: Order fields containing serialized text now retain their original value when copied to subscriptions on HPOS stores.