WooCommerce 10.7.0 Has been released on April, 14, 2026. 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 security updates
- 📀 This release does include a database update.
- See more
What’s coming in 10.7
- Performance enhancements and cache priming brings results
- Experimental block-based email editor improvements
- Analytics export filters
- Accessibility improvements
- Cart and Checkout block fixes
- Order fulfillments gets a proper API (Beta)
- API Updates
- Other important information
- Changelog
- Get WooCommerce 10.7
- Code Contributors
Performance enhancements and cache priming brings results
- HPOS orders: Cache priming eliminates N+1 queries on
/wc/v4/orders#63440 - Checkout: Reduces the number of SQL queries required to persist a draft order during checkout #63258
- Shipping: New indexes added on
woocommerce_shipping_zone_methods(zone_id,method_id) #63674 - Store API:
Last-Modifiedtimestamp gets cached on products endpoint, skipping DB query on cache hit #63228 - More performance enhancements
This release delivers some of the most significant query reduction work in recent “memory.” The biggest win is on HPOS orders: the /wc/v4/orders endpoint previously triggered 271 database queries per request due to N+1 patterns during REST API serialization. Cache priming now reduces this to 132 queries, a 51% reduction, by preloading order data in bulk before serialization begins.
As a comparison, Checkout performance without object cache enabled can drop SQL queries from the 204 to 172 range. However, with object cache enabled, the reduction is more noticeable, ranging from 127 queries to as low as 115.
Additionally, a new woocommerce_pre_refresh_order_count_cache filter lets extensions and plugins skip redundant order count refreshes in high-traffic scenarios where the count cache is already being managed externally:
add_filter( 'woocommerce_pre_refresh_order_count_cache', '__return_true' );
Experimental block-based email editor improvements
- Add –
alignfullblock support via root padding distribution inContent_Renderer#63752 - Add – Rich WordPress embed cards: featured image, title, excerpt (5-card cap, 1-day transient TTL) #63542
- Fix – Redundant CSS inlining consolidated to a single pass #63454
- Add – New
woocommerce_email_block_template_htmlfilter for customizing reset template content #63558 - Add – New
woocommerce_email_editor_send_button_disabledfilter for auto-save before send workflows #63722
The email editor remains behind a feature flag in Woo core. WordPress embed blocks now render as rich cards with a featured image, post title, excerpt, and site icon; they were previously rendered as plain links. Cards are cached via transient with a 1-day TTL and capped at 5 per email for performance.
Analytics export filters
- Fix – Adds export column/item filters and forward currency from URL query #63618
add_filter( 'woocommerce_report_revenue_stats_export_columns', function( $columns ) {
$columns['my_custom_column'] = __( 'My Column', 'my-plugin' );
return $columns;
} );
add_filter( 'woocommerce_report_revenue_stats_prepare_export_item', function( $item, $row ) {
$item['my_custom_column'] = $row['my_data'] ?? '';
return $item;
}, 10, 2 );
Analytics exports now correctly forward currency context and any custom filter parameters to background jobs. Previously, background export jobs ran without these parameters, causing exported data to not match what was visible in the UI for multicurrency setups. The new filters let you customize export columns and row data per report type.
Accessibility improvements
- Fix – System Status page: green status indicators now meet WCAG 2.2 AA contrast requirements #63746
- Fix – Dashboard widget and checkout element contrast fixes #63522 #63521


Shortcode checkout validated field border now uses the updated --wc-green variable and var(--wc-subtext .
Cart and Checkout block fixes
- Fix – Nonce fetched fresh on cart store init, awaited before POST operations #62892
- Update – Payment method radio always shown with a single option #63351
- Color inheritance fixes for dark mode form elements.


The payment method radio button is now always rendered, even when only a single payment method is available. Previously, the radio was hidden for single-option checkouts, which caused the payment method label and description to visually merge in a confusing way.
Order fulfillments gets a proper API (Beta)
- Typed PHP methods:
get_tracking_number(),set_tracking_number(),get_shipping_provider(),set_shipping_provider()#63573 - New
FULFILLMENTorder note group constant inOrderNoteGroup#63516 - Data store registered via
woocommerce_data_storesfilter, enabling extension override #63485 - Namespace moved:
Automattic\WooCommerce\Internal\Fulfillments→Automattic\WooCommerce\Admin\Features\Fulfillments
While Fulfillments remains a beta feature, it receives a significant update in 10.7. Custom shipping providers are now accessible through settings: merchants define them via Settings > Shipping > Shipping Providers, backed by the new wc_fulfillment_shipping_provider taxonomy. Each provider supports a tracking URL template, and the orders list gains a filter dropdown for the new providers.
The PHP API is now fully typed so you can interact with fulfillment tracking data like this:
$fulfillment->get_tracking_number();
$fulfillment->set_tracking_number( '1Z999AA10123456784' );
$fulfillment->get_shipping_provider();
$fulfillment->set_shipping_provider( 'ups' );
API Updates
Other important information
Security hardening across several surfaces
XSS protection via wp_kses_post() has been extended to the v4 REST API order notes endpoint (OrderNotes\Controller::create_item()), matching the protection already in place for v1 through v3 #63661.
CSRF validation via check_ajax_referer() has been added to product_ordering() and term_ordering() AJAX handlers #63422.
Payment gateway password fields now use trim() instead of sanitize_text_field(), preserving % characters that were previously being stripped #63597.
Database updates
📀 Deprecate – wc_update_1070_disable_hpos_sync_on_read #63175
Changelog
View the full changelog.
Get WooCommerce 10.7
👉 To upgrade: See our update guide or download the latest release from WordPress.org.
🐞 Found a Bug? Please submit a report on GitHub.
Leave a Reply