Develop WooCommerce

The official WooCommerce development blog

WooCommerce 3.7 Has Landed — August 12, 2019

WooCommerce 3.7 Has Landed

Today we are very excited to announce that WooCommerce 3.7 is officially available. This latest release of WooCommerce has been in development since April 2019 and contains over 1290 commits from 22 contributors, and is our first release towards smaller, more stable, and more frequent releases.

WooCommerce 3.7 is a minor release which means everything should be backward compatible with previous versions of WooCommerce. We do however always recommend that you ensure all your plugins and theme is compatible before updating and making sufficient backups for peace of mind – please see this guide for more details.

Continue reading
WooCommerce 3.7 RC2 — August 2, 2019

WooCommerce 3.7 RC2

We are pleased to announce that the second release candidate for WooCommerce 3.7 is now available.

We have fixed a few small issues since the last release candidate:

* Fix - WooCommerce Blocks caused fatal error when Gutenberg was not available.
* Fix - WooCommerce Blocks causing slow page loads due to the incorrectly loading of frontend dependencies
* Fix - WooCommerce Blocks were loading assets on all pages, now only loads them on pages where the the block requires it.
* Fix - When saving an order via wp-admin the state field was deleted.

To test WooCommerce 3.7 RC2, you can use our WooCommerce Beta Tester plugin or you can download the release candidate from WordPress.org.

If you think you found a bug in WooCommerce 3.7 RC2 then please open a GitHub Issue with as many details as possible including that you have tested this on WooCommerce 3.7 RC2.

For more information about what changed and is new in WooCommerce 3.7, please see the Beta announcement post.

WooCommerce 3.7 RC1 — July 29, 2019

WooCommerce 3.7 RC1

We are pleased to announce that the release candidate for WooCommerce 3.7 is now available. WooCommerce 3.7 is a minor release with a few new features and fixes.

Shipping a release candidate (RC) means we think we have a stable version ready for release. We would like to welcome you to please help us test this version prior to our planned release date of 12 August 2019.

To test WooCommerce 3.7 RC1, you can use our WooCommerce Beta Tester plugin or you can download the release candidate from WordPress.org.

We have been in a code freeze since WooCommerce 3.7 Beta and will continue to be so during the RC period. Only bug fixes for changes part of WooCommerce 3.7 will be made to ensure the stability of the release.

If you think you found a bug in WooCommerce 3.7 RC1 then please open a GitHub Issue with as many details as possible including that you have tested this on WooCommerce 3.7 RC1.

For more information about what changed and is new in WooCommerce 3.7, please see the Beta announcement post.

WooCommerce 3.7 Beta 1 — July 16, 2019

WooCommerce 3.7 Beta 1

We are pleased to announce that WooCommerce 3.7 is now officially available for beta testing.

To beta test this release of WooCommerce 3.7 you can download it from the WordPress.org plugin repository, directly from GitHub, or install our WooCommerce Beta Tester plugin which allows you to easily test out this beta and all future beta and release candidates.

What’s new in 3.7?

WooCommerce 3.7 is the second minor release of 2019, and being a minor release everything included in this release is backward compatible. This minor release is also a bit smaller in changes than previous minor releases as we work towards smaller more frequent releases.

Product Blocks

We are excited to include WooCommerce Product Blocks 2.3 in this release. WooCommerce Products Blocks is our eCommerce focused blocks for the Gutenberg editor that has been part of WordPress since 5.0.

The first Product Blocks were included in WooCommerce 3.6 and with the inclusion of Product Blocks 2.3 in WooCommerce 3.7, there are several new features added.

New Focal Point picker on Featured Product block
New Focal Point picker on the Featured Product block

Some new features and improvements include:

  • A new Focal Point picker on the Featured Product block.
  • Searching for products in Featured Product & Hand-picked Product blocks is faster.
  • A new Product Categories List block.
  • Better block branding for easier discoverability.
  • A new Featured Category Block; feature a category and show a link to its archive.
  • A new Products by Tag(s) block.

In order to have access to the new Product Blocks, you will need to have WordPress 5.1+ installed or have the latest version of the Gutenberg Editor plugin installed.

