Changelog
Check out the latest releases from the WooCommerce project.
Subscribe to all release posts via our RSS feed.
-
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:
-
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 –
- Updating styles across all blocks to make them more consistent and also removed usage of dashicon classes.
- Blocks respect the product image cropping settings.
- Scripts only relevant to the front-end display of blocks are no longer loaded in the editor.
Centralized Coupon Management
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
- Fixed the visibility of partially out of stock variable products when using the layered nav widget. (#26260)
- 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
orprocessing
). 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:
Version Release Beta July 28, 2020 Release Candidate August 4, 2020 4.4 Final Release August 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.
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
- build: Updated the
-
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:
Filter Description woocommerce_before_get_rates_for_package Fires before getting shipping rates for a package. woocommerce_after_get_rates_for_package Fires after getting shipping rates for a package. woocommerce_add_payment_method_form_is_valid Verify the received form data when adding a new payment method. woocommerce_add_payment_method_form_bottom Add additional markup at the bottom of the form to add a new payment method. woocommerce_status_widget_low_in_stock_count_pre_query Customize the low stock threshold to use for the low stock status widget. woocommerce_status_widget_out_of_stock_count_pre_query Customize the no stock threshold to use for the no stock status widget. woocommerce_hide_base_tables_missing_nag Customize the notice that appears when database tables are missing. woocommerce_checkout_order_created Fired after an order is created. woocommerce_checkout_order_exception Fired when an order is discarded due to Exception. woocommerce_before_get_rates_for_package Fires before getting shipping rates for a package. woocommerce_after_get_rates_for_package Fires after getting shipping rates for a package. woocommerce_get_path_define_tokens Customize the list of constants to be used in path tokenization. woocommerce_hold_stock_for_checkout Allows enable/disable hold stock functionality on checkout. woocommerce_rest_performance_indicators_data_value Customize admin reports. admin_body_class Add theme class to admin body. woocommerce_blocks_register_script_dependencies Add payment method script handles as script dependencies. enqueue_block_editor_assets Enqueue assets used for rendering the block in editor context. wc_order_statuses Register custom order status for orders created via the API during checkout. woocommerce_register_shop_order_post_statuses Register custom order post status for orders created via the API during checkout. woocommerce_valid_order_statuses_for_payment Append draft status to a list of statuses. woocommerce_cleanup_draft_orders Delete 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, fixes, translation, testing, supporting other users or simply spreading the word.
WooCommerce Core
WooCommerce Admin
joshuatf psealock mattsherman jeffstieler becdetat rrennick jconroy dechov octaedro danielbitzer timmyc claudiosanches WooCommerce Blocks
Action Scheduler
REST API
-
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:
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.