=== WooCommerce === Contributors: automattic, woocommerce, mikejolley, jameskoster, claudiosanches, rodrigosprimo, peterfabian1000, vedjain, jamosova, obliviousharmony, konamiman, sadowski, wpmuguru, royho, barryhughes-1, claudiulodro, tiagonoronha, ryelle, levinmedia, aljullu, nerrad, joshuawold, assassinateur, haszari, mppfeiffer, nielslange, opr18, ralucastn, tjcafferkey, danielwrobert, patriciahillebrandt, albarin, dinhtungdu, imanish003, karolmanijak, sunyatasattva, alexandrelara, gigitux, danieldudzic, samueljseay, alexflorisca, opr18, tarunvijwani, pauloarromba, saadtarhi, bor0, kloon, coreymckrill, jorgeatorres, leifsinger, neosinner Tags: online store, ecommerce, shop, shopping cart, sell online Requires at least: 6.7 Tested up to: 6.8 Requires PHP: 7.4 Stable tag: 9.9.5 License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html Everything you need to launch an online store in days and keep it growing for years. From your first sale to millions in revenue, Woo is with you. == Description == [WooCommerce](https://woocommerce.com/woocommerce/) is the open-source ecommerce platform for WordPress. Our core platform is free, flexible, and amplified by a global community. The freedom of open-source means you retain full ownership of your store’s content and data forever. Whether you’re launching a business, taking brick-and-mortar retail online, or developing sites for clients, use WooCommerce for a store that powerfully blends content and commerce. - **Create beautiful, enticing storefronts** with [themes](https://woocommerce.com/product-category/themes/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) suited to your brand and industry. - **Increase revenue** with an optimized [shopping cart experience](https://woocommerce.com/checkout-blocks/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) that converts. - **Customize product pages in minutes** using modular [product blocks](https://woocommerce.com/document/woocommerce-blocks/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). - Showcase physical and digital goods, product variations, custom configurations, instant downloads, and affiliate items. - Sell [subscriptions](https://woocommerce.com/products/woocommerce-subscriptions/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), [bookings](https://woocommerce.com/products/woocommerce-bookings/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), or [memberships](https://woocommerce.com/products/woocommerce-memberships/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), with our developer-vetted extensions. - **Rise to the top of search results** by leveraging [WordPress’ SEO advantage](https://www.searchenginejournal.com/wordpress-best-cms-seo/). - **Build on a platform that scales.** Get flexible ecommerce for [high-volume stores](https://woocommerce.com/high-volume-stores/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). = ALL THE TOOLS YOU NEED TO SELL = Built-in tools and popular integrations help you efficiently manage your business operations. Many services are free to add with a single click via the optional [Setup Wizard](https://woocommerce.com/document/woocommerce-setup-wizard/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). - **Choose how you want to get paid**. Conveniently manage payments from the comfort of your store with [WooPayments](https://woocommerce.com/payments/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) (Available in the U.S., U.K., Ireland, Australia, New Zealand, Canada, Spain, France, Germany, and Italy). Securely accept credit cards, mobile wallets, bank transfers, and cash thanks to [100+ payment gateways](https://woocommerce.com/product-category/woocommerce-extensions/payment-gateways/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) – including [Stripe](https://woocommerce.com/products/stripe/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), [PayPal](https://woocommerce.com/products/woocommerce-gateway-paypal-checkout/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), and [Square](https://woocommerce.com/products/square/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). - **Configure your shipping options**. Print USPS labels right from your dashboard and even schedule a pickup with [WooCommerce Shipping](https://woocommerce.com/products/shipping/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) (U.S.-only). Connect with [well-known carriers](https://woocommerce.com/product-category/woocommerce-extensions/shipping-methods/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) such as UPS and FedEx – plus a wide variety of delivery, inventory, and fulfillment solutions for your locale. - **Simplify sales tax**. Add [WooCommerce Tax](https://woocommerce.com/products/tax/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) or [similar integrated services](https://woocommerce.com/product-category/woocommerce-extensions/tax?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) to make automated calculations a reality. = Grow your business, add features, and monitor your store on the go = WooCommerce means business. Keep tabs on the performance metrics most important to you with a powerful and flexible central dashboard built into WooCommerce. Expand your audience across marketing and social channels with [Google Ads](https://woocommerce.com/products/google-ads/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), [HubSpot](https://woocommerce.com/products/hubspot-for-woocommerce/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), [Mailchimp](https://woocommerce.com/products/mailchimp-for-woocommerce/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), and [Facebook](https://woocommerce.com/products/facebook/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) integrations. You can always check out the in-dashboard [Marketing Hub](https://woocommerce.com/document/marketing-hub/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) for fresh ideas and tips to help you succeed. Enhance store functionality with hundreds of free and paid extensions from the [WooCommerce Marketplace](https://woocommerce.com/products/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). Our developers [vet each new extension](https://woocommerce.com/document/marketplace-overview/#section-6?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) and regularly review existing extensions to maintain Marketplace quality standards. We are actively [looking for products that help store builders create successful stores](https://woocommerce.com/document/marketplace-overview/#section-2?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). Manage your store from anywhere with the free WooCommerce [mobile app](https://woocommerce.com/mobile/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) (Android and iOS). Spoiler alert: Keep an ear out for the slightly addictive "cha-ching" notification sound each time you make a new sale! = Own and control your store data – forever = With [WooCommerce](https://woocommerce.com/woocommerce/), your data belongs to you. Always. If you opt to share [usage data](https://woocommerce.com/usage-tracking/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) with us, you can feel confident knowing that it’s anonymized and kept secure. Choose to opt-out at any time without impacting your store. Unlike hosted ecommerce solutions, WooCommerce store data is future-proof; you’re free to export all your content and take your site to any platform you choose. No restrictions. = Why developers choose (and love) WooCommerce = Developers can use [WooCommerce](https://woocommerce.com/woocommerce/) to create, customize, and scale a store to meet a client’s exact specifications, making enhancements through extensions or custom solutions. - Leverage [hooks and filters](https://woocommerce.com/document/introduction-to-hooks-actions-and-filters/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) to modify or create functionality. - Integrate virtually any service using a robust [REST API](https://developer.woocommerce.com/docs/getting-started-with-the-woocommerce-rest-api/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) and webhooks. - Design and build custom content blocks with React. - [Inspect and modify](https://developer.woocommerce.com/docs/category/extension-development/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) any aspect of the core plugin code. - Speed up development with a lightning-fast [CLI](https://developer.woocommerce.com/docs/category/wc-cli/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). The core platform is tested rigorously and often, supported by a dedicated development team working across time zones. Comprehensive documentation is updated with each release, empowering you to build exactly the store required. = Be part of our growing international community = WooCommerce has a large, passionate community dedicated to helping merchants succeed – and it’s growing fast. There are [WooCommerce Meetups](https://woocommerce.com/meetups/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) in locations around the world that you can attend for free and even get involved in running. These events are a great way to learn from others, share your expertise, and connect with like-minded folks. WooCommerce also has a regular presence at WordCamps across the globe – we’d love to meet you. = Contribute and translate = WooCommerce is developed and supported by Automattic, the creators of WordPress.com and Jetpack. We also have hundreds of independent contributors, and there’s always room for more. Head to the [WooCommerce GitHub Repository](https://github.com/woocommerce/woocommerce?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) to find out how you can pitch in. WooCommerce is translated into multiple languages, including Danish, Ukrainian, and Persian. Help localize WooCommerce even further by adding your locale – visit [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/woocommerce/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). = Connection to WooCommerce.com = You can connect your store to [WooCommerce.com](https://woocommerce.com/) to manage your subscriptions on WooCommerce Marketplace and receive product updates without leaving WordPress admin. Connection also enables installation of purchased products right from WooCommerce.com and streamlines access to technical support. If you’d like to learn about what data is gathered and how it is used, please refer to our [Privacy Policy](https://automattic.com/privacy/). == Frequently Asked Questions == = Where can I find WooCommerce documentation and user guides? = For help setting up and configuring WooCommerce, please refer to [Getting Started](https://woocommerce.com/documentation/plugins/woocommerce/getting-started/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) and the [New WooCommerce Store Owner Guide](https://woocommerce.com/guides/new-store/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). For extending or theming WooCommerce, see our [documentation](https://github.com/woocommerce/woocommerce/tree/trunk/docs), as well as the [Plugin Developer Best Practices](https://github.com/woocommerce/woocommerce/blob/trunk/docs/extension-development/extension-development-best-practices.md). = Where can I get help or talk to other users about WooCommerce Core? = If you get stuck, you can ask for help in the [WooCommerce Support Forum](https://wordpress.org/support/plugin/woocommerce/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) by following [these guidelines](https://wordpress.org/support/topic/guide-to-the-woocommerce-forum/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), reach out via the [WooCommerce Community Slack](https://woocommerce.com/community-slack/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing), or post in the [WooCommerce Community group](https://www.facebook.com/groups/advanced.woocommerce?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) on Facebook. = Where can I get help for extensions I have purchased from the WooCommerce Marketplace? = For assistance with paid extensions from the WooCommerce Marketplace: first, review our [self-service troubleshooting guide](https://woocommerce.com/document/woocommerce-self-service-guide/). If the problem persists, kindly log a support ticket via [our helpdesk](https://woocommerce.com/my-account/create-a-ticket/). Our dedicated Happiness Engineers aim to respond within 24 hours. = I’m having trouble logging in to WooCommerce.com – what now? = First, troubleshoot common login issues using this helpful [step-by-step guide](https://woocommerce.com/document/log-into-woocommerce-com-with-wordpress-com/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). Still not working? [Get in touch with us](https://woocommerce.com/contact-us/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). = Will WooCommerce work with my theme? = Yes! WooCommerce will work with any theme but may require some additional styling. If you’re looking for a theme featuring deep WooCommerce integration, we recommend [Storefront](https://woocommerce.com/storefront/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). = How do I update WooCommerce? = We have a detailed guide on [How To Update WooCommerce](https://woocommerce.com/document/how-to-update-woocommerce/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). = My site broke – what do I do? = Start by diagnosing the issue using our helpful [troubleshooting guide](https://woocommerce.com/documentation/get-help/troubleshooting-get-help/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). If you noticed the error after updating a theme or plugin, there might be compatibility issues between it and WooCommerce. If the issue appeared after updating WooCommerce, there could be a conflict between WooCommerce and an outdated theme or plugin. In both instances, we recommend running a conflict test using [Health Check](https://woocommerce.com/document/troubleshooting-using-health-check/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) (which allows you to disable themes and plugins without affecting your visitors) or troubleshooting the issue using a [staging site](https://woocommerce.com/document/how-to-test-for-conflicts/#section-3?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). = Where can I report bugs? = Report bugs on the [WooCommerce GitHub repository](https://github.com/woocommerce/woocommerce/issues?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). You can also notify us via our support forum – be sure to search the forums to confirm that the error has not already been reported. = Where can I request new features, themes, and extensions? = Request new features and extensions and vote on existing suggestions on our official [feature request board](https://woocommerce.com/feature-requests/woocommerce?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing). Our Product teams regularly review requests and consider them valuable for product planning. = WooCommerce is awesome! Can I contribute? = Yes, you can! Join in on our [GitHub repository](https://github.com/woocommerce/woocommerce/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) and follow the [development blog](https://woocommerce.wordpress.com/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) to stay up-to-date with everything happening in the project. = Where can I find REST API documentation? = Extensive [WooCommerce REST API Documentation](https://woocommerce.github.io/woocommerce-rest-api-docs/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) is available on GitHub. = My question is not listed here. Where can I find more answers? = Check out [Frequently Asked Questions](https://woocommerce.com/document/frequently-asked-questions/?utm_medium=referral&utm_source=wordpress.org&utm_campaign=wp_org_repo_listing) for more. == Installation == = Minimum Requirements = * PHP 7.4 or greater is required (PHP 8.0 or greater is recommended) * MySQL 5.6 or greater, OR MariaDB version 10.1 or greater, is required Visit the [WooCommerce server requirements documentation](https://woocommerce.com/document/server-requirements/?utm_source=wp%20org%20repo%20listing&utm_content=3.6) for a detailed list of server requirements. = Automatic installation = Automatic installation is the easiest option -- WordPress will handle the file transfer, and you won’t need to leave your web browser. To do an automatic install of WooCommerce, log in to your WordPress dashboard, navigate to the Plugins menu, and click “Add New.” In the search field type “WooCommerce,” then click “Search Plugins.” Once you’ve found us, you can view details about it such as the point release, rating, and description. Most importantly of course, you can install it by! Click “Install Now,” and WordPress will take it from there. = Manual installation = Manual installation method requires downloading the WooCommerce plugin and uploading it to your web server via your favorite FTP application. The WordPress codex contains [instructions on how to do this here](https://wordpress.org/support/article/managing-plugins/#manual-plugin-installation). = Updating = Automatic updates should work smoothly, but we still recommend you back up your site. If you encounter issues with the shop/category pages after an update, flush the permalinks by going to WordPress > Settings > Permalinks and hitting “Save.” That should return things to normal. = Sample data = WooCommerce comes with some sample data you can use to see how products look; import sample_products.xml via the [WordPress importer](https://wordpress.org/plugins/wordpress-importer/). You can also use the core [CSV importer](https://woocommerce.com/document/product-csv-importer-exporter/?utm_source=wp%20org%20repo%20listing&utm_content=3.6) or our [CSV Import Suite extension](https://woocommerce.com/products/product-csv-import-suite/?utm_source=wp%20org%20repo%20listing&utm_content=3.6) to import sample_products.csv == Changelog == = 10.0.0 2025-07-07 = **WooCommerce** * Fix - Accept both wrapped and unwrapped JSON for Checkout additional fields. [#57965](https://github.com/woocommerce/woocommerce/pull/57965) * Fix - Add a check in get_refunds() to ensure only `WC_Order_Refund` objects are returned [#57837](https://github.com/woocommerce/woocommerce/pull/57837) * Fix - Add a custom hook to properly render the "Add to Cart with Options" block on the frontend for variable product type. [#58148](https://github.com/woocommerce/woocommerce/pull/58148) * Fix - Added admin validation for Minimum/Maximum spend coupon fields [#57911](https://github.com/woocommerce/woocommerce/pull/57911) * Fix - Added default fallback when no bg color is present or transparent color is set in theme body [#58033](https://github.com/woocommerce/woocommerce/pull/58033) * Fix - Add recreate email post to Woo settings email listing page. [#57827](https://github.com/woocommerce/woocommerce/pull/57827) * Fix - Adds proper support for theme color application in the Mini Cart Drawer. [#58314](https://github.com/woocommerce/woocommerce/pull/58314) * Fix - Add support for accented letter matching to country search in Onboarding Wizard [#58662](https://github.com/woocommerce/woocommerce/pull/58662) * Fix - Add variable product context to Blockified Add to Cart with Options when block is rendered in the Editor outside of a product. [#57887](https://github.com/woocommerce/woocommerce/pull/57887) * Fix - Allow more file protocols in CSV file check [#57805](https://github.com/woocommerce/woocommerce/pull/57805) * Fix - Blocks: Remove multiple div wrappers [#58081](https://github.com/woocommerce/woocommerce/pull/58081) * Fix - BlocksUtil: fix the fatal error when dealing with unexpected widget_block data. [#58630](https://github.com/woocommerce/woocommerce/pull/58630) * Fix - Comment: Make 'X in cart' button text work for variable products in the Blockified Add to Cart with Options block and use regular form in Add to Cart with Options when iAPI can't be used (simple and grouped products) [#57859](https://github.com/woocommerce/woocommerce/pull/57859) * Fix - Display finished steps first in NOX In-Context [#58437](https://github.com/woocommerce/woocommerce/pull/58437) * Fix - Enable users to upload product CSV files with html description [#58016](https://github.com/woocommerce/woocommerce/pull/58016) * Fix - Ensure coupon error remains visible in Cart and Checkout classic pages until resolved [#58088](https://github.com/woocommerce/woocommerce/pull/58088) * Fix - Ensure login form is rendered on classic checkout for guests [#57557](https://github.com/woocommerce/woocommerce/pull/57557) * Fix - Ensure plain text email preview is aligned left when sent to email [#58790](https://github.com/woocommerce/woocommerce/pull/58790) * Fix - Ensures checkout notice errors disappear after valid response [#57361](https://github.com/woocommerce/woocommerce/pull/57361) * Fix - Fix: ensure wp_is_block_theme() is called after theme directories registration. [#58640](https://github.com/woocommerce/woocommerce/pull/58640) * Fix - Fix anonymize_refunded_orders args to ignore anonymized orders [#58421](https://github.com/woocommerce/woocommerce/pull/58421) * Fix - Fix default attribute selection in dropdown mode for Add to Cart + Options block [#58464](https://github.com/woocommerce/woocommerce/pull/58464) * Fix - Fixed an issue that prevented the Download Limit and Expiry fields from being cleared during product import. [#58150](https://github.com/woocommerce/woocommerce/pull/58150) * Fix - Fixed background color in Marketing > Overview icons [#57991](https://github.com/woocommerce/woocommerce/pull/57991) * Fix - Fixed items sorting by price when applying discounts. [#58013](https://github.com/woocommerce/woocommerce/pull/58013) * Fix - Fixed the UI bug where single payment method was shown as an input with radio button. [#58315](https://github.com/woocommerce/woocommerce/pull/58315) * Fix - Fix email status toggle in the email editor integration [#58483](https://github.com/woocommerce/woocommerce/pull/58483) * Fix - Fix error in email editor's SidebarSettings component [#58459](https://github.com/woocommerce/woocommerce/pull/58459) * Fix - Fixes keyboard navigation in product tabs when the tabs are vertical or horizontal for RTL languages [#58515](https://github.com/woocommerce/woocommerce/pull/58515) * Fix - Fixes the issue where padding/margin was being applied to the parent element instead of the required element of woocommerce/product-sale-badge block when using the Editor to edit margin/padding. [#57956](https://github.com/woocommerce/woocommerce/pull/57956) * Fix - Fix issue in which package item names would show up malformed on Checkout. [#57920](https://github.com/woocommerce/woocommerce/pull/57920) * Fix - Fix partially refunded action trigger for orders with free items [#58674](https://github.com/woocommerce/woocommerce/pull/58674) * Fix - Fix quantity in backorder notification email [#58656](https://github.com/woocommerce/woocommerce/pull/58656) * Fix - Fix race conditions when quickly switching between delivery options [#57675](https://github.com/woocommerce/woocommerce/pull/57675) * Fix - Fix spacing on local pickup select component [#58139](https://github.com/woocommerce/woocommerce/pull/58139) * Fix - Fix the logic that was marking a step as incorrectly completed in LYS. [#58545](https://github.com/woocommerce/woocommerce/pull/58545) * Fix - Fix two small aria-labelledby typos [#58733](https://github.com/woocommerce/woocommerce/pull/58733) * Fix - Fix updating subject, preheader and other WC email data via EmailControllerAPI. [#58191](https://github.com/woocommerce/woocommerce/pull/58191) * Fix - Fix URLs in “please moderate [Product name]” emails [#58331](https://github.com/woocommerce/woocommerce/pull/58331) * Fix - Fix various component functionality and styling issues in Storybook implementation. [#58053](https://github.com/woocommerce/woocommerce/pull/58053) * Fix - For orders via Store API, if payment is not needed, clear order payment method field. [#58109](https://github.com/woocommerce/woocommerce/pull/58109) * Fix - Invalidate shipping hashes when rate prices change. [#58776](https://github.com/woocommerce/woocommerce/pull/58776) * Fix - Made the Coupon expiry date placeholder translatable [#57946](https://github.com/woocommerce/woocommerce/pull/57946) * Fix - Make Stock Indicator block show the stock status of variable products when stock is managed at the product level [#58354](https://github.com/woocommerce/woocommerce/pull/58354) * Fix - Make sure HPOS tables are created when running sync manually from settings. [#58406](https://github.com/woocommerce/woocommerce/pull/58406) * Fix - Only fire the legacy woocommerce_admin_field_payment_gateways action for display purposes to maintain backward compatibility. [#58580](https://github.com/woocommerce/woocommerce/pull/58580) * Fix - Prevent "woocommerce_order_status_X' hooks to be called when Order save() action is cancelled [#46887](https://github.com/woocommerce/woocommerce/pull/46887) * Fix - Prevented the browser's 'unsaved changes' warning from appearing after a successful export in the Blueprint settings page [#58093](https://github.com/woocommerce/woocommerce/pull/58093) * Fix - Prevent fatal errors in uninstall routine. [#58498](https://github.com/woocommerce/woocommerce/pull/58498) * Fix - Prevent hidden fields being considered during validation [#58035](https://github.com/woocommerce/woocommerce/pull/58035) * Fix - Prevent items being added to cart with quantity of 0. [#58658](https://github.com/woocommerce/woocommerce/pull/58658) * Fix - Prevent orphaned image uploads via REST API when product creation fails due to validation errors (e.g., duplicate SKU with original in trash). [#58367](https://github.com/woocommerce/woocommerce/pull/58367) * Fix - Prevent payment gateways that implement __call() to break the payments settings page. [#58604](https://github.com/woocommerce/woocommerce/pull/58604) * Fix - Product Description: running content through the_content filter. [#58453](https://github.com/woocommerce/woocommerce/pull/58453) * Fix - Product Filters: clean the canonical URL before use. [#57950](https://github.com/woocommerce/woocommerce/pull/57950) * Fix - Product Filters: fix various A11y issues. [#58405](https://github.com/woocommerce/woocommerce/pull/58405) * Fix - Product Filters A11y: use fieldset for checkbox list and chips blocks. [#58711](https://github.com/woocommerce/woocommerce/pull/58711) * Fix - Product Gallery: fix unscrollable page when touching large image [#58398](https://github.com/woocommerce/woocommerce/pull/58398) * Fix - Product Gallery: improve accessibility by adding proper outlines and keyboard arrows support [#58505](https://github.com/woocommerce/woocommerce/pull/58505) * Fix - Product Gallery: improve accessibility [#58480](https://github.com/woocommerce/woocommerce/pull/58480) * Fix - Product Gallery: make sure gallery images are not draggable and small images takes all available space [#58571](https://github.com/woocommerce/woocommerce/pull/58571) * Fix - Product Gallery: make sure overflow is recalculated on screen size change [#58424](https://github.com/woocommerce/woocommerce/pull/58424) * Fix - Product Gallery: prevent incorrect 404 request [#58560](https://github.com/woocommerce/woocommerce/pull/58560) * Fix - Product Gallery: remove unused "Crop Images to Fit" option and add "Auto" aspect-ratio in Thumbnails [#58162](https://github.com/woocommerce/woocommerce/pull/58162) * Fix - Product Sale Badge: make the block visible in the Single Product Template [#57939](https://github.com/woocommerce/woocommerce/pull/57939) * Fix - Product Sale Badge: render the block on the Single Product Block. [#57980](https://github.com/woocommerce/woocommerce/pull/57980) * Fix - Remove conditional nonce check for 'settings' feature [#58724](https://github.com/woocommerce/woocommerce/pull/58724) * Fix - Replace metadata spread on checkout inner blocks registration [#58767](https://github.com/woocommerce/woocommerce/pull/58767) * Fix - Respect the max qualtity limit of a product in the cart if the manage stock setting is enabled only [#58392](https://github.com/woocommerce/woocommerce/pull/58392) * Fix - Revealed admin notices when saving a coupon with invalid data. [#57911](https://github.com/woocommerce/woocommerce/pull/57911) * Fix - Round individual taxes in fee lines items in orders REST endpoint [#58497](https://github.com/woocommerce/woocommerce/pull/58497) * Fix - Sanitize address data only once in CartUpdateCustomer [#58737](https://github.com/woocommerce/woocommerce/pull/58737) * Fix - Show tooltips for all suggestion categories in Settings -> Payments. [#58467](https://github.com/woocommerce/woocommerce/pull/58467) * Fix - Undo editor content width overwrite [#58799](https://github.com/woocommerce/woocommerce/pull/58799) * Fix - Update Jetpack Connection to 6.11.6 to prevent transient DB errors. [#58212](https://github.com/woocommerce/woocommerce/pull/58212) * Add - Add a new email Order Cancellation to Customers [#57987](https://github.com/woocommerce/woocommerce/pull/57987) * Add - Add a settings tab for Point of Sale store details, and display values in POS completed order email HTML and plaintext templates. [#57848](https://github.com/woocommerce/woocommerce/pull/57848) * Add - Add a setting to admin to enable and select address provider, feature gated. [#57370](https://github.com/woocommerce/woocommerce/pull/57370) * Add - Add Email Validation for Recipient, CC, and BCC in the Block Email Editor [#58247](https://github.com/woocommerce/woocommerce/pull/58247) * Add - Add personalization tags for Order Discount, Shipping Cost, Shipping Method, Shipping Address, Billing Address, Transaction Id, Order View URL, Order Admin URL, Order Custom Field. [#58117](https://github.com/woocommerce/woocommerce/pull/58117) * Add - Add recipient fields to the email editor sidebar. [#57768](https://github.com/woocommerce/woocommerce/pull/57768) * Add - Add recipient filter to email listing [#58255](https://github.com/woocommerce/woocommerce/pull/58255) * Add - Adds a new helper function to check if the current page is the "payment methods list" under "My Account". [#58006](https://github.com/woocommerce/woocommerce/pull/58006) * Add - Add the payment's new onboarding experience flow to the Launch Your Store process. [#58291](https://github.com/woocommerce/woocommerce/pull/58291) * Add - Blockified Add to Cart with Options block: make it possible to add grouped products to cart [#58002](https://github.com/woocommerce/woocommerce/pull/58002) * Add - Display errors in Add to Cart + Options block [#58491](https://github.com/woocommerce/woocommerce/pull/58491) * Add - Display Point of Sale (POS) store name in the header HTML for POS emails by extracting blog name usage in the email header template to a variable. [#58124](https://github.com/woocommerce/woocommerce/pull/58124) * Add - Display store details from Point of Sale (POS) settings and customize footer text in POS completed/refunded order emails in block format. [#58100](https://github.com/woocommerce/woocommerce/pull/58100) * Add - Display store details from Point of Sale (POS) settings in POS refunded order email HTML and plaintext templates, with minor improvements for POS completed/refunded order emails. [#58012](https://github.com/woocommerce/woocommerce/pull/58012) * Add - Implemented aspect ratio feature in product gallery thumbnail block [#58054](https://github.com/woocommerce/woocommerce/pull/58054) * Add - Introduce Add to Cart + Options block [#58602](https://github.com/woocommerce/woocommerce/pull/58602) * Add - Migrate Point of Sale admin feature flag to core feature switch. [#58199](https://github.com/woocommerce/woocommerce/pull/58199) * Add - On Sale Badge: expose filter allowing to change a badge label [#57914](https://github.com/woocommerce/woocommerce/pull/57914) * Add - Replace {site_title}, {store_address}, and {store_email} placeholders with Point of Sale (POS) store details from POS settings in POS emails. [#58330](https://github.com/woocommerce/woocommerce/pull/58330) * Add - Send POS refund email and disable core refund email for POS orders. [#57736](https://github.com/woocommerce/woocommerce/pull/57736) * Add - Set WC_Logger as delegate logger for the email editor [#58607](https://github.com/woocommerce/woocommerce/pull/58607) * Add - Shipping related loading states shown only for address fields that impact the shipping rates [#57374](https://github.com/woocommerce/woocommerce/pull/57374) * Add - Unschedule recurring actions when WooCommerce is deactivated. [#58532](https://github.com/woocommerce/woocommerce/pull/58532) * Update - Update all instances of "Official WooCommerce Marketplace" copy, and associated tests. [#58608](https://github.com/woocommerce/woocommerce/pull/58608) * Update - Fixes for automated recommendations. [#58648](https://github.com/woocommerce/woocommerce/pull/58648) * Update - Add default styles for quantity inputs in Add to Cart + Options block [#58510](https://github.com/woocommerce/woocommerce/pull/58510) * Update - Add email usage tracking to WC Tracker [#58625](https://github.com/woocommerce/woocommerce/pull/58625) * Update - Blockified Add to Cart with Options block: add "tabindex" and "aria-checked" attributes to variation option radio inputs. [#58691](https://github.com/woocommerce/woocommerce/pull/58691) * Update - Blockified Add to Cart with Options block: set $default_quantity to use the woocommerce_quantity_input_min filter [#58729](https://github.com/woocommerce/woocommerce/pull/58729) * Update - Forces the email editor to be run in the full screen mode [#58154](https://github.com/woocommerce/woocommerce/pull/58154) * Update - Increase rating star to meet target size minimum requirement [#58086](https://github.com/woocommerce/woocommerce/pull/58086) * Update - Order summary: Switch to css container width detection for the cart and checkout block [#58476](https://github.com/woocommerce/woocommerce/pull/58476) * Update - Product Collection: change priority of filter disabling client-side-navigation in the frontend from 10 to 5 [#57978](https://github.com/woocommerce/woocommerce/pull/57978) * Update - Refactor the useValidation hook. A deprecation warning will be shown when any part of the hook is accessed. [#58400](https://github.com/woocommerce/woocommerce/pull/58400) * Update - Remove the old dependency injection container and all the related infrastructure [#57966](https://github.com/woocommerce/woocommerce/pull/57966) * Update - Sync Point of Sale (POS) settings tab visibility with the POS feature switch value after save. [#58451](https://github.com/woocommerce/woocommerce/pull/58451) * Update - Turn the order into draft when creation via REST API fails [#57992](https://github.com/woocommerce/woocommerce/pull/57992) * Update - Update address JS utils to use the addressFieldsForShippingRates setting [#58030](https://github.com/woocommerce/woocommerce/pull/58030) * Update - Update block email editor integration to work with updated email editor package [#57775](https://github.com/woocommerce/woocommerce/pull/57775) * Update - Update minimum supported WordPress version to 6.7 [#58246](https://github.com/woocommerce/woocommerce/pull/58246) * Update - Update the country Turkey to Türkiye [#58436](https://github.com/woocommerce/woocommerce/pull/58436) * Update - Update the email descriptions copy [#58304](https://github.com/woocommerce/woocommerce/pull/58304) * Dev - Add BlocksSharedState trait to store shared WooCommerce settings with wp_interactivity_config and wp_interactivity_state. [#57469](https://github.com/woocommerce/woocommerce/pull/57469) * Dev - Add e2e test for adding a grouped product to the cart using the Add to Cart With Options block [#58727](https://github.com/woocommerce/woocommerce/pull/58727) * Dev - added e2e test for the selective product export [#58619](https://github.com/woocommerce/woocommerce/pull/58619) * Dev - Add schema validation for Patterns Toolkit in PTKClient and update PTKPatternsStore to utilize validation. [#57809](https://github.com/woocommerce/woocommerce/pull/57809) * Dev - Adds the public visibility identifier to all constant values of all previously added enum classes. [#57915](https://github.com/woocommerce/woocommerce/pull/57915) * Dev - Behind a feature flag de-register the bundled `@wordpress/interactivity` and `interactivity-router` modules and register/bundle our own within WooCommerce. [#57611](https://github.com/woocommerce/woocommerce/pull/57611) * Dev - CI: additional environment for API tests. [#58056](https://github.com/woocommerce/woocommerce/pull/58056) * Dev - CI: PHP 8.4 environment for CI jobs. [#58073](https://github.com/woocommerce/woocommerce/pull/58073) * Dev - Disable the forked iAPI runtime by default in development. [#58101](https://github.com/woocommerce/woocommerce/pull/58101) * Dev - Fix flacky test [#58080](https://github.com/woocommerce/woocommerce/pull/58080) * Dev - Fix flaky local pickup test [#58333](https://github.com/woocommerce/woocommerce/pull/58333) * Dev - Fix flaky product import E2E test by using local images instead of remote URLs [#58830](https://github.com/woocommerce/woocommerce/pull/58830) * Dev - Fix flaky shipping selection e2e test [#58593](https://github.com/woocommerce/woocommerce/pull/58593) * Dev - Further fix for flaky shipping selection e2e test [#58661](https://github.com/woocommerce/woocommerce/pull/58661) * Dev - Introduces and implements payment gateway features' constants in the WooCommerce plugin codebase. [#57468](https://github.com/woocommerce/woocommerce/pull/57468) * Dev - Monorepo: cleanup after dropping unsupported packages. [#58650](https://github.com/woocommerce/woocommerce/pull/58650) * Dev - Monorepo: complete migration from `classnames` package to `clsx`. [#58699](https://github.com/woocommerce/woocommerce/pull/58699) * Dev - Monorepo: decouple core packages from deprecated E2E packages. [#58631](https://github.com/woocommerce/woocommerce/pull/58631) * Dev - Monorepo: drop the unused `concurrently` package from dependencies. [#58765](https://github.com/woocommerce/woocommerce/pull/58765) * Dev - Monorepo: drop unsupported @woocommerce/admin-e2e-tests package. [#58638](https://github.com/woocommerce/woocommerce/pull/58638) * Dev - Monorepo: drop unsupported @woocommerce/api-core-tests package. [#58647](https://github.com/woocommerce/woocommerce/pull/58647) * Dev - Monorepo: drop unsupported @woocommerce/e2e-core-tests package. [#58639](https://github.com/woocommerce/woocommerce/pull/58639) * Dev - Monorepo: drop unsupported @woocommerce/e2e-environment package. [#58643](https://github.com/woocommerce/woocommerce/pull/58643) * Dev - Monorepo: drop unsupported @woocommerce/e2e-utils package. [#58642](https://github.com/woocommerce/woocommerce/pull/58642) * Dev - Monorepo: drop unsupported @woocommerce/internal-e2e-builds package. [#58644](https://github.com/woocommerce/woocommerce/pull/58644) * Dev - Monorepo: pin GitHub hosted deps to specific hashes. [#58531](https://github.com/woocommerce/woocommerce/pull/58531) * Dev - Monorepo: update phpcompatibility/php-compatibility dependency version to dev-develop [#58203](https://github.com/woocommerce/woocommerce/pull/58203) * Dev - Refactor price utils to support passing cart data in, utilize it in the experimental iAPI mini cart drawer subtotal. [#58268](https://github.com/woocommerce/woocommerce/pull/58268) * Dev - Remove AI package from the monorepo. [#58059](https://github.com/woocommerce/woocommerce/pull/58059) * Dev - Removed the customer new account template that blocks implemented in favour of the core template. [#57695](https://github.com/woocommerce/woocommerce/pull/57695) * Dev - Remove E2E test for inserting Mini Cart block into widget area once [#57938](https://github.com/woocommerce/woocommerce/pull/57938) * Dev - Remove test that checks you can access the cart template via the page editor [#58355](https://github.com/woocommerce/woocommerce/pull/58355) * Dev - Update e2e test to ensure checkout block template is loading [#58280](https://github.com/woocommerce/woocommerce/pull/58280) * Tweak - Fix inconsistent redirection when navigating back from LYS payments setup flow in WooCommerce Home. [#58591](https://github.com/woocommerce/woocommerce/pull/58591) * Tweak - Fix issue where “Set up payments” task wasn’t marked complete immediately after onboarding in LYS. [#58721](https://github.com/woocommerce/woocommerce/pull/58721) * Tweak - Fix typo on test onboarding confirmation screen in NOX In-Context. [#58568](https://github.com/woocommerce/woocommerce/pull/58568) * Tweak - Increase subscription/usage rules transient time from 1 hour to 3 hours. [#58119](https://github.com/woocommerce/woocommerce/pull/58119) * Tweak - Make payment method icon images shrinkable by default [#58540](https://github.com/woocommerce/woocommerce/pull/58540) * Tweak - Make the Product Button block ignore ajax_add_to_cart (and assume it's true) when inside the Add to Cart + Options block [#58588](https://github.com/woocommerce/woocommerce/pull/58588) * Tweak - Reduce padding for in-app product cards. [#58730](https://github.com/woocommerce/woocommerce/pull/58730) * Tweak - Refactor PTKPatternsStore to use options instead of transients for PTK patterns storage. [#58528](https://github.com/woocommerce/woocommerce/pull/58528) * Tweak - Remove "Cha-ching!" from the subject of New order admin notification [#58772](https://github.com/woocommerce/woocommerce/pull/58772) * Tweak - Update fallback data for extensions recommended during onboarding [#58606](https://github.com/woocommerce/woocommerce/pull/58606) * Tweak - Update the NOX In-context completion step styling to match those of LYS. [#58413](https://github.com/woocommerce/woocommerce/pull/58413) * Performance - Automatically remove the session and cookie when the session becomes empty. [#57652](https://github.com/woocommerce/woocommerce/pull/57652) * Performance - Improve how available variations are fetched in ProductAvailabilityUtils and introduce has_available_variations function. [#58185](https://github.com/woocommerce/woocommerce/pull/58185) * Performance - Optimize caching and SQL performance in wc_customer_bought_product function. [#57916](https://github.com/woocommerce/woocommerce/pull/57916) * Performance - Perform WCCOM requests only when it's really necessary [#58209](https://github.com/woocommerce/woocommerce/pull/58209) * Enhancement - Add $order argument to woocommerce_email_downloads_columns filter [#58600](https://github.com/woocommerce/woocommerce/pull/58600) * Enhancement - Add aria label attribute to activity panel tab help button in WooCommerce admin settings home page. [#58065](https://github.com/woocommerce/woocommerce/pull/58065) * Enhancement - Added alphabetical fallback sorting for Product Collection Block when multiple products have the same menu order value. [#57892](https://github.com/woocommerce/woocommerce/pull/57892) * Enhancement - Added email status toggle in the email editor sidebar. Added the ability to enable/disable transactional emails directly from the email editor [#57953](https://github.com/woocommerce/woocommerce/pull/57953) * Enhancement - Added new `checkout-link` endpoint which accepts a comma separated list of product ids and a coupon code to prepopulate the cart and redirect to checkout with a new session. Allows for shareable carts. Supports simple products without additional options. [#58140](https://github.com/woocommerce/woocommerce/pull/58140) * Enhancement - Add email description to the email editor sidebar [#58225](https://github.com/woocommerce/woocommerce/pull/58225) * Enhancement - Adjusted data visibility rules in a multisite network. [#58613](https://github.com/woocommerce/woocommerce/pull/58613) * Enhancement - Convert the remove item link into a button on cart and mini-cart. [#56869](https://github.com/woocommerce/woocommerce/pull/56869) * Enhancement - Display 'Point of Sale' origin label for POS orders in the order details, and add corresponding unit test coverage. [#57432](https://github.com/woocommerce/woocommerce/pull/57432) * Enhancement - Enhanced the Product Image block to act as a container for inner blocks, allowing for more flexible layouts. [#57586](https://github.com/woocommerce/woocommerce/pull/57586) * Enhancement - Enhance Product Image block to display a specific product gallery image via context. [#57590](https://github.com/woocommerce/woocommerce/pull/57590) * Enhancement - Hide wc-admin update notice when updating via CLI. [#57256](https://github.com/woocommerce/woocommerce/pull/57256) * Enhancement - Improve accessibility of price range information [#58087](https://github.com/woocommerce/woocommerce/pull/58087) * Enhancement - Improve cart table accessibility by properly defining column and row headers using scope attributes. [#57883](https://github.com/woocommerce/woocommerce/pull/57883) * Enhancement - Improved featured block background color functionality by introducing a notice to alert users when the background color may not be visible on product or category images. [#57490](https://github.com/woocommerce/woocommerce/pull/57490) * Enhancement - Improved text contrast for completed/inactive sidebar steps in “Launch Your Store” to enhance accessibility. [#58872](https://github.com/woocommerce/woocommerce/pull/58872) * Enhancement - Improved the behavior and copy of the max word count control in the Product Summary block. [#58111](https://github.com/woocommerce/woocommerce/pull/58111) * Enhancement - Improved the block chips styling and made them identical [#58616](https://github.com/woocommerce/woocommerce/pull/58616) * Enhancement - Improves `useThemeColors` to apply theme style changes in real-time using `MutationObserver`, eliminating the need to refresh the editor after switching styles. [#58322](https://github.com/woocommerce/woocommerce/pull/58322) * Enhancement - Preselected payment methods were not enabled during direct live account onboarding in the NOX flow. [#58641](https://github.com/woocommerce/woocommerce/pull/58641) * Enhancement - Product Filters: improve Checkbox List color setting, now allowing setting label color only [#58525](https://github.com/woocommerce/woocommerce/pull/58525) * Enhancement - Product Gallery: use Product Image block for main images. [#58651](https://github.com/woocommerce/woocommerce/pull/58651) * Enhancement - Replaced placeholder product image with the new design [#58493](https://github.com/woocommerce/woocommerce/pull/58493) * Enhancement - Streamlined the Cart Block to include only estimated totals and remove complex/confusing shipping selection and calculation UI. Shipping is selected during checkout. [#58066](https://github.com/woocommerce/woocommerce/pull/58066) * Enhancement - Update MercadoPago SVG icon for better visual consistency in WooCommerce Payments onboarding [#58669](https://github.com/woocommerce/woocommerce/pull/58669) * Enhancement - [Experimental] Blockified Add to Cart with Option: Improved layout of template part [#57979](https://github.com/woocommerce/woocommerce/pull/57979) * Enhancement - [Experimental] Blockified Add to Cart with Options block: Add product selector label block [#57927](https://github.com/woocommerce/woocommerce/pull/57927) * Fix - Allow non-numeric characters in bank account numbers for the Direct bank transfer payment method to support international banking formats. [#59218](https://github.com/woocommerce/woocommerce/pull/59218) * Fix - Ensure discount meta slot fill shows when no coupons are applied to the cart. [#59221](https://github.com/woocommerce/woocommerce/pull/59221) * Fix - Fix a bug where the offline payment gateways page was not updated when a gateway is enabled [#59103](https://github.com/woocommerce/woocommerce/pull/59103) * Fix - Fix desktop structure of the Order summary title [#59081](https://github.com/woocommerce/woocommerce/pull/59081) * Fix - Made coupon code discount total lookup case insensitive [#58918](https://github.com/woocommerce/woocommerce/pull/58918) * Fix - Product Gallery: fix large image that may be displaying single image all over for variable products [#59157](https://github.com/woocommerce/woocommerce/pull/59157) * Add - Adds a preload call when installing WooPayments in LYS. [#59059](https://github.com/woocommerce/woocommerce/pull/59059) * Update - Improve payment gateway status badge logic for the Payments Settings page. [#59103](https://github.com/woocommerce/woocommerce/pull/59103) * Update - Update Product Details block to the new version supporting inner blocks. [#59005](https://github.com/woocommerce/woocommerce/pull/59005) * Update - Update the test step title when polling is happening to communicate progress to the merchant [#59059](https://github.com/woocommerce/woocommerce/pull/59059) * Update - Update the “Ready to test payments” screen for clarity [#59087](https://github.com/woocommerce/woocommerce/pull/59087) * Dev - e2e tests: fix broken test [#59087](https://github.com/woocommerce/woocommerce/pull/59087) * Dev - Resolved SCSS load order warnings between Payments Settings and Launch Your Store chunks. [#59059](https://github.com/woocommerce/woocommerce/pull/59059) * Enhancement - Enhanced styling of NOX In-context sidebar stepper for visual consistency and improved contrast. [#59059](https://github.com/woocommerce/woocommerce/pull/59059) * Enhancement - Use NOX-specific styles in PMs selection step header instead of global WooCommerce classes. [#59059](https://github.com/woocommerce/woocommerce/pull/59059) * Fix - Check to see if customer object is defined before calling `get_is_vat_exempt` [#59397](https://github.com/woocommerce/woocommerce/pull/59397) * Fix - Fixed brands shortcode being empty when `show_empty` was set to `false`. [#59395](https://github.com/woocommerce/woocommerce/pull/59395) * Fix - Improved styling of payment methods selection screen for better cross-browser support. [#59291](https://github.com/woocommerce/woocommerce/pull/59291) * Fix - Product Gallery: fix incorrectly handled swiping on mobile devices [#59350](https://github.com/woocommerce/woocommerce/pull/59350) * Add - Make it possible to reset an account directly from the NOX step [#59366](https://github.com/woocommerce/woocommerce/pull/59366) [See changelog for all versions](https://raw.githubusercontent.com/woocommerce/woocommerce/trunk/changelog.txt).