Changelog

  • 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

  • We’ve just shipped another release that contains two bugfixes for the WC Admin and Blocks packages. Here is the changelog for the release:

    
    **WooCommerce Admin 1.3.1**
    * Fix - PHP Fatal errors when columns are missing from the Notes table: 
    https://github.com/woocommerce/woocommerce-admin/pull/4831
    **WooCommerce Blocks 2.7.2**
    * Enhancement: Move Draft order logic behind feature flag: 
    https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/2874

    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.


  • We are excited to announce that WooCommerce 4.3 is now publicly available! It has been in development since April 2020 and the core has been updated with 272 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.3?

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

    New Home page experience

    We’re bringing you a completely new home page for a more focused experience that enables easier store management. It includes just the 3 most important items for merchants to glance at:

    • the inbox messages,
    • a quick overview of the common store metrics, and
    • shortcuts pointing to the most used settings

    We’re happy to hear your feedback and thoughts on the new home page and hope we can make it into a central place of the WooCommerce experience.

    The new home page is available for all new customers by default. If you’re upgrading from an earlier version, you can turn it on via WooCommerce > Settings > Advanced > Features > Home Screen.

    You can also check out our new documentation section that covers the Home Screen functionality.

    Blocks update

    With this release, we’re including a lot of improvements from the Blocks world. Among others:

    • A new status for orders: “draft”
    • All “Product Grid” type blocks now default to 3 rows instead of one for the initial settings
    • HTML editing is no longer supported in several blocks to prevent accidental breakage
    • More options available for Filter Products by Attribute block
    • Improved handling of taxes for Filter Products by Price block
    • Styling consistency and CSS improvements

    If you have any of the Product Grid blocks (except All Products) in use on your site, and you never changed any of the default settings for the block, then the block will update to 3 rows instead of 1 row for the rendered products. However, if the block was saved to your content with settings changed, then the rendered content will not be affected. So you will want to double-check your blocks after the update.

    Please note that for now, Cart and Checkout blocks are not enabled in the bundled version of Blocks. If you want to use those, please install the separate Blocks plugin.

    Miscellaneous improvements

    Besides adding new features, we are continuously working on improving the experience of the core plugin as well. We have:

    • improved concurrency handling for stock level management
    • added a new Verify database tool to rebuild the database schema
    • fixed CSV import and export tool bugs
    • improved template caching in container environments
    • fixed erroneous behavior of add-to-cart links

    If you would like to know more, please review our full changelog.

    PHP version support

    As the world of WordPress is preparing for upgrading PHP version recommendation to PHP to 7.2+, we are following the suit. With WooCommerce 4.3, to provide enough lead time for merchants and store owners, we will start displaying a recommendation to update to PHP 7.2+.

    PHP versions up to 7.1 are not receiving security updates anymore, so we definitely recommend not postponing this decision.

    Extension compatibility warning

    After discussions with our teams and with external teams developing extensions, we have decided to remove the warning for compatibility for minor WooCommerce versions and only display it for major versions.

    Since we strive to produce backward compatible releases and we decided to increase the cadency of our releases to monthly, releasing extensions just to declare compatibility with the new WooCommerce became a burden for developers. We believe our focus on ensuring compatibility and improved testing procedures would enable us to catch potential problems early. Therefore, we think this step can ease the burden of development teams without negative effects on our customers and merchants. We will keep evaluating this decision through our support channels to identify potential problems in this approach.

    New Hooks and Functions

    We’ve added some new hooks in this release:

    FilterDescription
    woocommerce_before_get_rates_for_packageFires before getting shipping rates for a package.
    woocommerce_after_get_rates_for_packageFires after getting shipping rates for a package.
    woocommerce_add_payment_method_form_is_validVerify the received form data when adding a new payment method.
    woocommerce_add_payment_method_form_bottomAdd additional markup at the bottom of the form to add a new payment method.
    woocommerce_status_widget_low_in_stock_count_pre_queryCustomize the low stock threshold to use for the low stock status widget.
    woocommerce_status_widget_out_of_stock_count_pre_queryCustomize the no stock threshold to use for the no stock status widget.
    woocommerce_hide_base_tables_missing_nagCustomize the notice that appears when database tables are missing.
    woocommerce_checkout_order_createdFired after an order is created.
    woocommerce_checkout_order_exceptionFired when an order is discarded due to Exception.
    woocommerce_before_get_rates_for_packageFires before getting shipping rates for a package.
    woocommerce_after_get_rates_for_packageFires after getting shipping rates for a package.
    woocommerce_get_path_define_tokensCustomize the list of constants to be used in path tokenization.
    woocommerce_hold_stock_for_checkoutAllows enable/disable hold stock functionality on checkout.
    woocommerce_rest_performance_indicators_data_valueCustomize admin reports.
    admin_body_classAdd theme class to admin body.
    woocommerce_blocks_register_script_dependenciesAdd payment method script handles as script dependencies.
    enqueue_block_editor_assetsEnqueue assets used for rendering the block in editor context.
    wc_order_statusesRegister custom order status for orders created via the API during checkout.
    woocommerce_register_shop_order_post_statusesRegister custom order post status for orders created via the API during checkout.
    woocommerce_valid_order_statuses_for_paymentAppend draft status to a list of statuses.
    woocommerce_cleanup_draft_ordersDelete too old draft orders.

     

    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.3 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 have started to shift some of the extensive testing upstream internally in order to decrease the feedback loop during WooCommerce Core releases.
    • The shift the monthly releases will dramatically decrease 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

    ObliviousHarmonyclaudiosanchespeterfabianvedanshujainrrennickmattsherman
    ObliviousHarmonyclaudiosanchespeterfabianvedanshujainrrennickmattsherman
    juliaamosovajoshuatfKonamimanAljullubor0tsteur
    juliaamosovajoshuatfKonamimanAljullubor0tsteur
    tivnettimmycspacedmonkeyDan-QYasienDwiebhelgatheviking
    tivnettimmycspacedmonkeyDan-QYasienDwiebhelgatheviking
    jasonandmontejobthomasbarryhughes   
    jasonandmontejobthomasbarryhughes   

    WooCommerce Admin

    joshuatfpsealockmattshermanjeffstielerbecdetatrrennick
    joshuatfpsealockmattshermanjeffstielerbecdetatrrennick
    jconroydechovoctaedrodanielbitzertimmycclaudiosanches
    jconroydechovoctaedrodanielbitzertimmycclaudiosanches

    WooCommerce Blocks

    Aljullunerradmikejolleyhaszarisenadirthenbrent
    Aljullunerradmikejolleyhaszarisenadirthenbrent

    Action Scheduler

    rrennick     
    rrennick     

    REST API

    vedanshujain     
    vedanshujain     

  • Hi all! After publishing the second release candidate for WooCommerce 4.3, we’ve discovered a problem between Jetpack and WooCommerce that resulted in WooCommerce creating a lot of unnecessary options in the database. As we prefer the stability of the platform, we’ve decided to publish one more release candidate–RC3 today to test the problematic parts of code more thoroughly on our testing and production platforms, and, if everything goes well, we plan to publish the final 4.3 version later this week.

    Changes

    Please find below the list of changes since RC2:

    WooCommerce core

    • Dev – Removed type hints from src folder. #26963

    WooCommerce Admin

    • Fix – Added default value to the note icon. #4745
    • Fix – Unnecessary REST API usage leading to potential overflow of Jetpack option sizes. #4755
    • Dev – Add deprecation notice for install_plugin() #4713
    • Dev – Only load non-minified js files when SCRIPT_DEBUG is on, and env is development or plugin. #4747

    Testing

    As usual, 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 are releasing WC Blocks 2.9.0! It’s available for download from GitHub and WordPress.org. This is a small bug-fix release.

    Read the full changelog below:

    • bug: Correctly sort translated state and country drop-down menus in Checkout block. #2779
    • dev: Add storybook story for icon library. #2787
    • dev: Add custom jest matcher toRenderBlock, used for confirming blocks are available in the editor in e2e tests. #2780
    • dev: Use consistent Button component in Cart & Checkout blocks. #2781

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

    As a part of this release, Storefront now specifies the “Tested up to:” and “Requires PHP” version checks. Currently, the required PHP version is 5.6.0, but this will likely be bumped in future versions to align with WooCommerce core.

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

    • Fix – Stylesheet storefront-woocommerce-style has storefront-style and storefront-icons as explicit dependencies, so child themes can define storefront-woocommerce-style as a dependency without the risk of breaking the stylesheets order. #1369
    • Fix – Removed woocommerce-legacy.css stylesheets for unsupported versions of WooCommerce (< 4.0). #1368
    • Dev – Adopt RenovateBot for managing dependencies. #1363
    • Dev – Update various dependencies, including major updates:
      • @wordpress/babel-preset-default v4 #1387
      • stylelint v13 #1390

    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.