WooCommerce 9.2 Has been released on August 20, 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 does include a database update.
- See more
Latest Release:
👉 WooCommerce 9.2
About:
- ✅ Backwards compatible
- Commits: 461
- Contributors: 78
Whats coming in 9.2
- “Customize Your Store” now supports full composability
- New customer icon
- Stock holding improvements in block based checkout
- Account creation flow improvements in block based checkout
- Even more a11y improvements in block based checkout
- More new features and updates
- API Updates
- Other important information
- Changelog
- Get WooCommerce 9.2
- WooCommerce Core Contributors
“Customize Your Store” now supports full composability
CYS: Enable PTK feature flag #49565
This feature gives you the flexibility to design the homepage by adding, removing, shuffling, and rearranging patterns. Create a personalized design that perfectly matches your preferences and style.
You can now use multiple e-commerce-oriented patterns by clicking on “Design Your Homepage” in the editor menu. Discover a variety of customizable options to create a unique and engaging shopping experience for your customers.Move, shuffle, and delete patterns with the Block Toolbar
New customer icon
Add a new icon style to the Customer Account block #48979

We have introduced a new display style icon for the Customer account
block. This new display style icon is now used across headers.
This new default display style icon is now used in the following headers:
- Centered Header Menu
- Large Header
- Essential Header

Stock holding improvements in block based checkout
Avoid reserving stock for draft orders under payment is attempted. #49446

In previous versions of WooCommerce, when a customer visited the block based checkout, products in the cart would have their stock reserved. This was to allow the customer time to fill in their address and make payment.
This was an optimistic approach that assumed the customer would complete checkout.
To increase conversions, stock will now only be held once a customer attempts to make a payment, rather than when an item is added to cart. If payment fails, stock is freed up instantly.
Account creation flow improvements in block based checkout

We’re making incremental improvements to the account creation flow found within the block based checkout to make the process more intuitive. This includes updates to the default wording, an indicator that a customer is currently checkout out as a guest, and a repositioned Log In link.
The checkout block now also allows customers to set their own passwords when creating accounts (if enabled in settings) which includes a strength meter to encourage password best practices.
If a customer does create an account, either via opt-in or automatically based on settings, the order confirmation page makes it clear that an account was created and informs the user of next steps.
These added features can be controlled from WooCommerce > Settings > Accounts and Privacy.
Even more a11y improvements in block based checkout
We’ve significantly improved the accessibility and usability of the Mini-Cart block, the Cart block and the Checkout block. We’ve addressed key issues to enhance user experience, especially for those with visual impairments and users on small screens.See specific examples


More new features and updates
Auto-inserting hooked blocks
Remove feature gate and replace with woocommerce_hooked_blocks_version option #49302
the Mini Cart and Customer Account blocks will be automatically inserted into headers next to the Navigation block on all new stores running a block theme.See how this change interacts with new and existing stores
Classic Product Editor – Global Unique ID
Add new unique ID to the classic product form #49312
A new field called global_unique_id (currently labeled GTIN, UPC, EAN or ISBN) was added to the classic product editor. It has a behavior similar to a SKU, allowing any type of text, while asserting that the value is unique across all products. The field is available both for main products and variations.
Product Collection – product filtering in a non-archive context
Add control to toggle whether block is filterable in non archive context #49627
If enabled, the “sync with current query” option now makes Product Collection display the products contextually (e.g. from a specific category on the category page), as well as making it react to frontend filters. This option was previously available only in archive context, such as in the Product Catalog, Products by Category, or Product Search Results.
Rename Google Listings & Ads:
Rename Google Listings and Ads with Google for WooCommerce #47614
“Google Listings & Ads” has been renamed to “Google for WooCommerce”. This is visible in the Channels tab under Marketing Overview.
API Updates
- Return 404 when using the REST API to access a non existing tax class #48579
- Return HTTP 404 in REST API for non-existent webhooks #48729
- Make product variations endpoints aware of parent product ID provided #48804
- Ensuring only single product creation with unique SKU for concurrent requests #47476
- Reduce potential for plugin conflict-driven fatal errors during (REST API-based) refund creation #47918
- Load controllers only when needed for performance #47704
- Checkout: Update legacy status handling #48788
- Fix the namespace of the RestApiControllerBase class #49333
- Store API: Reduced number of recalculations on Store API cart routes #48944
- Return HTTP 404 in REST API for non-existent product reviews #48726
- PluginUtil: Add method to get active valid plugins #48709
- Add developer filter
woocommerce_printable_order_receipt_rendered_template
#48872
Other important information
🚨 Security Updates
Fix – Hardening against XSS by leveraging HTML API for adding block attribute data #50801
In order to harden the code against a vulnerability that could be exploited by users with an access level of Contributor or greater, we’ve added measures using the HTML API to make it more difficult for a bad actor to inject malicious code.
Update – Enhanced sanitization in `@woocommerce/currency`. #50802
We’ve enhanced the sanitization of the @woocommerce/currency
package, which is sometimes used by extension developers in order to prevent possible unsanitized or malicious code from affecting users.
Fix – Prevent downloads of digitial products after partial refund #50804
Add – Adds support for tracking downloads when a partial (ranged) request is made #50805
We have added a new default setting to accurately track partial downloads of digital products, treating them as a single download within a 30-minute window to prevent abuse, with options to adjust this timeframe or disable the feature as needed using the new filter hook, woocommerce_partial_download_tracking_window
.
Database updates
We introduced a new database option: woocommerce_hooked_blocks_version
to facilitate a new approach to block insertion. #49302
Update db_version
variable and use it to prevent adding global_unique_id
when the lookup table was not yet updated. This adds a guard to ensure the checkout continues to run successfully in case the database update fails during WooCommerce update. #49472
Changelog
View the full changelog.
Get WooCommerce 9.2
👉 To upgrade: See our update guide or download the latest release from WordPress.org.
🐞 Found a Bug? Please submit a report it on GitHub.
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.