Performance Improvements

With our continued focus on improving performance in WooCommerce, this release also includes some under the hood changes to ensure WooCommerce is faster than ever.

We have improved the speed of the admin dashboard even more, reduced the number of queries required to populate variations, fixed issues with the persistent cart that slowed things down a bit, and are now excluding action scheduler task from comment queries which speed up a lot of pages where comment data is retrieved (product reviews, post comments, admin pages).

New PHP and WordPress minimum requirements

With this release we are bumping the minimum required PHP version to PHP 5.6. This is needed to work towards having our customer stores run on a supported version of PHP as well as set us up for using newer and more performant functionality.

We are also bumping the minimum required WordPress version to WordPress 4.9 in this release and will likely in the next release move that to WordPress 5.0.

We have added upgrade nudges in WooCommerce 3.6.5 pointing users to our new document you can follow to make sure you have the latest and greatest versions. Stores running a version of PHP less than 5.6 and WordPress 4.9 will not be able to update to WooCommerce 3.7.

A new package management system

With the new PHP 5.6 minimum requirement in place, we are able to utilize PHP packages. End users are not affected by this change.

Since the majority of new WooCommerce features are being developed as feature plugins, separate from WooCommerce core, under the hood we have made some change on how these features are included and loaded.

We have removed the Product Blocks as well as REST API functionality from WooCommerce core and these are all now developed and released independently yet included with each WooCommerce release via Composer.

This allows us to eliminate feature plugin conflicts easier, utilize namespaces and ensure more efficient loading of the code as it is needed within WooCommerce core.

Additional enhancements

In addition to the above, we have also included the following enhancements in WooCommerce 3.7.

  • The ability to change the “Thanks” wording in emails from the email settings.
  • Moved tax classes from using WordPress options to its own wc_tax_rate_classes table for storage.
  • Added new Coupon code generator functionality to the coupons page.

Beyond these enhancements, the release also contains some tweaks, new hooks and, fixes – all of which you can find out about in the readme.

Template file changes

The following template files have been updated/changed in this release.

FileChanges
All template filesReviewed and updated the escaping.
checkout/thankyou.phpAdded new filter woocommerce_before_thankyou
cart/mini-cart.phpRemoved subtotal function call and replaced with new woocommerce_widget_shopping_cart_total action. Added new woocommerce_widget_shopping_cart_after_buttons action.
cart/cart.phpAdded new filter woocommerce_before_cart_collaterals
loop/result-count.phpCorrect the plurals form usage.

Deprecated functions and methods

  • Deprecated the WC_Abstract_Order::get_used_coupons() method and replaced it with a new method WC_Abstract_Order::get_coupon_codes() to make it easier to identify that codes are returned and no coupon objects.
  • Removed the woocommerce_before_cart_item_quantity_zero action from WC_Cart::restore_cart_item() in favor of the existing woocommerce_cart_item_removed action. This action should already be in use if you are using woocommerce_before_cart_item_quantity_zero.

Release schedule

Beta16 July 2019
RC29 July 2019
Release 3.712 August 2019

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

Community Chat

We would also like to welcome all testers to join us at our next Community Chat scheduled for 25 July 2019 at 16:00 UTC in the #core channel of the WooCommerce Community Slack.

New minimum requirements in WooCommerce 3.7 — July 2, 2019

New minimum requirements in WooCommerce 3.7

With the upcoming release of WooCommerce 3.7 we will be updating the minimum required versions of WordPress and PHP. In order to update and run WooCommerce 3.7 you will now be required to have at least WordPress 4.9 and PHP 5.6.

We have to do this to keep up with the code changes within the WordPress ecosystem and to be able to deliver the best experience for our users.

The good news is that according to our research only a very very small percentage of stores are running these outdated versions so the impact will be minimal. What does it mean for your store if affected? Simply put you will not be able to update to WooCommerce 3.7 when it gets released, WordPress will not offer you the update.

We have created a document explaining the details around why updating to newer versions of WordPress and PHP is beneficial and included instructions on how to safely update.

If you have any questions or feedback around the decision and work related to this update, please feel free to leave them in the comments.