Develop WooCommerce

The official WooCommerce development blog

Testing WooCommerce 3.9? Beta 2 is Available — December 19, 2019

Testing WooCommerce 3.9? Beta 2 is Available

WooCommerce 3.9 beta 2 is now available. This beta release includes an updated version of WooCommerce Blocks 2.5.6 that fixes a few bugs in the All Products block — here’s the changelog if you’re interested.

To test beta 2 use our beta tester plugin or download the release here. WooCommerce 3.9 will be released on January 6th, and the beta announcement post explains all of its new features and improvements.

This is a great time for plugin developers to test the new release and update their plugin headers for the WooCommerce version check. If you find any bugs please open an issue in our GitHub repository, and thanks for testing WooCommerce!

WooCommerce 3.9 Beta 1 — December 11, 2019

WooCommerce 3.9 Beta 1

WooCommerce 3.9 is now officially available for beta testing!

We’re working toward smaller and more frequent releases, and WooCommerce 3.9 will be the first minor release of 2020. Since it’s a minor release, everything is backward compatible. The official version will be available on January 7, 2020.

To try it out download it from the plugin repository, or install the WooCommerce Beta Tester plugin to test out this and all future beta and release candidates.

What’s new in 3.9?

WooCommerce 3.9 is the first minor release of 2020. Being a minor release, everything is backward compatible. As we work towards smaller and more frequent releases, it will be released on January 7th.

WooCommerce blocks

This version of WooCommerce includes WooCommerce Blocks 2.5. WooCommerce Blocks is our eCommerce-focused block collection for the block editor that has been part of WordPress since WordPress 5.0.

WooCommerce 3.9 adds a new “All Products” block (requires WordPress 5.3) that mimics the WooCommerce core shop page but allows easy customization — and it’s powered by JavaScript and the REST API, so customers stay on the same page while browsing your catalogue.

All Products block
All Products block

You can still customize the elements of this page using inner blocks, and use it in conjunction with other new blocks to filter products.

All products and filter blocks together in a column block
All products and filter blocks together in a column block

Check out the WooCommerce Blocks 2.5 release notes for a detailed look! And if you want to follow the latest developments, you can install the feature plugin as well.

New PHP and WordPress minimum requirements

As of WooCommerce 3.9, we are bumping the minimum required PHP version up to PHP 7.0. This sets set us up for using newer and more performant functionality, benefiting all WooCommerce stores. The minimum required WordPress version will also increase to WordPress 5.0.

We have added upgrade nudges in WooCommerce 3.8 pointing users to our new document you can follow to make sure you have the latest and greatest versions. Stores running anything older than PHP 7.0 and WordPress 5.0 will not be able to update to WooCommerce 3.9.

Additional enhancements

And there’s more in WooCommerce 3.9:

  • There’s “Show” button for password fields, like WordPress core introduced in version 5.3.
  • A new WooCommerce onboarding experience will be available to, 10% of new users (we’re testing this new experience and starting small.
  • It introduces a Payment Gateway API to support “pay button” allowing proper setup of those buttons and making it easier to customize their appearance.

The release also contains tweaks, new hooks and fixes, all of which you can find in the readme.txt.

Template file changes

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

emails/email-addresses.phpPhone numbers will become clickable, to easy call your customers.
myaccount/lost-password-confirmation.phpAdded new woocommerce_before_lost_password_confirmation_message, and woocommerce_after_lost_password_confirmation_message actions.
notices/error.php, notices/notice.php, notices/success.phpTemplates update to support our new notices format.

Deprecated functions and methods

  • Deprecated the WC_Cart_Totals::round_merged_taxes() method and replaced it with a new method WC_Cart_Totals::calculate_item_subtotals().
  • Deprecated the argument $messages in notices templates, and as a replaced it’s possible to use $notices.

Release schedule

Beta10 December 2019
RC21 December 2019
Release 3.97 January 2020

Testing instructions

We published a Wiki in GitHub to help anyone interested in testing this new release. Check out our release testing instructions.

New Minimum Requirements in WooCommerce 3.9 — December 10, 2019

New Minimum Requirements in WooCommerce 3.9

When WooCommerce 3.9 is released in January, it will have new required versions of WordPress and PHP. Running WooCommerce 3.9 will require a site running WordPress 5.0 and PHP 7.0 or newer.

We plan to keep developing blocks and other integrations that rely on current versions of WordPress, and this release prepares WooCommerce for these new features so we can deliver the best experience for our users. A very small percentage of WooCommerce stores run versions of WordPress and PHP older than these requirements, so impact will be minimal.

Note that WooCommerce 3.9 includes new “All Products” block (part of WooCommerce Blocks 2.5 release) which requires WordPress 5.3 in order to use it.

What does it mean for your store if your site is affected? Simply put, you will not be able to update to WooCommerce 3.9 when it gets released, so WordPress will not offer you the update. If you’re among these sites, we’ve created document explaining the the benefits of updating to newer versions of WordPress and PHP that includes 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.

September 26th: Community Chat #3 — September 25, 2019
Community Chat #2 Notes — September 24, 2019