Changelog
Check out the latest releases from the WooCommerce project.
Subscribe to all release posts via our RSS feed.
-
The latest version of WooCommerce Blocks, version 10.0.0, is now available for download on WordPress.org and GitHub.
Notable Changes
Updated Shopper Notices
In this release, we introduce new components and styling for buyer notices, featuring Snackbar lists and Notice banners with shared components. These new styles give a uniform look and feel across all WooCommerce Blocks.
In addition to this, if your store uses either the Cart Block or Checkout Block on the main cart and checkout pages, these styles will also transfer to all other WooCommerce notices, e.g. the ones in the “My Account” area. These new styles should take precedence over any existing theme styles due to the new markup and CSS being applied.
The basic HTML structure of the new notices is as follows:
<div class="wc-block-components-notice-banner is-error"> <svg /> <div class="wc-block-components-notice-banner__content">MESSAGE</div> </div>
There are different styles based on the notice status which include
error
,success
,info
,default
,warning
.If you’re not using the Cart or Checkout Blocks (if you’re still using the shortcode based cart and checkout for example), existing notices rendered by WooCommerce will not be affected.
Here’s a preview of how each type of notice looks:
Themes that use customised notices will not have their styles respected after this update. The new notices use new CSS class-names and markup, so any existing styles will not apply. We’ve avoided using legacy class names to avoid conflicts and to ensure that there is consistent styling across all notice types.
Themes can target the new selectors after this release, in which case the main CSS selector is
.wc-block-components-notice-banner
.Documentation is available:
Cart and Checkout blocks are now wide-aligned by default when added to a page
We made a change to the Cart and Checkout blocks, so that they have a wide alignment by default. This helps to ensure the blocks display correctly when using some block themes. Previously, they would be narrow, and appear in a single column even on wide devices. To revert to how they were, select the main Cart or Checkout block, select the “align” button, and choose “None”.
New
filteradditionalCartCheckoutInnerBlockTypes
In this release we added a new filter,
additionalCartCheckoutInnerBlockTypes
which allows additional block types to be added to the Cart and Checkout inner blocks areas. We included an example of how to use it in the available filters documentation.An example of how this can be used, is if you have created a custom block, and want merchants to have the option to insert it in the Cart/Checkout block, using this filter would let them choose it.
You may also supply core block names to this filter. For example, if you want to allow merchants to include the
core/table
block below the address form, this is possible too!registerCheckoutFilters( 'my-custom-plugin', { additionalCartCheckoutInnerBlockTypes: ( value, extensions, { block } ) => { value.push( 'core/table' ); return value; }, } );
Styling options for product blocks
Product SKU, Product Price, and Product Image now support more styling options in terms of color, dimension, and typography and have support for Global Styles.
New blocks
- Product Reviews block: Displays the reviews for a given product. It can be inserted inside the Single Product template.
Changelog
Enhancements
- Filter by Price: Simplify the interface by removing the decimals. (8975)
- Moved editor-only placeholders to the block inspector to improve the appearance of the checkout block in the post editor. (8957)
- Enhance Product SKU block styling capabilities with additional support for color, typography & spacing. (8913)
- Enhance Product Price block styling capabilities with additional support for background color, line height, font family, letter spacing, and padding. (8906)
- Enable users to migrate to the blockified Single Product template. (8902)
- Set Cart and Checkout blocks to have the wide alignment by default when first added to a page. (8899)
- Add padding support for
Product Image
block. (8895) - Added the “Products Review” block. (8857)
- New styles for error, info, and success notices across notices created by blocks. Additionally, existing notices in core receive new styles when Cart and Checkout Blocks are in use. (8659)
- Add
additionalCartCheckoutInnerBlockTypes
checkout filter to allow additional block types to be inserted into the Cart and Checkout blocks in the editor. (8650) - Product Rating: Normalize the height of rating icons and the add review link. (8399)
- Show the collection address in the shipping section of the Checkout sidebar when using a Local Pickup method. (8305)
Bug Fixes
- Prevent the shipping/billing address forms from breaking when entering postcodes for specific countries. (8987)
- Product Archive Compatibility Layer: Fix duplicated content. (8915)
- Product Archive compatibility layer: Fix the
woocommerce_after_shop_loop_item_title
hook positioning. (8911) - Fix image placeholder for the Product Image Gallery block that was not fitting inside its wrapper component. (8901)
- Add Cart and Checkout blocks to the Style Book. (8888)
- Fix duplicated “Shipping Method” Block on the front-end. (8861)
- Replace the Notice component with the Skeleton component for the Add to Cart Form block. (8842)
-
Release Candidate 3 for the 7.6 release of WooCommerce is now available for testing. You can either download it directly from WordPress.org or install our WooCommerce Beta Tester Plugin.
Release Schedule
WooCommerce 7.6 was scheduled to be released today, April 11 2023. To ensure a bug-free experience, we’re delaying this release to address a recently discovered issue. WooCommerce 7.6 will be released a few days later to allow for the fix to be properly tested.
What’s New?
Since the release of 7.6.0 rc 2, the following changes have been made:
- Fix an issue that breaks the WooCommerce Home Page when Gutenberg 15.5 is active (37641)
Actions and Filters
No changes.
Template Changes
No changes.
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.
-
Release Candidate 2 for the April 11 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?
Since the release of 7.6.0 rc 1, the following changes have been made:
- Fix: Do not attempt to cache order during order creation (HPOS) to avoid causing a fatal error under certain conditions.
Actions and Filters
No changes.
Template Changes
No changes.
Release Schedule
We’re still on track for our planned April 11 release of WooCommerce 7.6.
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.
-
Release Candidate 1 for the April 2023 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?
There have been no changes since the release of Beta 2.
Actions and Filters
There have been no new action or filter changes changes since Beta 2.
Template Changes
There have been no new template changes since Beta 2.
Release Schedule
We’re still on-track for our planned April 11, 2023 release of WooCommerce 7.6.
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.
-
The latest version of WooCommerce Blocks, version 9.9.0, is now available for download on WordPress.org and GitHub.
Notable Changes
This release includes many exciting changes and bug fixes. Below are a few of the most important ones that we want to highlight to our community.
Fixed a bug where
ShippingData
returned by payment processing observers did not contain an address propertyIn Check for address on shippingData (#8878) which was included in this release, we fixed a regression with our payment processing observers. Previously, certain payment event observers (see the
eventRegistration
prop in our documentation) that returned ashippingData
object with anaddress
property would overwrite the customer’s shipping address with the supplied address, however in #8163 this was inadvertently removed.This has now been changed so that these extensions work as they did (but passing the address via
shippingData.address
is still deprecated, and the preferred method is to pass it viashippingAddress
which should be a flat address object).Migrating to
shippingAddress
To migrate away from the deprecated
shippingData
property to using the newshippingAddress
property, you will need to update your observer’s return value. The address, previously stored the inshippingData.address
should be moved intoshippingAddress
which will be a flat object containing only the address data.Old observer response value
return { shippingData: { address: { first_name: 'John', last_name: 'Doe', } }
New observer response value – note the
shippingAddress
value is a flat objectreturn { shippingAddress: { first_name: 'John', last_name: 'Doe', } }
Client-side postcode validation in the Checkout block
In this release, we included a change that performs postcode validation on the client-side. This change improves the performance of the Checkout process for the shopper. Previously the postcode was only validated on the server. There was a delay before the user saw an error if they entered an invalid postcode. This new experience not only reduces the load on your server but allows the shopper to work through the checkout form more quickly!
We still perform server-side validation of the postcode, but this is done when the checkout form is submitted rather than when the value changes.
Pickup location on the order confirmation page
When shoppers check out using a local pickup method, they will now see the pickup location’s address on the order confirmation page and in the order confirmation emails! The collection instructions also appear in this area.
Payment gateway filtering in Store API
Payment methods on the Checkout block will now respect the
woocommerce_available_payment_gateways
filter. For example, on the PHP side you could prevent a payment method being shown to a customer using:add_filter( 'woocommerce_available_payment_gateways', function( $payments ) { unset( $payments['cod'] ); return $payments; } );
As part of this work, the Store APIs
wc/store/v1/cart
route will now return a list of available payment methods for that cart, e.g.:"payment_methods": [ "cod", "bacs", "cheque" ],
This is in turn stored on the JavaScript side in the
wc/store/cart
data store. This change does not affect payment extensions or payment method registration, it only affects use of filters on the server side.Add to Cart button styling improvements
We have made some improvements to the Add to cart button, providing greater customization options for online stores. It’s now possible to choose between Fill and Outline styles for the button and adjust its width to 25%, 50%, 75%, or 100% of the parent container. In addition, we’ve introduced a variety of typography controls, including Font Family, Appearance, Line height, Letter spacing, Decoration, and Letter case.
These improvements aim to provide greater control over the look and feel of the Add to cart button, ensuring it seamlessly integrates with the store’s design.
Mini Cart Block Improvements
It’s now possible to customize all buttons of the Mini Cart, including changing their color and background as well as changing the style from outline to filled. In addition to that, the Mini Cart block got a new setting to customize how it renders in the Cart and Checkout pages (Hide or Remove), which will allow to change its behavior depending on the desired header style.
Provide a way to switch to the blockified Single Product Template
We have added a button “Upgrade to Blockified Single Product template” to the Single Product template. By clicking on this button, the classic template is upgraded to the new Blockified Single Product template.
This new template allows customizations of the product page with blocks, giving more flexibility and creativity in showcasing the products.
Changelog
Enhancements
- Move Related Products’s notice component to the Inspector Control section. (8843)
- Product SKU Block: Don’t render the prefix when the SKU isn’t defined. (8837)
- Mini-cart: Add the option to change the style between ‘Outline’ and ‘Fill’ in all the buttons. (8835)
- Product SKU: Make the block focusable in editor. (8804)
- Add Fill & Outline styles, width settings & new typography controls for Product(Add to cart) button block. (8781)
- Allow themes to remove the Mini Cart title on overridden template parts. (8779)
- Add style to the
Mini Cart
buttons. (8776) - Add the ability to change the background and text colors of the Mini Cart block “Start shopping” button. (8766)
- Mini-cart: Add setting to not render the block on the cart & checkout pages. (8700)
- Ensure shipping rates do not show in the Checkout block if the “Hide shipping costs until an address is entered option is selected”. (8682)
- Move option to hide shipping costs until an address is entered to the Checkout block. (8680)
- Remove certain Shipping settings from WooCommerce -> Settings -> Shipping -> Shipping Options when using the Cart or Checkout blocks, these have been moved to setting on the blocks. (8679)
- Add spacing between Mini Cart title and products list when scrolled. (8676)
- Add new ExperimentalOrderLocalPickupPackages Slot/Fill. (8636)
- Add default Single Product HTML template. (8515)
- Validate postcodes client-site instead of server-side. (8503)
- Added support for
woocommerce_available_payment_gateways
to the Store API. (8441)
Bug Fixes
- Fix border styles not visible in the editor in Featured Product and Featured Category blocks. (8838)
- Add decoding to product names titles that are in HTML entities. (8824)
- Fix react 18 error in the editor when using cart/checkout blocks. (8820)
- Filter by Stock and Filter by Rating: Fix the potential endless redirection loop when used on a search results page. (8784)
- Fix “Save changes” default behavior bug in the Firefox browser. (8754)
- Store API – Apply
woocommerce_cart_item_permalink
filter to cart item permalinks. (8726) - Add validation error to prevent checkout when there is no shipping method available. (8384)
- Fix Markdown table in payment-method-integration.md > external contribution #8158. (8258)
Various
-
Beta 2 for the April 11 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 7.6.0 beta 1, the following changes have been made:
- Update WooCommerce Blocks to 9.8.4, which includes the following changes:
- Fix an issue where extensions were unable to programatically set the shipping address during payment processing.
- Fix border styles not visible in the editor in Featured Product and Featured Category blocks.
- Fix “Save changes” default behavior bug in the Firefox browser.
- Fix unlinked border widths not being applied correctly in the frontend in WordPress 6.2 for some blocks.
- Fix a HPOS caching issue that was introduced in WooCommerce 7.6.0 Beta 1.
- Fix a HPOS synchronization issue that could reset meta data to a previous state.
- Fix an issue that kept the onboarding wizard from launching after installation.
- Fix a fatal error when running the
wc_admin_daily
cronjob. - Declare compatibility with WordPress 6.0 through 6.2.
For the complete list, view the changelog in the readme for this release.
Actions and Filters
No changes introduced.
Database Changes
No changes introduced.
Template Changes
No changes introduced.
Release Schedule
We’re still on track for our planned April 11 release.
Version Release Release Candidate April 4, 2023 Final Release April 11, 2023 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.
- Update WooCommerce Blocks to 9.8.4, which includes the following changes:
-
WooCommerce Blocks 9.8.2 is now available for download, this is a fix release that follows 9.8.1, which we released last week.
These are the changes included:
WC Blocks 9.8.1
Bug Fixes
- Fix Single Product page not visible in block themes that provided a custom template. (8758)
- Products by Attributes: Fix the block rendered empty in the Editor. (8759)
- Fix the local pickup price in the shipping type selector and pickup options. (8623)
WC Blocks 9.8.2
Enhancements
- Display the link to add the shipping address when the shipping address is not available. (8141)
Bug Fixes
-
WooCommerce 7.5.1 is now available for download.
What’s new?
- We’ve addressed an issue where during upgrade, dbDelta may have caused an unnecessary
ALTER
to be executed. #37277 - We’ve fixed an issue with variable product quantity selectors. #36871
- This release bumps the version of WooCommerce Blocks included in WooCommerce to 9.6.6. #37298
- Version 9.6.6 of WooCommerce Blocks includes a fix to a 404 error that was introduced in WooCommerce 7.5.0. While the error didn’t break anything user-facing, it had the potential to cause 404 error logs to increase in size. #8445
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 issues in WooCommerce core, please log them in detail on GitHub. Found a security issue? Please submit a report via HackerOne.
- We’ve addressed an issue where during upgrade, dbDelta may have caused an unnecessary
-
Beta 1 for the April 11 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 7.5.0, the following changes have been made:
- Update WooCommerce Blocks to 9.8.1, which includes the following changes:
- Improvements to the look and feel, and the performance of the Mini Cart block.
- Improved attributes filtering in the products block.
- See the release post for 9.8.0 for a complete list.
- Many other small improvements and bug fixes.
For the complete list, view the changelog in the readme for this release.
Actions and Filters
This release adds one new filter and two new actions.
Filter
Filter Description woocommerce_product_allow_backorder_use_radio
Allow 3rd parties to control whether “Allow backorder?” option will use radio buttons or a select. [Source] Actions
Action Description woocommerce_reduce_order_item_stock
Fires when stock reduced to a specific line item. [Source] woocommerce_widget_layered_nav_filters_start
Allow 3rd party developers to add their own filters to start the Layered Navigation Filters Widget. [Source] Database Changes
No changes introduced.
Template Changes
No changes introduced.
Release Schedule
We’re still on track for our planned April 11 release.
Version Release Release Candidate April 4, 2023 Final Release April 11, 2023 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.
- Update WooCommerce Blocks to 9.8.1, which includes the following changes:
-
We are pleased to announce the release of WooCommerce 7.5.0. This release should be backwards compatible with the previous version.
This release contains:
- 278 commits from 55 contributors in WooCommerce Core.
- 170 commits from 28 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.5.0?
Support for Style Book
Gutenberg 14.8 introduced Style Book, which allows merchants, web developers, and site admins to preview individual blocks. With the WooCommerce Blocks 9.5.0 release, the Featured Product and the Featured Category blocks are available here. This will enable the preview of any global style changes applied to these blocks.
Global Styles
Besides previewing blocks within the Style Book, we also migrated various blocks away from hardcoded CSS towards Global Styles. Since WooCommerce Blocks 9.5.0, the Product Button, Product Rating, and Product Price blocks utilise Global Styles.
The Product Rating block has gained support for padding global styles, making it easy to add spacing around it.
New Blocks
In addition to the Story Book and Global Styles improvements, we’re thrilled to introduce the following new blocks:
- Store Breadcrumbs block: Provides a clear and easy-to-follow navigation trail, allowing users to quickly understand their location within the store and facilitating navigation to previous sections.
- Product Results Count block: Displays the total number of products and how many are currently displayed, based on the global query.
- Catalog Sorting block: Allows users to sort products within a category by various criteria, such as price, popularity, and newness.
Multichannel Marketing (Beta)
We add a new Channels card that displays a list of recommended channels and registered channels. Extensions will be able to register themselves as a marketing channel by integrating with the Multichannel Marketing library, and display basic stats about the channel.
Actions and Filters Changes
There are no action or filter changes this release.
Template Changes
There are no template changes this release.
Database Changes
This release contains two DB updates:
- We add two columns to the
wc_order_stats
table:date_paid
anddate_completed
. Additionally, both of these columns are then backfilled by data from thepostmeta
table. #36492 - The experiment for the new product management feature is now turned off. Note that this will do a single
update_option
call, but only for very few stores that have it enabled. #36894
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