Changelog

  • This release fixes a few bugs that were introduced with 4.4.0, including compatibility with other plugins. We highly recommend upgrading to this version.

    This fix release include:

    1. Removing PHP League’s dependency injection container for now. This was causing conflicts with other plugins that are using different versions of this dependency. We will add this back in a future release in a non-conflicting manner.
    2. Additional checks around a WC Query method to make sure that we return early if those methods not intended to run. This was causing a fatal with error wc_get_loop_prop method not found.
    3. Additional checks around checkout locale field rendering to make sure PayPal Checkout Plugin buttons render correctly.

    Here is the changelog for this release:

    * Fix - Add protection to run adjust methods only if product query. #27396
    * Dev - Stripped the internals of the DI Container to address plugin dependency conflicts it caused. #27395
    * Fix - Add more protection for field locale property incase it's not defined. #27405

    Thanks to everyone for reporting these issues 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 any other issues in the WooCommerce core, please log them in detail on GitHub. Found a security issue? Please submit a report via HackerOne.


  • WooCommerce Blocks 3.2.0 is up! It’s available for download from GitHub and WordPress.org.

    Dropping WP 5.2 support

    With our L-2 support policy, after WordPress 5.5 was released, we dropped support for WordPress 5.2.

    What’s new

    This release introduces several improvements to Cart and Checkout blocks, this includes:

    • Dark color support for Cart and Checkout.
    • More control over payment methods order.
    • Order notes, which you can disable from the block settings.
    • Live previews when inserting a block.
      Other bugs fixes and styling enhancements are also included, see the full changelog for all changes.

    Dark mode blocks

    Cart and Checkout support dark backgrounds now, you can enable this option in the block settings, if your theme defines dark-editor-style theme support, this will be enabled by default.

    Editor option in the blocks.

    If your theme supports dark colors or changing the background color, then test it with the new options.

    Dropping support for setSettings

    Starting WooCommerce Blocks 3.2.0 we’re deprecating wc.wcSettings.setSetting, and removing it completely in 3.8.0, this gives developer around 3 months to migrate to other options, for now, you will see a console error.

    Changelog

    This is the full changelog:

    • Fix ‘Add new product’ link in All Products block ‘No products’ placeholder. #2961
    • Fix an undefined variable PHP notice related to Product REST API. #2962
    • Fixed an issue that was making some blocks not to render correctly in the Empty cart template. #2904
    • Fixed an issue that was not rendering the Checkout block in editor when guest checkout was not allowed. #2958
    • Hide the discount badge from Cart items if the value is negative. #2955
    • Hide saved payment methods if their payment method has been disabled. #2975
    • Add dark colors and background for Cart & Checkout blocks inputs to support dark backgrounds. #2981
    • The Checkout block allows customers to introduce an order note. This feature can be disabled in the editor. #2877
    • Cart and Checkout form fields show autocapitalized keyboard on mobile depending on the expected value. #2884
    • Cart and Checkout will show a live preview inside the block inserter and style selector. #2992
    • Payment Methods are shown in the correct order as configured in store settings. #2934
    • Fix a cosmetic issue where payment form errors sometimes overlap with card icons. #2977
    • Fixes a styling issue in the Product Search block in the editor. #3014
    • Improved focus styles of error states on form elements. #2974
    • Removed generic icons for Check and Stripe Credit Card to reduce visual clutter in Checkout block. #2968
    • Deprecate wc.wcSettings.setSetting function. #3010
    • Improve behaviour of draft order cleanup to account for clobbered custom shop order status. #2912

  • We are excited to announce that WooCommerce 4.4 is now publicly available! It has been in development since July 2020 and the core has been updated with about 450 commits from 24 contributors.

    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 themes and plugins are compatible before updating. You can check out this update guide for more information.

    What’s new in 4.4?

    As with all minor releases, we are bringing you several new features that we’d like to highlight:

    WooCommerce Blocks Update

    This release includes numerous bug fixes and improvements across various blocks. Some notable changes include –

    1. Updating styles across all blocks to make them more consistent and also removed usage of dashicon classes.
    2. Blocks respect the product image cropping settings.
    3. Scripts only relevant to the front-end display of blocks are no longer loaded in the editor.

    Centralized Coupon Management

    The new coupons menu item – located in the Marketing Hub

    Coupons management has been moved to the marketing hub in the WordPress sidebar. There will still be a coupon menu item in the old location, and anyone stumbling upon it will be guided here.

    See more details in the original release post.

    Filters and actions

    We have added a few new filters and updated some of the existing ones:

    Filters Description
    woocommerce_product_cross_sells_products_heading Allows changing heading for cross selling product section.
    woocommerce_enable_nocache_headers Allows not setting no-cache headers to improve performance.
    woocommerce_duplicate_product_exclude_meta Added a new parameter $existing_meta_keys
    plugins_update_check_locales The default value of the $locales parameter changed to include all locales.
    woocommerce_translations_updates_for_{$plugin_name} Allows filtering plugin that are subscribed for automatic translation updates.
    woocommerce_bacs_accounts Added a new parameter $order_id
    New and changed filters

    New action is also added in this release.

    Action Description
    woocommerce_order_note_added Runs after a new note is added to the order.
    New Action

    Other notable fixes and improvements

    There are lots of fixes and stability improvements in this release, including:

    1. Fixed the visibility of partially out of stock variable products when using the layered nav widget. (#26260)
    2. If you are manually creating a new order, stocks will be updated only after you have saved the order (in any status where stocks are supposed to be reduced like on-hold, completed or processing). Earlier, stocks would have been reduced even if the order was not saved (as soon as products were added). (#26642)
    3. We have added/updated documentation of some deprecated functions (#27054).
    4. We have fixed a couple of issues that surfaced when using the upcoming version 5.5 of WordPress: removed new meta box arrows (#27173) and fixed the “product type” dropdown from product’s data meta box (#27170).
    5. After clicking to update WooCommerce, the user will now stay in the same page instead of being redirected to the “Settings” page (#27172).
    6. Improved order details UI to highlight “Paid” and “Net Payment” sections (#27142).
    7. We removed the JETPACK_AUTOLOAD_DEV define (#27185).
    8. We now trigger the woocommerce_order_item_quantity filter when reserving stock (#27251).

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

    Database changes

    This release does not require any core database alteration. However, the previous release, 4.3, did introduce a new table, so if you are upgrading from an earlier release than 4.3, make sure that WordPress user has permission to add a new table to the database.

    A re-occurring worker will be scheduled after update to backfill product variation data. This worker will process variable products in batches of 100.

    Minimum WordPress Requirement

    This version keeps the minimum WordPress version of 5.2 that was introduced in 4.2. Remember that you can read all about the new WordPress support policy in the developer blog post detailing it.

    How was 4.4 tested?

    We’ve been hard at work iterating on our testing procedures over the last few releases and we’re very satisfied with the level of stability we’ve managed to achieve in being so meticulous.

    • We have decided to continue using an external agency. Their manual testing of our product on a variety of browsers and operating systems has proven effective in finding bugs before the release.
    • We are still shifting some of the extensive testing upstream internally in order to decrease the feedback loop during WooCommerce Core releases.
    • The shift to monthly releases has effectively decreases the testing surface, leading to smaller and more stable releases.

    Much 💜 to all the contributors

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

    WooCommerce core

    Konamiman claudiosanches vedanshujain ObliviousHarmony peterfabian rrennick
    Konamiman claudiosanches vedanshujain ObliviousHarmony peterfabian rrennick
    masteradhoc budzanowski vallter2 timmyc tammullen xristos3490
    masteradhoc budzanowski vallter2 timmyc tammullen xristos3490
    hjoelr matt-h dependabot[bot] yuliyan james-allan jonathansadowski
    hjoelr matt-h dependabot[bot] yuliyan james-allan jonathansadowski
    Aljullu nerrad dhruvins andrewminion-luminfire om4csaba mch0lic
    Aljullu nerrad dhruvins andrewminion-luminfire om4csaba mch0lic
    szamanis jeffstieler mahdiyazdani juliaamosova adamradocz
    szamanis jeffstieler mahdiyazdani juliaamosova adamradocz

    WooCommerce Admin

    jeffstieler becdetat octaedro psealock joshuatf timmyc
    jeffstieler becdetat octaedro psealock joshuatf timmyc
    samueljseay jconroy jameskoster harriswong Ferdev nerrad
    samueljseay jconroy jameskoster harriswong Ferdev nerrad
    c-shultz ayubadiputra mattsherman aaemnnosttv
    c-shultz ayubadiputra mattsherman aaemnnosttv

    WooCommerce Blocks

    Aljullu nerrad haszari senadir mikejolley LevinMedia
    Aljullu nerrad haszari senadir mikejolley LevinMedia
    pkelbert
    pkelbert

    REST API

    vedanshujain ObliviousHarmony
    vedanshujain ObliviousHarmony

  • Storefront 2.6.0 has been tagged for release and uploaded to WordPress.org. This is another small maintenance release.

    As a part of this release, Storefront was tested with the recently released WordPress 5.5 and the pending WooCommerce 4.4 release.

    Here’s what’s new in 2.6.0 (pulled directly from the changelog):

    • Fix – Add defensive checks for WC Cart instance #1440
    • Fix – Fix focus outline in My Account page with Firefox #1428
    • Fix – Merge duplicate CSS Selectors #1419 👏@ismail-elkorchi
    • Fix – incorrect starter content for home page #1422
    • Enhancement – Add Cart and Checkout block styles #1412

    Download the latest release of Storefront from WordPress.org, or venture over to Dashboard → Updates in your WordPress admin to update your theme.

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


  • This release fixes a regression with REST API that was inadvertently introduced in 4.3.2. Here is the changelog for the release:

    **WooCommerce REST API 1.0.10-pl-2**
    * Fix - Fix regression and restore backward compatibility for date-time and mixed datatypes. #239

    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 any other issues in the WooCommerce core, please log them in detail on GitHub. Found a security issue? Please submit a report via HackerOne.


  • Hi all! We’ve just shipped a small fix release that improves the compatibility with the upcoming WordPress 5.5. Here is the changelog for the release:

    
    **WooCommerce**
    * Fix - Remove new WP 5.5 meta box arrows from "Order data" and "Order items" meta boxes. #27173
    * Fix - "Product type" dropdown missing from Product's data meta box on WP 5.5. #27170
    **WooCommerce Blocks 2.7.3**
    * Fix - Fix missing permissions_callback arg in StoreApi route definitions. #2926
    **WooCommerce REST API 1.0.10-pl-1**
    * Enhancement - Compatibility fixes for WordPress 5.5 #232

    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 any other issues in the WooCommerce core, please log them in detail on GitHub. Found a security issue? Please submit a report via HackerOne.


  • After releasing the beta version last week we found a few issues that needed fixing. We squashed these and made a few other improvements as well, therefore, we are moving ahead according to the plan and are excited to announce that the release candidate is now available! We are also on track for our planned August 18th final release date.

    Fixes and improvements

    • The fix for the visibility of partially out of stock variable products when using the layered nav widget (#26260) was a somewhat complex change that broke a couple of things in the beta, these have been sorted out in the RC (#27190, #27175, #27166).
    • We have added/updated documentation of some deprecated functions (#27054).
    • We have updated WooCommerce blocks yet again to a new version offering further improvements.
    • We have fixed a couple of issues that surfaced when using the upcoming version 5.5 of WordPress: removed new meta box arrows (#27173) and fixed the “product type” dropdown from product’s data meta box (#27170).
    • After clicking to update WooCommerce, the user will now stay in the same page instead of being redirected to the “Settings” page (#27172).
    • Improved order details UI to highlight “Paid” and “Net Payment” sections (#27142).
    • We removed the JETPACK_AUTOLOAD_DEV define (#27185).

    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.

    Thanks to all of our testers and contributors!


  • Today we released WooCommerce Blocks 3.1.0! It’s available for download from GitHub and WordPress.org.

    WP 5.5 compatibility

    WordPress 5.5 will be released in a few weeks, WooCommerce Blocks 3.1 adds compatibility with this release, that meant updating some API endpoints as well as ensuring there were no regressions in other parts of the codebase.

    Also a reminder, with our L-2 Support policy, after WordPress 5.5 is released, the next release of WooCommerce Blocks will drop support for WordPress 5.2.

    Changelog

    Here’s a changelog for this release:

    • Fix missing permissions_callback arg in StoreApi route definitions #2926
    • fix: ‘Product Summary’ in All Products block is not pulling in the short description of the product #2913
    • dev: Add query filter when searching for a table #2886 clap @pkelbert

  • Beta 1 for August 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?

    WooCommerce Blocks Update

    This release includes numerous bug fixes and improvements across various blocks. Some notable changes include –

    1. Updating styles across all blocks to make them more consistent and also removed usage of dashicon classes.
    2. Blocks respect the product image cropping settings.
    3. Scripts only relevant to the front-end display of blocks are no longer loaded in the editor.

    Centralized Coupon Management

    The new coupons menu item – located in the Marketing Hub

    Coupons management has been moved to the marketing hub in the WordPress sidebar. There will still be a coupon menu item in the old location, and anyone stumbling upon it will be guided here.

    See more details in the original release post.

    Filters and actions

    We have added a few new filters and updated some of the existing ones:

    FiltersDescription
    woocommerce_product_cross_sells_products_headingAllows changing heading for cross selling product section.
    woocommerce_enable_nocache_headersAllows not setting no-cache headers to improve performance.
    woocommerce_duplicate_product_exclude_metaAdded a new parameter $existing_meta_keys
    plugins_update_check_localesThe default value of the $locales parameter changed to include all locales.
    woocommerce_translations_updates_for_{$plugin_name}Allows filtering plugin that are subscribed for automatic translation updates.
    woocommerce_bacs_accountsAdded a new parameter $order_id
    New and changed filters

    New action is also added in this release.

    ActionDescription
    woocommerce_order_note_addedRuns after a new note is added to the order.
    New Action

    Other notable fixes and improvements

    There are lots of fixes and stability improvements in this release, including

    1. Fixed the visibility of partially out of stock variable products when using the layered nav widget. (#26260)
    2. If you are manually creating a new order, stocks will be updated only after you have saved the order (in any status where stocks are supposed to be reduced like on-hold, completed or processing). Earlier, stocks would have been reduced even if the order was not saved (as soon as products were added). (#26642)

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

    Database changes

    This release does not require any core database alteration. However, the previous release, – 4.3, did introduce a new table, so if you are upgrading from an earlier release than 4.3, make sure that WordPress user has permission to add a new table to the database.

    A re-occurring worker will be scheduled after update to backfill product variation data. This worker will process variable products in batches of 100.

    Release Schedule

    This version of WooCommerce will be released as per this schedule:

    VersionRelease
    BetaJuly 28, 2020
    Release CandidateAugust 4, 2020
    4.4 Final ReleaseAugust 18, 2020

    Testing

    As with the previous few releases, we have published testing instructions for 4.4 as well. We’d like to request everyone to help us in testing this release.

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


  • Today we released WooCommerce Blocks 3.0.0! It’s available for download from GitHub and WordPress.org.

    Support for BACS and COD

    Two of the major highlights of this release are introducing support for the Bank Transfer and Cash on Delivery payment methods to the checkout block. This work fulfills a key part of our plan to support all payment methods offered by WooCommerce core. From the feedback we’ve received so far on the blocks, it is clear that many of you use those payment methods too!

    The Cash on Delivery payment method integration includes full support for what shipping methods it is available for as well as whether it is accepted for virtual orders.

    Screen Recording 2020-07-20 at 02.21.55 PM

    Changes to payment method extension API

    If you are a payment method extension developer integrating with the checkout block, please note that we have made a change to the interface. The canMakePayment property is used by integrating payment methods to indicate to checkout whether they can be displayed in the UI or not. This is useful for payment methods that might be restricted by browser, geographical area or some other requirement.

    Prior to 3.0, the callback provided on this property by the payment method would only ever get invoked once during a checkout session. However, with 3.0 this could now get invoked multiple times during the checkout session. This is so payment methods have the opportunity to update whether they can show in the ui/ux or not depending on changes in the checkout itself (shipping rates selected, totals etc).

    This is a considered a non-breaking change, however, if you do any expensive payment method initialization during this callback, you may want to ensure you only do that initialization once and cache the results. You can see an example of this is done for the Stripe payment request integration here.

    Changelog

    Here’s a changelog of the changes in this release:

    • build: Updated the automattic/jetpack-autoloader package to the 2.0 branch. #2847
    • enhancement: Add support for the Bank Transfer (BACS) payment method in the Checkout block. #2821
    • enhancement: Several improvements to make Credit Card input fields display more consistent across different themes and viewport sizes. #2869
    • enhancement: Cart and Checkout blocks show a notification for products on backorder. #2833
    • enhancement: Chip styles of the Filter Products by Attribute and Active Filters have been updated to give a more consistent experience. #2765
    • enhancement: Add protection for rogue filters on order queries when executing cleanup draft orders logic. #2874
    • enhancement: Extend payment gateway extension API so gateways (payment methods) can dynamically disable (hide), based on checkout or order data (such as cart items or shipping method). For example, Cash on Delivery can limit availability to specific shipping methods only. #2840 [DN]
    • enhancement: Support Cash on Delivery core payment gateway in the Checkout block. #2831 #2831
    • performance: Don’t load shortcode Cart and Checkout scripts when using the blocks. #2842
    • performance: Scripts only relevant to the frontend side of blocks are no longer loaded in the editor. #2788
    • performance: Lazy Loading Atomic Components #2777
    • performance: Fix unnecessary checks happening for wc_reserved_stock table in site dashboard #2895
    • refactor: Remove dashicon classes #2848