WooCommerce 9.0 Has been released on June 18, 2024. This post highlights what’s new in this version of WooCommerce.
See our update guide.
Download directly from WordPress.org.
Other important information:
- 📀 This release includes a database update.
- 🔒 This release contains important security fixes
- See more
Whats coming in 9.0
- An improved checkout experience
- Product Collection Blocks — The next iteration
- Experimental: Faster HPOS with Full-text search indexes
- New REST API endpoint for refunds
- More new features and updates
- API Updates
- Other important information
- Changelog
- Get WooCommerce 9.0
- Contributors
An improved checkout experience
Checkout Blocks — UI improvements for better conversion: Updates include a refreshed order summary with sticky functionality on desktop, clearer display of local pickup options, improved address form layout, and adjustments to checkout steps. Accessibility improvements were also made to enhance the shopping experience, addressing feedback from Amber Hinds from Equalize Digital in #47470 and #47460.
We’ve updated how we display the selectors for delivery options and we’ve also truncated location information with “Read more” prompt to make the experience easier to navigate for buyers.

The Checkout Address Form received some UI changes where Address Line 2 can now be made required. When optional, it will be displayed as an inline button instead of an input.


Product Collection Blocks — The next iteration
Add- Prevent collection different than Product Catalog from being filtered Pull Request (#45820)
Add – Product Collection: Implement Preview Mode (#46369)
Product Collection: remove Beta label (#47572)
The Product Collections blocks are no longer in beta and are ready for use in your store! We recently announced the development plan for these blocks here and are excited to share the enhanced navigation, responsiveness, granular control over the overall layout, and more robust filtering options that they provide when displaying a store’s products.

Checkout what we’ve added to the Product Collection block in this latest release as part of it’s debut out of beta

Experimental: Faster HPOS with Full-text search indexes
Add experimental support for FTS indexes in HPOS (#46130)
Search | WooCommerce 8.9 | WooCommerce 9.0 | WooCommerce 9.0 with Full-text indexes |
All (no results) | 3261ms | 1904ms | 676ms |
All (3k+ results) | 6679ms | 3070ms | 547ms |
Customers (no results) | 1049ms | 1033ms | 0.6ms |
Customers (3k+ results) | 2111ms | 2119ms | 40ms |
Products (no results) | 1897ms | 781ms | 0.6ms |
Products (3k+ results) | 3715ms | 1507ms | 53ms |
Benchmarking of WooCommerce order search
Experimenting toward a faster HPOS: We will be enabling an experimental version of Full-text search indexes for order addresses and products, leveraging MySQL’s advanced indexing techniques to speed-up search operations. This improvement, part of the High-Performance Order Storage (HPOS) initiative, optimizes database efficiency and scalability for WooCommerce stores.
When activated, all order searches will automatically leverage these FTS indexes, leading to faster search results. Additionally, we’ve ensured that non-FTS searches remain fast as part of HPOS, providing a balanced performance boost across the board.
To enable this experimental feature navigate to WooCommerce > Settings > Advanced > Features and activate the “HPOS Full-text search indexes option”. Please note, this feature requires HPOS to be enabled. We encourage testing this feature in a staging environment and sharing your experiences and feedback through our GitHub Discussions.
New REST API endpoint for refunds
Add standalone wc/v3/refunds endpointPull Request #46895
This update introduces a brand-new endpoint, wc/v3/refunds
, designed to streamline the process of retrieving refund data.
This endpoint simplifies the process of fetching refund data by allowing users to obtain a list of refunds directly, sorted by date and optionally filtered by a date range. This change removes the need to link refunds to their corresponding orders, streamlining the data retrieval process. The data returned matches that of the orders endpoint, ensuring consistency across your applications.
More new features and updates
A more secure, legible System Status Report (SSR):
Improved readability and better UX for GitHub bug reports, by optimizing the format of the SSRPull Request (#47088)
SSRs in WooCommerce now feature a collapsible section for issues, improving visibility, and enhanced formatting with back-ticks for readability. Security has been upgraded, hiding WordPress and site URLs, database prefixes, and associated tables from public reports, protecting sensitive information during report sharing.
Adjustment to text based settings fields
Fix WC_Settings_API
textarea validation method (#48432)
When editing settings fields in WooCommerce, HTML iframes will now be correctly removed on save for all user roles.
On the shortcode checkout, payment methods will no longer render HTML iframes in the description area unless they are inserted by an extension using a hook or via the Payment Gateway class file.
This is to ensure consistency between legacy and block based checkouts, and for store safety.
Rename Classic Block Templates
Rename classic template blocks to avoid confusion (#44931)
Some block names were often confusing for users. As an example WooCommerce Single Product Block
(a block that represents a “classic” PHP template) was often confused with Single Product
block (modern block).
To address this, we decided to rename the blocks representing so-called “classic templates” to distinguish them from modern blocks more easily and to better describe their purpose.
HTML Tag Update in Block Templates:
Replace div element with main in block templates (#47119)
We will be changing the main HTML tag from <div> to <main> in several block templates in an effort to improve accessibility. The <main>
tag defines the central content of a page, providing better support for assistive technologies such as screen readers. Checkout the developer advisory on this for more information.
API Updates
- Add support for ‘customer’ field to REST orders controller (v2/v3)(#46878)
- Prevent product from being saved prematurely when updated via REST API (#46674)
- REST API: Add standalone
wc/v3/refunds
endpoint (#46895) - REST API: Add variation product type to response (#47377)
- REST API: Add missing line item schemas to refunds endpoint (#47254)
- Remove the Legacy REST API from WooCommerce core (#40627)
- Fix: Deleting a shop coupon using API returns a 500 error (#47474)
Other important information
Database updates
📀 Run wc_update_900_add_launch_your_store_tour_option on WC 9.0 update (#47634)
This change adds a new update function to add the woocommerce_show_lys_tour
option
This release contains important security updates
📆 We released a fix for the following vulnerability on June 4, 2024. 9.0 has also received this fix:
The unintended loading of a file on the frontend of WooCommerce storefronts for versions 7.8.0 through 8.9.1 was fixed as part of a backport issued for versions 7.8-8.9. Read more in this Developer Advisory.
📆 We released a fix for the following vulnerability on June 10, 2024. 9.0 has also received this fix:
A vulnerability introduced in WooCommerce 8.8 allows for cross-site scripting — a type of attack where a bad actor can manipulate a link to include malicious content, for example, JavaScript, on a page. While the content is not saved to the database, the links may be sent to victims for malicious purposes. Read more in this Developer Advisory
Coming soon mode is…coming soon
In our pre-release post we mentioned an exciting new feature that allows merchants to build their stores behind a coming soon page would be introduced in 9.0. After testing through our release process, we decided we still had some finishing touches before launching this feature, which will be included in the upcoming WooCommerce 9.1.
You can still test this coming soon feature and learn more about in this post.
Reposted from WooCommerce
If you have a care plan with 7th Circle Designs this update will be taken care of based on your plan’s schedule. If you do not have a care plan, sign up now.