Changelog

  • We are excited to announce that WooCommerce 4.5 is now publicly available! It has been in development since August 2020 and the core has been updated with about 643 commits from 25 contributors.

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

    This release is relatively small compared to recent WooCommerce releases, and is being released with a focus on stability and compatibility. We are currently improving our testing processes based on learnings from recent releases, 4.4 in particular. These changes will allow us to return to our normal release size, and ensure that we are providing a reliable, stable product with each release.

    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.5?

    The WooCommerce 4.5 release contains primarily fixes and improvements.

    New onboarding guide

    welcome-modal

    When you first visit your WooCommerce home screen, you’ll now see a guided tour that provides more information about the home screen. (#4890)

    REST API

    This release merges the REST API (#27100), which was previously a separate repository, back into WooCommerce Core. Any issues with the REST API should now be logged to the Core WooCommerce repository.

    Filters

    We have added new filters:

    FiltersDescription
    woocommerce_cart_product_cannot_add_another_messageFilters message about more than 1 product being added to cart.
    woocommerce_cart_product_out_of_stock_messageFilters message about a product being out of stock.
    woocommerce_cart_product_not_enough_stock_messageFilters message about a product not having enough stock.
    woocommerce_file_download_methodFilter download method.
    woocommerce_query_for_reserved_stockAllows filtering of the query for getting reserved stock of a product.

    Notable fixes and improvements

    There are many fixes and stability improvements in this release, including

    1. When you have “hide shipping costs until an address is entered”, the shipping cost is now hidden until the complete address is entered. This fixes an issue where previously shipping costs were displayed prior to the complete address being entered. (#27143)
    2. If you cancel a pending order, coupon holds for that order are now released. This fixes an issue where cancelling a PayPal checkout caused the coupons that were in the cart to become invalid because they were used in a previous canceled order. (#27179)
    3. When manually creating orders, searches for variations will now fallback to the parent SKU if a child SKU is not specified. (#27171)
    4. Coupon codes are now always stored with HTML entities encoded. This increases security by ensuring that we don’t store unfiltered input. There is a database migration in place when 4.5 is installed, so this is a non-breaking change. (#27140)

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

    We’ve also made some changes to address issues with the filter by attribute widget when used with variable products in this release, but we recognize that it still may not work as expected. We’re tracking the issues with the widget in #27419 and welcome you follow along there as we work toward fixing this in the next release.

    Database changes

    This release does not require any core database alteration. However, the 4.3 release 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 update coupon codes such that HTML entities are properly encoded. This will be done in batches and 10 and is backward compatible.

    Minimum WordPress Requirement

    While this release does not change the minimum PHP version, it does increase the minimum WordPress version to 5.3. Remember that you can read all about the new WordPress support policy in the developer blog post detailing it.

    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

    jonathansadowski claudiosanches Konamiman rrennick kloon ObliviousHarmony
    jonathansadowski claudiosanches Konamiman rrennick kloon ObliviousHarmony
    vedanshujain Aljullu peterfabian juliaamosova tammullen haydenw
    vedanshujain Aljullu peterfabian juliaamosova tammullen haydenw
    Rahmon jgreys georgejipa timmyc thenbrent danielmorell
    Rahmon jgreys georgejipa timmyc thenbrent danielmorell
    IanDelMar
    IanDelMar

    WooCommerce Admin

    jeffstieler samueljseay becdetat joshuatf timmyc psealock
    jeffstieler samueljseay becdetat joshuatf timmyc psealock
    jconroy octaedro c-shultz danielbitzer
    jconroy octaedro c-shultz danielbitzer

    WooCommerce Blocks

    nerrad Aljullu senadir haszari github-actions[bot]
    nerrad Aljullu senadir haszari github-actions[bot]

  • We’ve got a few fixes since last week’s release candidate to include in the release candidate for this week. We are still on track for our planned release next week, on September 8.

    You may have noticed that we didn’t post about release candidate 2. We realized as we were preparing release candidate 2 that we were missing the latest updates from WooCommerce Admin. We caught the issue after publishing the release to GitHub, so we’re releasing release candidate 3, which includes the latest version of WooCommerce Admin.

    Fixes

    • Resolved a Javascript error that occurred when attempting to purchase postage for a completed order. (#5025)
    • Fixed an issue where the filter by attribute widget wasn’t working when the variation had an attribute value of ‘Any’. (#27508)

    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!


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

    What’s new – Express Payment in Cart

    This is a small release which adds support for express payment methods in the cart block, and some bug fixes.

    Express payment options typically allow the customer to set up payment information (e.g. credit card) in their browser or device, and then complete purchases quickly, without having to enter details again.

    If you’re using WooCommerce Stripe and you have Payment Request Buttons enabled, express payment buttons should now be shown in the Cart block. The button(s) shown should be consistent with other store pages – for example, the Checkout block or product pages.

    Some example express payment options are Apple Pay and Google Pay. Note that each has different requirements and support; for example, some options are only supported in certain countries. Check with the payment provider, or the Stripe Payment Request docs if you want to find out more.

    Changelog

    • enhancement: Show express payment methods in the Cart block (for example: Apple Pay, Chrome Pay). 3004
    • bug: Fix alignment of discounted prices in Cart block. 3047
    • bug: Fix an issue with products sold individually (max of 1 per cart); the Checkout block now shows a notice if shopper attempts to add another instance of product via an add-to-cart link. 2854
    • bug: Fixed styling options of the Product Title block (in All Products). 3095
    • All Products block: Can now customize text size, color and alignment in Product Title child block. Heading level option is now in block toolbar (was in settings sidebar). 2860 (missed in 3.1.0 changelog)
    • All Products block: Can now customize text size, color and alignment in Product Price child block. 2881 (missed in 3.1.0 changelog)

  • After releasing the beta version last week we found a few issues that needed fixing. We fixed those issues and are moving ahead according to the plan. We’re excited to announce that the release candidate is now available! We are on track for our planned September 8 WooCommerce 4.5 final release date.

    Fixes and improvements

    • The package size for WooCommerce Admin was larger than it needed to be. This also caused the size of the beta release to be significantly larger than necessary. Both have been fixed, and the release candidate package is in line with the size of previous releases.
    • Fix an issue with PHP warnings on the post categories page in wp-admin. (#27448)
    • Corrected a regression that didn’t allow for formatting of product titles using HTML. (#27465)

    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!


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

    The WooCommerce 4.5 release contains primarily fixes and improvements.

    New onboarding guide

    welcome-modal

    When you first visit your WooCommerce home screen, you’ll now see a guided tour that provides more information about the home screen. (#4890)

    Notable fixes and improvements

    There are many fixes and stability improvements in this release, including

    1. When you have “hide shipping costs until an address is entered”, the shipping cost is now hidden until the complete address is entered. This fixes an issue where previously shipping costs were displayed prior to the complete address being entered. (#27143)
    2. If you cancel a pending order, coupon holds for that order are now released. This fixes an issue where cancelling a PayPal checkout caused the coupons that were in the cart to become invalid because they were used in a previous canceled order. (#27179)
    3. When manually creating orders, searches for variations will now fallback to the parent SKU if a child SKU is not specified. (#27171)
    4. Coupon codes are now always stored with HTML entities encoded. This increases security by ensuring that we don’t store unfiltered input. There is a database migration in place when 4.5 is installed, so this is a non-breaking change. (#27140)

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

    REST API

    This release merges the REST API (#27100), which was previously a separate repository, back into WooCommerce Core. Any issues with the REST API should now be logged to the Core WooCommerce repository.

    Filters

    We have added new filters:

    FiltersDescription
    woocommerce_cart_product_cannot_add_another_messageFilters message about more than 1 product being added to cart.
    woocommerce_cart_product_out_of_stock_messageFilters message about a product being out of stock.
    woocommerce_cart_product_not_enough_stock_messageFilters message about a product not having enough stock.
    woocommerce_file_download_methodFilter download method.
    woocommerce_query_for_reserved_stockAllows filtering of the query for getting reserved stock of a product.

    Database changes

    This release does not require any core database alteration. However, the 4.3 release 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 update coupon codes such that HTML entities are properly encoded. This will be done in batches and 10 and is backward compatible.

    Release Schedule

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

    VersionRelease
    BetaAugust 20, 2020
    Release CandidateAugust 25, 2020
    4.5 Final ReleaseSeptember 8, 2020

    Testing

    As with the previous few releases, we have published testing instructions for 4.5 as well. We’d like to request that everyone 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.


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