WooCommerce 9.6: Fresh new tools and modernizing classics

WooCommerce 9.6 has been released on January 20th, 2025. This post highlights what’s new in this version of WooCommerce. View the full changelog.

Other important information:

  • ๐Ÿ“€ This releaseย does notย include a database update.

Latest Release:

๐Ÿ‘‰ WooCommerce 9.6

See our update guide. Download directly from WordPress.org.

About:

  • โœ… Backwards compatible
  • Commits: 435
  • Contributors: 88

Brands has landed

Itโ€™s finally here, the freshly merged Brands plugin will now be automatically enabled for all users. We first introduced the feature to you in October, and have recently published an updated blog post that confirms the featureโ€™s integration into core.

Starting today, Brands will move out of beta and be automatically enabled for everyone.

This update simplifies your experience and ensures that brand management becomes a seamless part of WooCommerce stores. Learn more here.


Smarter defaults for measuring unit

Set default weight and dimension units based on country #53652

We now match measuring units to store location during onboarding, with U.S. stores defaulting to imperial units (lbs and inches). Units now automatically update when changing store location, while preserving existing settings during updates.

For developers, The ./i18n/locale-info.php file has been updated to include corrected weight and dimension units for specific countries:

  • United States and its territories (GU, AS, VI) now correctly use pounds (lbs) for weight and inches (in) for dimensions
  • United Kingdom entries now reflect official metric standards.

Store managers can customize units under WooCommerce > Settings > Products > Measurements.


Product Summary block, enhanced

Product Summary: making product element a main and powerful summary block #48984

Our newest version of this block now supports:

  • Text styling from Product Editor (including new line!)
  • Truncation control: Ability to turn on/off truncation
  • Ability to disable fallback to full product description

Itโ€™s compatible across various contexts, including All Products and Single Product templates, and supports languages with different word definitions, along with many more improvements.

How to use the new block:

The Product Summary block will be available in the inserter under โ€œProduct Summaryโ€ name (the same as before).

If youโ€™re adding new blocks, the new Product Summary will be already be a part of the markup for:

  • Single Product block
  • transforming Classic Single Product Template into blockified version

We donโ€™t automatically upgrade the previous block (Post Excerptโ€™s variation). If you are currently using the previous version of the Product Summary block (Post Excerptโ€™s variation), it will work as-is, however weโ€™re providing an upgrade path from the previous variation to the new Product Summary block through Inspector Controls. Just click โ€œUpgrade nowโ€ and youโ€™ll be upgraded to the new block:


More new features and updates

WC Blocks Image Filter 

Enable cart item images filtering #52310

A new filter, woocommerce_store_api_cart_item_images, allows modifying cart item images in the Cart and Checkout blocks.

Checkout the code snippet


REST API product enhancements

Weโ€™ve enhanced the WooCommerce REST API /products endpoint with new filtering parameters for more precise product queries that provide developers with greater control over product data retrieval.

See new filtering parameters

The /products endpoint now supports several new parameters that enable more granular product filtering:

Product Type Filtering
  • include_types: Specify which product types to include in the results.
  • exclude_types: Filter out specific product types from the results.
Product Status Management
  • include_status: Include products with specific status values.
  • exclude_status: Exclude products with certain status values.
Product Features
  • downloadable: Filter products based on whether they are downloadable.
  • virtual: Filter products based on whether they are virtual.

Remote Logging UI

Enable remote logging UI and mark feature as stable in FeaturesController #53649

Weโ€™re making it easier for users to manager their privacy by adding a UI control to manage the Remote Logging feature independently of usage tracking settings. This can be configured under WooCommerce > Settings > Advanced > Features.

Store API upgrades

Opt-in Checkout endpoint to rate limits. #53711

Weโ€™ve added a configurable rate-limiting system for the Store API and Checkout block to protect against card testing and denial-of-service attacks.

Start using this feature ๐Ÿ‘‡

Rate limiting can be enabled from WooCommerce > Settings > Advanced > Features.

You can expand those settings further or enable it for all Store API endpoints via following this technical guide.

Do note that if youโ€™re running your website behind a proxy or a firewall, you will need to enable the proxy mode, which will request the IP from the proxy.


First looks

