WooCommerce 9.9 has been released on June 9, 2025. 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 database updates.
- See more
What’s coming in 9.9
9.9 is fast, period.
This version includes big improvements to performance. We’ve measured up to 95% reductions in page load times across critical admin screens. We ran benchmarking using a store with:
- >1.2 million orders
- 15,000 products
- 60,000 customers
- HPOS enabled
We compared WooCommerce 9.7 as the baseline against 9.9 and saw improvements across every corner of the admin, from order count summaries and comment tallies to custom-field lookups and analytics widgets. Read more about how we achieved these big gains.
New block: Product filters
The new Product filters block is powered by the Interactivity API for faster filtering without page reloads.
Optimized for mobile, filters appear in a modal for a cleaner browsing experience. The block is also context-aware and works seamlessly inside Product Collection blocks, returning accurate results that don’t require reloading the page.
Selective product exports
You can now export specific products and their variations directly from the product list using product IDs. This makes bulk editing faster and more efficient, especially for high-volume stores. It removes the need for full exports when only a subset of products needs updating.
Developers can also hook into the export process to define custom product ID lists programmatically for even greater control.
Checkout the code
function my_filter_product_export_by_ids( $args ) {
$my_product_ids_to_export = array( 10, 20, 30 ); // Define your list of product IDs
// Set the 'include' argument to your specific list.
// This tells wc_get_products to fetch only these products.
$args['include'] = $my_product_ids_to_export;
return $args;
}
add_filter( 'woocommerce_product_export_product_query_args', 'my_filter_product_export_by_ids' );
Automatic database updates
All stores as of 9.9 will now run database updates and migrations automatically in the background. This reduces friction in the update process, especially for multi-site or managed environments. Developers can still opt out using the filter: woocommerce_enable_auto_update_db
.
Conditional checkout fields
This version introduces the ability to conditionally collect additional information during checkout using the Additional fields API. With support for JSON schema, you can define field visibility, required status, and validation rules directly in PHP. Validation runs on both the server and client sides, and hidden fields are neither shown to customers nor submitted, ensuring only relevant data is collected.
Field visibility can be based on dynamic conditions such as cart contents, order details, or customer information and preferences.
To learn how to implement this, see our documentation on conditional fields.
More new features and updates
Client side navigation for Product Collection
Product Collection block now handles client-side navigation. Instead of relying on a hardcoded list of incompatible blocks, the system now checks for declared support via supports.interactivity
and supports.interactivity.clientNavigation
.
This allows compatible third-party blocks to opt in, enabling smoother page transitions and better performance.
Email templates coming to more stores
After rolling out modernized email templates to new installations in 9.8, in 9.9, we continue the rollout to existing stores without any email customization. If your store was migrated to the new templates, you’ll receive an Inbox notification and will see a modal in WooCommerce > Home. You can revert to old templates with a single click.
Anyone can try new email templates directly in WooCommerce > Settings > Emails, without affecting your customers.
Hide shipping rates option
WooCommerce now includes a built-in setting to hide all shipping rates when free shipping is available. Previously only possible via custom code or third-party plugins, this gives store managers a simpler, native way to manage shipping options.
New payments settings page has landed
In 9.9, we are finalizing the rollout of the new Payment Settings page by removing the feature flag. Previously optional, this experience is now standard for all stores. Additionally, expect to see a new look and feel in the WooPayments onboarding as well as offline payments screens.
First Looks
Blueprints
Try the new Blueprints in 9.9, a tool for importing and exporting store settings. It helps developers, agencies, and merchants save time by reusing and sharing configurations across stores.
Available under WooCommerce > Settings > Advanced > Blueprints, it currently supports core WooCommerce settings and works through the admin interface or WP-CLI.
COGS
This release brings more continues improvements to the COGS (Cost of Goods Sold) feature as a part of core. The feature integrates seamlessly with product management and reporting, making profit tracking easier without relying on external tools. COGS is planned for stable release in WooCommerce 10.0
Learn more about how you can use this feature as a developer here.
Product Gallery block (Beta)
The Product Gallery block (Beta), has significant updates focused on better usability, performance, and mobile experience.
- Enhanced mobile layout with thumbnails moved below the main image for a more intuitive browsing flow
- Scrollable thumbnails for easier image navigation without paging through one by one
- Updated navigation controls with cleaner styling, more customization options, and hidden arrows on mobile for a distraction-free experience
- Streamlined block structure for improved styling flexibility and easier maintenance
- Performance gains, with LCP improving from ~1.6s to ~0.7s and Lighthouse scores up significantly on both mobile and desktop
These updates lay the groundwork for a more polished gallery experience ahead of the planned stable release in WooCommerce 10.1.
Other important information
Database updates
• wc_update_990_remove_wc_count_comments_transient
(PR #54984)
• wc_update_990_remove_email_notes
(PR #55660)
Developer Advisories
Deprecation of wc_current_theme_is_fse_theme()
: WooCommerce 9.9 deprecates the wc_current_theme_is_fse_theme()
function in favor of WordPress core’s wp_is_block_theme()
. Developers using the deprecated function should update their code accordingly. Check out our developer advisory for more information on how to keep your code compatible.
🐛 Fixes
This release fixes an issue with the Tax Rate API submitted by a community member, where tax class names using non-Latin characters (such as Arabic) were not handled correctly Previously, these rates defaulted to the standard tax class.
With this fix, tax classes created via the REST API now fully support non-Latin characters, improving internationalization and ensuring accurate tax calculations across all languages.
⚠️ 9.9.X first stable version
The first stable version of the 9.9.X series is 9.9.3. To see what’s in each version, check out the dot release post.
Changelog
View the full changelog.
Get WooCommerce 9.9
👉 To upgrade: See our update guide or download the latest release from WordPress.org.
🐞 Found a Bug? Please submit a report it on GitHub.
Leave a Reply