• Following today’s developer advisory, this release focuses on resolving issues caused as a result of the migration to jQuery 3.

    Changelog

    • Fix – Update jQuery compatibility changes to trim functions to work with types other than string. (#30074)
    • Fix – Restores the option to load and copy addresses to orders edited in the dashboard. (#30076)

    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.


  • tl;dr

    The recent release of WooCommerce 5.4 has been pulled from availability to limit the impact of a jQuery-related bug until a fix is available in version 5.4.1.

    The details

    WooCommerce 5.4, which was released yesterday, contains a jQuery-related bug that may break payment gateways by providing the wrong data type to a function. You can read more about this bug in the related issue on GitHub. A fix is currently in the works and will be released with WooCommerce 5.4.1. Because of the potential impact this issue could have on merchants, we have reverted to WooCommerce 5.3 as the most stable release. This will help minimize disruption to merchants who have not yet upgraded to version 5.4 while the core team conducts thorough testing of the forthcoming fix release against payment gateways.

    How can I tell if this affects me?

    If you have updated to WooCommerce 5.4, this bug could potentially impact you. A telltale sign is one or more TypeError exceptions in your browser’s JavaScript console stemming from the trim() function when validating credit cards.

    Stores that are still running WooCommerce 5.3 should not be impacted.

    What action should I take?

    If you have already upgraded to WooCommerce 5.4 and are affected by this bug, you can safely downgrade to WooCommerce 5.3. Even if you are not affected by the issue, we recommend upgrading to WooCommerce 5.4.1 as soon as it is available.


  • The fifth minor release of 2021, WooCommerce 5.4, has been officially released! We’ve been hard at work and this release has

    This is another minor release and so you should expect everything included to be backwards 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.4?

    • 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.1: 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 find the complete changelog for this release in the changelog.txt file.

    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

    There are no database changes in this release.

    Templates

    There are no changes to templates in this release.

    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

    claudiosanches roykho ObliviousHarmony rodelgc Konamiman rrennick
    claudiosanches roykho ObliviousHarmony rodelgc Konamiman rrennick
    asumaran vedanshujain jonathansadowski barryhughes haszari menakas
    asumaran vedanshujain jonathansadowski barryhughes haszari menakas
    frontdevde zhongruige psealock andfinally lsinger geektzu
    frontdevde zhongruige psealock andfinally lsinger geektzu
    timmyc deltaWhiskey Aljullu mahdiyazdani nerrad
    timmyc deltaWhiskey Aljullu mahdiyazdani nerrad

    WooCommerce Admin

    joshuatf samueljseay louwie17 jeffstieler joelclimbsthings psealock
    joshuatf samueljseay louwie17 jeffstieler joelclimbsthings psealock
    moon0326 ilyasfoo tomalec becdetat timmyc grassfedfarmboi
    moon0326 ilyasfoo tomalec becdetat timmyc grassfedfarmboi
    rrennick lowwebtech adrianduffell mikkamp NeosinneR dgwatkins
    rrennick lowwebtech adrianduffell mikkamp NeosinneR dgwatkins
    hsingyuc
    hsingyuc

    WooCommerce Blocks

    opr mikejolley senadir ralucaStan Aljullu frontdevde
    opr mikejolley senadir ralucaStan Aljullu frontdevde
    sebcode nerrad
    sebcode nerrad

    Action Scheduler

    vedanshujain barryhughes Konamiman jonathansadowski glagonikas
    vedanshujain barryhughes Konamiman jonathansadowski glagonikas

  • A new version of WooCommerce Blocks has been released! Version 5.3.0 is now available for download from GitHub and WordPress.org.

    This release includes a number of enhancements, bug fixes, and some behind-the-scenes work to allow third party extensions to integrate with the Cart Block.

    Summary

    Getting ready for the future

    Two changes have been made when it comes to adding WooCommerce blocks to the new block widget and the Customizer block widget editor:

    Block transforms are now available for legacy widgets that have a block equivalent: Product Search, Product Categories and Recent Product Reviews.

    BEFOREAFTER
    Screenshot 2021-05-31 at 12 11 27Screenshot 2021-05-31 at 12 10 37

    Additionally, the Cart and Checkout blocks will no longer be available in these two areas.

    Bug fixes

    We are happy to announce that the missing translations bug from the Cart and Checkout blocks has now been fixed. Along with other Cart and Checkout block bugs, we managed to fix bugs related to adding products to the cart, namely adding out of stock products from blocks with products, and updating the Mini Cart widget when purchasing from the All products block.

    Working with Blocks

    We added a new experimental integration point that will allow extensions to register a PHP callback that will be executed when the cart/extensions endpoint is hit. Blocks will use this endpoint to update the cart from the server, giving extensions a chance to modify the cart, or do any other server-side processing.

    An experimental slot has been added to the Discounts section in the Cart Block’s sidebar, where extensions can render their own components.

    Changelog

    Enhancements

    • Hide the Cart and Checkout blocks from the new block-based widget editor. (4303)
    • Provide block transforms for legacy widgets with a feature-complete block equivalent. (4292)

    Bug Fixes

    • Fix some missing translations from the Cart and Checkout blocks. (4295)
    • Fix the flickering of the Proceed to Checkout button on quantity update in the Cart Block. (4293)
    • Fix a bug in which Cart Widget didn’t update when adding items from the All Products block. (4291)
    • Fix a display issue when itemized taxes are enabled, but no products in the cart are taxable. (4284)
    • Fix an issue where an attempt to add an out-of-stock product to the cart was made when clicking the “Read more” button. (4265)

    Compatibility

    • Add the ability for extensions to register callbacks to be executed by Blocks when the cart/extensions endpoint is hit. Extensions can now tell Blocks they need to do some server-side processing which will update the cart. (4298)

    Various

    • Add Slot in the Discounts section of the cart sidebar to allow third party extensions to render their own components there. (4248)

  • A new version of ActionScheduler is now rolled out and available for download. This version will also be included with WooCommerce 5.5 (July release) and onwards.

    Notable changes in this release includes:

    1. Add a new index to the action table, reducing the potential for deadlocks. #695
    2. Additional safeguards put in place against processing future actions too early. #668, #671
    3. Add support for specifying no ordering when querying actions. #651
    4. When used alongside WooCommerce, additional diagnostic information (the active database store) is added to the System Status Report. #569
    5. Performance enhancements partly focused on the clean-up of expired actions. #678
    6. PHP8 compatibility fixes.

    You can see the complete list of all the new commits in GitHub.

    Thanks everyone for contributing for this release.


  • A new version of WooCommerce Blocks has been released! Version 5.2.0 is now available for download from GitHub and WordPress.org.

    This release includes a number of enhancements, bug fixes, and some behind-the-scenes work to allow third party extensions to integrate with the Cart and Checkout blocks. Additionally, there’s been a change-around in the sidebar of the Cart and Checkout blocks!

    To kick things off, let’s talk about the design changes…

    Design Changes

    Summary

    These changes include incremental design improvements to the order breakdown area of the Cart and Checkout blocks.

    The Shipping, Subtotals and Tax breakdowns now live in their own sections. The rationale behind these changes was to create more distinction between cost areas to give the customer a better picture of their cost and order summary.

    BeforeAfter

    View original size

    View original size
    Before and after images of the sidebar in the Cart block

    Shipping Section

    There is now an isolated shipping section that includes only information related to the shipping options and the shipping location.

    Taxes Section

    As part of the shipping section improvement on the order summary of the Checkout block, the taxes totals have been isolated as a section with a breakdown appearing below indicating the sales tax value and any other tax-related charges incurred.

    Coupons & Discounts

    The coupon section UI and functionality remains the same but it will now appear below the Subtotals section to provide a better visual connection to the output of applying a discount.


    We also made some changes to allow some of our blocks to be used in the new widget editor coming in WordPress 5.8, and deprecating the legacy widgets for which a feature-complete block-based equivalent exists.

    The controls used to select: tags, categories, and attributes in our blocks have also been improved, with new styles and better accessibility support.

    BeforeAfter
    View original size
    View original size

    Further details about the exact things we’ve changed can be found by reading the Pull Request descriptions linked in the changelog below.

    Changelog

    Enhancements

    • Added a key prop to each CartTotalItem within usePaymentMethodInterface. (4240)
    • Hide legacy widgets with a feature-complete block equivalent from the widget area block inserter. (4237)
    • Hide the All Products Block from the Customizer Widget Areas until full support is achieved. (4225)
    • Sync customer data during checkout with draft orders. (4197)
    • Update the display of the sidebar/order summary in the Cart and Checkout blocks. (4180)
    • Improved accessibility and styling of the controls of several of ours blocks. (4100)

    Bug Fixes

    • Hide tax breakdown if the total amount of tax to be paid is 0. (4262)
    • Prevent Coupon code panel from appearing in stores were coupons are disabled. (4202)
    • For payment methods, only use canMakePayment in the frontend (not the editor) context. (4188)
    • Fix duplicate react keys in ProductDetails component. (4187)
    • Fix sending of confirmation emails for orders when no payment is needed. (4186)
    • Stopped a warning being shown when using WooCommerce Force Sells and adding a product with a Synced Force Sell to the cart. (4182)

    Various

    • Move Button and Label components to @woocommerce/blocks-checkout package. (4222)
    • Add couponName filter to allow extensions to modify how coupons are displayed in the Cart and Checkout summary. (4166)

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

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

    Changes

    • Fixed a few bugs that came as a consequence of the jQuery 3 migration. (#29956, #29980)
    • Removed the support for customizing image and thumbnail sizes in default themes that was added in the beta package. (#29959)
    • Updated WooCommerce Admin to 2.3.1. (#29979)

    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.


  • 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)