Changelog
Check out the latest releases from the WooCommerce project.
Subscribe to all release posts via our RSS feed.
-
WooCommerce 7.6.1 is available for download. It introduces a few fixes for issues that were introduced in the 7.6.0 release.
What’s New?
- Fix: fix regression in supporting nested date query arguments in HPOS. #37827
- Fix: sync up
date_column_name
default for orders table, between stats and table data. #37927 - Fix: revert “Change Variations form shown in Variations tab when there are no variations created (#36957)” #37889
- Fix: revert changes to use
window.fetch
in legacy cart JS #37463 - Update: update WooCommerce Blocks to 9.8.5 #37921
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.
-
Beta 2 for the May 9 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.7.0 beta 1, the following changes have been made:
- https://github.com/woocommerce/woocommerce/pull/37753
- https://github.com/woocommerce/woocommerce/pull/37818
- https://github.com/woocommerce/woocommerce/pull/37827
- https://github.com/woocommerce/woocommerce/pull/37890
- https://github.com/woocommerce/woocommerce/pull/37907
- https://github.com/woocommerce/woocommerce/pull/37882
- https://github.com/woocommerce/woocommerce/pull/37896
- https://github.com/woocommerce/woocommerce/pull/37901
- https://github.com/woocommerce/woocommerce/pull/37908
- https://github.com/woocommerce/woocommerce/pull/37922
- https://github.com/woocommerce/woocommerce/pull/37927
For the complete list, view the changelog in the readme for this release.
Release Schedule
We’re still on track for our planned May 9 release.
Version Release Release Candidate May 2, 2023 Final Release May 9, 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.
-
Beta 1 for the May 9, 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.
Highlights
Since the release of 7.6.0, the following changes have been made:
- Multichannel Marketing is out of beta and it is now the default experience when you visit the Marketing page
- Update WooCommerce Blocks to 10.0.1
For the complete list, view the changelog in the readme for this release.
Actions and Filters
Three new filters are added
Filter Description
woocommerce_disable_rest_api_access_logThis filter enables the exclusion of the most recent access time from being logged for REST API calls.[Source] wc_help_tip
Filter the help tip.[Source] woocommerce_add_message
Filter wc_print_notice
output [Source]Database Changes
There is a database change.
Remove the multichannel marketing feature flag and options. This feature is now enabled by default.
[Source]
Template Changes
The following files have template changes:
- plugins/woocommerce/templates/checkout/form-pay.php
- plugins/woocommerce/templates/checkout/payment.php
- plugins/woocommerce/templates/loop/no-products-found.php
- plugins/woocommerce/templates/myaccount/downloads.php
- plugins/woocommerce/templates/myaccount/form-add-payment-method.php
- plugins/woocommerce/templates/myaccount/orders.php
- plugins/woocommerce/templates/myaccount/payment-methods.php
- plugins/woocommerce/templates/order/order-details.php
Release Schedule
We’re still on track for our planned May 9 release.
Version Release Release Candidate May 2, 2023 Final Release May 9, 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.
-
We are pleased to announce the release of WooCommerce 7.6.0. This release should be backwards compatible with the previous version.
This release contains:
- 485 commits from 47 contributors in WooCommerce Core.
- 188 commits from 21 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 WooCommerce 7.6?
Here are a few highlights of changes included in this release.
- Add – Add a cache for orders, to use when custom order tables are enabled #35014
- Add – Add an encoding selector to the product importer #36819
- Add – Allow sorting by menu_order in products widget. #37002
- Add – Log to order notes when coupons are removed or applied. #30642
- Fix – Fix incorrect usage of dispatch, useSelect, and setState calls in homescreen along with settings and onboarding package to ensure compatibility with current versions of the Gutenberg plugin #37641
- Fix – Ensure product importer imports all lines in a CSV file. #36839
- Fix – Fixes filtering by attributes in the Analytics Orders and Variations reports. #37223
- Fix – Fix incorrect VAT exempt behaviour on shop page when prices are exclusive of tax. #33991
- Fix – Treat order as seperate resource when validating for webhook since it’s not necessarily a CPT anymore. #36650
- Performance – Switch
wc_product_attributes_lookup
table management to use truncate and dbDelta over drop table #36872
New Blocks
We’re thrilled to introduce the following new blocks for the Single Product Template. This is our first iteration to port over existing functionalities of the Single Product template to the Site Editor.
- Single Product Details block: The block version of the product details in the Single Product Template. Merchants can now add product descriptions, information, and reviews to their stores.
- Add to Cart Form block: The block version of the “add to cart” form enables merchants to display a button in single product templates. Options are also displayed depending on product type. e.g. quantity, variation.
Disabling payment gateways stops associated saved payment information from displaying
We have improved block-based checkout by preventing saved cards from displaying if the payment gateway that added them is disabled. This ensures that users only see available and enabled payment options, making the payment process more efficient and straightforward.
Clearer Event Names in Block-Based Checkout
We have made changes to the checkout events in the block-based checkout to improve clarity and reduce confusion. Several events were renamed to improve their accuracy and clarity:
onCheckoutValidationBeforeProcessing
renamed toonCheckoutValidation
onCheckoutAfterProcessingWithSuccess
renamed toonCheckoutSuccess
onCheckoutAfterProcessingWithError
renamed toonCheckoutFail
onPaymentProcessing
renamed toonPaymentSetup
Better performance and look and feel for the Mini Cart block
With this release, we introduced many improvements to the Mini Cart block. Among others, it’s been optimized and has better performance. When opening the Mini Cart, the content shows up immediately, as it’s preloaded in the background while the browser is idle.
The Empty Mini Cart button, which encourages shoppers to add products to the cart, now matches your theme styles.
Improved Attributes filtering in Products block
The new Products block now allows filtering products by attribute directly from the Editor interface. The experience has been enhanced by providing a user-friendly collapsible menu with attributes. Additionally, you can quickly filter attributes by typing their name. These enhancements provide a more streamlined experience for selecting the products you want to display.
Also, when checking the attributes, there’s now a live preview of the products from the Editor perspective, which allows seeing how the block will be displayed in the frontend of your store.
Improved margins in Products block patterns
There are a number of available patterns using the Products block. All of them have now consistent and scalable margins.
Here’s the list of available patterns to try out:
- WooCommerce 1:1 Image 4-Column Products Row
- WooCommerce 3-Column Product Row
- WooCommerce 4-Column Product Row
- WooCommerce Large Image Product Gallery
- WooCommerce Minimal 5-Column Products Row
- WooCommerce Minimal Product List
- WooCommerce Product Gallery
- WooCommerce Product list with 1:1 images
- WooCommerce Product list with full product description
These are just some of the changes that are included in WooCommerce 7.6.0. You can find the complete changelog for this release in the readme.txt file.
Multichannel Marketing (Beta)
We add a new Campaigns card that allows marketing channels to surface their marketing campaigns with basic metrics within the Marketing page.
The “Create a new campaign” modal allows the users to go to the campaign creation process easily.
Actions and Filters Changes
This release adds three new filters and two new actions.
Filters
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] proceedToCheckoutButtonLabel
[docs] andproceedToCheckoutButtonLink
[docs]Alter the text and link of the “Proceed to checkout” button in the Cart block. Our documentation has additional information on these filters and an example of how to use them. 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] Template Changes
There are no template changes in this release.
Database Changes
There are no database changes in this release.
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
-
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: