WooCommerce 9.9.4: Fixes and an updated email rollout

WooCommerce 9.9.4 has been released

We have improved the stability of WooCommerce and addressed several edge-case issues reported by users and developers. In this release, weโ€™ve included fixes related to product categories, shipping rates, UI consistency, security enhancements, and a temporary adjustment to the rollout strategy of our new email improvements feature.

Current Stable Tag

๐Ÿ‘‰ WooCommerce 9.9.4

Released โ€” June 16, 2025

Whatโ€™s in this release

๐Ÿ”„ Update โ€“ Pause rollout of email improvements to existing stores. #58828
Based on feedback from a small number of merchants and developers, and out of an abundance of caution, we have paused the automatic opt-in for new email designs. Stores that have already opted in will keep the feature, while the remaining stores will now receive a manual opt-in prompt.

๐Ÿ›ก๏ธ Security enhancement โ€“ Sanitize input in admin report queries to prevent potential SQL injection. #58857
Improved the use of filters in get_order_report_data() by applying $wpdb->prepare() for safer handling of parameters like coupon_codes.

๐Ÿ› Fix โ€“ Add proper error handling when WCCOM API is unavailable. #58750
This prevents a blank screen in cases where the WCCOM API canโ€™t be reached, ensuring more resilient behavior during API outages.

๐Ÿ› Fix โ€“ Fix bug in wc_change_term_counts() that hid empty top-level product categories. #58821
The issue was causing some empty product categories to disappear from navigation menus; this restores their visibility.

๐Ÿ› Fix โ€“ Hide General tab when COGS is disabled for variable products. #58701
This prevents the Cost of Goods Sold (COGS) โ€œGeneralโ€ tab from appearing on variable products when the feature is turned off, aligning the UI with the userโ€™s settings.

๐Ÿ› Fix โ€“ Prevent All Products block from breaking when the mini cart is not in the site header. #58741
Fixes an edge-case layout issue where the All Products block would break if the siteโ€™s mini cart wasnโ€™t loaded in the header.

๐Ÿ› Fix โ€“ Default shipping rate cost to โ€˜0โ€™ instead of an empty string. #58804
This ensures that shipping rates without a defined cost show as 0, preventing calculation issues and confusion.

๐Ÿ› Fix โ€“ Provide fallback message when php_uname() is disabled. #58734
Adds a fallback method to avoid errors in environments where this PHP function is blocked, such as in hardened server setups.

Reposted from WooCommerce

If you have a care plan with 7th Circle Designs this update will be taken care of based on your plan’s schedule. If you do not have a care plan, sign up now.