WooCommerce 10.5: What’s coming for developers

WooCommerce 10.5 is coming soon…

The post will track the work we do as we prepare to release 10.5 as well as provide a preview of what’s to come in this new version.

Release Schedule:

  • 🧪 WooCommerce 10.5 Beta available for testing

Hey folks, on Monday, January 12, 2026, we kicked-off our Feature Freeze ahead of the release of WooCommerce 10.5. As we begin the testing phase, and get the release ready, we wanted to share some spoilers and document any updates to the expected release timeline. 

Check back here for more updates ahead of the WooCommerce 10.5 release, scheduled for February 3, 2026. 

What’s coming in 10.5

A fundamental improvement to how WooCommerce imports order data into the Analytics tables.
Previously, WooCommerce triggered an analytics import job for every order event via ActionScheduler. While asynchronous, this approach created massive ActionScheduler backlogs (10,000+ actions) on busy sites, causing severe performance degradation, database contention, and site slowdowns.

With this release, WooCommerce now defaults to Scheduled Imports, which uses batch processing to refresh analytics data every 12 hours and processes 100 orders per batch (customizable via new filters: woocommerce_analytics_import_interval and woocommerce_analytics_regenerate_batch_size). This dramatically reduces the number of scheduled actions and database load while providing store owners with clear status visibility and the ability to manually trigger imports at any time. #61603

Enhanced the Checkout block’s shipping options UI to display product thumbnails and bordered containers when multiple packages are present, particularly for subscription products.
This update also fixes a bug where shipping methods weren’t properly syncing when toggling between Ship and Pickup delivery options. #61625

Enhanced reliability when viewing orders with legacy or corrupted tax data where tax values were stored as floats/strings instead of arrays.
The fix adds backwards-compatible handling across all order item types (products, shipping, fees), intelligently infers tax rate IDs from order context, and includes a woocommerce_order_item_legacy_tax_conversion filter for custom conversion logic. #62271

Select2 styles loaded by WooCommerce are now scoped to prevent leaking into other plugins’ interfaces via :where(.woocommerce).
The :where() pseudo-class maintains zero specificity, ensuring existing custom overrides continue to work while preventing WooCommerce’s Select2 styles from affecting other plugins. #61956

Introduced a new woocommerce_shipping_tax_class filter that enables dynamic calculation of shipping tax rates based on cart contents, customer data, and location.
This filter allows developers to implement custom logic such as calculating shipping tax using the predominant tax rate in the cart, providing a flexible solution for complex tax scenarios like those required in the Netherlands. #59512

API Changes and Advisories

This release also includes a number of changes that have been covered in more depth on the developer blog. Here’s a quick summary of a few changes, but we recommend clicking through to the full developer advisories to learn more:

The WC REST API will now properly handle special character decoding for product variation attributes. Read the full post for more information.

The AccessiblePrivateMethods trait will be removed. It was a part of the Internal namespace as an important signal that it should not be publicly consumed. This change may affect extensions that were incorrectly using it. Read the full post for more information.

Product permalinks based on categories will be updated, prioritizing the deepest category for better SEO and consistency in URLs, affecting specific permalink structures only. Read the full post for more information.

WooCommerce now ensures that on variable product pages, the Add to Cart button is disabled until the variation script has fully loaded. Previously, on slower connections, users could click “Add to Cart” before the variation selection logic initialized, leading to failed submissions. Read the full post for more information.

Performance Improvements

WooCommerce 10.5 will introduce a new experimental REST API cache that can be applied to any endpoint in the WC REST API. We’ll have more information about this feature, including how to test it, ahead of the 10.5 release. In the meantime, here’s just a small example of some of the other performance improvements:

Cached variation prices also got some enhancements, along with a new utility class for working with callbacks. Read the full post for more information.

This release also introduces an experimental Product Object Caching feature that improves performance by caching product instances during each request, preventing duplicate product loads from the database. Read the full post for more information.

Improves performance issues with Product Filters’ cache data that wasn’t properly set and loaded. This ensures the database isn’t flooded with filter data cache, and the performance of stores with big catalogs won’t be affected. We also updated the WooCommerce transients cleanup tool to clear the filter data cache when it runs. However, if customers use the Product Filters block and are still experiencing performance issues, this might be the cause, and the solution should be cleaning up WooCommerce transients. #62575

Changelog

View the full changelog.

Update timeline

✅ Feature Freeze

Added: January 12, 2026

WooCommerce 10.5 Beta 1

Released: January 19, 2026

👉 To Test: Use the WooCommerce Beta Tester plugin to try beta versions.

WooCommerce 10.5 Beta 2

Scheduled: January 26, 2026

👉 To Test: Use the WooCommerce Beta Tester plugin to try beta versions.

WooCommerce Release 10.5

Scheduled: February 3, 2026


Leave a Reply

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