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.


5 responses to “WooCommerce 9.9.4: Fixes and an updated email rollout”

  1. I get critical errors when logging in on backend. Have to keep refreshing to gain entry.

    1. Hi Benjamin, have you performed a conflict test? At the moment, I haven’t been able to find any other reports of this behavior.

      If you’re able to perform the conflict test and spot a culprit of what might causing issues, could you let us know?

  2. paul cade Avatar
    paul cade

    following update to 9.9.4. customers were able to purchase without entering billing information even though they are compulsory fields and therefore no freight was calculated based on postal code. so a sale without freight charges resulted

    1. Thomas Roberts Avatar
      Thomas Roberts

      Hi Paul – thanks for commenting about this. We are looking into your report but we need more information to be able to narrow down what’s happening. Please could you create an issue over at https://github.com/woocommerce/woocommerce/issues/new?template=1-bug-report.yml and provide all the details it asks for in the template? We need steps to reliably reproduce the problem so we can investigate further.

      We have not seen any similar reports about this yet so it could be something specific to your site such as custom code, or a plugin conflict.

      Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *