Develop WooCommerce

The official WooCommerce development blog

WooCommerce 3.0.5 fix release notes — April 28, 2017

WooCommerce 3.0.5 fix release notes

The WooCommerce 3.0.5 fix release is now available. You can download it from or as an automatic update in your administration panel.

~44 commits made it into this fix release. The full changelog is below.

* Fix - Tooltip display within shipping zone modals.
* Fix - Fix missing title for actions column on mobile.
* Fix - Allow forward slash in telephone field.
* Fix - Sort grouped products by menu order when displaying.
* Fix - Fix term exclusion in term count queries.
* Fix - Filter invalid products before returning them for wc_get_products.
* Fix - Prevent orders being their own parent (causes errors).
* Fix - Correctly migrate legacy shipping taxes data.
* Fix - Make sure the meta data cache is not shared among instances.
* Fix - Correct the stock display notice when a variable product manages stock for it's children.
* Fix - On multisite, add user to blog during checkout if not a user to prevent errors.
* Fix - Correct sale price date handling with some timezone setups.
* Fix - wc_attribute_taxonomy_id_by_name needs to use lowercase attribute slug to work.
* Fix - Make changes to the buyer's company name in the shipping section of checkout persist.
* Tweak - Add required placeholder for meta fields in backend.
* Tweak - Don't strtolower address strings on checkout validation messages.
* REST API - Prevent password change notification when creating a customer.
* REST API - Removed duplicated items returned in shipping and checkout endpoints.
* CLI - Fixed missing shipping zones route.
* Dev - Make get_price_html handling match 2.6 and pass all values through woocommerce_get_price_html filter.
* Dev - Legacy customer class missing get_address / get_address_2 functions.
* Dev - Restored filter woocommerce_checkout_customer_id during checkout validation.
* Dev - Adds missing $this argument for all woocommerce_payment_complete_order_status filters.

If you spot any further issues, please report them to us in detail on GitHub so the development team can review – comments on this post are closed.

WooCommerce 3.0.4 fix release notes — April 20, 2017

WooCommerce 3.0.4 fix release notes

The WooCommerce 3.0.4 fix release is now available. You can download it from or as an automatic update in your administration panel.

~77 commits made it into this fix release. The full changelog is below.

* Fix - Variations were not inheriting the product image and shipping class ID.
* Fix - Prevent rating/review counts being duplicated when duplicating products.
* Fix - Fixed gallery navigation between images with long captions.
* Fix - Support transparent PNG in the gallery by setting a background color.
* Fix - Removed name/company from the shipping address Google map links.
* Fix - Fixed the address field sorting script on the checkout.
* Fix - Fixed the upgrade routine for grouped products so that parents are unset.
* Fix - Fixed support for WordPress 4.7 user locale settings.
* Fix - Fixed default option filter for product types in the product meta box.
* Fix - Improved the css in Twenty Seventeen for dark color schemes.
* Fix - Fixed display of refunds in sales report.
* Fix - Updated single-product/add-to-cart/variable.php template version to 3.0.0 since it had changes since 2.6.
* Fix - Fixed warnings when product attribute do not exists.
* Fix - Used a div for comment-form-rating to prevent invalid nested markup.
* Fix - Fixed some logic that checks if order taxes are compound.
* Fix - Fixed SKU checks to only exclude products that are trashed.
* Fix - Fixed display of download permissions in first email sent after checkout.
* Fix - Hidden the backorder notification stock text when notification is disabled.
* Fix - Fixed incorrect stock numbers in low stock emails.
* Tweak - Removed the non-functional order total input box, and combined the recalculation buttons into one working button.
* Tweak - Updated Guided Tour videos.
* Tweak - Updated js-cookie.js to 2.1.4.
* Tweak - Updated URLs to use HTTPS.
* Tweak - Status report request timeouts.
* REST API - Fixed an issue that prevented deleting a term if errors were thrown during creation.
* REST API - Fixed reports endpoint when querying by date.
* REST API - Fixed ignored order parameters when changing order status.
* Dev - Support guest orders in wc_get_orders function.
* Dev - Fixed downloadable variation filters for download URLs.
* Dev - Added safeguards to prevent infinite loops while saving coupons, products and orders in admin.
* Dev - Added a fallback for queue_transactional_email if background sending is disabled.
* Dev - Added has_shipping_address helper method.
* Dev - Introduced woocommerce_order_item_get_formatted_meta_data filter.
* Dev - Made wc_add_order_item pass correct values to woocommerce_new_order_item.
* Dev - Fixed legacy_posted_data access in checkout class.
* Dev - Fixed undefined property notice in WC_Order_Item::offsetGet.
* Dev - Fixed PHP 7.1 warnings when using non-float values to wc_get_weight().
* Dev - Fixed incorrect variable name in wc_add_order_item().

