Changelog

  • The release cycle for June’s release of WooCommerce 5.4 has begun! A beta.1 package is available for download directly from WordPress.org or through our WooCommerce Beta Tester Plugin.

    Highlights

    • jQuery 3 Compatibility: In preparation for WordPress Core’s plan to update jQuery, we have addressed our usage of it accordingly. (#29044)
    • WooCommerce Blocks 5.1.0: The package update includes 5.0.0 and 5.1.0. Please note that most content included in Blocks updates is not present in WooCommerce unless the WooCommerce Blocks feature plugin is active.
    • WooCommerce Admin 2.3.0: This package update includes a number of fixes and quality of life tweaks.

    These are just some of the changes that are included in WooCommerce 5.4. You can view the entire list of included changes in the readme.

    Compatibility Changes

    Our aim is to maintain backwards compatibility through every release unless otherwise noted. This section contains any alternations that may be noteworthy for developers in pursuit of that.

    REST API

    We’ve added the dates_are_gmt parameter to coupon, product, and order collection endpoints. When true, this parameter causes the after and before date fields to check post_date_gmt instead of the local time variant.

    Actions & Filters

    There are no changes to actions or filters in this release.

    Database

    While there are technically no database changes in this release, programmatically enabling and using the product attributes lookup table creation tool will require table creation privileges.

    Templates

    There are no changes to templates in this release.

    Release Schedule

    VersionRelease
    BetaMay 18, 2021
    Release CandidateMay 25, 2021
    5.4 Final ReleaseJune 8, 2021
    Release schedule for 5.4

    Testing

    A set of testing instructions has been published on our Wiki page in GitHub. We’ve also posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.


  • We’re excited to announce that WooCommerce 5.3 is now released. This is the fourth minor release of 2021 and has

    1. 352 commits from 30 contributors in WooCommerce Core.
    2. 145 commits from 29 contributors in the WooCommerce Admin package.
    3. 59 commits from 12 contributors in the WooCommerce Gutenberg Products Block package.

    This is a minor release, which means everything is backward compatible with the previous version.

    As always, we recommend creating a backup of your site and making sure that the themes and plugins are compatible before updating. You can check out this update guide for more information.

    What’s new in 5.3?

    1. WooCommerce Blocks 4.9.1: Blocks package has been updated to 4.9.1. Please take a look at the release posts for 4.8.0, 4.9.0, and 4.9.1 to see what’s new and improved.
    2. WooCommerce Admin 2.2.6: WooCommerce Admin package has also been updated to 2.2.6 with this release of WooCommerce. This new package contains lots of bug fixes and stability improvements. The list of changes in the versions of WooCommerce Admin included since WooCommerce 5.2 can be found here.

    You can find the complete changelog for this release in the changelog.txt file.

    Filters and actions

    This release has one new and one updated filter.

    New Filter

    FilterDescription
    woocommerce_cart_product_not_enough_stock_already_in_cart_messageFilters message about product not having enough stock accounting for what’s already in the cart. #29304

    Updated Filter

    FilterDescription
    woocommerce_logger_log_messageAdded the ability to specify a handler object, such as WC_Log_Handler_File. #29572

    Database changes

    This release does not introduce any database changes.

    Template changes

    This release does not introduce any changes to templates.

    Much 💜 to all the contributors

    Finally a big thanks to everyone in the community who has contributed via issue reports, fixes, translation, testing, supporting other users, or simply spreading the word.

    WooCommerce core

    roykho rrennick jonathansadowski Konamiman veljkho zhongruige
    roykho rrennick jonathansadowski Konamiman veljkho zhongruige
    joshuatf vedanshujain barryhughes claudiosanches bgrgicak ObliviousHarmony
    joshuatf vedanshujain barryhughes claudiosanches bgrgicak ObliviousHarmony
    gracie WPprodigy Aljullu tammullen
    gracie WPprodigy Aljullu tammullen

    WooCommerce Admin

    louwie17 samueljseay jeffstieler joshuatf octaedro psealock
    louwie17 samueljseay jeffstieler joshuatf octaedro psealock
    hsingyuc moon0326 tomalec ilyasfoo becdetat adrianduffell
    hsingyuc moon0326 tomalec ilyasfoo becdetat adrianduffell
    timmyc Aljullu joelclimbsthings jonathansadowski xristos3490 NeosinneR
    timmyc Aljullu joelclimbsthings jonathansadowski xristos3490 NeosinneR
    rrennick mikkamp waclawjacek ismaeldcom
    rrennick mikkamp waclawjacek ismaeldcom

    WooCommerce Blocks

    opr mikejolley senadir nerrad ralucaStan Aljullu
    opr mikejolley senadir nerrad ralucaStan Aljullu

  • There’s a new version of WooCommerce Blocks available! Version 5.1.0 is now available on WordPress.org and GitHub.

    This release includes better error reporting for incorrectly registered payment methods and some improvements to the emitEventWithAbort event emitter. There is also a bug fix related to email and phone field values being cleared unexpectedly with certain shopper behaviour. Read on for more details!

    Better error reporting for incorrectly registered payment methods.

    When a payment method registers using the payment methods extensibility interface, the feature plugin has some error checking to ensure that the dependencies the plugin lists for its script are actually available during the registration. Without this error check, it’s possible for incorrectly registered payment methods to prevent the loading of any checkout scripts due to the mechanism used internally for managing the loading order of various checkout scripts.

    With this release, there are some improvements to the error message logged (PHP error logs and console log) when a payment method doesn’t have all its dependencies registered including:

    • Clarifying this is specific to Cart and Checkout blocks loading process.
    • Only loading the payment methods API interface when Cart and Checkout blocks feature is on (via the feature plugin).

    Improvements to emitEventWithAbort

    This is more of a internals update that impacts various event emitters using this function (onPaymentProcessing, onCheckoutAfterProcessingWithSuccess, onCheckoutAfterProcessingWithError). If you are a developer authoring a payment method that uses any of these events, your implementation should be unaffected by these changes. It’s mostly to prevent potential bugs where there are multiple payment methods in use by a store (that all implement observers for these events). You can read more about the change in this pr.

    Fix for unexpected email and phone field value loss.

    There was a bug that surfaced when shoppers filled out the email and phone field and then unchecked the “Use same address for billing” option. The email and phone values would be cleared.

    This is fixed in this release so that any previously entered values are preserved when toggling this checkbox.

    Changelog

    Enhancements

    • Improve error message displayed when a payment method didn’t have all its dependencies registered. (4176)
    • Improvements to emitEventWithAbort. (4158)

    Bug Fixes

    • Fix issue in which email and phone fields are cleared when using a separate billing address. (4162)


  • We’re excited to announce that the second release candidate is now available. We are on track for our planned May 11th release date.

    Note that this is a minor release focusing on bug fixes and performance improvements.

    Changes

    • WooCommerce Admin has been updated to version 2.2.2. #29791
    • Fixes an issue where the continue button remained enabled in the store setup wizard after it had already been pressed. #6838
    • Adds some tweaks to the store setup wizard based on the country in which the store is located. #6901

    Testing

    If you’d like to dive in and help test this new release, our handy WooCommerce Beta Tester plugin allows you to switch between beta versions and release candidates. You can also download the release from wordpress.org.

    A set of testing instructions has been published on our Wiki page in GitHub. We’ve also posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.


  • There’s a new version of WooCommerce Blocks available! Version 5.0.0 is now available on WordPress.org and GitHub.

    This release mostly contains behind the scenes refactors (as we gradually convert the JavaScript code to TypeScript), but also adds support for Batching in the StoreAPI, and fixes a visual bug with customer addresses on the cart page.

    Dev Notes

    Class Deprecations

    Two internal classes (Automattic\WooCommerce\Blocks\Assets and Library) have been deprecated in this release, with functionality being moved to AssetsController and BlockTypesController.

    Since these were internal bootstrap classes we don’t anticipate any external usage, but noting that these classes will be removed in a future release of Blocks.

    Checkout Event Changes

    The Checkout event onCheckoutBeforeProcessing has been renamed to onCheckoutValidationBeforeProcessing to more clearly articulate its coupling to the validation happening when the Checkout form is submitted. 

    onCheckoutBeforeProcessing will be deprecated formally in the future.

    Shared Settings Deprecation

    Blocks offered a filter hook named woocommerce_shared_settings which could be used to change, add, or remove settings that are passed from the server to the client. This is now considered deprecated—a warning will be logged to the browser error console if used.

    We recommend instead using the Asset Data Registry directly, so for example:

    use Automattic\WooCommerce\Blocks\Package;
    use Automattic\WooCommerce\Blocks\Assets\AssetDataRegistry;
    Package::container()->get( AssetDataRegistry::class )->add( $key, $value )

    Doing this reduces the risk of conflicting or overwriting data, unlike the filter which allowed any setting to be modified leading to unintentional side effects.

    Changelog

    Enhancements

    • Added support to the Store API for batching requests. This allows multiple POST requests to be made at once to reduce the number of separate requests being made to the API. (4075)

    Bug Fixes

    • Prevent parts of old addresses being displayed in the shipping calculator when changing countries. (4038)

    Refactor

    • Rename onCheckoutBeforeProcessing to onCheckoutValidationBeforeProcessing.
    • Switched to rest_preload_api_request for API hydration in cart and checkout blocks. (4090)
    • Introduced AssetsController and BlockTypesController classes (which replace Assets.php and Library.php). (4094)
    • Replaced usage of the woocommerce_shared_settings hook. This will be deprecated. (4092)

  • We’re excited to announce that the release candidate is now available. We are on track for our planned May 11th release date.

    Note that this is a minor release focusing on bug fixes and performance improvements.

    Changes

    • We’ve updated the default currency for stores to USD to match the change that was included in 5.3 to change the default location of the store to California, US. #29752

    Testing

    If you’d like to dive in and help test this new release, our handy WooCommerce Beta Tester plugin allows you to switch between beta versions and release candidates. You can also download the release from wordpress.org.

    A set of testing instructions has been published on our Wiki page in GitHub. We’ve also posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.


  • Beta 1 for the May release of WooCommerce is now available for testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.

    What’s new?

    This is a minor release focusing on bug fixes and performance improvements. Just like other minor releases, this release also aims to be backward compatible with previous WooCommerce releases.

    Highlights

    1. WooCommerce Blocks 4.9.1: Blocks packages have been updated to 4.9.1. Please take a look at the release posts for 4.8.0, 4.9.0, and 4.9.1 to see what’s new and improved.
    2. WooCommerce Admin 2.2.1: The WooCommerce Admin package has also been updated to 2.2.1 with this release of WooCommerce. This new package contains lots of bug fixes and stability improvements.

    These are just some of the changes that are included in WooCommerce 5.3 Beta 1. You can view the entire list of included changes in the readme.

    Filters and actions

    This release has one new and one updated filter.

    New Filter

    FilterDescription
    woocommerce_cart_product_not_enough_stock_already_in_cart_messageFilters message about product not having enough stock accounting for what’s already in the cart. #29304

    Updated Filter

    FilterDescription
    woocommerce_logger_log_messageAdded the ability to specify a handler object, such as WC_Log_Handler_File. #29572

    Database changes

    This release does not introduce any database changes.

    Template changes

    This release does not introduce any template changes.

    Release schedule

    This version of WooCommerce is scheduled to be released as follows:

    VersionRelease
    BetaApril 20, 2021
    Release CandidateApril 27, 2021
    5.3 Final ReleaseMay 11, 2021
    Release schedule for 5.3

    Testing

    If you’d like to dive in and help test this new release, our handy WooCommerce Beta Tester plugin allows you to switch between beta versions and release candidates. You can also download the release from wordpress.org.

    A set of testing instructions has been published on our Wiki page in GitHub. We’ve also posted a helpful writeup on beta testing to help get you started.

    If you discover any bugs during the testing process, please let us know by logging a report in GitHub.


  • This release fixes a bug that prevented granting download permissions from the order details page (clicking the “Grant access” button caused the UI to hang on a neverending spinner, since the request had actually failed with a 500 status code).

    Changelog

    This release contains only one change:

    • Fix: can’t grant permission to downloadable product from order. #29691

    Thanks to everyone for reporting this issue promptly and helping out with the fix release.

    You can download the latest release of WooCommerce here or visit Dashboard → Updates to update the plugin from your WordPress admin screen.

    As usual, if you spot issues in WooCommerce core, please log them in detail on GitHub. Found a security issue? Please submit a report via HackerOne.


  • This release updates the WooCommerce Blocks package to version 4.7.2, which fixes an issue that appears when trying to use the Elementor plugin in PHP 8 (a Fatal error: Uncaught TypeError: array_diff() is thrown; in PHP 7 this appears as just a warning). This error is caused by a change introduced in Blocks 4.7.0 which assumes that the $wp_scripts global is never going to change, but in fact Elementor replaces it.

    Additionally, some changes that were meant to be included in WooCommerce 5.3.0 had accidentally been included in 5.2.0; these are excluded from the 5.2.1 release.

    Changelog

    This release contains these changes:

    • Update WooCommerce Blocks version to 4.7.2. #29660
    • Remove some changes that were intended to be included in WooCommerce 5.3.0 (none of these had been included in the changelog for 5.2.0).

    Thanks to everyone for reporting this issue promptly and helping out with the fix release.

    You can download the latest release of WooCommerce here or visit Dashboard → Updates to update the plugin from your WordPress admin screen.

    As usual, if you spot issues in WooCommerce core, please log them in detail on GitHub. Found a security issue? Please submit a report via HackerOne.


  • There’s a new version of WooCommerce Blocks! Version 4.9.1 is now available on WordPress.org and GitHub.

    This release includes some additional guards when entering Elementor Editor in a PHP 8.0 website, and such, it only effects websites in an environment with those conditions.

    A similar update will be shipped in WooCommerce 5.2.1