
WooCommerce 11.1 and 11.2: What's New and What Might Break
WooCommerce 11.1 adds EU order withdrawal and REST API refund tools, while 11.2 changes core product hooks. Here's what to check before updating.

WooCommerce ships a new minor version roughly every month, and two releases are on the radar right now: 11.1, which adds a handful of genuinely useful features for merchants and API developers, and 11.2, which is shaping up to be a performance release that quietly changes how some of the plugin's most commonly used hooks fire. If you run a WooCommerce store, or maintain custom code for one, both are worth understanding before they land on your production site.
This guide walks through what's confirmed for WooCommerce 11.1, what WooCommerce has already disclosed about 11.2's product hook changes, and how to prepare either update without breaking checkout, custom plugins, or your product catalog.
TL;DR
- WooCommerce 11.1 (in beta at the time of writing, with a final release targeted for September 1, 2026) adds an EU order withdrawal flow, REST API refund improvements, checkout total verification, and several performance and bug fixes for variable products and CSV import/export.
- WooCommerce 11.2 hasn't published full release notes yet, but WooCommerce's developer blog has already flagged a breaking change: product save and product reordering will skip some hook calls they used to fire on every request, as a performance optimization.
- If any plugin or custom code on your site hooks into
set_object_terms,woocommerce_after_single_product_ordering, orwoocommerce_after_product_ordering, it needs to be reviewed before you update to 11.2.- Back up your store and test both updates on a staging copy before touching production, especially if you run custom code around products or checkout.
What's New in WooCommerce 11.1
As of late August 2026, WooCommerce 11.1 is in beta, with WooCommerce targeting a final, stable release for September 1, 2026. Beta version numbers and exact release timing can shift, so check the WooCommerce changelog for the current status before you plan an update around it. The features below are what WooCommerce has documented for the release so far.
EU order withdrawal support
WooCommerce 11.1 introduces a built-in order withdrawal flow, aimed at merchants who need to support the EU's right-of-withdrawal rules for online purchases. Store owners can turn it on under WooCommerce → Settings → Advanced → Features. Once enabled, customers get a new account page at /my-account/withdraw-order/ where they can submit a withdrawal request for an eligible order. Submissions that match an existing order by email and order number are automatically linked to that order, and the merchant gets a notification plus a WooCommerce inbox alert.
This is a useful building block, not a full compliance solution. It gives you a structured way to receive and track withdrawal requests, but whether your specific return policy, timelines, and refund handling satisfy EU consumer protection law is still something to confirm with your own legal counsel, not something a plugin update can guarantee on its own.
REST API refund enhancements
Developers working with the WooCommerce REST API get two improvements to order refunds. The existing refund endpoint (POST /wc/v3/orders/{id}/refunds) now accepts a compute_totals parameter so the server can recalculate refund totals instead of requiring the client to do that math. There's also a new preview endpoint, POST /wc/v3/orders/{id}/refunds/preview, which lets you validate a refund before actually applying it — worth confirming against the final changelog once 11.1 ships, since exact paths on beta features can shift before release. If you've built custom refund tooling, a support dashboard, or a marketplace integration on top of the WooCommerce API, this removes a source of duplicated calculation logic and reduces the risk of a refund request failing after you've already told a customer it succeeded.
Checkout total verification
The Store API checkout endpoint gains an optional expected_total field. If the client submits an expected total that doesn't match what WooCommerce calculates server-side, the request is rejected with an error rather than silently completing at a different price. This closes a class of pricing-discrepancy bugs that can show up in custom checkout flows, headless storefronts, or third-party checkout extensions where client-side and server-side totals can drift out of sync, for example after a coupon, tax rule, or shipping method changes mid-session.
Performance and reliability fixes
Several fixes target areas that affect stores with larger catalogs:
- CSV product import and export get fixes for term preservation on re-upload, unwanted image clearing, and currency handling, plus better handling of variation creation during import.
- Variable products get multiple query-count reductions ("N+1" fixes) across variation loading, attribute lookups, and price caching, in both the product editor and the storefront.
- Block registration is now skipped on cron, AJAX, and REST requests where it isn't needed, reducing overhead on those request types while keeping on-demand registration available where it's actually required.
None of these are headline features, but they're the kind of change that matters more as your product catalog grows, and they're worth testing if you run a store with a large number of variable products or rely on regular CSV imports.
Other developer-facing changes
A few smaller changes are worth knowing about if you maintain custom code or extensions:
is_rest_api_request()now correctly detects requests using the?rest_route=query parameter, not just pretty-permalink REST URLs.ProductGalleryUtils::get_product_gallery_image_count()is deprecated.- The quantity stepper's markup has been reordered for better screen-reader and keyboard accessibility (WCAG compliance).
- Currency symbols were updated for MOP and ZMW.
- The email editor's embeddable content providers were expanded to include YouTube, Vimeo, VideoPress, TikTok, and Dailymotion, and personalization tag callbacks now receive a destination content-type parameter so tags escape correctly for HTML versus plain-text emails.
Two experimental, opt-in features are also part of the release: a unified block editor asset-loading approach that WooCommerce reports meaningfully reduces the number of editor assets and network requests in its own testing, and an early, feature-flagged storage framework for product gallery videos. Both are opt-in under Experimental Features and not something you need to touch to get the rest of 11.1's benefits.
WooCommerce 11.2: What's Already Been Disclosed
WooCommerce hasn't published full release notes for 11.2 yet, so there's no confirmed release date at the time of writing. What has been published is a developer advisory about a specific breaking change coming to how product save and product reordering fire their hooks. WooCommerce publishes these advisories ahead of a release specifically because the change can silently break plugins and custom code, so it's worth planning for now rather than waiting for the full release notes.
Product save will skip some hook calls
WooCommerce's product save process currently calls wp_set_object_terms() and delete_post_meta() even when the values being saved already match what's stored. In 11.2, those calls are skipped when nothing has actually changed, which WooCommerce says can reduce per-save SQL queries by up to 45% on stores with many products.
The practical effect: the set_object_terms hook will fire less often than it does today, because it only fires when a term assignment actually changes. If you (or a plugin you rely on) has code like:
add_action( 'set_object_terms', 'my_custom_sync_function', 10, 6 );and that code assumes the hook fires on every product save regardless of whether categories, tags, or attributes actually changed, it may stop running in situations where it used to. WooCommerce's guidance is to check whether your callback truly needs a term-change event or whether it's really trying to react to any product save — in the latter case, hooks like woocommerce_update_product or save_post_product are the more reliable choice going forward.
Product reordering gets a new algorithm
WooCommerce is also replacing the underlying algorithm used when you drag-and-drop reorder products in the admin catalog view. The current approach reindexes the entire catalog on every reorder; the new one uses range-based positioning so it only touches the products that actually moved, which matters a lot on stores with large catalogs where a full reindex is expensive.
Two related hooks are being deprecated:
woocommerce_after_single_product_orderingwoocommerce_after_product_ordering
They're being replaced with two more specific hooks:
woocommerce_product_ordering_process_reindexed_products, which fires after a full catalog reindexwoocommerce_product_ordering_process_moved_products, which fires after specific products are repositioned
clean_post_cache continues to fire as before and isn't affected. If your code still hooks into the deprecated ordering actions, it will keep working, but WooCommerce notes that using them triggers a fallback to the old, unoptimized reordering algorithm, so you'd be opting out of the performance improvement rather than getting an error.
Who this actually affects
If you don't run custom plugins, mu-plugins, or theme code that hooks into product saves or product reordering, this change is mostly invisible; WooCommerce core and its own bundled features are already accounted for. It matters most for agencies and developers maintaining custom catalog sync tools, multivendor or marketplace plugins, third-party inventory or ERP integrations, and any admin tooling that reacts to products being reordered or re-tagged. If that describes your setup, it's worth searching your codebase now for the hook names above so you're not debugging a silent failure the week 11.2 actually ships.
Should You Update Now? A Practical Checklist
Neither release is an emergency security patch, so there's no need to rush either update onto a live store the day it's available. A short, deliberate process will save you more time than it costs:
- Take a fresh backup before touching anything. MagicWP includes on-demand backups you can trigger right before a plugin or core update, on top of the daily automatic ones, so you always have a clean restore point if something goes sideways.
- Clone your site to staging. Test the update there first, not on production. This is also where you'd catch a checkout total mismatch, a broken CSV import, or a custom plugin that silently stopped syncing product terms.
- Search your codebase for the hook names above. A simple project-wide search for
set_object_terms,woocommerce_after_single_product_ordering, andwoocommerce_after_product_orderingwill tell you in a few minutes whether 11.2 needs any code changes on your end. - Check your active WooCommerce extensions' changelogs for explicit 11.1 or 11.2 compatibility notes before updating production, particularly for payment gateways, subscription plugins, and inventory integrations.
- Update production during low-traffic hours, and watch your error logs and order flow closely for the first few hours afterward.
- If you rely on the WooCommerce REST or Store API, specifically test refund creation and checkout submission against the staging update, since both have behavior changes in 11.1.
Frequently Asked Questions
When is WooCommerce 11.1 officially released? As of late August 2026, WooCommerce 11.1 is in beta with a final release targeted for September 1, 2026. Beta timelines can shift, so confirm the current status on the official WooCommerce changelog before relying on a specific date.
Is WooCommerce 11.2 available yet? No. Only a developer advisory about upcoming product hook changes has been published so far; full release notes and a release date for 11.2 haven't been announced at the time of writing.
Will WooCommerce 11.1 break my site?
For most stores, no. The changes are additive (new endpoints, a new optional settings feature, and performance fixes). The main risk is for custom checkout flows or API integrations that don't yet account for the new expected_total verification, since a mismatched total will now be rejected instead of silently accepted.
What is the EU order withdrawal feature in WooCommerce 11.1? It's an optional, built-in flow that lets customers submit a withdrawal request for an order from their account page, and notifies the merchant when they do. It's a tool to help manage withdrawal requests, not a guarantee that your store meets a specific country's consumer protection requirements.
Do I need to update custom code before WooCommerce 11.2?
Only if your code hooks into set_object_terms expecting it to fire on every product save, or into the now-deprecated woocommerce_after_single_product_ordering / woocommerce_after_product_ordering actions. If none of your plugins or custom code touch those hooks, no changes are needed.
How do I test a WooCommerce update safely? Clone your live site to a staging environment, apply the update there first, and walk through your normal checkout, refund, and product-management flows before updating production. A one-click staging tool makes this fast enough to do for every update, not just major ones.
What happens if I keep using the deprecated product ordering hooks? They'll continue to fire, but WooCommerce says using them causes the store to fall back to the older, unoptimized reordering algorithm instead of the new range-based one, so you keep functionality but lose the performance benefit.
Should I update to WooCommerce 11.1 as soon as it's released? There's no need to rush it out the same day. Give it a few days for any early bug reports to surface, test it on staging first, and then update production during a low-traffic window.
Conclusion
WooCommerce 11.1 is a solid, practical release: a genuinely useful compliance-adjacent feature in order withdrawal, real improvements to the refund API for anyone building on top of WooCommerce, a checkout guardrail that closes a real pricing-integrity gap, and a batch of performance fixes that add up on larger catalogs. WooCommerce 11.2, even before its full release notes are out, has already signaled the more consequential change for developers: product save and reordering hooks are being optimized in ways that can silently stop firing for code that assumed the old behavior. Neither update is something to fear, but both reward a bit of preparation, a hook-name search in your codebase, a staging test, and a backup before you touch production.
If you're evaluating hosting that makes that kind of safe testing routine rather than a chore, MagicWP's managed WooCommerce hosting includes one-click staging and on-demand backups, so trying out a new WooCommerce release costs you a few minutes instead of a risky afternoon.
Get the best of MagicWP in your inbox.
Monthly engineering notes, product updates, and WordPress performance tips. No spam, unsubscribe anytime.

