Develop WooCommerce

The official WooCommerce development blog

Storefront 2.3.4 release notes — October 11, 2018

Storefront 2.3.4 release notes

Storefront 2.3.4 has been tagged for release and uploaded to WordPress.org.

Here’s what’s changed pulled directly from the changelog:

* Tweak - Introduced new styles for enhanced compatibility with Composite Products 3.14.0 and Product Bundles 5.8.0.
* Fix - Improved touch support for dropdowns.
* Fix - Added missing RTL support to the Guided Tour in the Customizer.
* Fix - Added a fix to prevent starter content from showing up if not entering the Customizer through the NUX.
* Fix - Fixed clearing of cart item rows on handheld screens.
* Fix - Changed store notice `z-index` value to prevent overlap with the handheld footer bar.

Download the latest release of Storefront here or venture over to Dashboard → Updates to update your theme from WordPress.

As usual, if you spot any other issues, please log them in detail on Github.

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!

WooCommerce 3.4.5 security/fix release notes. — August 29, 2018
WooCommerce Beta Tester 2.0.0 — July 30, 2018

WooCommerce Beta Tester 2.0.0

We’re pleased to announce that we’ve launched a new, revamped WooCommerce Beta Tester plugin! The plugin is now hosted on WordPress.org, and you can get it on WordPress.org or install it through the Plugins section of your site admin.

For more details on how to beta test WooCommerce, please refer to one of our earlier posts.

Features

WooCommerce Beta Tester allows you to try out new versions of WooCommerce before they are officially released. You should use this plugin with caution and not on production sites, as beta releases may not be stable.

This plugin allows you to:

  • Easily switch between different released and unreleased WooCommerce versions.
  • Choose one channel to switch versions from (beta/rc/stable).
  • Check release notes of the current chosen version.
  • Submit bug reports on GitHub using the current chosen version (and automatically populate the System Status Report in the bug report)

Technical details

The old version of the plugin used to rely on GitHub’s API and getting information from that in order to download beta/rc/stable versions. For example, if you visit GitHub’s API for WooCommerce you will be provided with a JSON structure of all releases. The plugin would then filter and group the releases based on the results from this API.

However, there is a technical limitation on WordPress.org – they do not host plugins that update other plugins from non-WordPress.org sources, so as a consequence of that the only way you could download our beta testing plugin was from GitHub. With the revamp, we now rely on WordPress.org’s API for WooCommerce, which provides us a JSON structure similar to that of GitHub’s.

Now that we have all the information we need from the WordPress.org API, the next step is to do the actual switch to the targeted WooCommerce version. We achieve that by using the filters pre_set_site_transient_update_plugins and plugins_api_result, by hooking on the WooCommerce plugin and change its zip_url, that is, download_link. We can also do some other fancy changes, like generating a link to the changelog for example.

The source code of the plugin is hosted publicly on GitHub, so feel free to browse around it or do some contributions. 🙂 If you notice a bug please open a report on GitHub.