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 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
-
Hi everyone! WooCommerce 8.3 was scheduled for release today, November 14, 2023. But, to allow for some additional testing and monitoring on our end we’ve decided to delay the release until Thursday, November 16, 2023.
Why the delay?
WooCommerce 8.3 will be the first major release since the release of WordPress 6.4 on November 7th. It will also be the current stable version when PHP 8.3 is released on November 23, 2023. As such, we need to ensure WooCommerce’s compatibility with the changes from these two major dependencies. We have identified very recent issues and were able to fix them. However, we still need more time in testing these fixes together with other recent changes since WooCommerce 8.3 RC 2.
What happens next?
We don’t anticipate the delay to take long. We are currently aiming to release WooCommerce 8.3 on Thursday, November 16, 2023. As always we will announce the release on this blog.
Thank you
Part of the compatibility fixes we are testing and including in WooCommerce 8.3 came from the community. We appreciate the time and effort that the community have put in to help us uncover and solve these compatibility issues early on.
-
We’ve released an update to WooCommerce Blocks (version 11.5.4). It is now available for download on WordPress.org and GitHub.
Changelog
Bug Fixes
- Prevent PHP warnings when using Jetpack WooCommerce Analytics module. #11707
- Fixed address components in Firefox, and editing of address form in the editor. #11714
- Fix Classic Cart/Checkout styling on non-cart and checkout pages. #11694
- Fix double border in cart and notes field width on mobile. 11742
- Ensure that incompatible notices are displayed in Safari. #11736
- Enabled the new blockified Order Confirmation by default for block-based themes. #11615
-
RC 2 for the November 14 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 RC 1, the following changes have been made:
- 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 the complete list, view the changelog in the readme for this release.
Release Schedule
We’re on track for our planned November 14 release.
Version Release Final Release November 14, 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.
- Compatibility issue with PHP 8.3 related to performing an
-
WooCommerce 8.2.2 is now available for download.
What’s new?
- We fixed a bug introduced with the WordPress 6.4 release which breaks sites using the Classic Template block for the Single Product template. #41291
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 released an update to WooCommerce Blocks: version 11.5.1. It is now available for download on WordPress.org and GitHub.
Changelog
Bug Fixes
-
RC 1 for the November 14 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 Beta 1, the following changes have been made:
- 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
- A banner image was optimized to reduce the WooCommerce package size. #41247
For the complete list, view the changelog in the readme for this release.
Release Schedule
We’re on track for our planned November 14 release.
Version Release Final Release November 14, 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.