Develop WooCommerce

The official WooCommerce development blog

Important update: WooCommerce 3.5 will now be released October 23rd. — October 16, 2018

Important update: WooCommerce 3.5 will now be released October 23rd.

We have delayed the release of WooCommerce 3.5 by one week in order to do extra testing and QA on the release. The testing regimen for WooCommerce releases is very thorough and covers a variety of servers, and themes, and running the prerelease version in staging and production on live sites. This will help ensure the upcoming release is a smooth upgrade for all stores before the busy holiday season.

The new release date for WooCommerce 3.5.0 is October 23rd.

You can read more about the upcoming changes and features planned for WC 3.5.0 at the beta post.

WooCommerce 3.5 RC 2 — October 15, 2018

WooCommerce 3.5 RC 2

WooCommerce 3.5.0 RC2 is available for testing. We’ve fixed the following new issues since the last RC as well as fixing some issues discovered in 3.5 changes:

* Fix - Fix warning when using logger instance in woocommerce_logging_class filter. #21448
* Fix - Use uppercase "ID" when sorting product queries by ID. #21461
* Fix - Consistently escape the gateway ID in the checkout payment method template. #21439
* Fix - Avoid treating HTTP 301 and 302 codes as failures for webhooks. #21491 
* Fix - Add address_1 to shipping packages info in WC_Cart:: get_shipping_packages to make it work correctly in address formatting functions. #21493
* Fix - Don't fire two of the same action when saving shipping settings. #21494
* Fix - Remove double condition for address line 2 in `WC_Countries::get_default_address_fields`.  #20629
* Fix - Correctly handle shorthand values for memory_limit in php.ini. #21557
* Fix - Product shortcode numeric term slug matching. #21560
* Fix - Remove the erasure tools links from the descriptions of the erasure settings for users without the manage_privacy_options capability. #21565
* Fix - Don't double urldecode posted variation attributes. #21570
* Fix - New helper functions wc_user_has_role and wc_current_user_has_role to correctly check user roles. #21569

You can view the full changelog for WC 3.5 here.

To test WooCommerce 3.5.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.5 is due for release Wednesday, October 17 2018. Huge props to everyone who has sent feedback about this release so far or found bugs.

WooCommerce 3.5 RC1 — September 28, 2018
WooCommerce 3.5 Beta is here! — September 12, 2018

WooCommerce 3.5 Beta is here!

Today we’re pleased to announce that WooCommerce 3.5 is available for beta testing!

You can download it directly here or use our new WooCommerce Beta Tester plugin to easily test WooCommerce beta versions and release candidates.

Release highlights

3.5 is the last minor release this year. Being a minor release, all new functionality should exist in a backwards-compatible manner. Updating from any version since 3.0 should be hassle free!

Here is what to look out for in the update.

REST API v3

The latest version of the WooCommerce REST API is ready, and features new endpoints as well as improvements to existing endpoints. Some of the new features include:

  • A reviews endpoint to list, get, create, and update product reviews.
  • Date fields are now editable on the products endpoint, and the endpoint has been updated to work with the “on backorder” stock status.
  • A series of new reports endpoints to get total counts of orders, products, customers, coupons and reviews.
  • New orderby options for the products endpoint to allow listing products by price, popularity, or rating.
  • Automatic total calculations when applying/removing coupons in the orders endpoint.

More documentation around the new version of the REST API will be available within the next few weeks.

Improved copy for transactional emails

The wording of the WooCommerce transactional emails has remained largely unchanged for years. We have improved the default wording of the emails to be friendlier and more human. Improving the default content will improve the customer experience and reduce the need for store owners to do template overrides of the transactional emails.

This is the first phase of a larger initiative to improve WooCommerce’s emails and email content editing experience. Stay tuned in 2019 for more improvements.

Custom Product Tables support

The use of the postmeta database table for storing product information has been a big bottleneck when scaling WooCommerce stores. We’ve been working on migrating the product information that WooCommerce currently stores in the postmeta table to custom database tables developed and optimized for product data. This will provide large performance boosts to stores and greatly improve their scalability. In our testing we achieved a 30% performance improvement on product-heavy pages with these custom tables!

The 3.5 release will add the hooks and filters required for the Custom Product Tables feature plugin to WooCommerce. Currently the feature plugin is in beta, but it will be production ready soon-enough, and WooCommerce stores will be prepared.

In the meantime, this will make it easy to beta test the feature plugin and see what sort of performance gains your store will get. Please follow beta testing best practices and don’t test on production systems, as the custom tables plugin has the potential to cause loss of data.

Read more about the Custom Product Tables plugin, our plans for custom tables, and how to test the plugin here.

Everything else . . .

Other features include:

  • The ability to export products by category in the CSV exporter.
  • The ability to set a low stock threshold for individual products.
  • An improved payment method settings page with greater accessibility among other accessibility improvements.
  • Error logging for transactional emails using the WooCommerce logger.
  • The Action Scheduler background processing library used by the WooCommerce Subscriptions plugin is now included in WooCommerce and provides a robust, scalable background processing solution for developers. In 3.5 webhooks will be delivered using this library.
  • Numerous performance improvements.

On top of the new features, there are a variety of minor tweaks, new hooks, and fixes. We won’t go into detail here, but you can see the full list of changes in the readme if you’re interested!

Template file changes

  • All of the email templates have been updated with new wordings.
  • cart/cart-shipping.php – Improved shipping calculator experience.
  • cart/mini-cart.php – Removed unnecessary nbsp;s from template.
  • cart/shipping-calculator.php – Improved shipping calculator experience.
  • myaccount/form-edit-account.php – Add form tag hook.
  • myaccount/form-login.php – Add form tag hook.
  • notices/error.php – Run notices through new wc_kses_notice function.
  • notices/notice.php – Run notices through new wc_kses_notice function.
  • notices/success.php – Run notices through new wc_kses_notice function.
  • order/order-again.php – Refactored order again handling.
  • content-widget-product.php – Add extra check to prevent fatal errors when global $product is not a product.
  • single-product-reviews.php – Removed unnecessary aria-required attributes.

Deprecated functions and methods

No functions, classes, or methods will be deprecated in this release.

Release schedule and testing

We’re hoping to keep WooCommerce 3.5 in beta for the next 2 weeks. If you’re a developer please check extensions and themes are compatible to be safe.

Release Candidate 1 should be tagged on September 26th and will remain in RC for a further 3 weeks until October 17th which is our target launch date.

If you’d like to help us test, you can use our new WooCommerce Beta Tester plugin. We posted a nice little write-up on beta testing here which should get you started. Please read that and jump right in!

If you’d like to help translate 3.5, you’ll find it on the development branch on translate.wordpress.org.

Thanks to all of our testers and contributors!