Modernized Payments Settings Interface (Beta)

WooCommerce 9.6 introduces the first phase of our recently announced payments modernization initiative. You can preview the new React-based payments settings interface by enabling the reactify-classic-payments-settings feature flag in the WooCommerce Beta Tester plugin. While no immediate action is required from payment gateway developers, we encourage you to test and share your feedback on GitHub.

Email Improvements (Beta)

We are introducing two improvements to core WooCommerce emails under the Email Improvements experimental feature (WooCommerce > Settings > Advanced > Features). Emails can now inherit theme.json styles and display the logo in settings instead of the URL. Enabling this experimental feature will also allow users to view email style changes in real-time before saving settings. We expect to roll out more broadly to users in early 2025.


API Updates

  • Add: Adds an endpoint to the API Rest that allows duplicating a product and saving it as a draft. It’s also possible to update the product when extra parameters are sent. #46141
  • Fix: Updates the REST API v3 reports/orders/totals endpoint to be compatible with HPOS #46715
  • Fix: Fixes an error related to the duplicate product REST API endpoint #46551
  • Fix: Ensure that required missing fields will get validated in Store API #45840

Other important information

๐Ÿ› ๏ธ Fix Variable Products going Out of Stock

This version fixes an issue where variable products incorrectly displayed as out of stock despite having inventory, caused by corrupted product transients (wc_var_prices_ and wc_product_children_). The fix adds validation checks for these transients to ensure data integrity and prevent the issue from recurring. Special thanks to ricardoaraujo330, jdinbound, tobijafischer, youlikeitcp, vmavrikios for contributing to solve this.

Developer advisories

We have a number of developer advisories coming up as we prepare to release pre-release versions. Weโ€™ll share more detailed information in upcoming posts.


Developer advisory: Product review form template version update

The single-product-reviews.php template now includes an autocomplete attribute, enhancing accessibility by allowing browsers to autofill personal information (e.g., name, email, address). Read more.

Related PR: #51970


Block Checkout Field Entities

Field visibility settings (e.g., phone, address) in Block Checkout are now globally saved as entities for consistency across all checkout methods.

Related PR: #52784


Developer advisory:  Coming Soon Mode by default

Weโ€™re changing the default behavior for fresh installations to ensure new stores start in โ€œComing Soonโ€ mode. This change aligns with user expectations and prevents unexpected store exposure while itโ€™s still being set up.

Related PR: #53685


Changelog

View the full changelog.


Get WooCommerce 9.6

๐Ÿ‘‰ To upgrade: See our update guide or download the latest release from WordPress.org.

๐Ÿž Found a Bug? Please submit a report on GitHub.


Code Contributors

WooCommerce Core

hesahesa
jimjasson
Sidsector9
gigitux
veljkho
Lenny4
octaedro
joelclimbsthings
tomalec
kmanijak
adimoldovan
thilinah
ilyasfoo
agarciar
senadir
lanej0
akhil-webkul
nerrad
darrenjacoby
bor0
nathanss
wyatt400
tammullen
barryhughes
mcliwanow
albarin
shaybanshee
medavidallsop
wjrosa
dinhtungdu
mdperez86
samueljseay
elazzabi
prettyboymp
Aljullu
lekiq
tjcafferkey
jorgeatorres
NielsdeBlaauw
imanish003
opr
Jinksi
vladolaru
NeosinneR
joshuatf
moon0326
ntindicator
retrofox
frosso
amitraj2203
xristos3490
louwie17
mgascam
chihsuan
rawdreeg
narenin
oaratovskyi
d-alleyne
roykho
nielslange
kalessil
millerf
KokkieH
message-dimke
malinajirka
Konamiman
kkmuffme
naman03malhotra
wavvves
thealexandrelara
alex-mpoet
nirolph
alexflorisca
Manussakis
sorensd
mahfuzurwp
corsonr
psealock
coreymckrill
mordeth
cawa-93
mikejolley
andfinally
Stojdza
rjchow
dmallory42

ActionScheduler

christian-dale
barryhughes
coreymckrill
thomasjvu
albarin
nikola-wd
gosixl
crstauf

Keep yourself in the loop!

This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form


Leave a Reply

Your email address will not be published. Required fields are marked *