Changelog
Check out the latest releases from the WooCommerce project.
Subscribe to all release posts via our RSS feed.
-
A new version of WooCommerce Blocks has been released! Version 8.8.1 is now available for download from GitHub and WordPress.org.
In this minor release we fixed a bug where some extensions making use of the
/cart/extensions
endpoint would not receive the updated cart totals in the response. We now ensure the cart totals are recalculated before sending the response.Changelog
Bug fixes
- Fix a bug in which cart totals aren’t recalculated aftering running CartExtensions (#7490)
-
Beta 2 for the November 2022 release of WooCommerce is now available for testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.
Highlights
Since the release of Beta 1, the following changes have been made:
- Several fixes and improvements to High Performance Order Storage. #35198, #35176, #35121, #35207, #35125, #35087
- The included version of WooCommerce Blocks has been bumped to version 8.7.4. For the complete list of changes, see the Blocks release post.
Release Schedule
We’re still on track for our planned November 8 release.
Version Release Release Candidate November 1st, 2022 Final Release November 8th, 2022 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 8.8.0 is now available for download from GitHub and WordPress.org.
Filter by Rating block
This release contains a new block: the Filter by Rating block. This allows shoppers to select a rating and only show products that satisfy the filter’s criteria.
New hook for modifying
cart_item_data
We added a new hook to the Store API named
woocommerce_store_api_add_to_cart_data
that provides an array of cart item data, and the API request object. This allows data to be modified or added to cart items before they are added to the cart.For example, if an extension were to pass custom data to the API endpoint, it could retrieve the posted values via the new hook and then store it within the cart item itself for later use:
add_filter( 'woocommerce_store_api_add_to_cart_data', function( $add_to_cart_data, \WP_REST_Request $request ) { $add_to_cart_data['cart_item_data']['custom'] = sanitize_text_field( $request['custom-extension-data'] ); return $add_to_cart_data; }, 10, 2 );
More information about this can be found on the pull request in the WooCommerce Blocks GitHub repository.
Other changes
Besides these changes, we also made some performance improvements in the editor when working with the Cart and Checkout blocks. We added a notice to the block inspector to let users know these blocks are a beta feature, but the implementation of this notice had a slight performance impact. To fix this, we added some extra checks which allow us to stop executing the code for this notice early if the editor was not focused on either the Cart or Checkout block.
This release also fixes some alignment issues with the mini-cart in the editor.
We also fixed a bug where object data would be lost or inconsistent when using the
/cart/extensions
endpoint.Finally, we fixed a bug where a fatal error would sometimes occur when using certain shipping setups on specific store configurations.
Changelog
Enhancements
- Filter by Ratings: Add the Filter by Rating block to the feature plugin build. (7384)
- Filter by Ratings: Improve accessibility by announcing the rating filter change. (7370)
- Prevent resource hinting when cart/checkout blocks are not in use. (7364)
- Separate filter title and filter controls by converting the Rating filter block to use Inner Blocks. (7362)
- Products by Rating: Add support for Display Options. (7311)
- Store API: Introduced
woocommerce_store_api_add_to_cart_data
hook. (7252)
Bug Fixes
- Fix performance issue with the sidebar notices. (7435)
- Fix mini cart items alignment issues in Editor. (7387)
- Store API: Replaced
wc()->api->get_endpoint_data
usage in/cart/extensions
to fix inconsistencies via filter hooks. (7361) - Fixes a fatal error with Cart Block usage in specific site configurations with multiple shipping countries. (6896)
-
A new version of WooCommerce Blocks has been released! Version 8.7.4 is now available for download from GitHub and WordPress.org.
This is a patch release that addresses the following:
Bug Fixes
- Compatibility fix for Cart and Checkout inner blocks for WordPress 6.1. (7447)
-
A new version of WooCommerce Blocks has been released! Version 8.7.3 is now available for download from GitHub and WordPress.org.
This is a patch release that addresses the following:
Bug Fixes
- Fix wrong keys being sent in canMakePayment and customer data showing in the Checkout block in the editor (7434)
-
Beta 1 for the November 2022 release of WooCommerce is now available for testing! You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.
Highlights
This release introduces High Performance Order Storage, which can be enabled within wp-admin under
WooCommerce
>Settings
>Advanced
>Features
.For a complete overview of this feature, take a look at the posts we’ve previously made about High Performance Order Storage, such as this post with frequently asked questions, or this one that addresses backward compatibility.
7.1 beta 1 also includes several other fixes, tweaks, and enhancements. For the complete list, view the changelog in the readme for this release.
Actions and Filters
This release doesn’t add any filters and adds one new action.
Action Description woocommerce_before_delete_order
Fires immediately before an order is deleted from the database. [Source] Database Changes
This release does not contain any database changes. The changes required for High Performance Order Store are not made until you enable that feature. For more about the schema of High Performance Order Store, see this post.
Template Changes
There are no template changes in this release.
Deprecations
There are no deprecations in this release.
Release Schedule
Version Release Beta October 18, 2022 Release Candidate November 1, 2022 Final Release November 8, 2022 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 8.7.2 is now available for download from GitHub and WordPress.org.
This is a patch release that addresses the following:
Bug Fixes
-
A new version of WooCommerce Blocks has been released! Version 8.7.1 is now available for download from GitHub and WordPress.org.
This is a patch release to fix an issue where JavaScript errors would occur when more than one extension tried to filter specific payment methods in the Cart and Checkout blocks.
Changelog
Bug Fixes
- Fixed an issue where JavaScript errors would occur when more than one extension tried to filter specific payment methods in the Cart and Checkout blocks. (7377)
-
A new version of WooCommerce Blocks has been released! Version 8.7.0 is now available for download from GitHub and WordPress.org.
In this release we focused on a lot of internal changes and bug fixes. Some highlights include the following:
Cart & Checkout Integration
As a highlight for developers, we made a few changes to the way you integrate with the Cart & Checkout blocks.
WP Data Stores
We moved a lot of the data related to the Checkout process into wp/data stores, which can now be accessed by other plugins to allow more flexibility and creativity when interacting with the Checkout Block. You can read more about these and how to do that here
New filters
We added a new filter for changing the text of the “Place Order” button on the Checkout Block
const { __experimentalRegisterCheckoutFilters } = window.wc.blocksCheckout; __experimentalRegisterCheckoutFilters( 'custom-place-order-button-label', { placeOrderButtonLabel: label, } );
We also added a filter for disabling the ability to remove items from the Cart Block
const { __experimentalRegisterCheckoutFilters } = window.wc.blocksCheckout; __experimentalRegisterCheckoutFilters('some-extension-name', { showRemoveItemLink: (value, extensions, { cartItem }) => { return cartItem.name !== 'Beanie'; }, });
Styling filter blocks is now easier
Previously, filter blocks were regular blocks containing a title and filter controls. Those blocks only had a styling option for the title. Also, we can’t style the filter controls without increasing the complexity of the block settings.
Because of those limitations, we upgraded filter blocks to use inner blocks. Each filter block now contains two inner blocks: a core heading block and the filter controls block. The new structures allow merchants to style individual inner blocks, which makes the filter blocks more versatile and easier to customize. In addition, using the core heading block also unlocks many possibilities and functionalities for free.
Changelog
Enhancements
- Improve visual consistency between block links. (7340)
- Update the titles of some inner blocks of the Cart block and remove the lock of the Cross-Sells parent block. (7232)
- Add filter for place order button label. (7154)
- Exposed data related to the checkout through wordpress/data stores. (6612)
- Add simple, large & two menus footer patterns. (7306)
- Add minimal, large, and essential header patterns. (7292)
- Add
showRemoveItemLink
as a new checkout filter to allow extensions to toggle the visibility of theRemove item
button under each cart line item. (7242) - Add support for a GT tracking ID for Google Analytics. (7213)
- Separate filter titles and filter controls by converting filter blocks to use Inner Blocks. (6978)
- StoreApi requests will return a
Cart-Token
header that can be used to retrieve the cart from the corresponding session via GET/wc/store/v1/cart
. (5953)
Bug Fixes
- Fixed HTML rendering in the description of active payment integrations. (7313)
- Hide the shipping address form from the Checkout when the “Force shipping to the customer billing address” is enabled. (7268)
- Fixed an error where adding new pages would cause an infinite loop and large amounts of memory used in redux. (7256)
- Ensure error messages containing HTML are shown correctly in the Cart and Checkout blocks. (7231)
- Prevent locked inner blocks from sometimes displaying twice. (6676)
- StoreApi
/checkout
endpoint now returns HTTP 402 instead of HTTP 400 when a payment fails. (7273) - Fix a problem that causes an infinite loop when inserting Cart block in wordpress.com. (7367)
-
We are pleased to announce the release of WooCommerce 7.0. This release should be backwards compatible with the previous version.
This release contains:
- 159 commits from 45 contributors in WooCommerce Core
- 96 commits from 15 contributors in WooCommerce Blocks
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 7.0?
WooCommerce Blocks
WooCommerce Filter UI Updates
As part of our objective to provide a seamless out-of-the-box experience with product filters, we have updated the existing filter block UI for a cleaner look and feel and have added a new “Reset” feature for each filter.
Product Search is now a variation of the WordPress core Search block
Given the power that Gutenberg block variations offer, we have refactored the Product Search block to be a variation of the WordPress core Search block. That means you have many more customization options now: hiding the label/button, modifying their text, changing the styles, etc.
In order to have the new Product Search available, you will need to have Gutenberg installed. This will also work with the next version of WordPress (6.1).
You can easily update existing instances of the Product Search block to this new block variation from the editor.
Cart & Checkout Blocks: Make the current page into the default cart/checkout pages notice
We’ve created a notice that, without leaving the current page, changes it to the default cart or checkout page.
Mobile App “Magic Link”: It’s now easier to sign-in into the mobile app. From the Help toolbar menu in WooCommerce > Home, click “Get the WooCommerce app” and follow the prompts to send a magic link to the email account on your device.
Multichannel Marketing Experience (Beta)
We are developing a new multichannel marketing experience in WooCommerce. The Marketing page has gone through a UI revamp which will display recommended marketing extensions organized by categories.
To start using this new experience, head over to WooCommerce Settings > Advanced > Features page, and check the “Marketing” checkbox.
More features will be added to this new Multichannel Marketing experience. Stay tuned.
Actions and Filters
This release doesn’t add any actions.
Filter Description woocommerce_product_reviews_list_table_prepare_items_args
Provides an opportunity to alter the comment query arguments used withinthe product reviews admin list table. woocommerce_cot_shop_order_search_results
Provides an opportunity to modify the list of order IDs obtained during an order search. This hook is used for Custom Order Table queries. For Custom Post Type order searches, the corresponding hookis `woocommerce_shop_order_search_results`. Database Changes
Schema Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore->get_database_schema Database wc_update_700_remove_download_log_fk Template Changes
Template Name /plugins/woocommerce/templates/emails/email-mobile-messaging.php /plugins/woocommerce/templates/global/form-login.php /plugins/woocommerce/templates/loop/no-products-found.php Deprecations
There are no deprecations 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
WooCommerce Blocks