Changelog

  • We are pleased to announce the release of WooCommerce 6.0. This release should be backwards compatible with the previous version.

    Due to internal process changes, the WooCommerce 6.0 release was delayed by one day. This allowed for us to complete some additional testing, and we don’t anticipate a delay for the WooCommerce 6.1 release.

    This release contains:

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

    What’s new in 6.0?

    • WooCommerce Blocks: We’ve updated to the 6.3.3 version of the feature plugin. See the release posts for 6.3.2 and 6.2.0 to find out what’s new.
    • WooCommerce Admin: We’ve updated to the 2.9.4 version of the feature plugin. See the changelog to find out what’s new.
    • Product Attribute Filtering: With this release, we are entering the final stages of delivering our revamp of product attribute filtering. We have removed the need for a code snippet to show the feature; both the feature flag and system tool is now available for all merchants.
    • Rate Limit Table: In order to address the performance issues caused by storing rate limits in the options table, we have created a new table to hold rate limit entries. See #30960 for more details.

    These are just some of the changes that are included in WooCommerce 6.0. You can find the complete changelog for this release in the changelog.txt file.

    Actions and Filters

    This release adds two actions:

    ActionContext
    woocommerce_product_options_shipping_product_dataAfter the shipping options in the product data metabox. #30876
    woocommerce_after_variations_tableAfter the variations table on the add-to-cart form. #29642

    This release adds two filters:

    FilterDescription
    woocommerce_quantity_input_autocompleteAllows filtering the ‘autocomplete’ attribute for quantity inputs. #31196
    woocommerce_has_block_templateFilters the return value of the block template check. #30997

    Database Changes

    • New woocommerce_rate_limits table. #30960

    Template Changes

    Template FileDescription
    templates/emails/customer-new-account.phpRemoved the generated password and replaced with a reset link.
    templates/emails/plain/customer-new-account.phpRemoved the generated password and replaced with a reset link.
    templates/myaccount/form-login.phpChanged the text informing users that the password will be emailed to them to inform them that a reset link will be sent to them.

    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 MrJnrman rrennick rodelgc masteradhoc zhongruige
    roykho MrJnrman rrennick rodelgc masteradhoc zhongruige
    ObliviousHarmony peterfabian psealock barryhughes Konamiman vedanshujain
    ObliviousHarmony peterfabian psealock barryhughes Konamiman vedanshujain
    claudiosanches andfinally jeffstieler jonathansadowski tammullen moon0326
    claudiosanches andfinally jeffstieler jonathansadowski tammullen moon0326
    unscripted adrianduffell sultann Aljullu mahmoudsaeed nielslange
    unscripted adrianduffell sultann Aljullu mahmoudsaeed nielslange
    superdav42 tjcafferkey matt-h kkmuffme
    superdav42 tjcafferkey matt-h kkmuffme

    WooCommerce Admin

    moon0326 joshuatf louwie17 octaedro ilyasfoo adrianduffell
    moon0326 joshuatf louwie17 octaedro ilyasfoo adrianduffell
    joelclimbsthings jacob-sewell johnregan3 mikkamp hellwig-data443 mattsherman
    joelclimbsthings jacob-sewell johnregan3 mikkamp hellwig-data443 mattsherman

    WooCommerce Blocks

    mikejolley Aljullu dinhtungdu sunyatasattva gigitux tjcafferkey
    mikejolley Aljullu dinhtungdu sunyatasattva gigitux tjcafferkey
    alexflorisca nielslange senadir ralucaStan opr Konamiman
    alexflorisca nielslange senadir ralucaStan opr Konamiman
    nerrad
    nerrad

    Action Scheduler

    ovidiul barryhughes Konamiman
    ovidiul barryhughes Konamiman

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

    This release fixes an issue with the Featured Product block search functionality when you have a store with a large (100+) product catalog. In addition to this we also added global styles support for the Product Categories List block.

    Changelog

    Enhancements

    • Added global styles (text color, link color, line height, and font size) to the Product Title block. (5133)

    Bug Fixes

    • Fixed the Featured Product Block search not working for large stores with 100+ products. (5156)

  • We’re excited to announce that the first release candidate for WooCommerce 6.0 is now available. We are currently on track for our planned December 14th release date.

    Changes

    Since the beta release, the follow changes have been made:

    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.


  • As per the start of our December release cycle, WooCommerce 6.0.0’s first beta is now available. You can download directly from WordPress.org, or through our WooCommerce Beta Tester Plugin.

    Highlights

    • WooCommerce Blocks: We’ve updated to the 6.3.2 version of the feature plugin. See the release posts for 6.3.2 and 6.2.0 to find out what’s new.
    • WooCommerce Admin: We’ve updated to the 2.9-rc.2 version of the feature plugin. See the changelog to find out what’s new.
    • Product Attribute Filtering: With this release, we are entering the final stages of delivering our revamp of product attribute filtering. We have removed the need for a code snippet to show the feature; both the feature flag and system tool is now available for all merchants. #31228
    • Rate Limit Table: In order to address the performance issues caused by storing rate limits in the options table, we have created a new table to hold rate limit entries. #30960

    Filters and Actions

    This release adds two filters:

    FilterDescription
    woocommerce_quantity_input_autocompleteAllows filtering the ‘autocomplete’ attribute for quantity inputs. #31196
    woocommerce_has_block_templateFilters the return value of the block template check. #30997

    This release adds two actions:

    ActionContext
    woocommerce_product_options_shipping_product_dataAfter the shipping options in the product data metabox. #30876
    woocommerce_after_variations_tableAfter the variations table on the add-to-cart form. #29642

    Database Changes

    • New woocommerce_rate_limits table. #30960

    Template Changes

    There are no template changes in this release.

    Release Schedule

    VersionRelease
    BetaNovember 23, 2021
    Release CandidateNovember 30, 2021
    Final ReleaseDecember 14, 2021

    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.


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

    This release fixes some translations missing in the Checkout block, adds and updates some extensibility interfaces for the Cart and Checkout blocks and resolves an issue in the Cart block where manual input was not working on the quantity selectors.

    In addition to that, we gated the functionality to edit WooCommerce templates from the WordPress Site Editor to versions of WooCommerce 6.0 or higher. This is to prevent content on WooCommerce templates from being duplicated. The upcoming WooCommerce release, which is scheduled for mid-December, will address this FSE-related problem.

    Changelog

    Enhancements

    • Pass to payment methods a wrapper component that handles the loading state. (5135)

    Bug Fixes

    • Gate WC template editing (FSE) to versions of WC 6.0 or higher. (5210)
    • Fix manual entry within Quantity Inputs in Cart block. (5197)
    • Correctly align Terms and Conditions block checkbox in Checkout block. (5191)
    • Add support for decimal and thousand separators in the formatPrice function. (5188)
    • Reduce the size of the checkbox component label to prevent accidental input. (5164)
    • Lazy load missing translation files on frontend to ensure that all visible texts are translatable. (5112)

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

    Wait! What happened to version 6.3.0 and 6.3.1? Don’t worry. You did not miss them. After releasing version 6.3.0, we noticed a few hiccups, which we addressed in two minor releases.

    Changes

    With WordPress 5.9 around the corner, we started converting classic WooCommerce templates, such as the single-product.php template, into block templates. These new block-based Store Editing Templates will eventually enable merchants to fully customize their templates with blocks in themes optimized for Full Site Editing.

    As an intermediary step towards this goal, this first iteration of the feature renders the existing WooCommerce templates while allowing customization by adding additional blocks around them.

    Let’s take a look at the new Store Editing Templates:

    In addition, we addressed various bugs and improved the accessibility of the WooCommerce Blocks plugin.

    Changelog

    Enhancements

    • Add placeholder text when modifying product search input in the editor. (5122)
    • FSE: Add basic product archive block template. (5049)
    • FSE: Add basic taxonomy block templates. (5063)
    • FSE: Add single product block template. (5054)
    • FSE: Remove the do_action( 'woocommerce_sidebar' ); action from the LegacyTemplate.php block. (5097)
    • Fix duplicate queries in product grids. (5002)
    • FSE: Add abstract block legacy template for core PHP templates. (4991)
    • FSE: Add render logic to BlockTemplateController. (4984)
    • Improve accessibility by using self-explaining edit button titles. (5113)
    • Improve readability of terms and condition text by not displaying the text justified. (5120)
    • Improve rendering performance for Single Product block. (5107)
    • Improve the product images placeholder display by adding a light gray border to it. (4950)
    • Deprecate the __experimental_woocommerce_blocks_checkout_update_order_from_request action in favor of woocommerce_blocks_checkout_update_order_from_request. (5015)
    • Deprecate the __experimental_woocommerce_blocks_checkout_update_order_meta action in favor of woocommerce_blocks_checkout_update_order_meta. (5017)
    • Deprecate the __experimental_woocommerce_blocks_checkout_order_processed action in favor of woocommerce_blocks_checkout_order_processed. (5014)

    Bug Fixes

    • Fix ‘Country is required’ error on the Cart block when updating shipping address (5129)
    • Fix label alignment of the product search in the editor. (5072)
    • Fix sale badge alignment on smaller screen. (5061)
    • Fix state validation to compare state codes, and only validate if a country is given (5132)
    • FSE: Fix missing is_custom property for WooCommerce block template objects. (5067)
    • Make order note block removable (5139)
    • Replace incorrect with correct text domain. (5020)
    • Scripts using wc-settings or script that depend on it would be enqueued in the footer if they’re enqueued in the header. (5059)

  • We are pleased to announce the release of WooCommerce 5.9. This is a minor release and everything should be backwards compatible with the previous version.

    This release contains:

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

    What’s new in 5.9?

    • WooCommerce Blocks 6.1: Blocks package have been updated to 6.1. Please take a look at the release posts for 6.0.16.0.2 and 6.1.0 to see what’s new and improved.
    • WooCommerce Admin 2.8.0: WooCommerce Admin package has also been updated to 2.8.0 with this release of WooCommerce. See the changelog for details on what’s new in this version (and also on previous versions 2.7.1 and 2.7.2)
    • Marketplace page redesign: The WooCommerce marketplace page shows a refreshed look, and app cards shows additional bits of information like icons, ratings and reviews. See #30900 and #30840.
    • Variable product price caching fix: There was a caching issue that caused incorrect variable product prices to be displayed when VAT exemption was involved. #30889
    • Empty billing email via REST API: It is now possible to specify an empty billing email to remove it from an order via REST API. #30850
    • Unpaid order cancellation scheduling fix: When the scheduled action to cancel an unpaid order failed it wasn’t re-scheduled for retry. #30830
    • Tax location when adding products via admin fix: When a product was added to an order via admin, and the woocommerce_adjust_non_base_location_prices filter was set to return false (to calculate taxes based on the customer locattion, not thee shop location), the location for the taxes was being taken from the admin user, not from the user who performed the order. #30692
    • We have reverted a change that prepended the currency-info.php file name with a path in locale-info.php, that extra path wasn’t really needed and was causing issues in 3rd party applications. #31036
    • We have improved the handling of downloadable files hosted on the server to better enforce file type check.

    These are just some of the changes that are included in WooCommerce 5.9. You can find the complete changelog for this release in the changelog.txt file.

    Actions and Filters

    There are no new actions or filters in this release.

    Database changes

    There are no database changes in this release.

    Template changes

    There are no template changes 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

    Konamiman Melebius NekoJonez andfinally barryhughes claudiosanches
    Konamiman Melebius NekoJonez andfinally barryhughes claudiosanches
    danielbitzer jonathansadowski joshuatf moon0326 nerrad opr
    danielbitzer jonathansadowski joshuatf moon0326 nerrad opr
    rodelgc roykho rrennick vedanshujain zhongruige
    rodelgc roykho rrennick vedanshujain zhongruige

    WooCommerce Admin

    LevinMedia NekoJonez adrianduffell andfinally aprea frosso
    LevinMedia NekoJonez adrianduffell andfinally aprea frosso
    haszari hsingyuc htdat ilyasfoo jeffstieler joelclimbsthings
    haszari hsingyuc htdat ilyasfoo jeffstieler joelclimbsthings
    joshuatf louwie17 madeincosmos mattsherman moon0326 octaedro
    joshuatf louwie17 madeincosmos mattsherman moon0326 octaedro

    WooCommerce Blocks

    Aljullu diazoxide frontdevde grogou mikejolley nerrad
    Aljullu diazoxide frontdevde grogou mikejolley nerrad
    nielslange opr ralucaStan senadir tjcafferkey
    nielslange opr ralucaStan senadir tjcafferkey

    Action Scheduler

    jonathansadowski barryhughes claudiosanches danielbitzer vedanshujain
    jonathansadowski barryhughes claudiosanches danielbitzer vedanshujain


  • We are proud to announce a new version of the Facebook For WooCommerce plugin.

    This release includes the long-awaited fix for the feed file generator. Currently available as an opt-in experimental feature from the Settings Debug section:

    The new memory improved feed generator option.

    After an initial testing period over a course of release or two, the new feed file generator will be enabled for everyone and the option will be removed.

    In the new process, the products catalog is processed in batches and the whole process is orchestrated by the Action Scheduler framework. This allowed avoiding out-of-memory issues that were happening for large catalogs and also improved the admin panel performance during the generation process.

    Another big improvement is the addition of internal product validation before attempting to synchronize the product to the Facebook catalog. If the code detects any issues it displays the information in the Facebook metabox in the product edit screen. For example:

    This image has an empty alt attribute; its file name is image-4.png

    Other shipped updates:

    • Improved compatibility with the Gutenberg Checkout Block
    • Improved ( more concise ) logs format
    • Default variation selection algorithm only selects published variations
    • New tracked variables: new feed enabled and feed generation time
    • Couple of small code refactors and cleanups preparing ground for future updates

    Please visit the plugin documentation page to read more about the new feed generator and meta box sync functionality.

    The plugin can be downloaded from woo.com and from wordpress.org.

    #facebook-for-woocommerce


  • We have released a second release candidate for WooCommerce 5.9 and are still on track for our planned release November 9th.

    Note that this is a minor release focusing on bug fixes and performance improvements. See more details of our versioning changes in Developer Advisory: Changes to WooCommerce Versioning Scheme.

    Changes

    • We have fixed a bug in the handling of remote file names for downloadable files.
    • We have reverted a change that prepended the currency-info.php file name with a path in locale-info.php, that extra path wasn’t really needed and was causing issues in 3rd party applications. #31036

    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!


  • Hi all!

    We’re happy to announce a new version of the Action Scheduler library is out now! It brings you more stability, configuration options, and performance improvements.

    Changes

    UI

    You can now change how many actions to display per page in WordPress Admin Tools > Scheduled Actions. (#771)

    https://user-images.githubusercontent.com/537751/135826312-6f6eebc1-f5ac-40bf-bc2b-0e61043bb150.gif

    Performance

    To improve performance, you can now filter the ORDER BY portion of the SQL query that claims actions. In case you can be sure you don’t really care about strict ordering of planned overdue actions, you can e.g. remove ordering by scheduled_time_gmt, which considerably improves the speed of execution of the query and reduces the probability of deadlocks (#773).

    In addition, after extensive testing, we’ve decided to drop claim_id index, as it was causing slowdowns and was superfluous since we recently added a composite index that covers claim_id column (#774).

    API

    When the execution limit is set to 0 (i.e. no limit), then calling ActionScheduler_Compatibility::raise_time_limit( $new_limit ) for $new_limit > 0 won’t set the limit, as it would be imposing a new limit rather than raising it. (#755)

    Initialization

    There are several problems that might arise during version reconciliation when multiple plugins use Action Scheduler. By applying #731, we’re solving one class of those problems by not triggering autoload of AS classes when testing for the existence of the ActionScheduler and ActionScheduler_Versions classes.

    Code gardening

    PHP CS fixes and improvements:

    Contributors ❤️

    Thanks to all the contributors who improved Action Scheduler, tested the PRs and provided their input!

    Please test the new version on your staging environment before going into production and let us know on GitHub if you find any problems.