If you spot any further issues, please report them to us in detail on GitHub so the development team can review – comments on this post are closed.

Say hello to WooCommerce 3.0 “Bionic Butterfly” — April 4, 2017

Say hello to WooCommerce 3.0 “Bionic Butterfly”

Today we’re excited to release WooCommerce 3.0 (previously 2.7), dubbed the “Bionic Butterfly”, into the wild! 3.0 has been in beta since December, development since August, and has had over 3000 commits from 115 contributors.

Read on to find out what’s new!


3.0 is a major update. As always, please ensure extensions and themes are compatible before upgrading, test on a staging site if you can, and make a backup for peace of mind.

Continue reading

WooCommerce 3.0.0 RC2 — March 24, 2017

WooCommerce 3.0.0 RC2

WooCommerce 3.0.0 RC2 is available for testing. This fixes a bunch of issues from 3.0.0 RC1 which we’ve spent the last 2 weeks working on. Notable fixes include:

  • Fixed some edge case gallery issues such as galleries with no images, and zoom image sizes when flexslider is not used.
  • Fixed the 3.0 db updater to correctly set the outofstock term.
  • Fixed double add to cart issue on cart page when querystring contains add-to-cart.
  • Fix coupon removal in cart.
  • Added __sleep and __wakeup methods to data stores and data objects to avoid full object serialisation. Because of this, we were able to remove the special handling in email cron (since this is better), and remove the now defunct object caching in the data stores.
  • Prevent max on qty selectors being set to -1.
  • Improved default column definition in admin screens.
  • Fix to allow custom order item types from 2.6.
  • Fixed some bugs in the legacy API (using incorrect getters).
  • Various docblock/deprecation notice corrections.
  • Various RTL fixes.
  • Various fixes to prevent notices e.g. by casting floats when doing arithmetic.
  • Fixed API to return names instead of slugs in variation API.
  • Various REST API v2 schema and return type corrections (to match docs).
  • Removed timezone guesswork from set_date_prop method so offsets are correctly handled when the WP timezone setting is set to a UTC offset.

The REST API v2 docs are also now live so be sure to check out what is now possible with 3.0.0 and the v2 API if you’re using it.

To test WooCommerce 3.0.0 RC2, you can use our WooCommerce Beta Tester plugin or you can download the release candidate here (zip).

Think you’ve found a bug? Please post in detail to Github.

The final version of 3.0.0 is still due for April 4th 2017. Huge props to everyone who has sent feedback about this release so far or found bugs.

WooCommerce 3.0.0 RC1 — March 15, 2017

WooCommerce 3.0.0 RC1

This was quite the week. A few days ago we announced the decision to reversion and release 2.7 as 3.0.0. This was due to finding a critical bug in the way the system handles timestamps, which wasn’t caught sooner, and requests from third-party extension developers for more testing time. At the same time we chose to adopt semantic versioning going forward to make releases clearer.


Today, the release candidate for WooCommerce 3.0.0 “Bionic Butterfly” is available!

Continue reading