Changelog
Check out the latest releases from the WooCommerce project.
Subscribe to all release posts via our RSS feed.
-
Release Candidate for the January 9, 2024 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 8.5.0 Beta, the following changes have been made:
- Fixed an error in the cart from the Product Collection block when Google Analytics plugin was enabled (#43177).
- Reverted a recent change introduced in 8.5.0 Beta so that the feedback bar from the new Product Editor is visible every time the user opens the editor (#43178).
For the complete list, view the changelog in the readme for this release.
Release Schedule
We’re on track for our planned January 9, 2024 release.
Version Release Final Release January 9, 2024 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.
We’ve 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 January 9, 2024 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 8.4.0, the following changes have been made:
- This is the first pre-release version since we merged WooCommerce Blocks into the core repository.
- Added the Order Attribution feature (#39701).
- Added several WooCommerce-related commands to the Command Palette (#41605).
- Hide in-app marketplace feature flag UI (#42951)
For the complete list, view the changelog in the readme for this release.
Release Schedule
We’re on track for our planned January 9, 2024 release.
Version Release Release Candidate January 2, 2024 Final Release January 9, 2024 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.
We’ve 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 8.4.0. This release should be backwards compatible with the previous version.
This release contains:
- 772 commits from 56 contributors in WooCommerce Core.
- 226 commits from 32 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 8.4.0?
WC Blocks feature – Product Collection: Add support for filtering products by featured status
These changes allow merchants to easily display only featured products in their product collections, enhancing flexibility.
Manage your subscriptions for Woo extensions from your store
Want to manage all your licences for Woo.com themes and extensions? WooCommerce 8.4 makes it easy. Go to
WooCommerce > Extensions
and click on theMy subscriptions
tab. You’ll see all your subscriptions to Woo.com products. Quickly install extensions on your store, renew expired subscriptions, view documentation and more!Shipping Settings Refresh
There are new flows for adding Shipping Zone methods in Settings. The process of adding new Shipping Zone methods has been streamlined into a single flow rather than requiring merchants to add and configure methods in separate places.
There is also a new modal for adding and editing Shipping classes to match methods.
Virtual & Downloadable product support in the new product creation experience
The new product creation experience enabled under Settings > Advanced > Features, now has support for creating Virtual & Downloadable products.
A Downloads field is available in the General tab, allowing you to upload files or insert by URL:
For virtual products, a checkbox has been added in the Shipping tab to remove the need for shipping:
PRs related to these changes
- WooCommerce Blocks has been updated to 11.6.2. See the release notes for changes. #41641, #41743, #41869
- The Shipping Settings feature has been refreshed. #40983
- The My Subscriptions feature has been rebuilt. #40249
Other changes
- Security fix to remove the potential for a Reflected XSS attack in relation to the dismissable “Product reviews have moved!” notice in the edit comments screen.
- Many other updates!
For a complete list of the changes included in this release, please see the changelog in the readme for 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
ActionScheduler
WooCommerce Blocks
-
Release Candidate for the December 12 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 8.4.0 Beta, the following changes have been made:
- WooCommerce Blocks has been updated to 11.6.2. #41869
- Fixed some issues in the new Shipping Settings feature. #41834 #41833
- Fixed an issue that breaks the shipping input fields in the new product editor for stores in Europe or other areas where the
thousandSeparator
is blank. #41792
For the complete list, view the changelog in the readme for this release.
Release Schedule
We’re on track for our planned December 12 release.
Version Release Final Release December 12, 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.
We’ve 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 11.7.0, is now available for download on WordPress.org and GitHub.
Keep in mind that this is the last major release of WooCommerce Blocks as in the future it will be part of the WooCommerce Monorepo. You can read more about it and how it might impact you in the developer advisory: “WooCommerce Blocks Merging into the WooCommerce Monorepo“.
Notable Changes
Mini-Cart block automatically injected to header patterns and template-parts
Thanks to Block Hooks API, the Mini-Cart block is now automatically injected into the WooCommerce header patterns and template-parts by default. It appears next to the navigation and adjusts to the header layout but you can move it around or remove it if you like.
Please check a short video presenting where to look for header patterns with a Mini-Cart block.
For now, Mini-Cart is automatically injected only in the Twenty Twenty-Four theme but we can expand the list of themes this supports in future iterations.
Rename the Product Collection “Shrink columns to fit” option to “Responsive” and enable it by default
Recently, we added a “Shrink columns to fit” option in the Product Collection block. This makes your product grid responsive. The option has now been renamed to “Responsive” which we found to better explain its purpose.
You can still find it in Product Collection’s inspector controls, next to the “Columns” setting:
Another important change is this option is now enabled by default for newly added Product Collection blocks!
Hook
woocommerce_single_product_summary
action tocore/post-excerpt
blockUse
woocommerce_single_product_summary
action to extend your Single Product template. The hook is attached to the Post Excerpt block so the content you’d like to display on Single Product template will appear above the Product Summary which is a variation of Post Excerpt block.To make it work, add an action like:
add_action('woocommerce_single_product_summary', function() { echo 'woocommerce_single_product_summary'; });
and the content will appear on the Single Product pages like this:
Changelog
Enhancements
- The Block Hooks API is implemented to auto-inject the Mini-Cart block in header patterns and template parts when the “Twenty Twenty-Four” theme is active. The Mini-Cart block also now defaults to not show the total for the items in the cart when inserted into content. (11745)
- Decrease modal width. (12003)
- [Store Customization] Update the default content in patterns. (11997)
- [Store Customization] Update the “Footer with 3 Menus” pattern to remove the last 2 menus. (11980)
- Limit number of visible incompatible extensions in sidebar notice. (11972)
- Improve readability of order note. (11944)
- Reorganise Columns controls and fix undefined problem in Product Collection settings. (11937)
- Switch to NoticeBanner component inside Store Notices Block placeholder. (11920)
- Preserve shrinkColumns value when switching the layout type of Product Collection. (11905)
- Tweak the product prompt. (11903)
- Add DELETE
private/ai/pattern
endpoint. (11890) - Update notice for default cart and checkout. (11861)
- Enable shrink columns option in Product Collection by default. (11821)
- Move
Combobox
to components package. (11353) - Interactivity API: Implement the new
store()
API. (11071)
Bug Fixes
- [CYS] Fix regression and ensure AI-generated content is assigned to products after the third attempt. (12016)
- [Product Collection] Fix: HTML Entity Decoding in Taxonomy Controls. (11982)
- Product Gallery: Add a Product Image fallback. (11978)
- Reviews by Product: Fix reviews count not appearing in product selector. (11976)
- Hook
woocommerce_single_product_summary
action tocore/post-excerpt
block. (11953) - fix: Store notices always shows as an error type #11768. (11932)
- [Product Collection] Fix: HTML entity decoding for product names in Hand-Picked Products. (11927)
- Validate coupon usage against customer id AND emails. (11860)
- Pass order ID to woocommerce_before_thankyou hook. (11852)
- Translate the prefixes passed to post-terms in product-meta. (11811)
- Prevent fatal errors when using Cart Tokens and creating new accounts on checkout. (11785)
- Product Gallery Thumbnails: Add support for cropping. (11718)
- Fix: Product Collection show products with correct stock statuses. (11708)
- Product Gallery Thumbnails: Fix overflow issues and improve responsiveness. (11665)
Various
-
Beta 1 for the December 12 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 8.3.0, the following changes have been made:
- WooCommerce Blocks has been updated to 11.6.1. See the release notes for 11.6.0 and 11.6.1 for changes. #41641, #41743
- The Shipping Settings feature has been refreshed. #40983
- The My Subscriptions feature has been rebuilt. #40249
For the complete list, view the changelog in the readme for this release.
Release Schedule
We’re on track for our planned October 10 release.
Version Release Release Candidate December 5, 2023 Final Release December 12, 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.
We’ve 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 11.6.1, is now available for download on WordPress.org and GitHub.
Notable Changes
Product Collection: Add support for filtering products by featured status
These changes allow merchants to easily display only featured products in their product collections, enhancing flexibility.
Changelog
Enhancements
- Product Collection: Add support for filtering products by featured status. #11522
- Product Collection – New ‘No Results’ block with default UI. #11783
- We have moved the TotalsItem, TotalsFees, Subtotal, Banner, StoreNotice, StoreNotices, Panel, TextInput, ValidatedTextInput and ValidationInputError components to the @woocommerce/blocks-components package. Previously these were available in @woocommerce/blocks-checkout . Your code will continue to work as we have added aliases to the new location. Despite this, it is recommended that you change your code to import this component from @woocommerce/blocks-components as the import from the checkout package will be deprecated in the future. #11766 #11698 #11654 #11773
- Improve performance in patterns registration. #11733
- Patterns: remove unused author, sticky, and parents attributes from the Product Collection block in patterns. #11673
- Semantic enhancement to the position of a phone field in Checkout. #11651
- Migrate the Product Button to the new store() API of the Interactivity API. #11558
Bug Fixes
11.6.1
- Add missing woocommerce classname to Classic Cart/Checkout Blocks container so UI updates when the cart is emptied. #11919
- Fix an issue that caused the Order by select in Reviews blocks to always be disabled. #11918
- Fix All Reviews, Reviews by Product and Reviews by Category blocks not being rendered. #11913
11.6.0
- Make “Use same address for billing” visible by default. #11804
- Fix the order endpoint tax line items format. #11796
- Store API/Blocks Extensibility: Fix recursive extension schema validation. #11792
- Fix: Left align local pickup address. #11772
- Fix typo in classic checkout modal. #11771
- Fix hardcoded shop link in “Hero Product 3 Split” pattern. #11767
- Fix billing address condensed address state in the editor and in Firefox. #11765
- Related Products: Make the heading translated when in blockified Single Product template. #11693
- Add to Cart with Options block: fix inconsistency between editor and frontend styles. #11614
- Product Button: Improve the width and padding. #11537
- Fix the Layout for Shipping and Billing Address Forms in the Checkout Block #11486
- Minor fixes for PHP 8. #11473
- Product Button: always enqueue the store. #11858
- Fixed params passed to woocommerce_before_thankyou for block checkout. This should be an order ID, not an order object. #11862
- Enhanced validation for limited-use coupons and guest users. #11860
Documentation
- Updated documentation for the onProcessingSetup observer. #11751
-
WooCommerce 8.3.1 is now available for download.
What’s new?
- Fixed an issue where coupon usage restrictions may not have been respected for guest orders when HPOS is enabled. #41538
- Update WooCommerce Blocks to 11.4.9, which fixes an issue where email address was not considered while evaluating coupon restrictions when using checkout blocks. #41610
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.
-
For the past few months, we have been busy building out a brand-new product creation experience. You may have read about it previously, and hopefully even tried it out yourself. If not, don’t worry… we will explain how to do so later in this post!
The product creation process has been redesigned from the ground up to focus on commerce, providing users with a seamless experience for crafting a wide range of products, from simple ones to highly customized options. This experience is still under active development, and we aim to reach feature parity early in 2024. Built with extensibility as a core principle, the new product editor provides developers with straightforward tools to integrate their unique features into the product creation process.
In fact, we are using these mechanisms to develop the new product editor itself!
We are approaching this project with the following guiding principles:
- Provide a low complexity API that can be used via PHP, as we have heard from many developers that this is preferred.
- Provide tooling to help set up the development environment.
- Provide backwards compatibility when possible.
- Use GitHub Discussions for brainstorming and decision-making, inviting contributions and feedback from the development community.
About Product Editor Extensibility
The design
The new product editor is organized into clearly defined tabs and sections, reflecting our research that finds that merchants think in terms of tasks and goals while creating new products in WooCommerce.
You can help ensure your extension makes the most of this new design by reading our extensibility guidelines, which will help you determine where you should add new features to the product editor.
The implementation
The new product editor is implemented using the same Blocks API that powers the post and site editors in WordPress. However, whereas a “regular” block editor allows the end user to add blocks anywhere and rearrange those blocks, the product editor offers a more familiar, structured form-based experience, which is more suitable for the data entry and modification that is at the heart of product management.
As such, we have developed a simple PHP-based API, targeting our PHP developers in the WooCommerce community, which allows developers to easily extend the product editor’s form.
Extensibility features
Through a PHP-based API, developers are able to:
- Add new blocks to the form; we supply a number of generic blocks that can be used out of the box, including:
- Checkbox
- Pricing
- Radio
- Text
- Toggle
- Remove blocks from the form
- Conditionally hide and disable blocks on the form based on properties of the edited product, such as the product type
If an extension requires interactivity not available via our generic blocks, developers can easily implement a custom block using JavaScript and React.
Getting started
Try out the new product editor
Note: Since WooCommerce 7.9 (mid-July 2023), a subset of new stores have the new product editor auto-enabled as part of tests that Woo is running to help shape the new product creation experience. Users can easily opt-out of the new product editor and return to the classic product editor if they need functionality and extensions that are not yet available in the new product editor.
If you haven’t already, try out the new product editor so you can become familiar with how the new experience feels.
Go to WooCommerce > Settings > Advanced > Features and enable Try the new product editor (Beta).
Next, go to Products > Add New to try out the new editor.
Try adding a new block to the editor
There are a number of examples in the documentation on how to use the PHP-based API. Here is a simple example that adds a new field after the product name field. Add this to a test plugin and reload the product editor page.
<pre class="wp-block-syntaxhighlighter-code"><?php use Automattic\WooCommerce\Admin\BlockTemplates\BlockInterface; if ( ! function_exists( 'YOUR_PREFIX_add_block' ) ) { /** * Add a new block to the template after the product name field. * * @param BlockInterface $product_name_field The product name block. */ function YOUR_PREFIX_add_block( BlockInterface $product_name_field ) { $parent = $product_name_field->get_parent(); if ( ! method_exists( $parent, 'add_block' ) ) { return; } $parent->add_block( [ 'id' => 'example-block', 'order' => $product_name_field->get_order() + 5, 'blockName' => 'woocommerce/product-text-field', 'attributes' => [ 'property' => 'meta_data.example_block_property', 'label' => __( 'Example block', 'YOUR_TEXT_DOMAIN' ), ], ] ); } add_action( 'woocommerce_block_template_area_product-form_after_add_block_product-name', 'YOUR_PREFIX_add_block' ); } </pre>
Here is the result:
Note that the block’s input will also be persisted automatically in the metadata of the product. There is no other configuration necessary!
Explore the extensibility guidelines
Now that you have a feel for the new product editor, start thinking about how to best bring your extension’s functionality to merchants using it. Read the extensibility guidelines for tips and best practices.
Let us know what you think
Are there things you love about extending the new product editor? We sure hope so! Let us know.
Even more importantly, let us know what documentation and functionality is missing that you need in order to successfully bring your extension to the new product editor.
Share your thoughts with us in our discussion forum and in Slack:
- GitHub Discussions under the WooCommerce Product Block Editor category
- WooCommerce Community Slack in the
#woocommerce-product-editor-extensibility
channel
Where to find more information
We are actively working on providing documentation for new product editor development:
-
We are pleased to announce the release of WooCommerce 8.3.0. This release should be backwards compatible with the previous version.
This release contains:
- 682 commits from 59 contributors in WooCommerce Core.
- 231 commits from 37 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.
WordPress Version Support
The versions of WordPress supported are now WP6.4 and WP6.3 (due to the release of WordPress 6.4 last week given the L-1 support policy).
Whats new in 8.3.0?
Default Cart, Checkout, and Order Confirmation Blocks on new installations
We’re thrilled to announce a significant enhancement to the WooCommerce experience, designed to simplify and elevate your online store setup. Starting with WooCommerce version 8.3, we’ve integrated Cart, Checkout, and Order Confirmation blocks as the default checkout experience for new installations. This means that from the beginning, your store will feature a modern, intuitive, and visually appealing checkout journey.
Compatibility and Scope
For new installations with block-based themes (such as TT3, TT4, etc.), the default checkout experience includes the Cart Block, the Checkout Block, and the new Blockified Order Confirmation template. We’ve ensured that this change won’t impact existing stores, providing a worry-free transition for our users. Users updating to 8.3 will keep the existing checkout experience.
Effortless Migration using Page Creation tool
For existing stores, you can now use the WooCommerce > Status > Tools > Create Pages tool to generate new pages effortlessly, incorporating blocks seamlessly into the checkout flow after deleting the old Cart and Checkout pages. This feature is designed to give users a hassle-free way to update the Cart and Checkout experience in one go.
Note: While we’re bringing you an enhanced checkout experience, please note that, for now, the blockified Order Confirmation template will be exclusively available for block-based themes. Stay tuned for future updates as we refine and expand our offerings.
Themes in the WooCommerce Marketplace
With WooCommerce 8.2, we soft-launched a revamped Extensions page. With this release we see the next evolution with the introduction of themes. Visit
WooCommerce > Extensions
to quickly find the theme that’s perfect for your business.Marketplace search improvements
The search experience in the new Marketplace has been improved by showing themes first if there are no extensions, empty search will open the discovery page, and large screens will show 8 results if available.
Mobile app onboarding experience has been improved
In this first iteration, we aim to improve the app installation rate by showing a QR code with text instructions on where to install the app. As Woo mobile no longer requires Jetpack (the merchant can log in with site credentials and the app generates an application password), we also want to remove the Jetpack setup steps for non-Jetpack sites since we’re seeing a low conversion rate. For WPCOM/Jetpack sites, the CTA to send a magic link email stays the same.
In iteration 2, we plan to provide a QR code with a link to pre-fill the site credentials except for the password for non-Jetpack sites at least. We’re also exploring generating an application password and including it in the QR code.
Other changes
- The experimental email opt-in field from the Core Profiler has been improved to perform better email validation. #41152
- Jetpack data is now preloaded even without the Jetpack plugin installed. #41092
- Images have been optimized to reduce the WooCommerce package size
- The compatibility issue with PHP 8.3 related to performing an
array_sum()
is resolved. #41205 - New blockified Order Confirmation template is now available by default on new installations. #41276
- Using WordPress 6.4 release sites that rely on using the Classic Template block for the Single Product template are no longer broken. #41291
For a complete list of the changes included in this release, please see the changelog in the readme for 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
ActionScheduler
WooCommerce Blocks