== Changelog == = 10.3.5 2025-11-12 = **WooCommerce** * Fix - Add a new line when concatenating translations in a script for the Mini-Cart block [#61918](https://github.com/woocommerce/woocommerce/pull/61918) * Fix - Disable the Deactivate menu option for bundled payment gateways. [#61841](https://github.com/woocommerce/woocommerce/pull/61841) * Fix - Fix 'shows password form in products protected with password' e2e tests in WP 6.9 [#61911](https://github.com/woocommerce/woocommerce/pull/61911) * Fix - Fixes CSV import where hierarchical brands could not be imported. [#61873](https://github.com/woocommerce/woocommerce/pull/61873) * Fix - Legacy assets: respect theme support when using Classic Template or Product Image Gallery blocks with block themes. [#61837](https://github.com/woocommerce/woocommerce/pull/61837) * Fix - WP 6.9: load WP Button block styles when rendering the Add to Cart Button [#61911](https://github.com/woocommerce/woocommerce/pull/61911) * Update - Onboarding: Remove onboarding step to Customize Your Store flow [#61911](https://github.com/woocommerce/woocommerce/pull/61911) * Dev - e2e tests: skip block-based product editor tests [#61911](https://github.com/woocommerce/woocommerce/pull/61911) * Dev - Remove price filter widget accounting script deprecation notice [#61844](https://github.com/woocommerce/woocommerce/pull/61844) = 10.3.4 2025-10-31 = **WooCommerce** * Fix - Attempts to identify the PayPal two-letter country code from a three-letter code using the `league/iso3166` composer package, and applies minor additional fixes [#61741](https://github.com/woocommerce/woocommerce/pull/61741) * Fix - Fixes the locale code sent when creating a PayPal Standard order, limiting it to two characters. [#61688](https://github.com/woocommerce/woocommerce/pull/61688) * Fix - Fixes the SHIPPING_CALLBACK_CONFIG_NOT_SUPPORTED errors for PayPal Standard [#61689](https://github.com/woocommerce/woocommerce/pull/61689) * Fix - Improves how the city and postal code field requirements are defined based on the official PayPal address requirements table for the Orders V2 API. [#61724](https://github.com/woocommerce/woocommerce/pull/61724) * Fix - Prevent autocomplete scripts loading if the setting is disabled [#61684](https://github.com/woocommerce/woocommerce/pull/61684) * Fix - Properly handling PayPal order items with negative amounts. [#61719](https://github.com/woocommerce/woocommerce/pull/61719) * Fix - Sets the country code sent to PayPal when using PayPal Standard to the expected two-letter format [#61691](https://github.com/woocommerce/woocommerce/pull/61691) * Fix - Unifies how order items total amount is calculated for PayPal Standard purchases [#61692](https://github.com/woocommerce/woocommerce/pull/61692) * Dev - Remove deprecation notices from legacy script handles [#61693](https://github.com/woocommerce/woocommerce/pull/61693) = 10.3.3 2025-10-24 = **WooCommerce** * Dev - Add in deprecated script warnings and backwards compatibility for 3PDs [#61599](https://github.com/woocommerce/woocommerce/pull/61599) = 10.3.2 2025-10-23 = **WooCommerce** * Fix - Race condition where orders may be deleted from the database [#61582](https://github.com/woocommerce/woocommerce/pull/61582) * Fix - Resolve PayPal order creation failures caused by a mismatch between the total and breakdown amounts. [#61586](https://github.com/woocommerce/woocommerce/pull/61586) * Tweak - Fixes a typo copy on Autocomplete setting tooltip [#61577](https://github.com/woocommerce/woocommerce/pull/61577) = 10.3.1 2025-10-23 = **WooCommerce** * Fix - Check the get_session_data method exists on the session object [#61561](https://github.com/woocommerce/woocommerce/pull/61561) * Fix - Check the payment method ID before sending a request to capture a PayPal payment. [#61564](https://github.com/woocommerce/woocommerce/pull/61564) = 10.3.0 2025-10-22 = **WooCommerce** * Fix - Accessibility: Avoid list of one for a single express pay option on the block cart page. [#60674](https://github.com/woocommerce/woocommerce/pull/60674) * Fix - Accessibility: Remove unneeded title attribute from product images to avoid duplicate screen reader announcements [#60412](https://github.com/woocommerce/woocommerce/pull/60412) * Fix - Address update script issue where refunded $order may not exist, and disable refunded orders tool. [#61125](https://github.com/woocommerce/woocommerce/pull/61125) * Fix - Add string and int types to get_cart_contents_total method for strict_types envs [#61027](https://github.com/woocommerce/woocommerce/pull/61027) * Fix - Add to Cart + Options: don't disable optimistic updates when adding grouped product children to cart if only one fails [#60992](https://github.com/woocommerce/woocommerce/pull/60992) * Fix - Allow readonly use of orders menu separate from WC menu (HPOS). [#58423](https://github.com/woocommerce/woocommerce/pull/58423) * Fix - Announce variation data when changing attributes in the Add to Cart + Options block [#60172](https://github.com/woocommerce/woocommerce/pull/60172) * Fix - Apply webhook delivery hook args filter to delivery pings [#60920](https://github.com/woocommerce/woocommerce/pull/60920) * Fix - Cart Link block: Fix issue that happens when you try and edit the text by hijacking onClick with a preventDefault() [#60804](https://github.com/woocommerce/woocommerce/pull/60804) * Fix - Comment: Resolve an issue where the combined Apple Pay & Google Pay toggle state did not persist when disabled. [#60572](https://github.com/woocommerce/woocommerce/pull/60572) * Fix - Define the capabilities for the `woo_email` post type [#60833](https://github.com/woocommerce/woocommerce/pull/60833) * Fix - Don't load templates with the woocommerce slug if the queried template was customized by the user [#61139](https://github.com/woocommerce/woocommerce/pull/61139) * Fix - Dont return product name in add-to-cart endpoint if product is draft or private [#60892](https://github.com/woocommerce/woocommerce/pull/60892) * Fix - Email Content: Prevent 404 call for styles in editor [#60742](https://github.com/woocommerce/woocommerce/pull/60742) * Fix - Ensure address fields without valid values from provider 'select' are emptied on shortcode checkout. [#61105](https://github.com/woocommerce/woocommerce/pull/61105) * Fix - Ensure autocomplete is disabled properly when using addresss autofill [#60907](https://github.com/woocommerce/woocommerce/pull/60907) * Fix - Ensure child themes load parent fonts in coming soon mode [#60845](https://github.com/woocommerce/woocommerce/pull/60845) * Fix - Ensure items that are forcibly removed from cart re-save the persistent cart [#61112](https://github.com/woocommerce/woocommerce/pull/61112) * Fix - Ensure session token is passed as a string [#60692](https://github.com/woocommerce/woocommerce/pull/60692) * Fix - Fix email-restricted coupons being removed during Apple Pay/Google Pay checkout [#60738](https://github.com/woocommerce/woocommerce/pull/60738) * Fix - Fix email listings links if WordPress is installed in a subdirectory [#60783](https://github.com/woocommerce/woocommerce/pull/60783) * Fix - Fix error when a custom coupon discount type is unregistered and an order using such a coupon is updated [#60712](https://github.com/woocommerce/woocommerce/pull/60712) * Fix - Fix iAPI minicart compatibility with WooCommerce extensions using IntegrationInterface. [#60877](https://github.com/woocommerce/woocommerce/pull/60877) * Fix - Fix render-checkout-form event was possibly triggered too early for 3rd party scripts to catch [#60871](https://github.com/woocommerce/woocommerce/pull/60871) * Fix - Fix Reviews Form block always showing the 'Be the first to review' message [#60866](https://github.com/woocommerce/woocommerce/pull/60866) * Fix - Fix Select2 single dropdown spacing issue in admin interface [#60933](https://github.com/woocommerce/woocommerce/pull/60933) * Fix - Fix styles in the Classic Template block add to cart form [#60611](https://github.com/woocommerce/woocommerce/pull/60611) * Fix - iAPI Mini Cart: remove unnecessary type check that hid variation metadata for non-variation item types (e.g., `subscription_variation`); [#60935](https://github.com/woocommerce/woocommerce/pull/60935) * Fix - Improve accessibility of default credit card form available to gateway extensions. [#60609](https://github.com/woocommerce/woocommerce/pull/60609) * Fix - Improve detection for invalid billing and shipping addresses in the checkout block [#60441](https://github.com/woocommerce/woocommerce/pull/60441) * Fix - Limit autocomplete suggestions to 5 and sanitize output in asset data registry [#61106](https://github.com/woocommerce/woocommerce/pull/61106) * Fix - Make sure wc-admin db update notification is always in sync with legacy one. [#60646](https://github.com/woocommerce/woocommerce/pull/60646) * Fix - Migrator: Fixed the import for variation with spaces [#61211](https://github.com/woocommerce/woocommerce/pull/61211) * Fix - Prevent "Added to cart" notices from appearing unnecessarily in Product Collection and Add to Cart + Options blocks when used in two different tabs in parallel [#60734](https://github.com/woocommerce/woocommerce/pull/60734) * Fix - Prevent order attribution install banner when file mods are not allowed [#60716](https://github.com/woocommerce/woocommerce/pull/60716) * Fix - Product Collection: Fix ghost updates in Product Collection block [#60828](https://github.com/woocommerce/woocommerce/pull/60828) * Fix - Product Gallery: Fix outlines in Editor [#61119](https://github.com/woocommerce/woocommerce/pull/61119) * Fix - Product Reviews Block: Add outline offset to comment form [#60890](https://github.com/woocommerce/woocommerce/pull/60890) * Fix - Remove the object wrappers around the fulfillments related REST API responses [#60699](https://github.com/woocommerce/woocommerce/pull/60699) * Fix - Set default_plugin_compatibility for new Destroy Empty Sessions feature. [#61177](https://github.com/woocommerce/woocommerce/pull/61177) * Fix - Support legacy event listeners in iAPI-powered minicart. [#60849](https://github.com/woocommerce/woocommerce/pull/60849) * Fix - Update the list of Indian states and union territories to align with current official standards. [#60266](https://github.com/woocommerce/woocommerce/pull/60266) * Fix - Update used woocommerce/email-editor pacakge. [#61001](https://github.com/woocommerce/woocommerce/pull/61001) * Fix - Persist the initially selected shipping option in the PayPal payment page. [#61299](https://github.com/woocommerce/woocommerce/pull/61299) * Fix - Capture the PayPal payment using legacy API if it was authorized with the legacy API. [#61511](https://github.com/woocommerce/woocommerce/pull/61511) * Fix - Fix backward compatibility in email preview [#61522](https://github.com/woocommerce/woocommerce/pull/61522) * Fix - Fix fatal error when importing products with brands. [#61513](https://github.com/woocommerce/woocommerce/pull/61513) * Fix - Fix payment failure with PayPal Standard when shipping is not required. [#61514](https://github.com/woocommerce/woocommerce/pull/61514) * Add - Add action 'woocommerce_order_scheduler_after_import_order' fired after WooCommerce Analytics imports an order or refund and invalidates reports cache. [#60827](https://github.com/woocommerce/woocommerce/pull/60827) * Add - Add address autocomplete API without feature gate. [#60840](https://github.com/woocommerce/woocommerce/pull/60840) * Add - Add API endpoints for email settings screen [#61074](https://github.com/woocommerce/woocommerce/pull/61074) * Add - Add branding_html option when registering address autocomplete provider [#60748](https://github.com/woocommerce/woocommerce/pull/60748) * Add - Add critical metrics to migrator CLI [#61039](https://github.com/woocommerce/woocommerce/pull/61039) * Add - Add dry-run simulation for Migrator [#60948](https://github.com/woocommerce/woocommerce/pull/60948) * Add - Added cogs support even if the feature is disabled [#60862](https://github.com/woocommerce/woocommerce/pull/60862) * Add - Added post migration survery for Migrator [#60940](https://github.com/woocommerce/woocommerce/pull/60940) * Add - Added tracker for migrated products in wc_migrator_products_count [#60462](https://github.com/woocommerce/woocommerce/pull/60462) * Add - Add filters for customizing COGS total and refunded COGS output in admin order screen [#60361](https://github.com/woocommerce/woocommerce/pull/60361) * Add - Add Kosovo telephone number and VAT [#61108](https://github.com/woocommerce/woocommerce/pull/61108) * Add - Add MCP Adapter, connect it to Abilities API. [#60901](https://github.com/woocommerce/woocommerce/pull/60901) * Add - Add new `/wc/v3/variations` endpoint for Point of Sale (POS) incremental sync based on `/wc/v3/products/$id/variations` implementation. [#60727](https://github.com/woocommerce/woocommerce/pull/60727) * Add - Add PayPal express checkout buttons for payment. [#61034](https://github.com/woocommerce/woocommerce/pull/61034) * Add - Add text alignment support to the Product Summary block. [#60789](https://github.com/woocommerce/woocommerce/pull/60789) * Add - Add tracking for Address Autocomplete use [#60713](https://github.com/woocommerce/woocommerce/pull/60713) * Add - Allow single column layout in the Product Collection block [#60408](https://github.com/woocommerce/woocommerce/pull/60408) * Add - Autocomplete component for Checkout block [#60891](https://github.com/woocommerce/woocommerce/pull/60891) * Add - Display PayPal Standard migration completed notice. [#61168](https://github.com/woocommerce/woocommerce/pull/61168) * Add - enhanceed verbose to show per item import [#61155](https://github.com/woocommerce/woocommerce/pull/61155) * Add - Implement optimistic updates to the PMs selection page in WooPayments onboarding [#60602](https://github.com/woocommerce/woocommerce/pull/60602) * Add - Include dummy downloadable/virtual products with download links in email previews to show how digital products appear in customer emails. [#60999](https://github.com/woocommerce/woocommerce/pull/60999) * Add - Introduce Variation Description block, used inside the Add to Cart + Options block to display the description of the selected variation [#60461](https://github.com/woocommerce/woocommerce/pull/60461) * Add - Introduce WordPress Abilities API package for capability declaration and discovery [#60698](https://github.com/woocommerce/woocommerce/pull/60698) * Add - Introduce `email_group` field in WC_Email [#60665](https://github.com/woocommerce/woocommerce/pull/60665) * Add - Introduce `get_brand_ids` &` set_brand_ids`. [#60512](https://github.com/woocommerce/woocommerce/pull/60512) * Add - Use @woocommerce/sanitize package to sanitize input [#60324](https://github.com/woocommerce/woocommerce/pull/60324) * Update - Add add-to-cart paths to robots.txt file [#60899](https://github.com/woocommerce/woocommerce/pull/60899) * Update - Add to Cart + Options: make Product Gallery block show the selected variation image [#60667](https://github.com/woocommerce/woocommerce/pull/60667) * Update - Add to Cart + Options: skip adding default values to variations data object [#60966](https://github.com/woocommerce/woocommerce/pull/60966) * Update - Add to Cart + Options block: trigger legacy mode only if PHP hooks are used to add form inner elements [#60915](https://github.com/woocommerce/woocommerce/pull/60915) * Update - Add to Cart Button: disable optimistic updates if product is sold individually and is already in the cart [#60947](https://github.com/woocommerce/woocommerce/pull/60947) * Update - Add tool to Status > Tools page for fixing the refund logic. [#60874](https://github.com/woocommerce/woocommerce/pull/60874) * Update - Announce adding to cart and quantity changes events in Product Button and Add to Cart + Options blocks [#60760](https://github.com/woocommerce/woocommerce/pull/60760) * Update - Classic Template Block: Hide from inserter and simplify logic [#60993](https://github.com/woocommerce/woocommerce/pull/60993) * Update - Correctly map the varitions and attribute from Shopify [#60861](https://github.com/woocommerce/woocommerce/pull/60861) * Update - Don't recalculate coupons on order save, which can cause recalculation of totals and taxes when nothing changed [#61091](https://github.com/woocommerce/woocommerce/pull/61091) * Update - Fix: transients for all products deleted when one product changes [#61069](https://github.com/woocommerce/woocommerce/pull/61069) * Update - Fix address autocomplete token fetch logic [#61140](https://github.com/woocommerce/woocommerce/pull/61140) * Update - Hide Product Quantity block when selecting a variation sold individually [#60730](https://github.com/woocommerce/woocommerce/pull/60730) * Update - Improve accessibility of address autocomplete feature [#60815](https://github.com/woocommerce/woocommerce/pull/60815) * Update - Improved feature compatibility checks and added support for 'Learn more' links in settings. [#60809](https://github.com/woocommerce/woocommerce/pull/60809) * Update - Make Product Quantity block update based on the selected variation in the Add to Cart + Options block [#60641](https://github.com/woocommerce/woocommerce/pull/60641) * Update - Migrate PayPal from legacy WPS to Orders v2. [#60578](https://github.com/woocommerce/woocommerce/pull/60578) * Update - Migrate the Add To Cart with Options block to fetch product data via the @wordpress/core-data package. [#60715](https://github.com/woocommerce/woocommerce/pull/60715) * Update - Move Cost of Goods Sold HTML rendering filters out of template files [#60928](https://github.com/woocommerce/woocommerce/pull/60928) * Update - Redirect to the current URL when adding a product to cart using the Add to Cart + Options block in legacy mode [#60844](https://github.com/woocommerce/woocommerce/pull/60844) * Update - Reduced WooCommerce Product Collection block settings in the email editor. [#60941](https://github.com/woocommerce/woocommerce/pull/60941) * Update - Refactor asset loading in Bootstrap class. [#61052](https://github.com/woocommerce/woocommerce/pull/61052) * Update - Refactor EmailContent block rendering in the editor to use `` instead of iframe [#60603](https://github.com/woocommerce/woocommerce/pull/60603) * Update - Register admin scripts earlier with legacy handles [#60536](https://github.com/woocommerce/woocommerce/pull/60536) * Update - Register tipTip and dompurify for use in the frontend [#60648](https://github.com/woocommerce/woocommerce/pull/60648) * Update - Remove Sendcloud from DefaultShippingPartners [#61082](https://github.com/woocommerce/woocommerce/pull/61082) * Update - Remove store_api_draft_order from session when empty or cart session is destroyed [#60739](https://github.com/woocommerce/woocommerce/pull/60739) * Update - Remove unused Revert Button plugin used after Classic template migration [#60612](https://github.com/woocommerce/woocommerce/pull/60612) * Update - Rename Variation Selector: Attribute Options 'style' attribute to 'optionStyle' [#60870](https://github.com/woocommerce/woocommerce/pull/60870) * Update - Turn Cost of Goods Sold into a non-experimental feature [#60847](https://github.com/woocommerce/woocommerce/pull/60847) * Update - Update Address Autocomplete settings to be tied to the correct script and escaped as JSON [#60880](https://github.com/woocommerce/woocommerce/pull/60880) * Update - Update block references doc [#60910](https://github.com/woocommerce/woocommerce/pull/60910) * Update - Update credentials dependency for the migrator [#61071](https://github.com/woocommerce/woocommerce/pull/61071) * Update - Update email editor PHP package to 1.7.0 [#61146](https://github.com/woocommerce/woocommerce/pull/61146) * Update - Update the Add to Cart + Options block so attributes are automatically selected when they match the URL parameters [#60745](https://github.com/woocommerce/woocommerce/pull/60745) * Update - Update the WooPayments onboarding locking mechanism to include an expiration and auto-unlock. [#61084](https://github.com/woocommerce/woocommerce/pull/61084) * Update - Validate quantities are valid in the Add to Cart + Options on every input change [#60598](https://github.com/woocommerce/woocommerce/pull/60598) * Update - Added a webhook event to handle pending captures for PayPal Standard payment using PayPal orders v2 API. [#61302](https://github.com/woocommerce/woocommerce/pull/61302) * Dev - Added platform docs for Shopify to Woo [#60954](https://github.com/woocommerce/woocommerce/pull/60954) * Dev - Added user facing docs for WooCommerce Migrator CLI [#60988](https://github.com/woocommerce/woocommerce/pull/60988) * Dev - Add wc/v4/shipping-zones/ endpoint with unified location and method data to improve performance in shipping zone details views. [#61017](https://github.com/woocommerce/woocommerce/pull/61017) * Dev - Add wc/v4/shipping-zones endpoint with unified location and method data to improve performance in shipping zone list views. [#60965](https://github.com/woocommerce/woocommerce/pull/60965) * Dev - Create v4/products/ endpoint. [#60690](https://github.com/woocommerce/woocommerce/pull/60690) * Dev - dev: remove the pull_request trigger event for e2e tests with GB Nightly [#61175](https://github.com/woocommerce/woocommerce/pull/61175) * Dev - Drop custom WordPress index on uninstall. [#61094](https://github.com/woocommerce/woocommerce/pull/61094) * Dev - Move experimental fields from v3/products to v4/products endpoint [#60703](https://github.com/woocommerce/woocommerce/pull/60703) * Dev - Run tests with HPOS enabled by default. [#60812](https://github.com/woocommerce/woocommerce/pull/60812) * Dev - Update emptyCart testing utility [#61097](https://github.com/woocommerce/woocommerce/pull/61097) * Dev - Use latest email editor version 1.5.0 [#60835](https://github.com/woocommerce/woocommerce/pull/60835) * Dev - Use the latest Email editor version v1.4.2 * Dev - [Migrator]: Write performance metrics to the logs [#61152](https://github.com/woocommerce/woocommerce/pull/61152) * Dev - `Add To Cart With Options`: Refactor admin asset loading. [#61070](https://github.com/woocommerce/woocommerce/pull/61070) * Dev - dev: update CI configuration [#61540](https://github.com/woocommerce/woocommerce/pull/61540) * Tweak - Add Kosovo to list of countries based on CLDR [#61029](https://github.com/woocommerce/woocommerce/pull/61029) * Tweak - Add missing `no_terms` label to Brands taxonomy for proper empty state messaging. [#60610](https://github.com/woocommerce/woocommerce/pull/60610) * Tweak - Classic template: Ensure related product images are lazy loaded. [#60701](https://github.com/woocommerce/woocommerce/pull/60701) * Tweak - Don't add geolocation hash to robots.txt [#57871](https://github.com/woocommerce/woocommerce/pull/57871) * Tweak - Fixed missing background on Take offline payments section when reordering on Settings > Payments page. [#60597](https://github.com/woocommerce/woocommerce/pull/60597) * Tweak - Improve version and db version management. [#60400](https://github.com/woocommerce/woocommerce/pull/60400) * Tweak - Migrator: capitalized first letter of the platform for migrator [#61209](https://github.com/woocommerce/woocommerce/pull/61209) * Tweak - Send `X-VIP-Go-Segmentation` to WCCOM for better caching segmentation [#61110](https://github.com/woocommerce/woocommerce/pull/61110) * Tweak - Stock Indicator: remove unused attribute [#60909](https://github.com/woocommerce/woocommerce/pull/60909) * Tweak - Update Customer Effort Score track queue logic to avoid PHP errors around wrong type coming from wp_options. [#60875](https://github.com/woocommerce/woocommerce/pull/60875) * Tweak - Update schema.org link from http:// to https:// for product availability [#60399](https://github.com/woocommerce/woocommerce/pull/60399) * Tweak - “Featured Category” and “Featured Product” inner blocks are no longer locked. [#60691](https://github.com/woocommerce/woocommerce/pull/60691) * Tweak - Update address autocomplete copy. [#61541](https://github.com/woocommerce/woocommerce/pull/61541) * Performance - Add cache priming to `ProductQuery::get_objects` [#61057](https://github.com/woocommerce/woocommerce/pull/61057) * Performance - Coupons: optimize coupon usage lookup for per-user limited coupons. [#60676](https://github.com/woocommerce/woocommerce/pull/60676) * Performance - Fix index key length for status on wc_order_stats table [#60896](https://github.com/woocommerce/woocommerce/pull/60896) * Performance - Improved performance around handling of classic theme styles for blocks. [#60990](https://github.com/woocommerce/woocommerce/pull/60990) * Performance - Improve performance of uncached Block Assets dependency loading. [#61015](https://github.com/woocommerce/woocommerce/pull/61015) * Performance - Introduce experimental feature to remove customer sessions once empty. [#60855](https://github.com/woocommerce/woocommerce/pull/60855) * Performance - Introduce WC_Shipping_Zone_Data_Store::read_multiple() to improve performance when requesting all Shipping_Zones at once. [#60917](https://github.com/woocommerce/woocommerce/pull/60917) * Performance - Only store customer data in the session if it's not the default customer [#60852](https://github.com/woocommerce/woocommerce/pull/60852) * Performance - Optimize DB-based sessions cleanup. [#60711](https://github.com/woocommerce/woocommerce/pull/60711) * Performance - Product Collection: limit the number of requests for product data in Editor [#60863](https://github.com/woocommerce/woocommerce/pull/60863) * Performance - Reduce the number of calls to `get_post_meta` in order data stores [#61148](https://github.com/woocommerce/woocommerce/pull/61148) * Performance - Reduce the number of calls to `get_post_meta` in `WC_Product_Variation_Data_Store_CPT`. [#60614](https://github.com/woocommerce/woocommerce/pull/60614) * Performance - Reduce the number of slow SQL queries in customers reports. [#61092](https://github.com/woocommerce/woocommerce/pull/61092) * Performance - Remove shipping data from session when cart emptied or checkout completed. [#60800](https://github.com/woocommerce/woocommerce/pull/60800) * Performance - Replace "parse_blocks" with "Block_Scanner" in the CheckoutExpressPaymentBlock. [#60930](https://github.com/woocommerce/woocommerce/pull/60930) * Performance - Replace the usage of `parse_blocks` function with the `Block_Scanner` in `CartCheckoutUtils::has_block_variation`. [#60943](https://github.com/woocommerce/woocommerce/pull/60943) * Performance - Strip the `rel=self` link from the report response as it is built by the Reports/Controller to avoid the performance penalty from building target hints. [#60791](https://github.com/woocommerce/woocommerce/pull/60791) * Performance - Use `Block_Scanner` to find the local pickup text instead of `parse_blocks`. [#60938](https://github.com/woocommerce/woocommerce/pull/60938) * Performance - Add composite index on wp_comments to optimize admin comments query [#61288](https://github.com/woocommerce/woocommerce/pull/61288) * Enhancement - add brand thumbnail image to product schema [#60398](https://github.com/woocommerce/woocommerce/pull/60398) * Enhancement - Allow order data stors to sort orders by order total. [#61104](https://github.com/woocommerce/woocommerce/pull/61104) * Enhancement - Allow wc_order_query to query by order total and various operators. [#60995](https://github.com/woocommerce/woocommerce/pull/60995) * Enhancement - Remove hard cap on session expiration and respect developer filters [#60460](https://github.com/woocommerce/woocommerce/pull/60460) * Enhancement - Replaced component in the “Customize Your Store” task with a new Marketplace banner, and removed the related REST API endpoint in the /onboarding/ namespace. [#61116](https://github.com/woocommerce/woocommerce/pull/61116) = 10.2.2 2025-09-29 = **WooCommerce** * Fix - Check if template part is from file system before building the result from file [#61171](https://github.com/woocommerce/woocommerce/pull/61171) * Fix - Fix low-resolution images displayed in the Classic Template block gallery [#61182](https://github.com/woocommerce/woocommerce/pull/61182) * Fix - Make legacy gallery filters available while rendering blocks [#61173](https://github.com/woocommerce/woocommerce/pull/61173) = 10.2.1 2025-09-22 = **WooCommerce** * Fix - Address update script issue where refunded $order may not exist, and disable refunded orders tool. [#61022](https://github.com/woocommerce/woocommerce/pull/61022) * Fix - Downgrade Emogrifier dependency to avoid conflict [#60997](https://github.com/woocommerce/woocommerce/pull/60997) * Fix - Fix product price display in RTL languages [#61000](https://github.com/woocommerce/woocommerce/pull/61000) * Update - Improve template slug recognition in mechanism registering product blocks. Assure compatibility with WordPress 6.9 [#61009](https://github.com/woocommerce/woocommerce/pull/61009) * Dev - Replace deprecated core/edit-site methods with core/editor methods [#61009](https://github.com/woocommerce/woocommerce/pull/61009) * Dev - Stop relying on deprecated core/edit-site methods [#61009](https://github.com/woocommerce/woocommerce/pull/61009) = 10.2.0 2025-09-17 = **WooCommerce** * Fix - Added support for AVIF images to CLI migrator [#60426](https://github.com/woocommerce/woocommerce/pull/60426) * Fix - Add id and aria-label attributes to Photoswipe dialog [#59981](https://github.com/woocommerce/woocommerce/pull/59981) * Fix - Address MySQL 5.5.5 incompatibility issue [#59805](https://github.com/woocommerce/woocommerce/pull/59805) * Fix - Add to Cart + Options: allow setting grouped product children quantity to 0 [#60543](https://github.com/woocommerce/woocommerce/pull/60543) * Fix - Add type check for product to prevent fatals in WC_Comments::clear_transients method. [#60277](https://github.com/woocommerce/woocommerce/pull/60277) * Fix - Announce Product Collection and Add to Cart + Options error notices to screen readers [#60171](https://github.com/woocommerce/woocommerce/pull/60171) * Fix - Better updates the pending updates count in the Marketplace My Subscriptions tab. [#56158](https://github.com/woocommerce/woocommerce/pull/56158) * Fix - Cart Cross Sells: Fix warning about missing queryId [#60679](https://github.com/woocommerce/woocommerce/pull/60679) * Fix - Clear template cache on email template edit via admin [#59852](https://github.com/woocommerce/woocommerce/pull/59852) * Fix - Decode shipping rate names to correct display of special characters on Block Cart and Checkout [#60206](https://github.com/woocommerce/woocommerce/pull/60206) * Fix - Don't make Product Price block interactive if all variations have the same price [#60545](https://github.com/woocommerce/woocommerce/pull/60545) * Fix - Ensure address 1 inherits the correct label from locale [#59952](https://github.com/woocommerce/woocommerce/pull/59952) * Fix - Ensure inner blocks rerender when validation data store changes [#60385](https://github.com/woocommerce/woocommerce/pull/60385) * Fix - Ensure products with 0 price are displayed corectly in the order summary [#60636](https://github.com/woocommerce/woocommerce/pull/60636) * Fix - Ensure screen reader announcements are not interrupted when removing items from the Mini-Cart drawer. [#60256](https://github.com/woocommerce/woocommerce/pull/60256) * Fix - Fallback to displaying store notices via the `wp_footer` hook if the `wp_body_open` hook didn't fire. This improves compatibility with themes that haven't been updated to include the `wp_body_open` hook. [#59729](https://github.com/woocommerce/woocommerce/pull/59729) * Fix - Fix case typo in wc_format_decimal function. [#60288](https://github.com/woocommerce/woocommerce/pull/60288) * Fix - Fix class name inconsistencies in Single Product block components to ensure proper BEM naming conventions. [#60124](https://github.com/woocommerce/woocommerce/pull/60124) * Fix - Fixed 'Open drawer when adding' option not working on first try when there are multiple mini cart blocks on a page with conflicting opwn drawer setting. [#59874](https://github.com/woocommerce/woocommerce/pull/59874) * Fix - Fixed accessibility for all classic store notices added by the `wc_add_notice` function. [#60253](https://github.com/woocommerce/woocommerce/pull/60253) * Fix - Fixed coupon amount validation when creating/updating a coupon via the REST API. [#60012](https://github.com/woocommerce/woocommerce/pull/60012) * Fix - Fixed incorrect count for brands through the /wp-json/wc/v3/products/brands endpoint. The product_brand taxonomy was using WordPress's default _update_post_term_count callback instead of WooCommerce's custom _wc_term_recount function, and was not included in the wc_change_term_counts filter. This caused brand counts to return 0 instead of the correct count. [#60158](https://github.com/woocommerce/woocommerce/pull/60158) * Fix - Fixed the rendering issue with rtl currency symbols which was causing the product price UI to break. [#58134](https://github.com/woocommerce/woocommerce/pull/58134) * Fix - Fix fatal error on wrong data format sent to WC_Customer [#59929](https://github.com/woocommerce/woocommerce/pull/59929) * Fix - Fix handling of prereleases in isWcVersion(). [#60371](https://github.com/woocommerce/woocommerce/pull/60371) * Fix - Fix iAPI minicart variable products. [#60497](https://github.com/woocommerce/woocommerce/pull/60497) * Fix - Fix incorrect net sales in analytics product reports for partial and full refunds [#58744](https://github.com/woocommerce/woocommerce/pull/58744) * Fix - Fix issue where variation, product, customers, taxes, and coupon reports where showing duplicate entries across pages. [#60258](https://github.com/woocommerce/woocommerce/pull/60258) * Fix - Fix JavaScript error in admin settings when using shortcode checkout by adding null check before addEventListener call. [#59753](https://github.com/woocommerce/woocommerce/pull/59753) * Fix - Fix missing padding for checkout actions block [#60569](https://github.com/woocommerce/woocommerce/pull/60569) * Fix - Fix most-popular number items getting sliced down to 4 items after switching tab [#60283](https://github.com/woocommerce/woocommerce/pull/60283) * Fix - Fix padding for checkout steps when step numbers are enabled [#60473](https://github.com/woocommerce/woocommerce/pull/60473) * Fix - Fix PHPUnit test failure in WC_Tracks role properties test by ensuring roles are recreated after uninstallation test [#60320](https://github.com/woocommerce/woocommerce/pull/60320) * Fix - Fix race condition for woocommerce_admin_reports_list filter, preventing dynamically registered reports from being recognized [#59897](https://github.com/woocommerce/woocommerce/pull/59897) * Fix - Fix REST API coupon validation for percentage amounts over 100%. Resolves issue where percentage coupons with amounts > 100 were created with 0.00 amount instead of returning validation error. [#60067](https://github.com/woocommerce/woocommerce/pull/60067) * Fix - Fix returning customer detection for guest orders with existing email addresses [#60141](https://github.com/woocommerce/woocommerce/pull/60141) * Fix - Fix testing payments documentation links in WooPayments NOX modals to use the updated "test-accounts" URL instead of the deprecated "sandbox-mode" URL. [#60088](https://github.com/woocommerce/woocommerce/pull/60088) * Fix - Fix the Mini-Cart badge being transparent in some themes [#59963](https://github.com/woocommerce/woocommerce/pull/59963) * Fix - Fix white background color hardcoding in block email template header for improved styling consistency [#59907](https://github.com/woocommerce/woocommerce/pull/59907) * Fix - Fix WordPress footer display on WooCommerce admin pages [#60176](https://github.com/woocommerce/woocommerce/pull/60176) * Fix - Handled the invalid product id once the product is deleted or moved to draft in featured item blocks . [#59033](https://github.com/woocommerce/woocommerce/pull/59033) * Fix - Make button animation show up in the Add to Cart + Options even when 'Enable AJAX add to cart buttons' setting is disabled [#60098](https://github.com/woocommerce/woocommerce/pull/60098) * Fix - Make sure iAPI powered Mini-Cart shows all product values when used with certain other blocks on the same page [#60482](https://github.com/woocommerce/woocommerce/pull/60482) * Fix - Mini Cart - Avoid error when adding products without a description. [#60518](https://github.com/woocommerce/woocommerce/pull/60518) * Fix - Mini Cart - Respect "Including tax" option in "Display prices during cart and checkout" [#60540](https://github.com/woocommerce/woocommerce/pull/60540) * Fix - Mini Cart: Hide product image if it does not exist. [#60493](https://github.com/woocommerce/woocommerce/pull/60493) * Fix - Move iAPI mini-cart overlay to the `body` [#60464](https://github.com/woocommerce/woocommerce/pull/60464) * Fix - Prevent skeletons when an express payment method is active in the Cart block [#60496](https://github.com/woocommerce/woocommerce/pull/60496) * Fix - Prevent the Add to Cart button words to break into several lines [#59972](https://github.com/woocommerce/woocommerce/pull/59972) * Fix - Prevent woocommerce_cancel_unpaid_orders being queued as unique so it recurs after the stock hold limit [#60625](https://github.com/woocommerce/woocommerce/pull/60625) * Fix - Product Filters: Fixes loading skeleton styling for Checkbox List block. [#59899](https://github.com/woocommerce/woocommerce/pull/59899) * Fix - Product Filters: gracefully handle invalid items [#59607](https://github.com/woocommerce/woocommerce/pull/59607) * Fix - Product Filters: properly handle special characters in filter option label. [#59807](https://github.com/woocommerce/woocommerce/pull/59807) * Fix - Product Gallery: Fix ghost scrollbar in thumbnails issue [#60274](https://github.com/woocommerce/woocommerce/pull/60274) * Fix - Product Price: fix product price not being diaplyed in Single Product template in editor [#60653](https://github.com/woocommerce/woocommerce/pull/60653) * Fix - Remove 'allows modifying the template parts' e2e test from Add to Cart + Options [#60042](https://github.com/woocommerce/woocommerce/pull/60042) * Fix - Remove duplicate quantity filters applied on get_min_purchase_quantity and get_max_purchase_quantity [#60221](https://github.com/woocommerce/woocommerce/pull/60221) * Fix - Remove extra space in iAPI minicart [#60537](https://github.com/woocommerce/woocommerce/pull/60537) * Fix - Reset quantities when adding to cart a grouped product fails with the Add to Cart + Options block [#60132](https://github.com/woocommerce/woocommerce/pull/60132) * Fix - Revert delayed initial rendering for checkout blocks [#60509](https://github.com/woocommerce/woocommerce/pull/60509) * Fix - Set the WOOCOMMERCE_CART constant on update cart AJAX routes [#60467](https://github.com/woocommerce/woocommerce/pull/60467) * Fix - Show appender when the Add to Cart + Options have no inner blocks and make the Add to Cart Button count update when selecting an out-of-stock variation [#60073](https://github.com/woocommerce/woocommerce/pull/60073) * Fix - Upgrade pelago/emogrifier to v8.0 [#60489](https://github.com/woocommerce/woocommerce/pull/60489) * Fix - When applying and removing coupons, leave address data alone in checkout to prevent invalid values being replaced with values from server. [#60106](https://github.com/woocommerce/woocommerce/pull/60106) * Add - Add GraphQL product data fetching with cursor pagination to WooCommerce CLI Migrator for Shopify platform. Enables fetching detailed product information including variants, images, and metadata through new --fetch command with --limit and --after flags. [#59941](https://github.com/woocommerce/woocommerce/pull/59941) * Add - Add Interactive Star Rating Selector to Product Review Form [#60213](https://github.com/woocommerce/woocommerce/pull/60213) * Add - Add PlatformRegistry service to CLI Migrator with dependency injection integration [#59778](https://github.com/woocommerce/woocommerce/pull/59778) * Add - Add Shopify platform to CLI Migrator as built-in migration option [#59778](https://github.com/woocommerce/woocommerce/pull/59778) * Add - Display PayPal Standard migration notice. [#60563](https://github.com/woocommerce/woocommerce/pull/60563) * Add - Implement Product Data Mapping for WooCommerce CLI Migrator [#59968](https://github.com/woocommerce/woocommerce/pull/59968) * Add - Introduce alpha version of Back in Stock Notifications under constant gate [#59947](https://github.com/woocommerce/woocommerce/pull/59947) * Add - Migrator: Shopify client to fetch count [#59935](https://github.com/woocommerce/woocommerce/pull/59935) * Add - Migrator CLI scaffolding and feature flag [#59741](https://github.com/woocommerce/woocommerce/pull/59741) * Add - Next/Previous Buttons: add support for RTL languages [#60154](https://github.com/woocommerce/woocommerce/pull/60154) * Add - Next Previous Buttons: Make block usable as inner block in different parent blocks (i1: for now just by providing iAPI store name from the parent) [#60013](https://github.com/woocommerce/woocommerce/pull/60013) * Add - Product Collection: Add Carousel layout [#60267](https://github.com/woocommerce/woocommerce/pull/60267) * Add - Product Filters: Add taxonomy filter support for product queries. [#59499](https://github.com/woocommerce/woocommerce/pull/59499) * Add - Remove experimental blocks feature gate for the Taxonomy Filter block [#60225](https://github.com/woocommerce/woocommerce/pull/60225) * Add - The block email template now checks for a site logo and uses it when available; otherwise, it defaults to the site title. [#59624](https://github.com/woocommerce/woocommerce/pull/59624) * Update - Add an API endpoint to get the installed status of a product. [#60051](https://github.com/woocommerce/woocommerce/pull/60051) * Update - Add custom log level threshold for Email Editor logging set to `WC_Log_Levels::WARNING` as default. [#60255](https://github.com/woocommerce/woocommerce/pull/60255) * Update - Added products controller and importer for Migrator CLI [#60316](https://github.com/woocommerce/woocommerce/pull/60316) * Update - Add progressive loading to the cart block [#59667](https://github.com/woocommerce/woocommerce/pull/59667) * Update - Add to Cart + Options: default attributes are now selected instantly on page load [#60395](https://github.com/woocommerce/woocommerce/pull/60395) * Update - Email editor: set post type for registered personalization tags. [#60072](https://github.com/woocommerce/woocommerce/pull/60072) * Update - Email editor: set Woo email pattern post types. [#60015](https://github.com/woocommerce/woocommerce/pull/60015) * Update - Hide Products by Category, by Tag and by Brand templates from the default list if they hadn't been customized [#60191](https://github.com/woocommerce/woocommerce/pull/60191) * Update - Make Next/Previous Buttons nautral block and not inner block of Product Gallery [#60008](https://github.com/woocommerce/woocommerce/pull/60008) * Update - Make Product SKU and Product Details blocks update based on the selected variation in the Add to Cart + Options block [#60075](https://github.com/woocommerce/woocommerce/pull/60075) * Update - Move the resposibility of cred inputs from Registry to Platforms [#60420](https://github.com/woocommerce/woocommerce/pull/60420) * Update - Product Description: remove inline editing [#59969](https://github.com/woocommerce/woocommerce/pull/59969) * Update - Product Filters: Add hierarchical category support to product taxonomy filtering - when filtering by parent categories, products from child categories are now included in results. [#59878](https://github.com/woocommerce/woocommerce/pull/59878) * Update - Product Gallery: make the inner blocks registered properly [#59936](https://github.com/woocommerce/woocommerce/pull/59936) * Update - Product Image: improve Editor experience with placeholder image [#59785](https://github.com/woocommerce/woocommerce/pull/59785) * Update - Provide more detailed error messages for plugin connection failures, along with error-specific actions [#60207](https://github.com/woocommerce/woocommerce/pull/60207) * Update - Register the Email Content block as a standard WC block and rename it from `woo/email-content` to `woocommerce/email-content` [#60554](https://github.com/woocommerce/woocommerce/pull/60554) * Update - Remove 'add-to-cart-with-options-stepper' feature flag [#60043](https://github.com/woocommerce/woocommerce/pull/60043) * Update - Remove Add to Cart Button hardcoded size from Add to Cart + Options template parts [#60413](https://github.com/woocommerce/woocommerce/pull/60413) * Update - Restore 70/30 variant assignment split between MailPoet and Klaviyo extensions [#60476](https://github.com/woocommerce/woocommerce/pull/60476) * Update - Show animation in Add to Cart + Options button when adding grouped products to cart [#60170](https://github.com/woocommerce/woocommerce/pull/60170) * Update - Update Product Details block registration to be available in the post editor. [#59686](https://github.com/woocommerce/woocommerce/pull/59686) * Update - Update region picker empty value and label to match its behaviour. [#59353](https://github.com/woocommerce/woocommerce/pull/59353) * Update - Use CSS variables for Product Gallery sizes [#60045](https://github.com/woocommerce/woocommerce/pull/60045) * Update - Use the Product collection block for cross-sells in the Cart block [#60278](https://github.com/woocommerce/woocommerce/pull/60278) * Update - Use the WordPress core template registration API to register WooCommerce templates [#60191](https://github.com/woocommerce/woocommerce/pull/60191) * Dev - Added ImportSession from DataLiberation [#60237](https://github.com/woocommerce/woocommerce/pull/60237) * Dev - Added shopify platform tests [#59843](https://github.com/woocommerce/woocommerce/pull/59843) * Dev - Added test for quantity handling [#60353](https://github.com/woocommerce/woocommerce/pull/60353) * Dev - Add ListCommand and platform interfaces to the Data Migrator feature. [#59775](https://github.com/woocommerce/woocommerce/pull/59775) * Dev - Add msw package to implement integration tests [#59767](https://github.com/woocommerce/woocommerce/pull/59767) * Dev - Fix ESLint unit test configuration. [#59967](https://github.com/woocommerce/woocommerce/pull/59967) * Dev - Fix failure in `COTMigrationUtilTest` test. [#60327](https://github.com/woocommerce/woocommerce/pull/60327) * Dev - Fix flaky test test_json_search_customers [#60071](https://github.com/woocommerce/woocommerce/pull/60071) * Dev - Fix warnings in `WC_Admin_Tests_Admin_Helper` unit test. [#60391](https://github.com/woocommerce/woocommerce/pull/60391) * Dev - Introduce entity-based data fetching system for WooCommerce blocks, refactoring product data retrieval to use WordPress Core Data API patterns for improved consistency and performance. [#60074](https://github.com/woocommerce/woocommerce/pull/60074) * Dev - Load AddressProviderController earlier to allow hooks to register [#60032](https://github.com/woocommerce/woocommerce/pull/60032) * Dev - Migrate the product price block to fetch product data via the `@wordpress/core-data` package. [#60101](https://github.com/woocommerce/woocommerce/pull/60101) * Dev - Migrate the product rating block to fetch product data via the `@wordpress/core-data` package. [#60127](https://github.com/woocommerce/woocommerce/pull/60127) * Dev - Migrate the product summary block to fetch product data via the `@wordpress/core-data` package. [#60494](https://github.com/woocommerce/woocommerce/pull/60494) * Dev - Refactor Attribute and Status filter blocks to use shared DisplayStyleSwitcher component instead of duplicate implementations. [#59900](https://github.com/woocommerce/woocommerce/pull/59900) * Dev - Refactor CLI Migrator commands to improve separation of concerns by moving credential setup to CredentialManager, platform resolution to PlatformRegistry, and eliminating BaseCommand inheritance. [#59778](https://github.com/woocommerce/woocommerce/pull/59778) * Dev - Remove deprecated legacy NOX payment selection screen codebase. [#60444](https://github.com/woocommerce/woocommerce/pull/60444) * Dev - Remove withProductSelector HOC from product element blocks. [#60107](https://github.com/woocommerce/woocommerce/pull/60107) * Dev - Resolved SCSS load order warnings between Payments Settings and Launch Your Store chunks. [#60456](https://github.com/woocommerce/woocommerce/pull/60456) * Dev - Skip skip/test_json_search_customers test for now [#60216](https://github.com/woocommerce/woocommerce/pull/60216) * Dev - This change moves extensibility documentation from GitHub markdown pages to the central /docs folder for display on developer.woocommerce.com/docs [#60110](https://github.com/woocommerce/woocommerce/pull/60110) * Dev - Update CLI Migrator test suite to match refactored architecture and fix coding standards violations. [#59784](https://github.com/woocommerce/woocommerce/pull/59784) * Dev - Update pending jobs to run all groups in flaky batch queue tests [#60021](https://github.com/woocommerce/woocommerce/pull/60021) * Tweak - Experimental: Show preview taxonomy filter options in hierarchy order. [#60144](https://github.com/woocommerce/woocommerce/pull/60144) * Tweak - Product Filters: Remove taxonomy/attribute selection controls from inspector settings and modernize UI with ToolsPanel components [#59898](https://github.com/woocommerce/woocommerce/pull/59898) * Tweak - Taxonomy Filter: use singular label for shorter variation name and consistency. [#60317](https://github.com/woocommerce/woocommerce/pull/60317) * Tweak - Unify Variation Selector: Attribute Options iAPI stores with the Add to Cart + Options store [#59659](https://github.com/woocommerce/woocommerce/pull/59659) * Tweak - Update ‘Set up payments’ task completion logic to mark as complete only after successful onboarding in Launch your store. [#60083](https://github.com/woocommerce/woocommerce/pull/60083) * Performance - Cache data while preparing WooPayments card info, allow the `wc_order_payment_card_info` filter to take precedence over the built-in fallback. [#60257](https://github.com/woocommerce/woocommerce/pull/60257) * Performance - Limit loading legacy single product scripts only for legacy blocks [#60223](https://github.com/woocommerce/woocommerce/pull/60223) * Performance - Optimize query to get name of deleted product for Analytics product reports. [#60419](https://github.com/woocommerce/woocommerce/pull/60419) * Performance - Product Variations: Move post_excerpt updates from view time to write time [#59795](https://github.com/woocommerce/woocommerce/pull/59795) * Enhancement - Add "Filter" suffix to all product filter block titles and variations [#59831](https://github.com/woocommerce/woocommerce/pull/59831) * Enhancement - Add hierarchical data structure support to filter options of the Product Filters block, starting with List and Taxonomy filter options. [#60142](https://github.com/woocommerce/woocommerce/pull/60142) * Enhancement - Add margin and padding supports to minicart block [#59872](https://github.com/woocommerce/woocommerce/pull/59872) * Enhancement - Allow the ability to override the method used to apply inline styles to html emails dynamic content. [#58813](https://github.com/woocommerce/woocommerce/pull/58813) * Enhancement - Enhance responsive design of the Launch Your Store flow for mobile and tablet devices. [#58973](https://github.com/woocommerce/woocommerce/pull/58973) * Enhancement - Fixed scroll position issue by ensuring the Offline Gateways page always loads at the top. [#60442](https://github.com/woocommerce/woocommerce/pull/60442) * Enhancement - Improve loading behaviour of the checkout blocks [#60020](https://github.com/woocommerce/woocommerce/pull/60020) * Enhancement - Introduce `aria-label` argument to the function `wc_dropdown_variation_attribute_options()` [#60265](https://github.com/woocommerce/woocommerce/pull/60265) * Enhancement - Make add to cart with options block validation extensible [#60113](https://github.com/woocommerce/woocommerce/pull/60113) * Enhancement - Optimize hierarchical taxonomy ordering for Product Filter Taxonomy block with new TaxonomyHierarchyData class [#60076](https://github.com/woocommerce/woocommerce/pull/60076) * Enhancement - Product Gallery: allow changing Product Image aspect ratio [#59790](https://github.com/woocommerce/woocommerce/pull/59790) * Enhancement - Refined RTL styles on the NOX page to provide a more consistent user experience. [#60500](https://github.com/woocommerce/woocommerce/pull/60500) * Enhancement - Use store's locale when rendering email preview in settings [#60499](https://github.com/woocommerce/woocommerce/pull/60499) * Fix - Fix: ensure we only dequeue legacy assets for block themes. [#60781](https://github.com/woocommerce/woocommerce/pull/60781) * Fix - Fix Cart and Checkout blocks layout issues when parent element has flexbox properties [#60737](https://github.com/woocommerce/woocommerce/pull/60737) * Fix - Support variations and custom data in iAPI-powered minicart [#60709](https://github.com/woocommerce/woocommerce/pull/60709) * Tweak - Update More payment options link to open the WooCommerce.com marketplace instead of in-app [#60736](https://github.com/woocommerce/woocommerce/pull/60736) * Fix - Fix individually sold products not being added to cart when they are children of a grouped product [#60906](https://github.com/woocommerce/woocommerce/pull/60906) * Update - Add tool to Status > Tools page for fixing the refund logic. [#60814](https://github.com/woocommerce/woocommerce/pull/60814) * Tweak - Update other payment gateways section title to ‘More payment options’ on the Payments page. [#60865](https://github.com/woocommerce/woocommerce/pull/60865) * Fix - WooCommerce: Fix sync order products refund test [#60934](https://github.com/woocommerce/woocommerce/pull/60934) = 10.1.2 2025-08-27 = **WooCommerce** * Fix - Prevent woocommerce_cancel_unpaid_orders being queued as unique so it recurs after the stock hold limit [#60626](https://github.com/woocommerce/woocommerce/pull/60626) * Fix - Revert to using usermeta to store persistent carts [#60605](https://github.com/woocommerce/woocommerce/pull/60605) = 10.1.1 2025-08-20 = **WooCommerce** * Fix - Ensure recurring actions are registered and dependent classes are loaded as needed [#60417](https://github.com/woocommerce/woocommerce/pull/60417) * Fix - Fix filtering offline payment methods settings pages to be rendered in legacy mode. [#60432](https://github.com/woocommerce/woocommerce/pull/60432) * Fix - Fix spacing in tax line in the order summary [#60469](https://github.com/woocommerce/woocommerce/pull/60469) * Fix - Prevent skeleton display when an express payment method is active to avoid unmounting express buttons [#60394](https://github.com/woocommerce/woocommerce/pull/60394) * Fix - Use dynamically-generated URLs for resetting accounts and switching to live accounts in the Payments NOX. [#60329](https://github.com/woocommerce/woocommerce/pull/60329) * Fix - Fix flat shipping rate validation breaking advanced shipping rate formula input [#60348](https://github.com/woocommerce/woocommerce/pull/60348) * Enhancement - Set the ‘Set up payments’ task to in-progress state upon starting live WooPayments onboarding. [#60329](https://github.com/woocommerce/woocommerce/pull/60329) = 10.1.0 2025-08-12 = **WooCommerce** * Fix - Add i18n support to NOX and NOX in LYS step labels. [#59932](https://github.com/woocommerce/woocommerce/pull/59932) * Fix - Add role='button' to product grid Add to Cart anchors when they act as a button [#59628](https://github.com/woocommerce/woocommerce/pull/59628) * Fix - Add to Cart + Options: don't try to remove attributes on load [#59336](https://github.com/woocommerce/woocommerce/pull/59336) * Fix - Add to Cart + Options: Ensure the minus button in the QuantityStepper component becomes disabled, unfocusable, and unclickable when quantity is at the minimum allowed value. [#59386](https://github.com/woocommerce/woocommerce/pull/59386) * Fix - Add to Cart + Options: prevent adding below-min quantity in grouped products children [#59408](https://github.com/woocommerce/woocommerce/pull/59408) * Fix - Add to Cart + Options block: make sure individually sold products quantities are reset when they are children of a grouped product [#59597](https://github.com/woocommerce/woocommerce/pull/59597) * Fix - Allow decimal stock levels in Store API if implemented by extensions. [#58693](https://github.com/woocommerce/woocommerce/pull/58693) * Fix - Apply block styles in iAPI powered MiniCart. [#59561](https://github.com/woocommerce/woocommerce/pull/59561) * Fix - Blockified grouped product quantity inputs start empty by default with a 0 placeholder. [#58997](https://github.com/woocommerce/woocommerce/pull/58997) * Fix - Bubble change event in Add to Cart + Options and Add to Cart with Options blocks [#59704](https://github.com/woocommerce/woocommerce/pull/59704) * Fix - Clear cache when copy or delete email template to theme [#58877](https://github.com/woocommerce/woocommerce/pull/58877) * Fix - Clear OrderCache entry when running $order->save_meta_data() [#59949](https://github.com/woocommerce/woocommerce/pull/59949) * Fix - CYS: Prevent crash during rare font installation edge case. [#58998](https://github.com/woocommerce/woocommerce/pull/58998) * Fix - Disable scrolling on body when the mini-cart drawer is open. [#59715](https://github.com/woocommerce/woocommerce/pull/59715) * Fix - Display notices when item quantities change without interaction. [#59683](https://github.com/woocommerce/woocommerce/pull/59683) * Fix - Ensure custom tax classes are correctly exported and imported in Blueprints [#59362](https://github.com/woocommerce/woocommerce/pull/59362) * Fix - Ensure discount meta slot fill shows when no coupons are applied to the cart. [#59278](https://github.com/woocommerce/woocommerce/pull/59278) * Fix - Ensure Lakshadweep is spelt correctly [#59295](https://github.com/woocommerce/woocommerce/pull/59295) * Fix - Ensure product images in the Single Product block respect column boundaries in both editor and frontend views. [#58193](https://github.com/woocommerce/woocommerce/pull/58193) * Fix - Ensure usePages includes hooks added before hookAdded action registration [#58834](https://github.com/woocommerce/woocommerce/pull/58834) * Fix - Fix adding groupped products to cart from the Add to Cart + Options block when the Mini-Cart block was missing [#60053](https://github.com/woocommerce/woocommerce/pull/60053) * Fix - Fix Add to Cart + Options block to show user-friendly error when individually sold product is already in cart [#59550](https://github.com/woocommerce/woocommerce/pull/59550) * Fix - Fix Advanced Settings layout. [#59321](https://github.com/woocommerce/woocommerce/pull/59321) * Fix - Fix an issue in the `buttonAriaLabel` PHP getter in the `woocommerce/mini-cart` iAPI initial state. [#59779](https://github.com/woocommerce/woocommerce/pull/59779) * Fix - Fix an issue where Safari on iOS would choose the "next" item in a required select list instead of the correct one during autofill. [#59638](https://github.com/woocommerce/woocommerce/pull/59638) * Fix - Fix applying coupon codes that differ only in space (e.g., "cou pon" and "coupon") [#59591](https://github.com/woocommerce/woocommerce/pull/59591) * Fix - Fix blurry text in Settings nav tabs [#58972](https://github.com/woocommerce/woocommerce/pull/58972) * Fix - Fix build for mini-cart.css [#59980](https://github.com/woocommerce/woocommerce/pull/59980) * Fix - Fix cart API request for logged-in customers with previous cart session [#60030](https://github.com/woocommerce/woocommerce/pull/60030) * Fix - Fix edge case when selecting shipping/pickup location on slow network [#59448](https://github.com/woocommerce/woocommerce/pull/59448) * Fix - Fixed product attributes taxonomies during XML/WXR import via WP CLI. [#59557](https://github.com/woocommerce/woocommerce/pull/59557) * Fix - Fixed the divider in order summary to expand to full width in editor to match with frontend UI. [#58329](https://github.com/woocommerce/woocommerce/pull/58329) * Fix - Fixed the “Product Brands” template not falling back correctly to the “Product Catalog” [#59576](https://github.com/woocommerce/woocommerce/pull/59576) * Fix - Fix error in email style sync in themes using refs in global styles colors [#60050](https://github.com/woocommerce/woocommerce/pull/60050) * Fix - Fixes a bug in which visiting an empty, non-default checkout block, would result in trying to create an order. [#59302](https://github.com/woocommerce/woocommerce/pull/59302) * Fix - Fixes schema mismatch between client and server for additional fields that caused unexpected results. [#58992](https://github.com/woocommerce/woocommerce/pull/58992) * Fix - Fixes the broken checkout block margin for twenty twenty and twenty twenty one themes. [#59277](https://github.com/woocommerce/woocommerce/pull/59277) * Fix - Fix experimental Mini-Cart block to show placeholder image for products without images. [#59761](https://github.com/woocommerce/woocommerce/pull/59761) * Fix - Fix iAPI-powered Mini-Cart block to limit product descriptions to 15 words maximum, matching the behavior of the current Mini-Cart block. [#59763](https://github.com/woocommerce/woocommerce/pull/59763) * Fix - Fix missing cart preview data in the site editor [#60160](https://github.com/woocommerce/woocommerce/pull/60160) * Fix - Fix missing focus outline in Add to Cart + Options variation selector pills [#59012](https://github.com/woocommerce/woocommerce/pull/59012) * Fix - Fix Payments Settings WooPayments test-to-live flow when site is installed in a subdirectory. [#60166](https://github.com/woocommerce/woocommerce/pull/60166) * Fix - Fix Products Table block powered by the iAPI. [#59592](https://github.com/woocommerce/woocommerce/pull/59592) * Fix - Fix stale data issues with offline payment gateways settings [#59392](https://github.com/woocommerce/woocommerce/pull/59392) * Fix - Fix the "Account Number" column in BACS to display either the account number or the IBAN [#59724](https://github.com/woocommerce/woocommerce/pull/59724) * Fix - Fix the out-of-sync Product Button block after modifying a product's quantity from the Mini Cart. [#60036](https://github.com/woocommerce/woocommerce/pull/60036) * Fix - Fix three HTML validation errors on the Single Product Template. [#58904](https://github.com/woocommerce/woocommerce/pull/58904) * Fix - Improve cart table markup and update a th to a td. [#59982](https://github.com/woocommerce/woocommerce/pull/59982) * Fix - Improve the Add to Cart + Options block compatibility layer to support more extensions [#59317](https://github.com/woocommerce/woocommerce/pull/59317) * Fix - Make sure Add to Cart button state updates when changing variation in the Add to Cart + Options block [#59158](https://github.com/woocommerce/woocommerce/pull/59158) * Fix - Move product button add to cart strings from interactivity state to context [#59037](https://github.com/woocommerce/woocommerce/pull/59037) * Fix - Onboarding button will direct to core profiler if incomplete [#59648](https://github.com/woocommerce/woocommerce/pull/59648) * Fix - Prevent added to cart notice to appear when adding variable products to cart via the Add to Cart + Options block [#60058](https://github.com/woocommerce/woocommerce/pull/60058) * Fix - Prevent html entities showing incorrectly in FormattedMonetaryAmount component [#59011](https://github.com/woocommerce/woocommerce/pull/59011) * Fix - Prevent issue where quantity would not update correctly after being edited on the client and receiving an update from the data store. [#59537](https://github.com/woocommerce/woocommerce/pull/59537) * Fix - Prevent lazy loading in product images in transactional emails to ensure proper display in email clients [#59007](https://github.com/woocommerce/woocommerce/pull/59007) * Fix - Prevent order discount above coupon amount when editing order in admin [#59606](https://github.com/woocommerce/woocommerce/pull/59606) * Fix - Prevent order summary moving below place order button when terms and conditions block is moved [#59154](https://github.com/woocommerce/woocommerce/pull/59154) * Fix - Prevent password input field erroring if password is copy-pasted in [#59577](https://github.com/woocommerce/woocommerce/pull/59577) * Fix - Prevent quantity selector from rendering in Add to Cart with Options and Add to Cart + Options blocks when min and max quantity are the same. [#59347](https://github.com/woocommerce/woocommerce/pull/59347) * Fix - Prevent rendering multiple instances of the Checkout block [#58001](https://github.com/woocommerce/woocommerce/pull/58001) * Fix - Prevent Settings tab bar from breaking into two lines when not needed [#59164](https://github.com/woocommerce/woocommerce/pull/59164) * Fix - Prevent URLs being texturized in customer and private order notes. [#59092](https://github.com/woocommerce/woocommerce/pull/59092) * Fix - Prevent warnings when accessing invalid post types via REST api [#58912](https://github.com/woocommerce/woocommerce/pull/58912) * Fix - Product Details: restore legacy block setting and default layout [#59808](https://github.com/woocommerce/woocommerce/pull/59808) * Fix - Product Editor: fix postbox position calculation. [#59212](https://github.com/woocommerce/woocommerce/pull/59212) * Fix - Product Filters: Prevent product filter queries when no products are found. [#59394](https://github.com/woocommerce/woocommerce/pull/59394) * Fix - Product Summary block: Add block class name to editor container elements [#58930](https://github.com/woocommerce/woocommerce/pull/58930) * Fix - Remove Add to Cart + Options template part from block inserter. [#59501](https://github.com/woocommerce/woocommerce/pull/59501) * Fix - removed excessive arguments from set_total [#59454](https://github.com/woocommerce/woocommerce/pull/59454) * Fix - Removed getDescriptionDisallowingConversion, isConversionPossible and minor code quality improvements added. [#59515](https://github.com/woocommerce/woocommerce/pull/59515) * Fix - Removed hard-coded right margin from Quantity Selector to resolve layout inconsistency. [#59289](https://github.com/woocommerce/woocommerce/pull/59289) * Fix - Remove Mini Cart template part from block inserter. [#59513](https://github.com/woocommerce/woocommerce/pull/59513) * Fix - Resolved add to cart button count for variations where attribute type is any [#59274](https://github.com/woocommerce/woocommerce/pull/59274) * Fix - Resolved a minor animation glitch in the blockified add to cart button when the form is invalid for variable products [#59516](https://github.com/woocommerce/woocommerce/pull/59516) * Fix - Revert: Related Products: avoids querying results on each page load. [#59642](https://github.com/woocommerce/woocommerce/pull/59642) * Fix - Shipping tax now correctly applies no tax when the inherited cart item tax class does not have shipping tax enabled, instead of falling back to standard rates. [#59324](https://github.com/woocommerce/woocommerce/pull/59324) * Fix - Show local pickup link within Shipping zones settings description conditionally when store uses block checkout [#59257](https://github.com/woocommerce/woocommerce/pull/59257) * Fix - Show notice in checkout when only express payments are available [#59075](https://github.com/woocommerce/woocommerce/pull/59075) * Fix - This fix addresses the issue where email content blocks contained unexpected new lines due to unnecessary line breaks in PHP template files. The changes ensure clean email rendering by removing unwanted whitespace. [#59188](https://github.com/woocommerce/woocommerce/pull/59188) * Fix - Update Add to Cart + Options store so it listens to input events [#59150](https://github.com/woocommerce/woocommerce/pull/59150) * Fix - Update cached block resource asset hints when the site URL is updated [#59342](https://github.com/woocommerce/woocommerce/pull/59342) * Fix - Updated add-to-cart URLs to maintain current URL and arguments when AJAX mode is disabled. [#59522](https://github.com/woocommerce/woocommerce/pull/59522) * Fix - Update quantity selectors to have the minus characters instead of hyphens [#59372](https://github.com/woocommerce/woocommerce/pull/59372) * Fix - Use only the plural form in the MiniCart Title Items Counter block. [#59636](https://github.com/woocommerce/woocommerce/pull/59636) * Fix - Fix an issue when a product is not an object in html order item [#60252](https://github.com/woocommerce/woocommerce/pull/60252) * Fix - Preserve manual discount when manually editing an order [#60248](https://github.com/woocommerce/woocommerce/pull/60248) * Fix - Revert feature name to add_payment_method. [#60197](https://github.com/woocommerce/woocommerce/pull/60197) * Fix - Updated OrderCountCache to return values for all previously saved statuses, not just those registered. [#60236](https://github.com/woocommerce/woocommerce/pull/60236) * Add - Add "Products by Category" and "Products by Tag" collections to Product Collection block. [#58440](https://github.com/woocommerce/woocommerce/pull/58440) * Add - Add an experimental feature toggle for the Interactivity API-powered Mini Cart. [#59782](https://github.com/woocommerce/woocommerce/pull/59782) * Add - Add a tool to repair coupons lookup table with zero discount amounts [#60145](https://github.com/woocommerce/woocommerce/pull/60145) * Add - Add block transform from "Add to Cart with Options" block to the "Add to Cart + Options" block. [#59343](https://github.com/woocommerce/woocommerce/pull/59343) * Add - Added disabled add-to-cart button for product variations in blockified-add-to-cart [#59110](https://github.com/woocommerce/woocommerce/pull/59110) * Add - Added `global_unique_id` property to the `line_items` object for the orders endpoint. [#54024](https://github.com/woocommerce/woocommerce/pull/54024) * Add - Add experimental REST API support for grouped product min/max prices [#59586](https://github.com/woocommerce/woocommerce/pull/59586) * Add - Add implematnion [#59426](https://github.com/woocommerce/woocommerce/pull/59426) * Add - Add Payment Method Icons block [#57181](https://github.com/woocommerce/woocommerce/pull/57181) * Add - Adds two new functions to identify the current page: `is_admin_settings_page`, and `is_pay_for_order_page`. [#59069](https://github.com/woocommerce/woocommerce/pull/59069) * Add - Add suggestions component to shortcode checkout. [#59189](https://github.com/woocommerce/woocommerce/pull/59189) * Add - Add support for dynamic multi-field product search via `search_fields` and `search` parameters in the Products REST API endpoint with cross-field matching capability. [#59450](https://github.com/woocommerce/woocommerce/pull/59450) * Add - Add support for test account skipping in WooPayments onboarding. [#60018](https://github.com/woocommerce/woocommerce/pull/60018) * Add - Add taxonomy support to Product Collection Data API endpoint with calculate_taxonomy_counts parameter [#59608](https://github.com/woocommerce/woocommerce/pull/59608) * Add - Product Filters: add `get_taxonomy_counts` method to FilterData class for taxonomy term counting. [#59462](https://github.com/woocommerce/woocommerce/pull/59462) * Add - Update Stock Indicator block after a variation is selected in the Add to Cart + Options block [#59706](https://github.com/woocommerce/woocommerce/pull/59706) * Update - Add loading block categories on the email editor page. [#58966](https://github.com/woocommerce/woocommerce/pull/58966) * Update - Add partial loading states to the order summary [#59531](https://github.com/woocommerce/woocommerce/pull/59531) * Update - Adds backward compatibility for `registerCheckoutFilters` in the new iAPI-powered Mini-Cart. [#59693](https://github.com/woocommerce/woocommerce/pull/59693) * Update - Add to Cart + Options: Display error message when adding 0 items to cart in the grouped product form [#59662](https://github.com/woocommerce/woocommerce/pull/59662) * Update - Exposes customers/stats endpoint in the analytic reports. [#58376](https://github.com/woocommerce/woocommerce/pull/58376) * Update - Fix `manage_stock` type to allow boolean and string values for product variations. [#59581](https://github.com/woocommerce/woocommerce/pull/59581) * Update - Migrate all cron jobs (session clean up, unpaid order clean up, sale schedules, log clean up...) to use action scheduler instead. [#59325](https://github.com/woocommerce/woocommerce/pull/59325) * Update - Migrate the WooContent block to the render_email_callback. [#59070](https://github.com/woocommerce/woocommerce/pull/59070) * Update - Pass the WCCOM connection status of the store as a paramter in extension serch request [#59658](https://github.com/woocommerce/woocommerce/pull/59658) * Update - Product Collection: remove layout settings from toolbar and just keep one in inspector controls [#59584](https://github.com/woocommerce/woocommerce/pull/59584) * Update - Product Specification: reuse `core/table` block default style. [#58902](https://github.com/woocommerce/woocommerce/pull/58902) * Update - Support passing objects for woocommerce_address_providers filter. [#59617](https://github.com/woocommerce/woocommerce/pull/59617) * Update - Update block email editor integration to work with the updated JS package [#58874](https://github.com/woocommerce/woocommerce/pull/58874) * Update - Updated persistent cart functionality to use the sessions table instead of usermeta. Fixes edge cases that prevented cart from being restored. [#57961](https://github.com/woocommerce/woocommerce/pull/57961) * Update - Update Mini-Cart and Cart quantity selectors to use the current color for the border [#58922](https://github.com/woocommerce/woocommerce/pull/58922) * Update - Update Product Stock Indicator and Add to Cart + Options blocks to consider variable products without purchasable variations as out of stock [#58845](https://github.com/woocommerce/woocommerce/pull/58845) * Update - Update the Action Scheduler package to version 3.9.3. [#59672](https://github.com/woocommerce/woocommerce/pull/59672) * Update - Update the loading of the express checkout area in the checkout block [#59449](https://github.com/woocommerce/woocommerce/pull/59449) * Update - Update the navigation for offline payment methods to avoid unnecessary page refresh [#59163](https://github.com/woocommerce/woocommerce/pull/59163) * Update - Use email sender options for low stock, no stock, and backorder notifications. [#58932](https://github.com/woocommerce/woocommerce/pull/58932) * Update - Wrap most Add to Cart + Options CSS selectors in :where() to decrease specificity [#59364](https://github.com/woocommerce/woocommerce/pull/59364) * Update - Wrap Product Gallery CSS selectors in :where() to decrease specificity [#59370](https://github.com/woocommerce/woocommerce/pull/59370) * Dev - Avoid warnings about missing a unique key prop from `SnackbarList` component when enabling script debug. [#59429](https://github.com/woocommerce/woocommerce/pull/59429) * Dev - Change to use a more specific locator to click on the Customer field when creating an order, as the current method fails the QIT woo-e2e test due to a plugin resolving multiple elements with the text "Guest". [#59177](https://github.com/woocommerce/woocommerce/pull/59177) * Dev - Convert cart block e2e tests to integration tests [#58979](https://github.com/woocommerce/woocommerce/pull/58979) * Dev - E2E tests: fix flaky product attributes test [#59275](https://github.com/woocommerce/woocommerce/pull/59275) * Dev - E2E tests: fix image URLs for product import tests to cover testing against a release artifact [#58908](https://github.com/woocommerce/woocommerce/pull/58908) * Dev - E2E tests: merge global setup steps [#59310](https://github.com/woocommerce/woocommerce/pull/59310) * Dev - E2E tests: remove usage of @woocommerce/api package in favour of the module in e2e-utils-playwright package [#59409](https://github.com/woocommerce/woocommerce/pull/59409) * Dev - Fix flaky test for order confirmation [#58947](https://github.com/woocommerce/woocommerce/pull/58947) * Dev - Font Picker E2E test: refactor response handling to ensure all font families are loaded before proceed with test [#58899](https://github.com/woocommerce/woocommerce/pull/58899) * Dev - Grouping of valid payment complete statuses in a new constant. [#58936](https://github.com/woocommerce/woocommerce/pull/58936) * Dev - Monorepo: consolidate packages licenses to `GPL-2.0-or-later`. [#58941](https://github.com/woocommerce/woocommerce/pull/58941) * Dev - Monorepo: remove cross-env dependency. [#58919](https://github.com/woocommerce/woocommerce/pull/58919) * Dev - Remove experimental product editor feature from UI [#56709](https://github.com/woocommerce/woocommerce/pull/56709) * Dev - Remove unused 'WooCommerce Blocks Test Helper' plugin after confirming it is no longer referenced in E2E tests. [#59042](https://github.com/woocommerce/woocommerce/pull/59042) * Dev - Remove unused css declarations [#59421](https://github.com/woocommerce/woocommerce/pull/59421) * Dev - Silent css build calc errors [#59187](https://github.com/woocommerce/woocommerce/pull/59187) * Dev - This PR only refactors test file of ProductCollection for organization without changing any functionality, test logic, or user-facing features. [#59575](https://github.com/woocommerce/woocommerce/pull/59575) * Tweak - Change copy of Woo tab on plugin install screen. [#59572](https://github.com/woocommerce/woocommerce/pull/59572) * Tweak - Check if product suggestions should be fetched whenever someone views a WC Admin page. [#59726](https://github.com/woocommerce/woocommerce/pull/59726) * Tweak - Ensure email previews uses the plugin_id for transients [#59446](https://github.com/woocommerce/woocommerce/pull/59446) * Tweak - Extra defensive coding in JS when editing products with some of the "standard" product fields removed from the UI [#59567](https://github.com/woocommerce/woocommerce/pull/59567) * Tweak - Fix background mismatch between Embedded KYC and LYS container. [#60148](https://github.com/woocommerce/woocommerce/pull/60148) * Tweak - Fix inconsistent shortcode display in WooCommerce Status pages section. This improvement ensures consistent formatting of shortcode display in the WooCommerce Status "WooCommerce pages" box, making all shortcodes appear with square brackets for better clarity and consistency. [#59687](https://github.com/woocommerce/woocommerce/pull/59687) * Tweak - Renamed the “Single Product” block to simply “Product”, allowing it to more readily surface within the inserter search results. [#58754](https://github.com/woocommerce/woocommerce/pull/58754) * Tweak - Skip steps that change the Site Visibility to Live when importing a Blueprint. [#59579](https://github.com/woocommerce/woocommerce/pull/59579) * Tweak - Update CSS query classes doc [#59323](https://github.com/woocommerce/woocommerce/pull/59323) * Tweak - Update footer link for marketplace suggestions on orders page and product editor to link to in-app Marketplace instead of to WooCommerce.com, if a in-app URL is provided via the suggestions endpoint. [#59599](https://github.com/woocommerce/woocommerce/pull/59599) * Tweak - Use consistent image placeholder across the entire editor. [#59418](https://github.com/woocommerce/woocommerce/pull/59418) * Performance - Feature compatibility: Make declarations lazy to avoid get_plugins() calls on frontend [#59653](https://github.com/woocommerce/woocommerce/pull/59653) * Performance - Fix performance issues with structured data and products with lots of variations [#59431](https://github.com/woocommerce/woocommerce/pull/59431) * Performance - Improve block performance by avoiding unnecessary REST API initialization when fetching cart data [#58891](https://github.com/woocommerce/woocommerce/pull/58891) * Performance - Improve HPOS order search performance by optimizing full-text search queries. [#59543](https://github.com/woocommerce/woocommerce/pull/59543) * Performance - Improve Product Filters block performance with optimized caching for product IDs. [#57078](https://github.com/woocommerce/woocommerce/pull/57078) * Performance - Improves performance when editing site templates. [#59292](https://github.com/woocommerce/woocommerce/pull/59292) * Performance - Product Filters: only query selected attributes for attribute query clauses. [#59508](https://github.com/woocommerce/woocommerce/pull/59508) * Performance - Remove nocache headers from Cart page to enable bfcache [#58445](https://github.com/woocommerce/woocommerce/pull/58445) * Enhancement - Accessibility: add global event handler for anchors with button role triggering the click on spacebar keydown [#59578](https://github.com/woocommerce/woocommerce/pull/59578) * Enhancement - Adds an 'in progress' state to WooCommerce onboarding tasks, providing visual feedback when tasks are started but not completed. Initially implemented for the Payments setup task. [#59988](https://github.com/woocommerce/woocommerce/pull/59988) * Enhancement - Align pending state when selecting shipping rate with selecting pickup location [#58688](https://github.com/woocommerce/woocommerce/pull/58688) * Enhancement - Improve error messaging for variable products in Add to Cart + Options block by returning a neutral API error and displaying a user-friendly message in the frontend when no attributes are selected. [#59390](https://github.com/woocommerce/woocommerce/pull/59390) * Enhancement - Improve initial load for the checkout block [#58782](https://github.com/woocommerce/woocommerce/pull/58782) * Enhancement - Only include WordPress.org themes in the Blueprint export steps. [#57888](https://github.com/woocommerce/woocommerce/pull/57888) * Enhancement - Order-pay page can also use the session choosen gateway [#47100](https://github.com/woocommerce/woocommerce/pull/47100) = 10.0.4 2025-07-23 = **WooCommerce** * Fix - Possible fatal error with Gutenberg 21.2.0, in particular in Analytics reports. [#59846](https://github.com/woocommerce/woocommerce/pull/59846) = 10.0.3 2025-07-21 = **WooCommerce** * Fix - Product Details: prevent the default template to be auto applied for existing blocks. [#59698](https://github.com/woocommerce/woocommerce/pull/59698) * Tweak - Filter tooltip content in jQuery tipTip tooltips [#59830](https://github.com/woocommerce/woocommerce/pull/59830) = 10.0.2 2025-07-14 = **WooCommerce** * Fix - Restore previous behaviour where init_session_cookie will create a new customer_id if no cookie exists. [#59530](https://github.com/woocommerce/woocommerce/pull/59530) = 10.0.1 2025-07-08 = **WooCommerce** * Fix - Prevent error due to strict types. [#59479](https://github.com/woocommerce/woocommerce/pull/59479) = 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) = 9.9.5 2025-06-23 = **WooCommerce** * Fix - Ensure block style is always loaded on demand for classic themes. [#58993](https://github.com/woocommerce/woocommerce/pull/58993) = 9.9.4 2025-06-16 = **WooCommerce** * Security - Prepare admin report query conditional statements. [#58857](https://github.com/woocommerce/woocommerce/pull/58857) * Fix - Add proper error handling when WCCOM API is unavailable, don't crash the site. [#58750](https://github.com/woocommerce/woocommerce/pull/58750) * Fix - Fixed bug in wc_change_term_counts() that hid empty top level product categories [#58821](https://github.com/woocommerce/woocommerce/pull/58821) * Fix - Hide general tab when COGS is disabled in variable products [#58701](https://github.com/woocommerce/woocommerce/pull/58701) * Fix - Prevent All Products block breaking when mini cart is not present in site header [#58741](https://github.com/woocommerce/woocommerce/pull/58741) * Fix - Prevent shipping rate defaulting to empty string if it has no cost, go to '0' instead. [#58804](https://github.com/woocommerce/woocommerce/pull/58804) * Fix - Provide server architecture message when php_uname is disabled [#58734](https://github.com/woocommerce/woocommerce/pull/58734) * Update - Pause rollout of email improvements to existing stores [#58828](https://github.com/woocommerce/woocommerce/pull/58828) = 9.9.3 2025-06-09 = **WooCommerce** * Fix - Remove order status validation for order count cache [#58586](https://github.com/woocommerce/woocommerce/pull/58586) * Fix - Revert "unsupported_theme_title_filter" Id parameter typing. [#58574](https://github.com/woocommerce/woocommerce/pull/58574) = 9.9.2 2025-06-04 = **WooCommerce** * Fix - Fix fatal error when WC_Email child class doesn't set template_html [#58487](https://github.com/woocommerce/woocommerce/pull/58487) * Fix - Fix the order count cache refresh hook and scheduling [#58535](https://github.com/woocommerce/woocommerce/pull/58535) = 9.9.1 2025-06-02 = **WooCommerce** * Fix - Restore missing webhook filter WC_Comments::exclude_webhook_comments_from_feed_where() callback. [#58472](https://github.com/woocommerce/woocommerce/pull/58472) = 9.9.0 2025-06-02 = **WooCommerce** * Fix - Better gateway details error handling in the new Payments Settings page. [#58112](https://github.com/woocommerce/woocommerce/pull/58112) * Fix - Fix an issue where a duplicate “Select an industry” label is shown. [#58132](https://github.com/woocommerce/woocommerce/pull/58132) * Fix - Fix degraded settings pages UI when certain features are disabled. [#58112](https://github.com/woocommerce/woocommerce/pull/58112) * Fix - Fix deprecation warning when passing null to explode() [#58037](https://github.com/woocommerce/woocommerce/pull/58037) * Fix - Fix new Payments Settings page compatibility with extensions filtering the available payment methods. [#58112](https://github.com/woocommerce/woocommerce/pull/58112) * Fix - Fix payments tasks compatibility with extensions filtering the available payment methods. [#58112](https://github.com/woocommerce/woocommerce/pull/58112) * Fix - Remove the testing step if the country is UAE or Singapore in the NOX In-Context. We can not create a test account for those countries. [#58112](https://github.com/woocommerce/woocommerce/pull/58112) * Fix - Improve styling for variation selector pills. [#57059](https://github.com/woocommerce/woocommerce/pull/57059) * Fix - Switched the endpoint of the iAPI's `woocommerce` store to `cart/add-item` and `cart/update-item`. [#56117](https://github.com/woocommerce/woocommerce/pull/56117) * Fix - Add 'id' attribute for fields of type 'single_select_country'. [#57247](https://github.com/woocommerce/woocommerce/pull/57247) * Fix - Add a default fallback spacing to the clear fillter button to ensure its style looks good on every theme. [#56702](https://github.com/woocommerce/woocommerce/pull/56702) * Fix - Add blueprint CLI initialization to 'init' hook to prevent premature translation loading in WC_CLI class. [#57291](https://github.com/woocommerce/woocommerce/pull/57291) * Fix - Add brands missing schema and base product data. [#55945](https://github.com/woocommerce/woocommerce/pull/55945) * Fix - Add defensive checks against ShippingController->register_local_pickup [#57154](https://github.com/woocommerce/woocommerce/pull/57154) * Fix - Adds spacing between Classic Cart and Classic Checkout block buttons in the placeholder rendered in the editor [#57095](https://github.com/woocommerce/woocommerce/pull/57095) * Fix - Add support to `count` output format on `tax_class` and `payment_gateway` endpoints. [#55978](https://github.com/woocommerce/woocommerce/pull/55978) * Fix - Add to Cart - stepper style: fix input field when the product stock quantity is 1 [#57457](https://github.com/woocommerce/woocommerce/pull/57457) * Fix - Add type safety check to render_block callback. [#57375](https://github.com/woocommerce/woocommerce/pull/57375) * Fix - Add util to fix several flaky tests using 'saveSiteEditorEntities()' [#56120](https://github.com/woocommerce/woocommerce/pull/56120) * Fix - Add validation to prevent PHP warning in CLI when using the 'count' format. [#55978](https://github.com/woocommerce/woocommerce/pull/55978) * Fix - Add vertical margin between charts in WooCommerce Analytics [#57110](https://github.com/woocommerce/woocommerce/pull/57110) * Fix - Allow links in order item meta in new emails templates [#57637](https://github.com/woocommerce/woocommerce/pull/57637) * Fix - Allow WC admin pages to open on new tabs if Ctrl/Command is pressed [#55969](https://github.com/woocommerce/woocommerce/pull/55969) * Fix - Avoid attempting to delete a non-existent session while logged in. [#57391](https://github.com/woocommerce/woocommerce/pull/57391) * Fix - Avoid fatal error in "meta_is_product_attribute" when calling it with an attribute not used for variations. [#56275](https://github.com/woocommerce/woocommerce/pull/56275) * Fix - Avoid fatal error when filter attributes are passed as array in the URL [#56768](https://github.com/woocommerce/woocommerce/pull/56768) * Fix - Avoid loading settings for wc-shipping-method-pickup-location when script isn't enqueued [#56297](https://github.com/woocommerce/woocommerce/pull/56297) * Fix - Avoid rounding shipping price when creating shipping line items to match products [#57596](https://github.com/woocommerce/woocommerce/pull/57596) * Fix - Banner Pattern: fix text color. [#57737](https://github.com/woocommerce/woocommerce/pull/57737) * Fix - block editor's featured product block description fixed for variable products [#57342](https://github.com/woocommerce/woocommerce/pull/57342) * Fix - Block Patterns cache: ensure that relative path are used. [#57333](https://github.com/woocommerce/woocommerce/pull/57333) * Fix - Blueprint: Fixed an issue where closing an imported file failed to reset the upload component state. [#56408](https://github.com/woocommerce/woocommerce/pull/56408) * Fix - Breadcrumbs block: fix custom font size applied on the frontend [#57071](https://github.com/woocommerce/woocommerce/pull/57071) * Fix - Check the product variable type to avoid fatal errors. [#56439](https://github.com/woocommerce/woocommerce/pull/56439) * Fix - Check the session exists before accessing it in `wc_get_notices`. [#57086](https://github.com/woocommerce/woocommerce/pull/57086) * Fix - Comment: [Experimental] Fix visibility of selected pills in Variation Selector by dynamically detecting and applying theme colors for proper contrast. [#57091](https://github.com/woocommerce/woocommerce/pull/57091) * Fix - Dev - Re-enable Blueprint feature UI in features settings page and make it enabled by default. [#57310](https://github.com/woocommerce/woocommerce/pull/57310) * Fix - Do not write metadata to the db for unsaved HPOS orders. [#55844](https://github.com/woocommerce/woocommerce/pull/55844) * Fix - Enhance IP address retrieval in WC_Geolocation to handle multiple IPs in REMOTE_ADDR [#57284](https://github.com/woocommerce/woocommerce/pull/57284) * Fix - Ensure 'multi_select_countries' settings have their 'id' attribute set. [#57166](https://github.com/woocommerce/woocommerce/pull/57166) * Fix - Ensure local pickup cost is displayed on the order confirmation page when a fee is configured. Show pickup location name and merchant-provided details even if the pickup address is incomplete or missing. [#57514](https://github.com/woocommerce/woocommerce/pull/57514) * Fix - Ensure Remote Inbox Notifications stored state is an object before attempting to use [#56467](https://github.com/woocommerce/woocommerce/pull/56467) * Fix - Ensures the correct color scheme is passed to JPC connection screen [#56253](https://github.com/woocommerce/woocommerce/pull/56253) * Fix - Ensure tax status is copied to shipping line items if shipping method does not support them through options. [#57558](https://github.com/woocommerce/woocommerce/pull/57558) * Fix - Ensure term counts are calculated correctly when the term count method is not given a list of term taxonomy IDs. Also improve performance by avoiding unnecessary queries while counting terms. [#56543](https://github.com/woocommerce/woocommerce/pull/56543) * Fix - Fix - Prevent analytics import orders action from being scheduled when analytics is disabled [#56830](https://github.com/woocommerce/woocommerce/pull/56830) * Fix - Fix: client navigation issue of Product Filters with server context [#56703](https://github.com/woocommerce/woocommerce/pull/56703) * Fix - Fix: display variation meta data in emails and on pages only when are not a part of the product name [#57620](https://github.com/woocommerce/woocommerce/pull/57620) * Fix - Fix: DOING_AJAX being set when wc-ajax is empty after sanitized [#57093](https://github.com/woocommerce/woocommerce/pull/57093) * Fix - Fix: Prevent null offset warning in BlockTemplateUtils.php by adding validation checks for block patterns. [#56981](https://github.com/woocommerce/woocommerce/pull/56981) * Fix - Fix a bug in which real address was being shown on the editor page for Checkout. [#56562](https://github.com/woocommerce/woocommerce/pull/56562) * Fix - Fix Add to Cart Form block quantity input size in some extensions [#57723](https://github.com/woocommerce/woocommerce/pull/57723) * Fix - Fix background color for the NOX Payments Settings page. [#56412](https://github.com/woocommerce/woocommerce/pull/56412) * Fix - Fix block registration problems in the editor when no payment methods enabled. [#56994](https://github.com/woocommerce/woocommerce/pull/56994) * Fix - Fix blueprint export tax sql command [#57344](https://github.com/woocommerce/woocommerce/pull/57344) * Fix - Fix Blueprint imports interrupted if the site state changed from Coming Soon to Live [#57797](https://github.com/woocommerce/woocommerce/pull/57797) * Fix - Fix blueprint lint errors [#57222](https://github.com/woocommerce/woocommerce/pull/57222) * Fix - Fix blueprint shipping settings export functionality [#57844](https://github.com/woocommerce/woocommerce/pull/57844) * Fix - Fix Brand layered nav on attributes archive pages. [#55736](https://github.com/woocommerce/woocommerce/pull/55736) * Fix - Fix Brands Widget navigation when additional filters are also selected [#55992](https://github.com/woocommerce/woocommerce/pull/55992) * Fix - Fix duplicated "Email preview" header when managing an email [#56954](https://github.com/woocommerce/woocommerce/pull/56954) * Fix - Fixed a bug where sanitize would always cause phone number to be valid and added wc_remove_non_displayable_chars() format utility function to remove useless non-displayable chars, avoiding copy-paste issues. [#56402](https://github.com/woocommerce/woocommerce/pull/56402) * Fix - Fixed issue where the Hand-picked Products inspector control was showing loading chip instead of placeholder text when no products exist. [#57300](https://github.com/woocommerce/woocommerce/pull/57300) * Fix - Fix edit email template button compatibility with 3rd party plugins [#57522](https://github.com/woocommerce/woocommerce/pull/57522) * Fix - Fix Editor styles in iAPI blocks. [#57719](https://github.com/woocommerce/woocommerce/pull/57719) * Fix - Fixed Store API `update_line_items_from_cart` method to prevent updating line items on every request. [#56367](https://github.com/woocommerce/woocommerce/pull/56367) * Fix - Fixed tax inconsistencies on the order-edit screen when adjusting product quantity. [#53054](https://github.com/woocommerce/woocommerce/pull/53054) * Fix - Fixed the broken UI of Single Product block in editor by adding frontend styles and fixing alignment. [#57570](https://github.com/woocommerce/woocommerce/pull/57570) * Fix - Fix ensure the loading skeleton of the Add to Cart with Opt not exceeds the container. [#56151](https://github.com/woocommerce/woocommerce/pull/56151) * Fix - Fixes: "Only first brand widget works when using multiple" #56481 [#56482](https://github.com/woocommerce/woocommerce/pull/56482) * Fix - Fixes an issue in which resetting mini cart colors would show a warning. [#56756](https://github.com/woocommerce/woocommerce/pull/56756) * Fix - Fix express payment buttons spacing on the single product page. [#56669](https://github.com/woocommerce/woocommerce/pull/56669) * Fix - Fix fatal error when calling "unsupported_theme_title_filter" with only one parameter. [#56707](https://github.com/woocommerce/woocommerce/pull/56707) * Fix - Fix Filter by Price slider to use the current color in RTL languages instead of a hardcoded purple value. [#57687](https://github.com/woocommerce/woocommerce/pull/57687) * Fix - Fix get_last_modified method in ProductQuery to return 0 when query returns null. [#56646](https://github.com/woocommerce/woocommerce/pull/56646) * Fix - Fix get_permalink method logic in WC_Product_Variation. [#56607](https://github.com/woocommerce/woocommerce/pull/56607) * Fix - Fix import CSV products not completing product task [#56389](https://github.com/woocommerce/woocommerce/pull/56389) * Fix - Fix incorrect links for managing offline payment methods in payments settings. [#57752](https://github.com/woocommerce/woocommerce/pull/57752) * Fix - Fix incorrect type on woocommerce_email_sent hook [#57435](https://github.com/woocommerce/woocommerce/pull/57435) * Fix - Fix issues with Segments Intervals when Order Date Paid is further than Order Date Created [#55926](https://github.com/woocommerce/woocommerce/pull/55926) * Fix - Fix is_cart/is_checkout detection when using classic shortcode block [#56167](https://github.com/woocommerce/woocommerce/pull/56167) * Fix - Fix logic bugs in additional fields validation and persisting logic. [#57037](https://github.com/woocommerce/woocommerce/pull/57037) * Fix - Fix Login/Register forms by submitting them after pressing the Enter key [#55937](https://github.com/woocommerce/woocommerce/pull/55937) * Fix - Fix menu icon active state when navigating between wc-admin pages [#56273](https://github.com/woocommerce/woocommerce/pull/56273) * Fix - Fix Mini-Cart Shopping Button block to correctly apply background and text colors to the button instead of the container [#57446](https://github.com/woocommerce/woocommerce/pull/57446) * Fix - Fix missing settings in Blueprint export [#57624](https://github.com/woocommerce/woocommerce/pull/57624) * Fix - Fix mobile unresponsiveness of product gallery after ‘Reviews’ tab click. [#57373](https://github.com/woocommerce/woocommerce/pull/57373) * Fix - Fix namespace collision when using interactive blocks inside Product Filters, such as Accordion [#57224](https://github.com/woocommerce/woocommerce/pull/57224) * Fix - Fix notice in Store API when no payment methods are enabled. [#56129](https://github.com/woocommerce/woocommerce/pull/56129) * Fix - Fix parent product display in low stock notifications for variable products [#57438](https://github.com/woocommerce/woocommerce/pull/57438) * Fix - Fix placement of Analytics Dashboard popover by removing explicit placement attribute. [#56342](https://github.com/woocommerce/woocommerce/pull/56342) * Fix - Fix Printful banner visibility in Products task list to respect plugin installation status [#56345](https://github.com/woocommerce/woocommerce/pull/56345) * Fix - Fix Related Products variation to handle invalid product instances gracefully. [#57138](https://github.com/woocommerce/woocommerce/pull/57138) * Fix - Fix Remote Specs stored_state in StoredStateSetupForProducts where the stored value is not an object. [#56467](https://github.com/woocommerce/woocommerce/pull/56467) * Fix - Fix server-side rendering of Active Filters block [#57308](https://github.com/woocommerce/woocommerce/pull/57308) * Fix - Fix spacing issue in Settings navigation on the NOX Select Payment Methods screen. [#57027](https://github.com/woocommerce/woocommerce/pull/57027) * Fix - Fix Star rating issue when when there are multiple Product Reviews blocks on the same page. [#57383](https://github.com/woocommerce/woocommerce/pull/57383) * Fix - Fix tax rate API support for non-Latin class names. [#57013](https://github.com/woocommerce/woocommerce/pull/57013) * Fix - Fix the link to the coming soon template in the Site Editor [#56743](https://github.com/woocommerce/woocommerce/pull/56743) * Fix - Fix the Price slider range values between client navigation events. [#56696](https://github.com/woocommerce/woocommerce/pull/56696) * Fix - Fix the query clauses for attribute to return the correct products IDs for attribute with `AND` query type when the attribute lookup table is used for filtering. [#44825](https://github.com/woocommerce/woocommerce/pull/44825) * Fix - Fix Total Payments Volume Processor validation logic and improved schema definitions [#56384](https://github.com/woocommerce/woocommerce/pull/56384) * Fix - Fix warning for no_found_rows in orders list table [#56400](https://github.com/woocommerce/woocommerce/pull/56400) * Fix - Fix wrong alignment of longer shipping option descriptions in Firefox [#57229](https://github.com/woocommerce/woocommerce/pull/57229) * Fix - Fix `is_cart` being false negative if global $page was loaded early. [#56633](https://github.com/woocommerce/woocommerce/pull/56633) * Fix - Hide 'View Cart' button when the cart page is not defined. [#57495](https://github.com/woocommerce/woocommerce/pull/57495) * Fix - Hide backorder meta on completed orders [#57450](https://github.com/woocommerce/woocommerce/pull/57450) * Fix - Import missing class in GenericStatsController [#56590](https://github.com/woocommerce/woocommerce/pull/56590) * Fix - Improve blocks style on classic theme - editor side [#56677](https://github.com/woocommerce/woocommerce/pull/56677) * Fix - Improve the spacing in the header area [#57683](https://github.com/woocommerce/woocommerce/pull/57683) * Fix - Invalid HTML on status page [#56094](https://github.com/woocommerce/woocommerce/pull/56094) * Fix - Keep variations labels on one line [#57274](https://github.com/woocommerce/woocommerce/pull/57274) * Fix - Legacy Attribute Filter: fix the width of the dropdown style becomes too small when used within Row block. [#57656](https://github.com/woocommerce/woocommerce/pull/57656) * Fix - Legacy settings: Fix mobile view layout issue [#56694](https://github.com/woocommerce/woocommerce/pull/56694) * Fix - Made it possible to use local pickup for any allowed billing address since shipping address is not required. [#56922](https://github.com/woocommerce/woocommerce/pull/56922) * Fix - Make sure the `get_attributes` function always returns an array. [#55549](https://github.com/woocommerce/woocommerce/pull/55549) * Fix - My Account Page: Improve layout on mobile [#57286](https://github.com/woocommerce/woocommerce/pull/57286) * Fix - Only use Interactivity API's `getServerContext` if it's available (WP > 6.7). [#56131](https://github.com/woocommerce/woocommerce/pull/56131) * Fix - Order confirmation: Hide empty columns in address section [#57647](https://github.com/woocommerce/woocommerce/pull/57647) * Fix - Prevent checkout form steps appearing if there are no fields [#57041](https://github.com/woocommerce/woocommerce/pull/57041) * Fix - Prevent count cache errors when order hooks are run in different orders [#56652](https://github.com/woocommerce/woocommerce/pull/56652) * Fix - Prevent email validation adding the woocommerce-invalid-phone classname [#56393](https://github.com/woocommerce/woocommerce/pull/56393) * Fix - Prevent fatal error on login form during unusual circumstances. [#57165](https://github.com/woocommerce/woocommerce/pull/57165) * Fix - Prevent fatal error when context in not an array in "LogHandlerFileV2". [#56283](https://github.com/woocommerce/woocommerce/pull/56283) * Fix - Prevent infinite redirect loop when cart shortcode is present on checkout page with empty cart. [#57172](https://github.com/woocommerce/woocommerce/pull/57172) * Fix - Prevent possible fatal error in 9.9 migration. [#57257](https://github.com/woocommerce/woocommerce/pull/57257) * Fix - Prevent possible fatal error on admin screens. [#57252](https://github.com/woocommerce/woocommerce/pull/57252) * Fix - Prevent return to cart link being clickable in editor [#57539](https://github.com/woocommerce/woocommerce/pull/57539) * Fix - Prevent shipping calculator submission with an incomplete address and display inline validation errors. [#55853](https://github.com/woocommerce/woocommerce/pull/55853) * Fix - Prevent warning in user profile on admin. [#45251](https://github.com/woocommerce/woocommerce/pull/45251) * Fix - Product Button Block: increase CSS specificity. [#57481](https://github.com/woocommerce/woocommerce/pull/57481) * Fix - Product Filters: enable filter blocks in the Widgets editor. [#57487](https://github.com/woocommerce/woocommerce/pull/57487) * Fix - Product Filters: review usage of :where selector, remove them for form elements of checkbox list. [#57497](https://github.com/woocommerce/woocommerce/pull/57497) * Fix - Product Gallery: Changing images with arrows updates the pager and navigation [#55976](https://github.com/woocommerce/woocommerce/pull/55976) * Fix - Product Gallery: Ensure loading the "selected variant" image even if it's not added in the product image gallery. [#56160](https://github.com/woocommerce/woocommerce/pull/56160) * Fix - Product Gallery: fixes clear variation action running out of context [#56234](https://github.com/woocommerce/woocommerce/pull/56234) * Fix - Provide dummy data to the personalizer context for the send preview email [#57795](https://github.com/woocommerce/woocommerce/pull/57795) * Fix - PTK Pattern: Ensure that fatal is not triggered if categories is null. [#57759](https://github.com/woocommerce/woocommerce/pull/57759) * Fix - Remove isDescendentOf attributes from Product SKU block [#56961](https://github.com/woocommerce/woocommerce/pull/56961) * Fix - Removes email editor templates from the site editor [#57185](https://github.com/woocommerce/woocommerce/pull/57185) * Fix - Remove span from inside the country select HTML element [#56077](https://github.com/woocommerce/woocommerce/pull/56077) * Fix - Remove unnecessary title setting from blueprint to fix ui conflict [#57305](https://github.com/woocommerce/woocommerce/pull/57305) * Fix - Remove unsaved changes popup after successful import for blueprint [#57657](https://github.com/woocommerce/woocommerce/pull/57657) * Fix - Remove unused imports from Blueprint exporter classes and improve class documentation. [#56851](https://github.com/woocommerce/woocommerce/pull/56851) * Fix - Replaced incorrect ".zip" reference with ".json". [#56770](https://github.com/woocommerce/woocommerce/pull/56770) * Fix - Respect custom order status when processing order in Store API [#57355](https://github.com/woocommerce/woocommerce/pull/57355) * Fix - Reviews: fix an error during manual plugin update. [#57712](https://github.com/woocommerce/woocommerce/pull/57712) * Fix - Scope image scrolling to specific gallery instance [#56706](https://github.com/woocommerce/woocommerce/pull/56706) * Fix - Single Product: hide duplicated Product Title block from inserter [#56714](https://github.com/woocommerce/woocommerce/pull/56714) * Fix - Store API: Use the order data instead of cart data for validation in checkout order requests. Avoid modifying the cart data. [#56645](https://github.com/woocommerce/woocommerce/pull/56645) * Fix - Support search for non-ASCII coupons. [#56319](https://github.com/woocommerce/woocommerce/pull/56319) * Fix - Update Blueprint hide save button on Settings screens logic. [#56739](https://github.com/woocommerce/woocommerce/pull/56739) * Fix - Update classic setting page styles to work with storewide notice. [#56502](https://github.com/woocommerce/woocommerce/pull/56502) * Fix - Update product title in catalog to heading level 2. [#56377](https://github.com/woocommerce/woocommerce/pull/56377) * Fix - Update Quantity Selector block in Add to Cart with Options to inherit theme background and text colors. [#57004](https://github.com/woocommerce/woocommerce/pull/57004) * Fix - Update the loading placeholder of the Reviews blocks so they are better aligned with the end content [#56118](https://github.com/woocommerce/woocommerce/pull/56118) * Fix - Use .toBeAttached instead of .toBeVisible when asserting product blocks exist in dataviews page [#56923](https://github.com/woocommerce/woocommerce/pull/56923) * Fix - Validate all fields and don't bail early on email. [#57693](https://github.com/woocommerce/woocommerce/pull/57693) * Fix - Vertically center core profiler extensions page card copy [#56551](https://github.com/woocommerce/woocommerce/pull/56551) * Fix - When using local pickup during block checkout, persist the correct shipping address to the order. [#55968](https://github.com/woocommerce/woocommerce/pull/55968) * Fix - Workaround for a bug present in WP 6.6's Interactivity API. It can be removed once Woo doesn't need to support WP 6.6 anymore. [#56154](https://github.com/woocommerce/woocommerce/pull/56154) * Fix - `wc_get_gallery_image_html`: prevent errors when retrieving image attributes. [#57090](https://github.com/woocommerce/woocommerce/pull/57090) * Fix - Fix browser alert when interacting with offline payment methods settings forms [#58269](https://github.com/woocommerce/woocommerce/pull/58269) * Fix - Fix insufficient detection of email template overrides [#58286](https://github.com/woocommerce/woocommerce/pull/58286) * Fix - Fix the default country in the business step to match the selected one in NOX [#58269](https://github.com/woocommerce/woocommerce/pull/58269) * Add - Mark the test account step as completed when presenting the success step state [#58112](https://github.com/woocommerce/woocommerce/pull/58112) * Add - Add product preview modal on marketplace pages. [#56678](https://github.com/woocommerce/woocommerce/pull/56678) * Add - Add: ProductFilters services to power the new filter blocks and product filtering and in general. [#52403](https://github.com/woocommerce/woocommerce/pull/52403) * Add - Add a search_sku_or_name argument to the REST API products endpoint [#57494](https://github.com/woocommerce/woocommerce/pull/57494) * Add - Add a way for address autocomplete providers to register in PHP. [#56927](https://github.com/woocommerce/woocommerce/pull/56927) * Add - Add Cost of Goods Sold information in the order editor in admin [#55840](https://github.com/woocommerce/woocommerce/pull/55840) * Add - Added block-based email templates for all WooCommerce transactional emails, enabling improved customization through the block email editor [#56567](https://github.com/woocommerce/woocommerce/pull/56567) * Add - Added step logging on the shortcode and Store API place order flow. [#53230](https://github.com/woocommerce/woocommerce/pull/53230) * Add - Add experimental product review author name block for use within the product reviews block. [#57540](https://github.com/woocommerce/woocommerce/pull/57540) * Add - Add experimental product review content block for use within the product reviews block. [#57533](https://github.com/woocommerce/woocommerce/pull/57533) * Add - Add experimental product review date block for use within the product reviews block. [#57530](https://github.com/woocommerce/woocommerce/pull/57530) * Add - Add experimental Product Reviews Pagination block. [#57604](https://github.com/woocommerce/woocommerce/pull/57604) * Add - Add experimental product review template block for use within the product reviews block. [#57600](https://github.com/woocommerce/woocommerce/pull/57600) * Add - Add filter to allow the adding of filtering post clauses outside "is_main_query". [#56453](https://github.com/woocommerce/woocommerce/pull/56453) * Add - Add native, in-context onboarding flows for WooPayments. [#56229](https://github.com/woocommerce/woocommerce/pull/56229) * Add - Add new experimental product review form block for use within the product reviews block. [#56477](https://github.com/woocommerce/woocommerce/pull/56477) * Add - Add new experimental product reviews block. [#56276](https://github.com/woocommerce/woocommerce/pull/56276) * Add - Add new filter hooks `woocommerce_product_filter_data` and improve `woocommerce_pre_product_filter_data` implementation to allow third-party modification of product filter results. [#56860](https://github.com/woocommerce/woocommerce/pull/56860) * Add - Add point-of-sale feature flag for mobile Point of Sale feature that is only enabled in development environment. [#57055](https://github.com/woocommerce/woocommerce/pull/57055) * Add - Add POS completed/refunded order email templates based on the non-POS versions, not yet included in core email settings. [#57471](https://github.com/woocommerce/woocommerce/pull/57471) * Add - Add Product Description Block: A New Block for Product Content [#56202](https://github.com/woocommerce/woocommerce/pull/56202) * Add - Add Product Review and Product Reviews Title experimental blocks for use within the blockified product reviews block. [#56332](https://github.com/woocommerce/woocommerce/pull/56332) * Add - Add react-window for SelectControl, set country dropdowns in core profiler and store location to use virtual scrolling [#56000](https://github.com/woocommerce/woocommerce/pull/56000) * Add - Adds a hook for custom checkout validation after the standard validations (email, coupons, etc) have passed. Allows developers to add their own checkout validation logic conditionally. [#51513](https://github.com/woocommerce/woocommerce/pull/51513) * Add - Adds an API endpoint to get the status of the WooCommerce.com connection of a site [#56040](https://github.com/woocommerce/woocommerce/pull/56040) * Add - Add skeleton component system. [#56719](https://github.com/woocommerce/woocommerce/pull/56719) * Add - Add subject and preheader rich-text components into the email sidebar. [#57330](https://github.com/woocommerce/woocommerce/pull/57330) * Add - Add support for filtering orders by "created_via" in the GET /orders endpoint. [#57052](https://github.com/woocommerce/woocommerce/pull/57052) * Add - Add the base functionality for replacing Woo transactional emails with emails created via the block email editor [#55940](https://github.com/woocommerce/woocommerce/pull/55940) * Add - Add the Edit Template button to the email settings page to allow direct access to edit block email template [#57246](https://github.com/woocommerce/woocommerce/pull/57246) * Add - Add Woo email content to the preview in the email editor [#57337](https://github.com/woocommerce/woocommerce/pull/57337) * Add - Add `disableCheckoutFor` thunk [#57566](https://github.com/woocommerce/woocommerce/pull/57566) * Add - Allow exporting specific products by ID directly from the product list screen. [#57500](https://github.com/woocommerce/woocommerce/pull/57500) * Add - Allow external code to obtain query args used to initialize an OrdersTableQuery. [#55129](https://github.com/woocommerce/woocommerce/pull/55129) * Add - Allow inserting the Product Stock Indicator in the Single Product template [#56501](https://github.com/woocommerce/woocommerce/pull/56501) * Add - Core profiler: Add geolocation on the skipped flow. [#56655](https://github.com/woocommerce/woocommerce/pull/56655) * Add - Display cash payment change due, card payment authorization code, and time of payment in POS completed and refunded order emails in the order totals section. [#57734](https://github.com/woocommerce/woocommerce/pull/57734) * Add - Display unit price for each order item in POS emails that are enabled in development environment. [#57573](https://github.com/woocommerce/woocommerce/pull/57573) * Add - Implement color contrast checker in mini-cart elements [#55574](https://github.com/woocommerce/woocommerce/pull/55574) * Add - Implement hide shipping rates when free is available option [#55796](https://github.com/woocommerce/woocommerce/pull/55796) * Add - Improve the functionality of the Email Editor placeholder block, ensuring the render of a basic dummy order content [#56365](https://github.com/woocommerce/woocommerce/pull/56365) * Add - Include OS and enabled features in SSR. [#57168](https://github.com/woocommerce/woocommerce/pull/57168) * Add - New Block: Product Specifications block to display weight, dimensions, and attributes [#56621](https://github.com/woocommerce/woocommerce/pull/56621) * Add - Product Details: Hide empty accordion items on the front end. [#57516](https://github.com/woocommerce/woocommerce/pull/57516) * Add - Product Gallery: add alignment options to Next/Prev buttons [#57484](https://github.com/woocommerce/woocommerce/pull/57484) * Add - Product Gallery: Display real images in Editor if available [#56561](https://github.com/woocommerce/woocommerce/pull/56561) * Add - Product Gallery: force the mobile layout so the Thumbnails are rendered below the main image [#56063](https://github.com/woocommerce/woocommerce/pull/56063) * Add - Product Specifications: Add settings to control the visibility of weight/dimensions/attribute. [#57387](https://github.com/woocommerce/woocommerce/pull/57387) * Add - Restrict blueprint imports to coming soon mode [#57344](https://github.com/woocommerce/woocommerce/pull/57344) * Add - Show a notification when there is a mismatch in WooCommerce.com connection URL [#56327](https://github.com/woocommerce/woocommerce/pull/56327) * Add - Improve the NOX test account step by animating the progress bar during the initialization phase [#58269](https://github.com/woocommerce/woocommerce/pull/58269) * Update - Form updates to validation rules and styling fixes for offline payment method forms. [#58157](https://github.com/woocommerce/woocommerce/pull/58157) * Update - Removing subheading from offline payments management page. [#58157](https://github.com/woocommerce/woocommerce/pull/58157) * Update - Update MailPoet and Klaviyo variant assignment to 50/50 split. This change updates the visibility configuration for MailPoet and Klaviyo plugins to create an equal 50/50 split in visibility, replacing the previous 70/30 split configuration. [#58071](https://github.com/woocommerce/woocommerce/pull/58071) * Update - Update minimum supported WordPress version to 6.7 [#58219](https://github.com/woocommerce/woocommerce/pull/58219) * Update - Updates viva.com support and docs URLs in our payment suggestions. [#58112](https://github.com/woocommerce/woocommerce/pull/58112) * Update - Marketplace: update in app banner link targets. [#57771](https://github.com/woocommerce/woocommerce/pull/57771) * Update - Accept the "created_via" param to the "POST /orders" endpoint. [#57225](https://github.com/woocommerce/woocommerce/pull/57225) * Update - Added `__nextHasNoMarginBottom` prop to various WordPress components and updated styling to support WordPress 6.7+ margin style changes. [#56257](https://github.com/woocommerce/woocommerce/pull/56257) * Update - Add grouped product context to Blockified Add to Cart with Options when block is rendered in the Editor outside of a product. [#57690](https://github.com/woocommerce/woocommerce/pull/57690) * Update - Add product filter rating block to the ancestors list of checkbox list block [#57680](https://github.com/woocommerce/woocommerce/pull/57680) * Update - Add support for the Cost of Goods Sold value in product CSV import/export [#56265](https://github.com/woocommerce/woocommerce/pull/56265) * Update - Adjustments to the COGS edition in the product editor [#56103](https://github.com/woocommerce/woocommerce/pull/56103) * Update - Blueprint: Add back settings override warning modal. [#56146](https://github.com/woocommerce/woocommerce/pull/56146) * Update - Blueprint: Lists non-active themes and plugins. [#56141](https://github.com/woocommerce/woocommerce/pull/56141) * Update - Blueprint: Removed unused files. [#56815](https://github.com/woocommerce/woocommerce/pull/56815) * Update - Blueprint: replace 'Themes' icon and updated styles for the uploaded filename box. [#56411](https://github.com/woocommerce/woocommerce/pull/56411) * Update - CYS: Remove AI flow JS code. [#57564](https://github.com/woocommerce/woocommerce/pull/57564) * Update - CYS: Remove AI Flow PHP code [#57575](https://github.com/woocommerce/woocommerce/pull/57575) * Update - Deprecate __internalSetExtensionData in favor of setExtensionData [#56316](https://github.com/woocommerce/woocommerce/pull/56316) * Update - Dsiable blueprint cancel button during import [#57808](https://github.com/woocommerce/woocommerce/pull/57808) * Update - Enable new email templates for existing stores without email customization [#57896](https://github.com/woocommerce/woocommerce/pull/57896) * Update - Enable shop managers to create new customer accounts via the REST API, but not other types of user accounts [#56816](https://github.com/woocommerce/woocommerce/pull/56816) * Update - Extract query loop product context validation into reusable hook. [#56431](https://github.com/woocommerce/woocommerce/pull/56431) * Update - Fixed issue where the blockified template was showing the post title and excerpt for password-protected products. [#57437](https://github.com/woocommerce/woocommerce/pull/57437) * Update - Harden draft order registration so it's always required for payment. [#56368](https://github.com/woocommerce/woocommerce/pull/56368) * Update - Hide blueprint import section for users without import capability [#57631](https://github.com/woocommerce/woocommerce/pull/57631) * Update - Hide email design settings in the email settings page when the email editor is enabled [#56828](https://github.com/woocommerce/woocommerce/pull/56828) * Update - Highlighted the Products > All Products tab, when viewing the Product Import/Export screens. [#57877](https://github.com/woocommerce/woocommerce/pull/57877) * Update - Implement event tracking and fix error reporting for blueprint [#57336](https://github.com/woocommerce/woocommerce/pull/57336) * Update - Improve colors of the shipping option card [#56244](https://github.com/woocommerce/woocommerce/pull/56244) * Update - Include coupon code in error messages [#56488](https://github.com/woocommerce/woocommerce/pull/56488) * Update - Introduce new component to manage offline methods bank accounts. [#57379](https://github.com/woocommerce/woocommerce/pull/57379) * Update - Logs error if $limit isnt numeric and avoids a fatal error by returning an empty array [#56790](https://github.com/woocommerce/woocommerce/pull/56790) * Update - Make the email editor feature switch visible in the UI [#56821](https://github.com/woocommerce/woocommerce/pull/56821) * Update - Merge products congrats prompt to survey prompt [#56388](https://github.com/woocommerce/woocommerce/pull/56388) * Update - Move marketplace banner to main WC Admin layout component to ensure it always appear at the top of the page. [#57857](https://github.com/woocommerce/woocommerce/pull/57857) * Update - Prevent WC_Order_Item from being instantiated with an ID directly. [#57259](https://github.com/woocommerce/woocommerce/pull/57259) * Update - Product Collection: enable/disable client-side navigation based on supports.interactivity [#57038](https://github.com/woocommerce/woocommerce/pull/57038) * Update - Product Elements - Title: Migrate block to block.json definition [#56889](https://github.com/woocommerce/woocommerce/pull/56889) * Update - Product Gallery: display all the Thumbnails and make them scrollable [#56069](https://github.com/woocommerce/woocommerce/pull/56069) * Update - Product Gallery: handle active thumbnail and update styling [#57195](https://github.com/woocommerce/woocommerce/pull/57195) * Update - Product Gallery: hide Next/Prev buttons on mobile [#57277](https://github.com/woocommerce/woocommerce/pull/57277) * Update - Product Gallery: Make Thumbnails gradient color-agnostic [#57367](https://github.com/woocommerce/woocommerce/pull/57367) * Update - Product Gallery: remove alignment options from Next/Prev buttons and center them by default [#57092](https://github.com/woocommerce/woocommerce/pull/57092) * Update - Product Gallery: remove Gallery Area and add layout options to Product Gallery container [#57386](https://github.com/woocommerce/woocommerce/pull/57386) * Update - Product Gallery: removes pager. [#56235](https://github.com/woocommerce/woocommerce/pull/56235) * Update - Product Gallery: Remove unnecessary group block [#57134](https://github.com/woocommerce/woocommerce/pull/57134) * Update - Product Gallery: revamp Next/Prev arrows UI [#57135](https://github.com/woocommerce/woocommerce/pull/57135) * Update - Products (Beta): Remove obsolete feedback form from inspector controls [#57043](https://github.com/woocommerce/woocommerce/pull/57043) * Update - Product SKU: Migrate it to block.json [#56721](https://github.com/woocommerce/woocommerce/pull/56721) * Update - Products On Sale: migrate block to block.json [#56956](https://github.com/woocommerce/woocommerce/pull/56956) * Update - Refactor product gallery to more easily introduce performance benefits [#55246](https://github.com/woocommerce/woocommerce/pull/55246) * Update - Reload order when adding an item via `add_order_item` ajax request before generating HTML fragments [#56258](https://github.com/woocommerce/woocommerce/pull/56258) * Update - Remove a/b test logic for new payment settings page, enable the page by default. [#57063](https://github.com/woocommerce/woocommerce/pull/57063) * Update - Remove deprecated Note type 'email' and merchant note email mechanism. [#55660](https://github.com/woocommerce/woocommerce/pull/55660) * Update - Remove redundant frontend files from "Add to cart with options" inner blocks. [#57234](https://github.com/woocommerce/woocommerce/pull/57234) * Update - Removing blueprint ZIP export functionality and related classes. [#57219](https://github.com/woocommerce/woocommerce/pull/57219) * Update - Rename "Shopper" to "Customer" in personalization tags and introduce additional personalization tags for Customer Country, Order Date, Order Items, Order Subtotal, Order Tax, Order Total, Payment Method, Payment URL, Store URL, Store Name, Store Address. [#57479](https://github.com/woocommerce/woocommerce/pull/57479) * Update - Replaced HPOS Custom Fields select box for existing meta keys to load asynchronously to improve performance. [#55136](https://github.com/woocommerce/woocommerce/pull/55136) * Update - Reviews blocks: migrate blocks to block.json [#56898](https://github.com/woocommerce/woocommerce/pull/56898) * Update - Show a confirmation dialog before activating the plugin when connecting a subscription to WooCommerce.com [#56647](https://github.com/woocommerce/woocommerce/pull/56647) * Update - Show compact product cards under Discover, Curated picks for your store section. [#57672](https://github.com/woocommerce/woocommerce/pull/57672) * Update - Show refunds in the order preview popup in admin [#57709](https://github.com/woocommerce/woocommerce/pull/57709) * Update - Skip E2E test which checkes for registered product blocks in the all templates data view [#57311](https://github.com/woocommerce/woocommerce/pull/57311) * Update - Specify blocks compatibility with iAPI via supports.interactivity property [#56661](https://github.com/woocommerce/woocommerce/pull/56661) * Update - Substract the cost of refunded items when calculating COGS for an order [#57838](https://github.com/woocommerce/woocommerce/pull/57838) * Update - Support `order` property from the free extensions feed. [#56233](https://github.com/woocommerce/woocommerce/pull/56233) * Update - Update @wordpress/components and @wordpress/server-side-render dependencies in block package. [#56668](https://github.com/woocommerce/woocommerce/pull/56668) * Update - Update blueprint learn more button link [#57444](https://github.com/woocommerce/woocommerce/pull/57444) * Update - Update core-profiler to eliminate the use of option store and eliminate the outdated fields from the onboarding API [#56578](https://github.com/woocommerce/woocommerce/pull/56578) * Update - Updated delivery selector styling on block checkout to improve spacing. [#56789](https://github.com/woocommerce/woocommerce/pull/56789) * Update - Updated HPOS Datastore Caching feature from an alpha to beta feature. [#57096](https://github.com/woocommerce/woocommerce/pull/57096) * Update - Update experimental blockified product details block to support alignment, and to limit the context in which it can be used. [#56489](https://github.com/woocommerce/woocommerce/pull/56489) * Update - Update new Settings to use @automattic/site-admin's router instead of Gutenberg [#56246](https://github.com/woocommerce/woocommerce/pull/56246) * Update - Update offline methods pages to use new Reactified pages when using new payment settings experience. [#56985](https://github.com/woocommerce/woocommerce/pull/56985) * Update - Update Product Stock Indicator block description to explain that the block is hidden when products are in stock. [#57304](https://github.com/woocommerce/woocommerce/pull/57304) * Update - Updates to tracking event upon payment method selection. [#57829](https://github.com/woocommerce/woocommerce/pull/57829) * Update - Update tooltips on the Payments Settings page to work on click instead of hover [#57856](https://github.com/woocommerce/woocommerce/pull/57856) * Update - Use only wp options table for saving WooCommerce email type - email editor post association [#57532](https://github.com/woocommerce/woocommerce/pull/57532) * Update - Remove unused woocommerce_product_availability filter [#58391](https://github.com/woocommerce/woocommerce/pull/58391) * Update - Show db update nudge when auto updates fail. [#58325](https://github.com/woocommerce/woocommerce/pull/58325) * Dev - CI: remove release-checks jobs [#58235](https://github.com/woocommerce/woocommerce/pull/58235) * Dev - Introduce a new /clean endpoint and update the server implementation for other steps. [#58068](https://github.com/woocommerce/woocommerce/pull/58068) * Dev - Remove the feature flag and bake in the new Payments Settings page. [#58153](https://github.com/woocommerce/woocommerce/pull/58153) * Dev - Added saveAdminPage e2e util [#57316](https://github.com/woocommerce/woocommerce/pull/57316) * Dev - Add email preview usage tracking [#57636](https://github.com/woocommerce/woocommerce/pull/57636) * Dev - Blocks: fix integration test framework. [#57458](https://github.com/woocommerce/woocommerce/pull/57458) * Dev - CI: add missing locations specs for core jobs (blocks related). [#57241](https://github.com/woocommerce/woocommerce/pull/57241) * Dev - CI: cumulative fixes for CI-workflow. [#56917](https://github.com/woocommerce/woocommerce/pull/56917) * Dev - CI: fix CI-workflow failures on tagging caused by wp-env overrides. [#56098](https://github.com/woocommerce/woocommerce/pull/56098) * Dev - CI: fix failing blocks E2E tests dependencies setup. [#57553](https://github.com/woocommerce/woocommerce/pull/57553) * Dev - CI: PHP 8.2 environment for PHP tests. [#56866](https://github.com/woocommerce/woocommerce/pull/56866) * Dev - CI: randomize wp-env test containers ports when running tests. [#57151](https://github.com/woocommerce/woocommerce/pull/57151) * Dev - CI: revisit CI-workflow jobs configuration (refine multiple heavy jobs start conditions). [#56892](https://github.com/woocommerce/woocommerce/pull/56892) * Dev - CI: skip running core API tests for changes in JS dependencies. [#56864](https://github.com/woocommerce/woocommerce/pull/56864) * Dev - CI: skip running core PHP tests for changes in JS dependencies. [#56854](https://github.com/woocommerce/woocommerce/pull/56854) * Dev - Clean up and update @wordpress/e2e-* dependencies to wp-6.8 [#56369](https://github.com/woocommerce/woocommerce/pull/56369) * Dev - Consolidate the `isBlockTheme` setting to replace `isBlockThemeEnabled`. [#56504](https://github.com/woocommerce/woocommerce/pull/56504) * Dev - Deprecated wc_current_theme_is_fse_theme() [#56747](https://github.com/woocommerce/woocommerce/pull/56747) * Dev - dev: consider PLUGIN_SLUG in the test:plugincheck script [#57119](https://github.com/woocommerce/woocommerce/pull/57119) * Dev - dev: remove unused dev depencency @woocommerce/woocommerce-rest-api [#56203](https://github.com/woocommerce/woocommerce/pull/56203) * Dev - dev: update CI jobs config to include more e2e checks [#55958](https://github.com/woocommerce/woocommerce/pull/55958) * Dev - dev: update ci josb config [#55868](https://github.com/woocommerce/woocommerce/pull/55868) * Dev - dev: update release checks workflows [#56366](https://github.com/woocommerce/woocommerce/pull/56366) * Dev - E2E tests: enhance email settings test to verify success message after saving settings [#56804](https://github.com/woocommerce/woocommerce/pull/56804) * Dev - E2E tests: fix checkout spec fixture failing on first run [#56800](https://github.com/woocommerce/woocommerce/pull/56800) * Dev - E2E tests: fix install wc and reset site setup steps [#56211](https://github.com/woocommerce/woocommerce/pull/56211) * Dev - E2E tests: improve page-loads checks with more robust locators [#57863](https://github.com/woocommerce/woocommerce/pull/57863) * Dev - E2E tests: improve test stability [#56784](https://github.com/woocommerce/woocommerce/pull/56784) * Dev - E2E tests: refactor usage of the api client [#56156](https://github.com/woocommerce/woocommerce/pull/56156) * Dev - E2E tests: remove conversion of cart and checkout pages to shortcode [#56208](https://github.com/woocommerce/woocommerce/pull/56208) * Dev - E2E tests: stabilize product-tags-attributes spec [#56387](https://github.com/woocommerce/woocommerce/pull/56387) * Dev - E2E tests: stabilize product review checks [#56349](https://github.com/woocommerce/woocommerce/pull/56349) * Dev - end-to-end tests to verify the proper registration and visibility of WooCommerce blocks registered via registerProductBlockType in the data views screen [#56759](https://github.com/woocommerce/woocommerce/pull/56759) * Dev - Enhance legacy API options documentation and permissions handling [#56348](https://github.com/woocommerce/woocommerce/pull/56348) * Dev - Ensure that Product Description block does not attempt to load assets it does not have. [#56886](https://github.com/woocommerce/woocommerce/pull/56886) * Dev - Exclude block pattern template files from unit tests [#56227](https://github.com/woocommerce/woocommerce/pull/56227) * Dev - Fix blocks registration on test env. [#57526](https://github.com/woocommerce/woocommerce/pull/57526) * Dev - Fix e2e test `onboarding/add-product-task.spec.js` on WPCOM and Pressable. [#56890](https://github.com/woocommerce/woocommerce/pull/56890) * Dev - Fix typo in code comment [#56817](https://github.com/woocommerce/woocommerce/pull/56817) * Dev - Fix `settings-crud` API test on Pressable and WPCOM. [#56750](https://github.com/woocommerce/woocommerce/pull/56750) * Dev - Improve WooPayments onboarding experiment error handling using a transient to store the API response in case of an error. [#56174](https://github.com/woocommerce/woocommerce/pull/56174) * Dev - Introduce AbstractInteractiveBlock class with improved script module support. [#56758](https://github.com/woocommerce/woocommerce/pull/56758) * Dev - Mark failing Cart and Checkout E2E tests as `fixme`. [#56517](https://github.com/woocommerce/woocommerce/pull/56517) * Dev - Merge Blocks Library into WooCommerce plugin [#54911](https://github.com/woocommerce/woocommerce/pull/54911) * Dev - Migrate from React RC types to direct React Props types with jscodeshift codemod [#56594](https://github.com/woocommerce/woocommerce/pull/56594) * Dev - Migrations: move blocks migrations to core. [#56734](https://github.com/woocommerce/woocommerce/pull/56734) * Dev - Monorepo: add changes linting on git-push in order to reduce a bit pressure on CI. [#56962](https://github.com/woocommerce/woocommerce/pull/56962) * Dev - Monorepo: consolidate @babel/* dependencies versions across the monorepo. [#56575](https://github.com/woocommerce/woocommerce/pull/56575) * Dev - Monorepo: consolidate @wordpress/babel-preset-default, @wordpress/browserslist-config, glob packages versions. [#56392](https://github.com/woocommerce/woocommerce/pull/56392) * Dev - Monorepo: ensure monorepo packages are linked via workspace-version of the dependencies. [#56238](https://github.com/woocommerce/woocommerce/pull/56238) * Dev - Monorepo: manage @wordpress/dependency-extraction-webpack-plugin version via syncpack [#54767](https://github.com/woocommerce/woocommerce/pull/54767) * Dev - Monorepo: partially fix OOM errors when building core zip-file in some environments [#57079](https://github.com/woocommerce/woocommerce/pull/57079) * Dev - Monorepo: pre-push linting improvements (additional output and linting speed for blocks/admin packages). [#57338](https://github.com/woocommerce/woocommerce/pull/57338) * Dev - Monorepo: used babel transforms cleanup. [#56486](https://github.com/woocommerce/woocommerce/pull/56486) * Dev - Monorepo: Webpack deps review and consolidation and a bit of deps grooming [#56746](https://github.com/woocommerce/woocommerce/pull/56746) * Dev - Monorepo: wrap up babel deps consolidation. [#56637](https://github.com/woocommerce/woocommerce/pull/56637) * Dev - Move blocks supports to block.json [#56976](https://github.com/woocommerce/woocommerce/pull/56976) * Dev - Move blueprint package to plugins/woocommerce/packages and enable core watch to sync directory changes. [#57842](https://github.com/woocommerce/woocommerce/pull/57842) * Dev - Move deprecated functions to wc-deprecated-functions.php [#57250](https://github.com/woocommerce/woocommerce/pull/57250) * Dev - Product filters are no longer experimental. [#56143](https://github.com/woocommerce/woocommerce/pull/56143) * Dev - registerProductBlockType: Re-enable the test for block visibility after addressing flakiness. [#57325](https://github.com/woocommerce/woocommerce/pull/57325) * Dev - Remove blocks.ini from `@woocommerce/block-library` [#56515](https://github.com/woocommerce/woocommerce/pull/56515) * Dev - Remove composer from Blocks (changelogger, phpunit & phpcs) [#56195](https://github.com/woocommerce/woocommerce/pull/56195) * Dev - Remove concept of `isExperimental` from blocks `webpack-entries`. [#56627](https://github.com/woocommerce/woocommerce/pull/56627) * Dev - Remove conditional registration of blocks via `isExperimentalBlocksEnabled` [#56628](https://github.com/woocommerce/woocommerce/pull/56628) * Dev - Remove deprecated `@types/wordpress__core-data` [#56386](https://github.com/woocommerce/woocommerce/pull/56386) * Dev - Remove unusued version field from block.json blocks definition [#57033](https://github.com/woocommerce/woocommerce/pull/57033) * Dev - Remove `@woocommerce/interactivity`. Migrate remaining blocks to `@wordpress/interactivity` [#55949](https://github.com/woocommerce/woocommerce/pull/55949) * Dev - Reset analytics settings to defaults as a setup step in analytics-data.spec.js. [#56697](https://github.com/woocommerce/woocommerce/pull/56697) * Dev - Unskip and fix tests skipped in https://github.com/woocommerce/woocommerce/pull/56517 [#56680](https://github.com/woocommerce/woocommerce/pull/56680) * Dev - Update email editor assets file path [#56161](https://github.com/woocommerce/woocommerce/pull/56161) * Dev - Update items store import to use `itemsStore` from `@woocommerce/data` [#56424](https://github.com/woocommerce/woocommerce/pull/56424) * Dev - Update reports store import to use `reportsStore` from `@woocommerce/data` [#56421](https://github.com/woocommerce/woocommerce/pull/56421) * Dev - Update the document describing the WooCommerce git flow [#55973](https://github.com/woocommerce/woocommerce/pull/55973) * Dev - Fix broken styles on recommended payment methods step on Atomic sites. [#58269](https://github.com/woocommerce/woocommerce/pull/58269) * Dev - Initialize payment gateway logic for WooPayments API actions. [#58269](https://github.com/woocommerce/woocommerce/pull/58269) * Dev - Remove the duplicate “Activate Payments” screens in NOX In-context flow. [#58269](https://github.com/woocommerce/woocommerce/pull/58269) * Tweak - Add a composite index to wc_order_product_lookup to improve the response time of some queries [#53940](https://github.com/woocommerce/woocommerce/pull/53940) * Tweak - Adjust irish eircode to be mandatory [#56292](https://github.com/woocommerce/woocommerce/pull/56292) * Tweak - Always render the Advanced tat as the last tab. [#56531](https://github.com/woocommerce/woocommerce/pull/56531) * Tweak - Blueprint: Reduce layout shift by setting min-height on the slotfill container. [#56187](https://github.com/woocommerce/woocommerce/pull/56187) * Tweak - Blueprint: Removed the fallback link: 'Click here in case the download does not start automatically.' [#56139](https://github.com/woocommerce/woocommerce/pull/56139) * Tweak - Blueprint: updated item count dynamic and reset the uploader after successful import [#56612](https://github.com/woocommerce/woocommerce/pull/56612) * Tweak - E2E test: Use a different selector based on the WordPress version. [#57626](https://github.com/woocommerce/woocommerce/pull/57626) * Tweak - Ensure item name filtering via woocommerce_order_item_name works in includes/admin/meta-boxes/views/html-order-item.php [#41041](https://github.com/woocommerce/woocommerce/pull/41041) * Tweak - Ensure related products are always an array in `wc_get_related_products` function. [#57466](https://github.com/woocommerce/woocommerce/pull/57466) * Tweak - Fix a typo in CLIRunner description [#49391](https://github.com/woocommerce/woocommerce/pull/49391) * Tweak - Fix positioning of title of the disconnect modal [#56379](https://github.com/woocommerce/woocommerce/pull/56379) * Tweak - Improve error logging if embedded onboarding initialization fails. [#57782](https://github.com/woocommerce/woocommerce/pull/57782) * Tweak - Improve how we detect the database version, for better compatibility with MariaDB. [#35324](https://github.com/woocommerce/woocommerce/pull/35324) * Tweak - Mark the WPCOM connect button as busy and disabled when clicked. [#57688](https://github.com/woocommerce/woocommerce/pull/57688) * Tweak - Patterns: remove AI-related logic. [#57581](https://github.com/woocommerce/woocommerce/pull/57581) * Tweak - Product Filters: add some data validation and type guard for filter data. [#57872](https://github.com/woocommerce/woocommerce/pull/57872) * Tweak - Product Gallery ( Beta ): migrates thumbnails to iAPI and simplifies the code. [#56291](https://github.com/woocommerce/woocommerce/pull/56291) * Tweak - Refactored action scheduler to use get_next() instead of search() to find next scheduled action for deleting product transients [#57630](https://github.com/woocommerce/woocommerce/pull/57630) * Tweak - Remove for testing purposes only from the description of the Cost of Goods Sold feature [#57907](https://github.com/woocommerce/woocommerce/pull/57907) * Tweak - Remove spurious apostrophe in approved_directory_enabled input [#56088](https://github.com/woocommerce/woocommerce/pull/56088) * Tweak - Skip a flaky test for core analytics sync order product refunds [#56362](https://github.com/woocommerce/woocommerce/pull/56362) * Tweak - Small copy change to the blueprints exporter text [#56658](https://github.com/woocommerce/woocommerce/pull/56658) * Tweak - Tweak NOX Settings > Payments layout by adjusting navigation and button borders [#57814](https://github.com/woocommerce/woocommerce/pull/57814) * Tweak - Update email text not to imply physical package delivery for processing or completed orders [#57560](https://github.com/woocommerce/woocommerce/pull/57560) * Tweak - Update Product Brands template name from 'Taxonomy Product Brand' to 'Products by Brand' [#57904](https://github.com/woocommerce/woocommerce/pull/57904) * Tweak - Update settings page design * Lighter background color * Button style changes * Removed activity, finish setup, and help buttons [#55943](https://github.com/woocommerce/woocommerce/pull/55943) * Tweak - Update some queries for better linter compliance. [#57691](https://github.com/woocommerce/woocommerce/pull/57691) * Performance - Improve how available variations are fetched in ProductAvailabilityUtils and introduce has_available_variations function. [#58185](https://github.com/woocommerce/woocommerce/pull/58185) * Performance - Added caching to Tax Onboarding Task. [#56089](https://github.com/woocommerce/woocommerce/pull/56089) * Performance - Avoid initializing block pattern PHP classes unnecessarily in the frontend [#56642](https://github.com/woocommerce/woocommerce/pull/56642) * Performance - Cache order counts for use in the admin [#54034](https://github.com/woocommerce/woocommerce/pull/54034) * Performance - Limit clearing of wc_count_comments transient to applicable comments. [#54984](https://github.com/woocommerce/woocommerce/pull/54984) * Performance - Optimize product query for product creation task on page load [#55872](https://github.com/woocommerce/woocommerce/pull/55872) * Performance - Performance: introduce pending product reviews counter caching for better admin performance. [#56215](https://github.com/woocommerce/woocommerce/pull/56215) * Performance - Performance: rework unregistered statuses population to avoid heavy DB-query on admin pages. [#55916](https://github.com/woocommerce/woocommerce/pull/55916) * Performance - Product Gallery ( Beta ): Lazy loads images. [#56512](https://github.com/woocommerce/woocommerce/pull/56512) * Performance - Product Gallery: improve loading time and remove layout shift when loading the block [#57519](https://github.com/woocommerce/woocommerce/pull/57519) * Performance - Product Gallery: remove custom registration mechanism impacting Editor's performance [#56459](https://github.com/woocommerce/woocommerce/pull/56459) * Performance - Refresh expensive order count queries in the background [#56380](https://github.com/woocommerce/woocommerce/pull/56380) * Performance - Remove pending sync order count when no sync is in progress [#56186](https://github.com/woocommerce/woocommerce/pull/56186) * Performance - Split low stock count query for custom stock into two queries to improve performance. [#57852](https://github.com/woocommerce/woocommerce/pull/57852) * Performance - Update sitewide stock query to account for empty string and values that are same as sitewide threshold. [#57881](https://github.com/woocommerce/woocommerce/pull/57881) * Performance - Use a simplified query to generate the options in the months filter dropdown on the Orders list table. [#55510](https://github.com/woocommerce/woocommerce/pull/55510) * Performance - Use as_has_scheduled_action() if function exists when scheduling DraftOrders clean up. [#56532](https://github.com/woocommerce/woocommerce/pull/56532) * Performance - WooCommerce status widget on dashboard now loads async [#56039](https://github.com/woocommerce/woocommerce/pull/56039) * Enhancement - List Square as a recommended provider for merchants selling offline in supported regions. [#58070](https://github.com/woocommerce/woocommerce/pull/58070) * Enhancement - Add "Filter by sales channel" to the admin Orders page. [#57273](https://github.com/woocommerce/woocommerce/pull/57273) * Enhancement - Add $email_object to the woocommerce_email_preview_placeholders filter [#57272](https://github.com/woocommerce/woocommerce/pull/57272) * Enhancement - Add permission validation for import steps [#57294](https://github.com/woocommerce/woocommerce/pull/57294) * Enhancement - Adds a filter to customise Core report email labels. [#56391](https://github.com/woocommerce/woocommerce/pull/56391) * Enhancement - Add supports.ariaLabel to Featured Category/Products block.json [#55351](https://github.com/woocommerce/woocommerce/pull/55351) * Enhancement - Allow customer's email in billing address in order emails to break line when too long [#57448](https://github.com/woocommerce/woocommerce/pull/57448) * Enhancement - Allowing password reset in a Multisite Network even if the user is not part of the current blog. [#57242](https://github.com/woocommerce/woocommerce/pull/57242) * Enhancement - Allow saving cards if a guest customer is also creating an account. [#57834](https://github.com/woocommerce/woocommerce/pull/57834) * Enhancement - Announce product results count when page loads or pagination changes [#55338](https://github.com/woocommerce/woocommerce/pull/55338) * Enhancement - Code refactor and improvements in styles in email content captured for usage in block based emails [#56199](https://github.com/woocommerce/woocommerce/pull/56199) * Enhancement - Enhance Blueprint import notifications [#57613](https://github.com/woocommerce/woocommerce/pull/57613) * Enhancement - Enhance Product Image block with aspect ratio support. [#56991](https://github.com/woocommerce/woocommerce/pull/56991) * Enhancement - Fix incorrect loading animation in Add to Cart with Options block by adding isStatic prop to Skeleton component [#57740](https://github.com/woocommerce/woocommerce/pull/57740) * Enhancement - Improve accessibility of the remove coupon link on Cart Totals [#56875](https://github.com/woocommerce/woocommerce/pull/56875) * Enhancement - Improved the Marketing > Coupons > Usage Restrictions tab to clarify fields relationship [#57906](https://github.com/woocommerce/woocommerce/pull/57906) * Enhancement - Improve messaging when email preview rendering fails [#56242](https://github.com/woocommerce/woocommerce/pull/56242) * Enhancement - Improve Product Filters block accessibility with proper heading hierarchy and ARIA labels. [#57077](https://github.com/woocommerce/woocommerce/pull/57077) * Enhancement - Improve store demo notice accessibility [#55494](https://github.com/woocommerce/woocommerce/pull/55494) * Enhancement - Introduce "__experimental_woocommerce_{$product_type}_add_to_cart_with_options_block_template_part" filter for front end rendering of custom product types in the add to cart with options block. [#56799](https://github.com/woocommerce/woocommerce/pull/56799) * Enhancement - Introduce conditional visibility and validation to Checkout additional fields. [#56505](https://github.com/woocommerce/woocommerce/pull/56505) * Enhancement - Make tab elements as direct children of tablist in product page [#56119](https://github.com/woocommerce/woocommerce/pull/56119) * Enhancement - Make the scripts that initialize the meta boxes on the Edit Order screen accessible to third parties [#55508](https://github.com/woocommerce/woocommerce/pull/55508) * Enhancement - Move generateUniqueId to @woocommerce/utils package. [#57240](https://github.com/woocommerce/woocommerce/pull/57240) * Enhancement - Perform database updates automatically by default. [#54384](https://github.com/woocommerce/woocommerce/pull/54384) * Enhancement - Product Filters iAPI: Convert multiple stores into an unified store. [#56256](https://github.com/woocommerce/woocommerce/pull/56256) * Enhancement - Product filters legacy migration [#55987](https://github.com/woocommerce/woocommerce/pull/55987) * Enhancement - Product Gallery (Beta): add preview for "On-Sale Badge" block. [#56338](https://github.com/woocommerce/woocommerce/pull/56338) * Enhancement - Update blueprint feature to only display WordPress.org plugins [#57807](https://github.com/woocommerce/woocommerce/pull/57807) * Enhancement - Update Quantity Selector and Grouped Product Selector Item CTA blocks to have only Stepper mode. [#57442](https://github.com/woocommerce/woocommerce/pull/57442) * Enhancement - Update styles of Download section in order email [#57785](https://github.com/woocommerce/woocommerce/pull/57785) * Enhancement - Resolved issue where KYC data was not prefilled in the NOX In-Context onboarding flow. [#58269](https://github.com/woocommerce/woocommerce/pull/58269) = 9.8.5 2025-05-12 = **WooCommerce** * Fix - Address PHP 8.4 deprecation warnings. [#57864](https://github.com/woocommerce/woocommerce/pull/57864) * Fix - Allow other protocols such as S3 for file paths in CSV importer [#57465](https://github.com/woocommerce/woocommerce/pull/57465) * Fix - Apply reactify-payments-settings class to the page body when the feature is active. [#57618](https://github.com/woocommerce/woocommerce/pull/57618) * Fix - Fix backward compatibility for individual gateway settings pages/sections to display notices and sections with the new Reactified Payments Settings page. [#57618](https://github.com/woocommerce/woocommerce/pull/57618) * Fix - Prevent PHP notice in transient cleanup. [#57679](https://github.com/woocommerce/woocommerce/pull/57679) * Fix - Prevent shipping rates remaining hidden when checkout fields filtered to be optional are not filled on classic checkout. [#57674](https://github.com/woocommerce/woocommerce/pull/57674) * Fix - PTK Pattern: improve guard [#57847](https://github.com/woocommerce/woocommerce/pull/57847) * Fix - Remove the section navigation for the offline payment methods settings pages. [#57748](https://github.com/woocommerce/woocommerce/pull/57748) * Add - Use wc_back_header function for tertiary+ level pages in WooCommerce settings. [#57618](https://github.com/woocommerce/woocommerce/pull/57618) * Update - Allow WooPayments to take over Payments menu item only if WooPayments is fully onboarded. [#57618](https://github.com/woocommerce/woocommerce/pull/57618) * Update - Improve WooPayments incentive handling. [#57618](https://github.com/woocommerce/woocommerce/pull/57618) * Update - Update popover interaction from hover to click [#57618](https://github.com/woocommerce/woocommerce/pull/57618) * Update - Update the payments extensions official badge icon. [#57714](https://github.com/woocommerce/woocommerce/pull/57714) * Dev - E2E tests: enhance shipping zones test [#56786](https://github.com/woocommerce/woocommerce/pull/56786) * Tweak - The new Payments Settings page is now enabled by default for all stores, new and existing. [#57614](https://github.com/woocommerce/woocommerce/pull/57614) * Tweak - Update recurring payments icon on the new settings page. [#57618](https://github.com/woocommerce/woocommerce/pull/57618) = 9.8.4 2025-05-06 = **WooCommerce** * Fix - PTK Pattern: Ensure that fatal is not triggered if categories is null. [#57759](https://github.com/woocommerce/woocommerce/pull/57759) = 9.8.3 2025-04-30 = **WooCommerce** * Fix - Add static cache and queue search to prevent duplicate scheduling of the wc_delete_related_product_transients_async action in wc_delete_product_transients(). [#57592](https://github.com/woocommerce/woocommerce/pull/57592) * Fix - Don't run postcode validation for hidden postcodes. [#57594](https://github.com/woocommerce/woocommerce/pull/57594) = 9.8.2 2025-04-22 = **WooCommerce** * Fix - Fix coming soon breaks other page [#57216](https://github.com/woocommerce/woocommerce/pull/57216) * Fix - Fix deprecated function WCAdminHelper::is_store_page() used [#57169](https://github.com/woocommerce/woocommerce/pull/57169) * Fix - Fix implicitly nullable parameters deprecation warnings in PluginsHelper and CheckoutSchema [#57212](https://github.com/woocommerce/woocommerce/pull/57212) * Fix - Fix issue in which client side validation in checkout didn't work. [#57278](https://github.com/woocommerce/woocommerce/pull/57278) * Fix - Fix undefined variable warning when saving billing address. [#57189](https://github.com/woocommerce/woocommerce/pull/57189) * Fix - Fix wc admin scripts loading on unrelated WP admin pages [#57186](https://github.com/woocommerce/woocommerce/pull/57186) * Fix - Store API - Move cart init and validation back within checkout route to avoid loading early. [#57255](https://github.com/woocommerce/woocommerce/pull/57255) * Update - Merge legacy cart and block based cart shipping calculation methods to ensure shipping calculations happen only when a full address has been provided. [#57176](https://github.com/woocommerce/woocommerce/pull/57176) * Fix - Restore default margin in Product Collection block navigation links. [#57275](https://github.com/woocommerce/woocommerce/pull/57275) = 9.8.1 2025-04-09 = **WooCommerce** * Fix - Fix a bug in which having 2x of a sold individually item in cart would throw a fatal. [#57070](https://github.com/woocommerce/woocommerce/pull/57070) * Dev - Fix flakiness in `product/product-edit.spec.js` [#56900](https://github.com/woocommerce/woocommerce/pull/56900) = 9.8.0 2025-04-07 = **WooCommerce** * Fix - Add check to ensure the product variable is a WC_Product before using it. [#55243](https://github.com/woocommerce/woocommerce/pull/55243) * Fix - Add defensive check to ensure the product object exists in items in the cart session [#55263](https://github.com/woocommerce/woocommerce/pull/55263) * Fix - Added verification for variable product without a specified variation when programmatically calling add_to_cart() [#51583](https://github.com/woocommerce/woocommerce/pull/51583) * Fix - Adding a check for WP_Error and early exit. [#55035](https://github.com/woocommerce/woocommerce/pull/55035) * Fix - Add is_wp_error() check as the value to check can be a WP_Error [#54398](https://github.com/woocommerce/woocommerce/pull/54398) * Fix - Add rating stars as aria-describedby of product name [#54811](https://github.com/woocommerce/woocommerce/pull/54811) * Fix - Add sale price before regular price in structured data to better SEO [#55061](https://github.com/woocommerce/woocommerce/pull/55061) * Fix - Allow multisite admin to see payment suggestions [#55734](https://github.com/woocommerce/woocommerce/pull/55734) * Fix - Avoid a fatal error when trying to set an order status and the given status is not a valid type [#54861](https://github.com/woocommerce/woocommerce/pull/54861) * Fix - Avoid fatal error on `WC_Customer_Data_Store_Session`. [#54669](https://github.com/woocommerce/woocommerce/pull/54669) * Fix - Avoid fatal errors when calling "needs_payment" on the cart. [#54924](https://github.com/woocommerce/woocommerce/pull/54924) * Fix - Avoid fatal errors when the theme does not have a 404 page template. [#54927](https://github.com/woocommerce/woocommerce/pull/54927) * Fix - Change display password icon to the Dashicons version [#53060](https://github.com/woocommerce/woocommerce/pull/53060) * Fix - Check if $terms is an array before calling array_shift to prevent fatal errors. [#55286](https://github.com/woocommerce/woocommerce/pull/55286) * Fix - Check if `orderby` is an array before using it as a key to avoid a fatal error. [#55586](https://github.com/woocommerce/woocommerce/pull/55586) * Fix - Coding style fixes. [#54887](https://github.com/woocommerce/woocommerce/pull/54887) * Fix - Defensive `to array` type conversion. [#55006](https://github.com/woocommerce/woocommerce/pull/55006) * Fix - Delete all post-associated data when a post is deleted. [#55097](https://github.com/woocommerce/woocommerce/pull/55097) * Fix - Early exit in case of empty permalink. [#55005](https://github.com/woocommerce/woocommerce/pull/55005) * Fix - Ensure Customer Effort Score queue option value is an array when corrupted with a string. [#54701](https://github.com/woocommerce/woocommerce/pull/54701) * Fix - Ensure the `cost` key is always present in `get_local_pickup_settings` to prevent PHP warnings in the Checkout block. [#55004](https://github.com/woocommerce/woocommerce/pull/55004) * Fix - Expose Cart Token on CORS requests. [#55307](https://github.com/woocommerce/woocommerce/pull/55307) * Fix - fix(shipping-method-block): error state is not cleared on unmount [#54654](https://github.com/woocommerce/woocommerce/pull/54654) * Fix - Fix - Add defensive check to prevent fatal errors when accessing product gallery with invalid product context. [#55524](https://github.com/woocommerce/woocommerce/pull/55524) * Fix - Fix accessibility name for individual product checkboxes in the grouped product page [#51964](https://github.com/woocommerce/woocommerce/pull/51964) * Fix - Fix apostrophes not correctly rendered in Checkout block saved addresses [#55673](https://github.com/woocommerce/woocommerce/pull/55673) * Fix - Fix coming soon hooks to be after plugins_loaded hook [#55580](https://github.com/woocommerce/woocommerce/pull/55580) * Fix - Fixed bug preventing additional fields from being persisted to customer on account details edit. Implemented validation rules for additional checkout fields (behind feature flag). [#55047](https://github.com/woocommerce/woocommerce/pull/55047) * Fix - Fix email preview iframe overflow in Safari [#54838](https://github.com/woocommerce/woocommerce/pull/54838) * Fix - Fix email preview loaded twice on the manage email page [#55488](https://github.com/woocommerce/woocommerce/pull/55488) * Fix - Fixes exclusion of 'View' action by key instead of translated name in the `order-details.php` template. [#55197](https://github.com/woocommerce/woocommerce/pull/55197) * Fix - Fixes performance impact on failed API request for A/B test assignments. [#55981](https://github.com/woocommerce/woocommerce/pull/55981) * Fix - Fix failing ReviewsListTableTest::test_comments_bubble unit tests [#56003](https://github.com/woocommerce/woocommerce/pull/56003) * Fix - Fix features banner space and sticky issue [#55904](https://github.com/woocommerce/woocommerce/pull/55904) * Fix - Fix for additional features not being registered in WP CLI [#55303](https://github.com/woocommerce/woocommerce/pull/55303) * Fix - Fix for feature compatibility declarations happening too early [#55544](https://github.com/woocommerce/woocommerce/pull/55544) * Fix - Fix frontend metrics not being sent to codevitals [#55880](https://github.com/woocommerce/woocommerce/pull/55880) * Fix - Fix generating email preview of plain text emails [#54844](https://github.com/woocommerce/woocommerce/pull/54844) * Fix - Fix invalid content display in the default Refund and Returns Policy page template when viewed in the site editor. [#55527](https://github.com/woocommerce/woocommerce/pull/55527) * Fix - Fix loading email preview when email is registered with different key than the class name [#55870](https://github.com/woocommerce/woocommerce/pull/55870) * Fix - Fix missing "Coming Soon Social Links" template part for classic themes [#54624](https://github.com/woocommerce/woocommerce/pull/54624) * Fix - Fix missing placeholder image in email preview when file is deleted [#55759](https://github.com/woocommerce/woocommerce/pull/55759) * Fix - Fix script count test URL path and its expected count. [#55815](https://github.com/woocommerce/woocommerce/pull/55815) * Fix - Fix tax settings pagination blocking the UI and ensure design consistency. [#55485](https://github.com/woocommerce/woocommerce/pull/55485) * Fix - Fix the WooCommerce Blocks storybook build by updating the build aliases. [#55854](https://github.com/woocommerce/woocommerce/pull/55854) * Fix - Fix tracking reliability by ensuring store ID is always set [#55851](https://github.com/woocommerce/woocommerce/pull/55851) * Fix - Fix UI issues in email improvements feature [#55562](https://github.com/woocommerce/woocommerce/pull/55562) * Fix - Fix Warning for Empty Plugin File Name [#54661](https://github.com/woocommerce/woocommerce/pull/54661) * Fix - Fix white screen flash during Customize Your Store task loading transition. [#55528](https://github.com/woocommerce/woocommerce/pull/55528) * Fix - Improve color contrast of stars on All reviews block [#54859](https://github.com/woocommerce/woocommerce/pull/54859) * Fix - Improve how we show/hide shipping address at cart and checkout based on options. [#53466](https://github.com/woocommerce/woocommerce/pull/53466) * Fix - Improve new email rendering in older Outlooks [#55599](https://github.com/woocommerce/woocommerce/pull/55599) * Fix - Improve the parsing logic on the redirection controller [#55806](https://github.com/woocommerce/woocommerce/pull/55806) * Fix - Include pagination headers in shipping endpoints response. [#55110](https://github.com/woocommerce/woocommerce/pull/55110) * Fix - Long local pickup details text will truncate on all options after selecting. [#55502](https://github.com/woocommerce/woocommerce/pull/55502) * Fix - Make sure Square is shown for all merchants (online & in-person) where supported [#55300](https://github.com/woocommerce/woocommerce/pull/55300) * Fix - Make the popover implementation in the incentive component consistent with the on in the logo's component. [#54735](https://github.com/woocommerce/woocommerce/pull/54735) * Fix - Move pickup location section from products to shipping tab [#55311](https://github.com/woocommerce/woocommerce/pull/55311) * Fix - Now the cart block shows dynamic data for local pickup options in block editor. [#55124](https://github.com/woocommerce/woocommerce/pull/55124) * Fix - Order Emails Empty Spaces Caused by Missing First Name Fixed. [#55517](https://github.com/woocommerce/woocommerce/pull/55517) * Fix - Prevent data stores being imported twice when there are circular dependencies [#55418](https://github.com/woocommerce/woocommerce/pull/55418) * Fix - Prevent duplication of order attribution data on block checkout. [#55594](https://github.com/woocommerce/woocommerce/pull/55594) * Fix - Prevent duplication of order attribution data on classic checkout. [#55611](https://github.com/woocommerce/woocommerce/pull/55611) * Fix - Prevent fatal error during heartbeat request. [#55608](https://github.com/woocommerce/woocommerce/pull/55608) * Fix - Prevent fatal error in cross sell display code. [#55206](https://github.com/woocommerce/woocommerce/pull/55206) * Fix - Prevent fatal errors when calling various template functions with no global product set. [#55203](https://github.com/woocommerce/woocommerce/pull/55203) * Fix - Prevent fatal error when calling wc_no_products_found() out of context. [#55591](https://github.com/woocommerce/woocommerce/pull/55591) * Fix - Prevent fatal error when outputting WC notices in an invalid context. [#55208](https://github.com/woocommerce/woocommerce/pull/55208) * Fix - Prevent notices showing in the Mini-cart block when adding items [#55023](https://github.com/woocommerce/woocommerce/pull/55023) * Fix - Prevent partial render when email preview rendering fails [#55923](https://github.com/woocommerce/woocommerce/pull/55923) * Fix - Prevent reloading email preview from polluting browser history [#55486](https://github.com/woocommerce/woocommerce/pull/55486) * Fix - Product Gallery: Code cleanup, removing unused properties [#55000](https://github.com/woocommerce/woocommerce/pull/55000) * Fix - Product Summary: add support for shortcode [#55704](https://github.com/woocommerce/woocommerce/pull/55704) * Fix - Provide translation for "pickup_details:" for the order detail page [#54753](https://github.com/woocommerce/woocommerce/pull/54753) * Fix - Related Products: correctly cache related products taking into account the relationship set. [#56008](https://github.com/woocommerce/woocommerce/pull/56008) * Fix - Relay the block context from Product Template to the inner blocks [#54382](https://github.com/woocommerce/woocommerce/pull/54382) * Fix - Remove unnecessary keyframes bundled in every blocks stylesheet [#55708](https://github.com/woocommerce/woocommerce/pull/55708) * Fix - Return secondary color CSS variable to its original color [#55070](https://github.com/woocommerce/woocommerce/pull/55070) * Fix - Revert change 7aaa20f [#55749](https://github.com/woocommerce/woocommerce/pull/55749) * Fix - Text Align: handle manual attributes (legacy approach) and global styles setting [#55032](https://github.com/woocommerce/woocommerce/pull/55032) * Fix - This PR fixes a bug where the tab sections reported their parent screen ID incorrectly in WooCommerce settings. [#55262](https://github.com/woocommerce/woocommerce/pull/55262) * Fix - Unformat Shipping Method numeric values before persisting data to the server. [#54181](https://github.com/woocommerce/woocommerce/pull/54181) * Fix - Update style prop on CheckmarkCircleIcon in Reviews [#54704](https://github.com/woocommerce/woocommerce/pull/54704) * Fix - Update the settings configuration for shipping so that the shipping settings REST API endpoint does not return duplicate data. [#52072](https://github.com/woocommerce/woocommerce/pull/52072) * Fix - Use a correct link for the Subscriptions page for expired subscriptions. [#55372](https://github.com/woocommerce/woocommerce/pull/55372) * Add - Add a COGS value column to the product meta lookup table [#55623](https://github.com/woocommerce/woocommerce/pull/55623) * Add - Add a data id attribute to list of methods in the Shipping Zone table in Settings. [#54823](https://github.com/woocommerce/woocommerce/pull/54823) * Add - Add a success notice after successful WCCOM account connection [#54448](https://github.com/woocommerce/woocommerce/pull/54448) * Add - Add auto-syncing of email styles with theme.json [#55918](https://github.com/woocommerce/woocommerce/pull/55918) * Add - Add Brands support to Store API and its filters [#55305](https://github.com/woocommerce/woocommerce/pull/55305) * Add - Add Cc and Bcc fields for store emails [#54939](https://github.com/woocommerce/woocommerce/pull/54939) * Add - Add Cost of Goods Sold fields in product editors in admin [#54399](https://github.com/woocommerce/woocommerce/pull/54399) * Add - Add email logo width setting in "email improvements" feature [#54897](https://github.com/woocommerce/woocommerce/pull/54897) * Add - Add file size validation to blueprint upload API to match UI's 50MB limit. [#55779](https://github.com/woocommerce/woocommerce/pull/55779) * Add - Add hidden block_email_editor feature [#55593](https://github.com/woocommerce/woocommerce/pull/55593) * Add - Adding report export filters. [#55812](https://github.com/woocommerce/woocommerce/pull/55812) * Add - Add is_always_accessible method to Task class, to allow tasks to still be accessible when list is hidden. [#55403](https://github.com/woocommerce/woocommerce/pull/55403) * Add - Additional checkout fields, order notes and chosen payment method are now persisted. [#53553](https://github.com/woocommerce/woocommerce/pull/53553) * Add - Add Marketplace promo to the "Grow your business" task. [#55605](https://github.com/woocommerce/woocommerce/pull/55605) * Add - Add MONEI as a payment recommendation for Spain [#55363](https://github.com/woocommerce/woocommerce/pull/55363) * Add - Add MONEI to Andorra and fix typo in Express checkouts => Wallets & Express checkouts [#55781](https://github.com/woocommerce/woocommerce/pull/55781) * Add - Add new experimental Accordion block. This is a copy of the one ready to be merged into Gutenberg: https://github.com/WordPress/gutenberg/pull/64119. [#54684](https://github.com/woocommerce/woocommerce/pull/54684) * Add - Add new REST API endpoints for sending order-related customer emails [#54597](https://github.com/woocommerce/woocommerce/pull/54597) * Add - Add order by options to Product Collection block when in default query mode [#54166](https://github.com/woocommerce/woocommerce/pull/54166) * Add - Add product_brand Term to Product Single HTML template. [#55298](https://github.com/woocommerce/woocommerce/pull/55298) * Add - Add required checkboxes to Additional Checkout Fields API [#53591](https://github.com/woocommerce/woocommerce/pull/53591) * Add - Adds a new event emitter system that allows extensions to subscribe to checkout events without being in a payment method context [#55577](https://github.com/woocommerce/woocommerce/pull/55577) * Add - Add the WCCOM Account Icon to wc-admin home [#55569](https://github.com/woocommerce/woocommerce/pull/55569) * Add - Add tracking event for Woo menu item on plugin install screen [#54858](https://github.com/woocommerce/woocommerce/pull/54858) * Add - Add wc_delete_transients for batch transient deletion [#55931](https://github.com/woocommerce/woocommerce/pull/55931) * Add - Allow changing the Add to Cart Button alignment when used inside the All Products and Single Product blocks [#55145](https://github.com/woocommerce/woocommerce/pull/55145) * Add - Allow to anonymize refunded orders. [#55514](https://github.com/woocommerce/woocommerce/pull/55514) * Add - Blockified Product Details: add initial structure [#54740](https://github.com/woocommerce/woocommerce/pull/54740) * Add - Bundle in the @wordpress/interface/build-module dependencies. [#55489](https://github.com/woocommerce/woocommerce/pull/55489) * Add - Display client-side error notices generated from product button block within product collection block [#55080](https://github.com/woocommerce/woocommerce/pull/55080) * Add - Extend official badges to additional payment extensions [#56013](https://github.com/woocommerce/woocommerce/pull/56013) * Add - Makes SSR report data available to consumers of the `woocommerce_system_status_report` action hook. [#55161](https://github.com/woocommerce/woocommerce/pull/55161) * Add - Marketplace messaging to the setup-wizard [#55327](https://github.com/woocommerce/woocommerce/pull/55327) * Add - Product Gallery (Beta): Remove Pager variants and implement "current image/total images" widget [#54570](https://github.com/woocommerce/woocommerce/pull/54570) * Add - Product Gallery (Beta): Remove Thumbnails position settings and rely on Core's layour blocks [#54799](https://github.com/woocommerce/woocommerce/pull/54799) * Add - Product Gallery Thumbnails: Remove "Off" layout option [#54682](https://github.com/woocommerce/woocommerce/pull/54682) * Update - Add (beta) label to Blueprint [#55146](https://github.com/woocommerce/woocommerce/pull/55146) * Update - Add an option to `on-demand` job to accept WC_VERSION [#55675](https://github.com/woocommerce/woocommerce/pull/55675) * Update - Add CED Commerce to marketing task, add fields to DefaultFreeExtension api [#55775](https://github.com/woocommerce/woocommerce/pull/55775) * Update - Add compatibility layer to blockified Add to Cart with Options block [#55234](https://github.com/woocommerce/woocommerce/pull/55234) * Update - Added a feature that allows a deprecation warning to be added to a specific property in wcSettings. [#55707](https://github.com/woocommerce/woocommerce/pull/55707) * Update - Added real data previews for Local Pickup rates in the checkout block editor [#54533](https://github.com/woocommerce/woocommerce/pull/54533) * Update - Add option to pre-install WC on WPCOM environment during tests execution. [#55762](https://github.com/woocommerce/woocommerce/pull/55762) * Update - Add support to install nightly builds in e2e tests. [#55814](https://github.com/woocommerce/woocommerce/pull/55814) * Update - Add To Cart With Options: improve css grid layout. [#55871](https://github.com/woocommerce/woocommerce/pull/55871) * Update - Blueprint - only show active theme and plugins [#55148](https://github.com/woocommerce/woocommerce/pull/55148) * Update - Bump Action Scheduler to 3.9.2 [#54724](https://github.com/woocommerce/woocommerce/pull/54724) * Update - Change the Add to Cart with Options block icon and border to purple [#55610](https://github.com/woocommerce/woocommerce/pull/55610) * Update - E2E - Include test runs against Pressable and WPCOM in re;ease-checks [#55790](https://github.com/woocommerce/woocommerce/pull/55790) * Update - Exclude coming soon image gallery template from newsletter feature flag [#55960](https://github.com/woocommerce/woocommerce/pull/55960) * Update - Improve remote logging error handling and filtering [#55620](https://github.com/woocommerce/woocommerce/pull/55620) * Update - Improve secondary color explanatory text and use hardcoded colors [#55070](https://github.com/woocommerce/woocommerce/pull/55070) * Update - Improve the performance of the log viewer when using the database storage option and a high number of log entries are present [#55615](https://github.com/woocommerce/woocommerce/pull/55615) * Update - Install a specific version of WC using WC Beta Tester. [#55063](https://github.com/woocommerce/woocommerce/pull/55063) * Update - Load cart during rest_api_init for Store API requests. [#55299](https://github.com/woocommerce/woocommerce/pull/55299) * Update - Marketplace product cards now open in a new tab [#55138](https://github.com/woocommerce/woocommerce/pull/55138) * Update - Migrate blueprint feature flag to core feature system [#55118](https://github.com/woocommerce/woocommerce/pull/55118) * Update - Migrate iAPI blocks to `@wordpress/interactivity` [#55080](https://github.com/woocommerce/woocommerce/pull/55080) * Update - Product Gallery: apply zoom styles only to selected image [#55237](https://github.com/woocommerce/woocommerce/pull/55237) * Update - Product Gallery: frontend logic refactor [#55042](https://github.com/woocommerce/woocommerce/pull/55042) * Update - Refactored ExportWCSettings by splitting it into multiple exporters, each handling a specific section. [#55216](https://github.com/woocommerce/woocommerce/pull/55216) * Update - Remove euCountries and local_info from wcSettings.admin.onboarding [#55463](https://github.com/woocommerce/woocommerce/pull/55463) * Update - Remove feature flag from Coming Soon page patterns [#55112](https://github.com/woocommerce/woocommerce/pull/55112) * Update - Removes the gallery template part and renders a uncustomizable simple vertical scroll dialog gallery [#54803](https://github.com/woocommerce/woocommerce/pull/54803) * Update - Remove the "Choosing a theme?" inbox message. [#55323](https://github.com/woocommerce/woocommerce/pull/55323) * Update - Remove unused components from mobile app modal [#55278](https://github.com/woocommerce/woocommerce/pull/55278) * Update - Remove variant assignment check from remote logging [#55120](https://github.com/woocommerce/woocommerce/pull/55120) * Update - Restore wcSettings.admin.onboarding properties [#55706](https://github.com/woocommerce/woocommerce/pull/55706) * Update - Set coming soon template previews to a fixed height [#54506](https://github.com/woocommerce/woocommerce/pull/54506) * Update - Show more product cards on Marketplace Discover page [#55344](https://github.com/woocommerce/woocommerce/pull/55344) * Update - Skip compatibility check for "Email improvements" feature and remove experimental flag [#55542](https://github.com/woocommerce/woocommerce/pull/55542) * Update - update: Store API `POST /cart/add-item` to support attribute names from product page [#55317](https://github.com/woocommerce/woocommerce/pull/55317) * Update - Update blueprint copies and design to the latest Figma [#55151](https://github.com/woocommerce/woocommerce/pull/55151) * Update - Update Marketplace Discover page headings data and styling [#55492](https://github.com/woocommerce/woocommerce/pull/55492) * Update - Update product editor blocks to use __experimentalRole if using WP 6.6 or lower. Also prevent summary and descriptions blocks from moving. [#55645](https://github.com/woocommerce/woocommerce/pull/55645) * Update - Update Product Gallery Beta block to remove next previous block navigation settings and simplify available options [#54561](https://github.com/woocommerce/woocommerce/pull/54561) * Update - Update store connection notice in the Marketplace [#55592](https://github.com/woocommerce/woocommerce/pull/55592) * Update - Update textdomain of Accordion block to WooCommerce. [#54739](https://github.com/woocommerce/woocommerce/pull/54739) * Update - Update the text for WooPayments reset account modal for WooCommerce Settings screen. [#55283](https://github.com/woocommerce/woocommerce/pull/55283) * Update - Update WooCommerce logo in README.md [#54975](https://github.com/woocommerce/woocommerce/pull/54975) * Update - Use Block Hooks API to dynamically inject brand terms instead of hardcoding them in the single product template. [#55936](https://github.com/woocommerce/woocommerce/pull/55936) * Update - Use React.createRoot to render react roots rather than React.render. This breaks backward compatibility in some cases. Payment methods setting state in a non-user initiated event will have their state batched and likely won't work. [#55302](https://github.com/woocommerce/woocommerce/pull/55302) * Update - When no products are created yet, redirect "All Products" page to "Add Product" task. [#55403](https://github.com/woocommerce/woocommerce/pull/55403) * Dev - @woocommerce/block-library: Extract some shared config for optimization in webpack-configs.js. Update webpack terser plugin to latest. [#54706](https://github.com/woocommerce/woocommerce/pull/54706) * Dev - Adds a new README.md file in the Enums root folder introducing the constant classes and updates the index file referencing it (docs/README.md). [#54696](https://github.com/woocommerce/woocommerce/pull/54696) * Dev - Add validation schema for additional checkout fields (experimental, behind feature flag) [#54774](https://github.com/woocommerce/woocommerce/pull/54774) * Dev - API tests: adapt some tests to work with external and multisite environments [#55089](https://github.com/woocommerce/woocommerce/pull/55089) * Dev - Bump @wordpress/env to 10.17.0 [#55037](https://github.com/woocommerce/woocommerce/pull/55037) * Dev - CI: disable wp-env debug mode for test containers. [#54958](https://github.com/woocommerce/woocommerce/pull/54958) * Dev - CI: enable wp-env debug mode to get more details on occasional test containers startup failures. [#54903](https://github.com/woocommerce/woocommerce/pull/54903) * Dev - CI: enable wp-env debug mode to get more details on occasional test containers startup failures. [#54926](https://github.com/woocommerce/woocommerce/pull/54926) * Dev - CI: improve test environment setup speed. [#55618](https://github.com/woocommerce/woocommerce/pull/55618) * Dev - CI: reduce concurrency in CI-workflow to allow more parallel PRs checks. [#55650](https://github.com/woocommerce/woocommerce/pull/55650) * Dev - Comment: Unskip the API test `customers-crud.test.js` on WPCOM and Pressable. [#55162](https://github.com/woocommerce/woocommerce/pull/55162) * Dev - dev: clean-up ci-job config options - removed option to set HPOS state [#55857](https://github.com/woocommerce/woocommerce/pull/55857) * Dev - dev: clean-up ci-job config options - remove unused cascading keys [#55863](https://github.com/woocommerce/woocommerce/pull/55863) * Dev - dev: remove some CI e2e jobs from daily runs [#55874](https://github.com/woocommerce/woocommerce/pull/55874) * Dev - E2E tests: clean up left over HPOS disabled project in main config file [#55013](https://github.com/woocommerce/woocommerce/pull/55013) * Dev - E2E tests: enable fullyParallel mode for a more balanced shard execution [#55318](https://github.com/woocommerce/woocommerce/pull/55318) * Dev - E2E tests: fix allure playwright output path [#55319](https://github.com/woocommerce/woocommerce/pull/55319) * Dev - E2E tests: fix a strict mode violation in setup-checklist spec [#55824](https://github.com/woocommerce/woocommerce/pull/55824) * Dev - E2E tests: fix create product attributes spec [#55588](https://github.com/woocommerce/woocommerce/pull/55588) * Dev - E2E tests: fixed IS_MULTISITE always resolved to true [#55369](https://github.com/woocommerce/woocommerce/pull/55369) * Dev - E2E tests: fixed product delete checks failing when no other products exist [#55581](https://github.com/woocommerce/woocommerce/pull/55581) * Dev - E2E tests: fixed strict mode violation error in customer-list spec [#55365](https://github.com/woocommerce/woocommerce/pull/55365) * Dev - E2E tests: improve create-shipping-zones spec [#55062](https://github.com/woocommerce/woocommerce/pull/55062) * Dev - E2E tests: merge analytics spec with page loads spec [#54601](https://github.com/woocommerce/woocommerce/pull/54601) * Dev - E2E tests: Migrate global setup and teardown to project dependencies [#54628](https://github.com/woocommerce/woocommerce/pull/54628) * Dev - E2E tests: moved and renamed payment spec [#55585](https://github.com/woocommerce/woocommerce/pull/55585) * Dev - E2E tests: move products test files in new folder structure [#54575](https://github.com/woocommerce/woocommerce/pull/54575) * Dev - E2E tests: refactor cart specs [#55750](https://github.com/woocommerce/woocommerce/pull/55750) * Dev - E2E tests: refactor checkout specs [#55695](https://github.com/woocommerce/woocommerce/pull/55695) * Dev - E2E tests: refactor shipping related specs [#55624](https://github.com/woocommerce/woocommerce/pull/55624) * Dev - E2E tests: refactor tests in onboarding [#55334](https://github.com/woocommerce/woocommerce/pull/55334) * Dev - E2E tests: remove redundant order email spec [#55368](https://github.com/woocommerce/woocommerce/pull/55368) * Dev - E2E tests: remove support for DEFAULT_TIMEOUT_OVERRIDE environment variable [#55059](https://github.com/woocommerce/woocommerce/pull/55059) * Dev - E2E tests: remove test in analytics spec [#55631](https://github.com/woocommerce/woocommerce/pull/55631) * Dev - E2E tests: remove to do comments on editor actions with Gutenberg [#55457](https://github.com/woocommerce/woocommerce/pull/55457) * Dev - E2E tests: restrcuture project - move specs into different folders [#55245](https://github.com/woocommerce/woocommerce/pull/55245) * Dev - E2E tests: restructure project - move analytics and onboarding specs [#55292](https://github.com/woocommerce/woocommerce/pull/55292) * Dev - E2E tests: restructure project - move coupons, editor and basic specs [#55314](https://github.com/woocommerce/woocommerce/pull/55314) * Dev - E2E tests: restructure project - move orders tests [#55031](https://github.com/woocommerce/woocommerce/pull/55031) * Dev - E2E tests: skip the tests not supporting multisite flows [#55086](https://github.com/woocommerce/woocommerce/pull/55086) * Dev - E2E tests: small tweaks for multisite setup compatibility [#55076](https://github.com/woocommerce/woocommerce/pull/55076) * Dev - E2E tests: updated gitignore to exclude paths containing _local [#55180](https://github.com/woocommerce/woocommerce/pull/55180) * Dev - Fix a bug introducing global popover styling [#54723](https://github.com/woocommerce/woocommerce/pull/54723) * Dev - Fix Core Profiler TS errors [#54709](https://github.com/woocommerce/woocommerce/pull/54709) * Dev - Fix homescreen TS errors [#54710](https://github.com/woocommerce/woocommerce/pull/54710) * Dev - Fix settings and tours TS errors [#54749](https://github.com/woocommerce/woocommerce/pull/54749) * Dev - Fix skipped test suites after React 18 upgrade [#55582](https://github.com/woocommerce/woocommerce/pull/55582) * Dev - Fix task list TS errors [#54711](https://github.com/woocommerce/woocommerce/pull/54711) * Dev - Improve the scope of Checkout E2E utils [#55073](https://github.com/woocommerce/woocommerce/pull/55073) * Dev - Install plugin-check plugin and execute tests in CI [#48698](https://github.com/woocommerce/woocommerce/pull/48698) * Dev - Introduce Integration Test Editor to the existing Blocks' Jest environment. [#55651](https://github.com/woocommerce/woocommerce/pull/55651) * Dev - Introduces and implements product stock constants in the WooCommerce plugin codebase. [#54725](https://github.com/woocommerce/woocommerce/pull/54725) * Dev - Introduces and implements product tax status constants in the WooCommerce plugin codebase. [#54729](https://github.com/woocommerce/woocommerce/pull/54729) * Dev - Introduces and implements product visibility constants in the WooCommerce plugin codebase. [#54001](https://github.com/woocommerce/woocommerce/pull/54001) * Dev - Make sure config, scripts and mocks of the Jest tests setup are properly organized. [#55633](https://github.com/woocommerce/woocommerce/pull/55633) * Dev - Migrated notes data store to use register(storeDescriptor) pattern [#55440](https://github.com/woocommerce/woocommerce/pull/55440) * Dev - Migrate OPTIONS_STORE_NAME to optionsStore across multiple files [#55476](https://github.com/woocommerce/woocommerce/pull/55476) * Dev - Migrate PAYMENT_SETTINGS_STORE_NAME in @woocommerce/data to storeDescriptor object [#55771](https://github.com/woocommerce/woocommerce/pull/55771) * Dev - Migrate to register(storeDescriptor) for plugins data store [#55426](https://github.com/woocommerce/woocommerce/pull/55426) * Dev - Monorepo: drop unused and unsupported JS-dependecies [#55834](https://github.com/woocommerce/woocommerce/pull/55834) * Dev - Monorepo: improve blocks watch turnaround time [#55242](https://github.com/woocommerce/woocommerce/pull/55242) * Dev - Monorepo: refresh wireit dependencyOutputs configuration synchronization when installing dependencies. [#55095](https://github.com/woocommerce/woocommerce/pull/55095) * Dev - Monorepo: review deprecated dev-dependecies (take 2) [#55861](https://github.com/woocommerce/woocommerce/pull/55861) * Dev - Patch \@wordpress/data types to add types for metadata selectors, actions, and resolveSelect. Migrate onboarding store and usages to the new register(storeDescriptor) API [#54146](https://github.com/woocommerce/woocommerce/pull/54146) * Dev - Reduce the WooCommerce plugin size by removing unnecessary files (such as test files) from the vendor directory [#55971](https://github.com/woocommerce/woocommerce/pull/55971) * Dev - Reenable TS checking for plugins/woocommerce/client/admin/ [#55277](https://github.com/woocommerce/woocommerce/pull/55277) * Dev - Remove email editor php package before composer install [#55955](https://github.com/woocommerce/woocommerce/pull/55955) * Dev - Remove old unused interactivity API components [#55174](https://github.com/woocommerce/woocommerce/pull/55174) * Dev - Remove unused `fileSuffix` variable from shared Webpack configs in `@woocommerce/block-library` [#54708](https://github.com/woocommerce/woocommerce/pull/54708) * Dev - Remove wcSettings.admin.isWooPayEligible in favor of a REST endpoint check [#55455](https://github.com/woocommerce/woocommerce/pull/55455) * Dev - Unskip API test `coupons.test.js` on WPCOM. [#55160](https://github.com/woocommerce/woocommerce/pull/55160) * Dev - Unskip api test `system-status-crud.test.js` on WPCOM, Pressable. [#55168](https://github.com/woocommerce/woocommerce/pull/55168) * Dev - Unskip orders.test.js on WPCOM and Pressable. [#55430](https://github.com/woocommerce/woocommerce/pull/55430) * Dev - Unskip product-list.test.js on WPCOM and Pressable [#55359](https://github.com/woocommerce/woocommerce/pull/55359) * Dev - Unskip products-crud.test.js on WPCOM and Pressable. [#55358](https://github.com/woocommerce/woocommerce/pull/55358) * Dev - Unskip settings-crud test on WPCOM and Pressable [#55357](https://github.com/woocommerce/woocommerce/pull/55357) * Dev - Unskip `order-complex.test.js` on WPCOM and Pressable. [#55429](https://github.com/woocommerce/woocommerce/pull/55429) * Dev - Update @wordpress/dependency-extraction-webpack-plugin to 6.16.0 in @woocommerce/block-library [#54703](https://github.com/woocommerce/woocommerce/pull/54703) * Dev - Update A/B experiment name [#55786](https://github.com/woocommerce/woocommerce/pull/55786) * Dev - Update consumers of the wc/store/checkout data store to use the StoreDescriptor rather than the key to access it [#54562](https://github.com/woocommerce/woocommerce/pull/54562) * Dev - Update consumers of the wc/store/payment data store to use the StoreDescriptor rather than the key to access it [#54685](https://github.com/woocommerce/woocommerce/pull/54685) * Dev - Update consumers of the `wc/store/cart` data store to use the `cartStore` `StoreDescriptor` rather than the `CART_STORE_KEY` key to access it. [#55087](https://github.com/woocommerce/woocommerce/pull/55087) * Dev - Updated shipping methods store import to use the storeDescriptor instead of STORE_NAME_STRING [#55443](https://github.com/woocommerce/woocommerce/pull/55443) * Dev - Update e2e CI job configuration [#54928](https://github.com/woocommerce/woocommerce/pull/54928) * Dev - Update orders store import to use ordersStore from @woocommerce/data [#55469](https://github.com/woocommerce/woocommerce/pull/55469) * Dev - Update Playwwight projects for e2e tests [#54934](https://github.com/woocommerce/woocommerce/pull/54934) * Dev - Update React to 18.0.3 in the ESLint config file [#55554](https://github.com/woocommerce/woocommerce/pull/55554) * Dev - Update reviews store import to use reviewsStore from @woocommerce/data [#55424](https://github.com/woocommerce/woocommerce/pull/55424) * Dev - Update settings store import to use settingsStore from @woocommerce/data [#55425](https://github.com/woocommerce/woocommerce/pull/55425) * Dev - Update user store imports and type references [#55427](https://github.com/woocommerce/woocommerce/pull/55427) * Dev - Update WC cleanup script to clear email logs. [#55417](https://github.com/woocommerce/woocommerce/pull/55417) * Dev - Update wireit to 0.14.10 [#54996](https://github.com/woocommerce/woocommerce/pull/54996) * Dev - [dev] Bumped Playwright to 1.50.1 [#55251](https://github.com/woocommerce/woocommerce/pull/55251) * Dev - [dev] E2E tests: bump �no-wait-for-timeout lint rule to error [#55782](https://github.com/woocommerce/woocommerce/pull/55782) * Dev - [dev] Update skip tests reporter in CI [#55555](https://github.com/woocommerce/woocommerce/pull/55555) * Tweak - #51858 [Shipping settings] replace WooCommerce Shipping & Tax with WooCommerce Shipping as the promoted plugin [#54988](https://github.com/woocommerce/woocommerce/pull/54988) * Tweak - Add option to send feedback for new email experience [#55747](https://github.com/woocommerce/woocommerce/pull/55747) * Tweak - Add some defaults to the QueryBuilder::get_final_frontend_query() [#54283](https://github.com/woocommerce/woocommerce/pull/54283) * Tweak - Add tracks for marketplace features links [#55740](https://github.com/woocommerce/woocommerce/pull/55740) * Tweak - Adjust translation handling; improve support for custom translations under WP 6.7 upwards. [#53955](https://github.com/woocommerce/woocommerce/pull/53955) * Tweak - Enable email improvements by default for new installations [#55690](https://github.com/woocommerce/woocommerce/pull/55690) * Tweak - Experimental - basic email editor integration. This feature is not ready for public use [#55754](https://github.com/woocommerce/woocommerce/pull/55754) * Tweak - Fallback to default avatar icon if Gravar is inaccessible [#55684](https://github.com/woocommerce/woocommerce/pull/55684) * Tweak - Fix alignment on My Subscriptions action menu [#55446](https://github.com/woocommerce/woocommerce/pull/55446) * Tweak - Fix Viva.com plugin slug in the payment extension suggestions list. [#55925](https://github.com/woocommerce/woocommerce/pull/55925) * Tweak - Install woocommerce-analytics plugin within the promotion banner [#55715](https://github.com/woocommerce/woocommerce/pull/55715) * Tweak - Migrate `Countries` and `Payments Gateways` stores to improve type definitions [#55558](https://github.com/woocommerce/woocommerce/pull/55558) * Tweak - Product Editor: Update copy from 'form' to 'editor' to match documentation. [#54904](https://github.com/woocommerce/woocommerce/pull/54904) * Tweak - Refining `createCrudDataStore` types [#55495](https://github.com/woocommerce/woocommerce/pull/55495) * Tweak - Removes check for WP 6.1 [#55888](https://github.com/woocommerce/woocommerce/pull/55888) * Tweak - Remove Woo Logo From Block Inserter, Classic Template Block, and Classic Shortcake Block. [#55355](https://github.com/woocommerce/woocommerce/pull/55355) * Tweak - Remove `woocommerce_order_attribution_install_banner_dismissed` option as it's moved to user meta. [#55852](https://github.com/woocommerce/woocommerce/pull/55852) * Tweak - Rename "Collection" to "Pickup" in cart and checkout blocks [#54746](https://github.com/woocommerce/woocommerce/pull/54746) * Tweak - Reorder Klaviyo in marketing task [#55326](https://github.com/woocommerce/woocommerce/pull/55326) * Tweak - Show installed label for installed plugins on the Marketplace [#55361](https://github.com/woocommerce/woocommerce/pull/55361) * Tweak - Update copy on disconnected state of My subscriptions page [#55055](https://github.com/woocommerce/woocommerce/pull/55055) * Tweak - Updated aspect ratio and scaling for images in the 'minimal left image' and 'split right image' patterns [#54555](https://github.com/woocommerce/woocommerce/pull/54555) * Tweak - Update heading elements in coming soon templates to use H1 tags for improved SEO and accessibility [#54551](https://github.com/woocommerce/woocommerce/pull/54551) * Tweak - Update notices and badges for WooCommerce.com Update Manager [#55657](https://github.com/woocommerce/woocommerce/pull/55657) * Tweak - Updates the extension header title. [#55179](https://github.com/woocommerce/woocommerce/pull/55179) * Performance - Defer the initialization of the gallery zoom [#54419](https://github.com/woocommerce/woocommerce/pull/54419) * Performance - Enhance WooCommerce Admin Performance: Split Settings Scripts [#55823](https://github.com/woocommerce/woocommerce/pull/55823) * Performance - Enhance WooCommerce Admin Performance by Splitting Scripts [#55822](https://github.com/woocommerce/woocommerce/pull/55822) * Performance - Prevent order status query from running on irrelevant pages [#54759](https://github.com/woocommerce/woocommerce/pull/54759) * Performance - Product Gallery: remove dependency on frontend scripts [#55176](https://github.com/woocommerce/woocommerce/pull/55176) * Performance - Query related products once per day when loading product details page [#55843](https://github.com/woocommerce/woocommerce/pull/55843) * Performance - Refactor task list state management and visibility checks to improve performance [#55285](https://github.com/woocommerce/woocommerce/pull/55285) * Performance - Remove the unneeded wp-editor script dependency when the product editor feature is not enabled. [#55496](https://github.com/woocommerce/woocommerce/pull/55496) * Enhancement - Add CTAs linking to the in-app marketplace to different steps in the onboarding checklist and task list tasks. [#55428](https://github.com/woocommerce/woocommerce/pull/55428) * Enhancement - Added a filter to override IP/UserID in grouping rate limited requests. Custom logic can now be used to fingerprint requests, and allow more control over the rate limit. [#55209](https://github.com/woocommerce/woocommerce/pull/55209) * Enhancement - Add email preview in Email settings [#55655](https://github.com/woocommerce/woocommerce/pull/55655) * Enhancement - Add experimental, opt-in support for batch GET requests in Store API. [#55306](https://github.com/woocommerce/woocommerce/pull/55306) * Enhancement - Add filters for email preview setting ids [#55534](https://github.com/woocommerce/woocommerce/pull/55534) * Enhancement - Add gesture support to new product gallery block [#55010](https://github.com/woocommerce/woocommerce/pull/55010) * Enhancement - Add new features dismissible banner for new users [#55597](https://github.com/woocommerce/woocommerce/pull/55597) * Enhancement - Add outline style to focus-visible state of the notice banner block [#54656](https://github.com/woocommerce/woocommerce/pull/54656) * Enhancement - Add pulsing animation when email preview is reloading [#55021](https://github.com/woocommerce/woocommerce/pull/55021) * Enhancement - Add WooCommerce brands to Store API response and filter products by brand ID and slug. [#55305](https://github.com/woocommerce/woocommerce/pull/55305) * Enhancement - Allow WC_Email subclasses to access transient values [#55668](https://github.com/woocommerce/woocommerce/pull/55668) * Enhancement - Dev - add ability to filter the `comment_row_actions` on the Products > Reviews table [#55632](https://github.com/woocommerce/woocommerce/pull/55632) * Enhancement - Do not call `get_visible` function is all lists are already hidden. [#55419](https://github.com/woocommerce/woocommerce/pull/55419) * Enhancement - Enable auto-sync theme styles with email styles by default for new installations [#55998](https://github.com/woocommerce/woocommerce/pull/55998) * Enhancement - Enhance coming soon templates login button and site titles styles [#54557](https://github.com/woocommerce/woocommerce/pull/54557) * Enhancement - Enhancement: Remove yellow background from product category count in block themes [#54963](https://github.com/woocommerce/woocommerce/pull/54963) * Enhancement - Improve coming soon store page matching [#54906](https://github.com/woocommerce/woocommerce/pull/54906) * Enhancement - Improve copy in store emails [#54970](https://github.com/woocommerce/woocommerce/pull/54970) * Enhancement - Improve plain text order details under Email Improvements feature [#54961](https://github.com/woocommerce/woocommerce/pull/54961) * Enhancement - Improve usability of email preview on small screens [#55020](https://github.com/woocommerce/woocommerce/pull/55020) * Enhancement - Inform screen reader users about the show coupon input behavior on Checkout [#54577](https://github.com/woocommerce/woocommerce/pull/54577) * Enhancement - Make screen readears announce stock quantity when selecting a product variation [#54923](https://github.com/woocommerce/woocommerce/pull/54923) * Enhancement - Minor refactor to TrackedLink component to make it more re-useable, and fixing some tests related to that component. [#55803](https://github.com/woocommerce/woocommerce/pull/55803) * Enhancement - Now the place order button and return to cart link will be in separate lines on mobile. [#55727](https://github.com/woocommerce/woocommerce/pull/55727) * Enhancement - Optimize product editor script loading by conditionally removing dependencies [#55819](https://github.com/woocommerce/woocommerce/pull/55819) * Enhancement - Refactor plugin selection handling in Core Profiler [#54764](https://github.com/woocommerce/woocommerce/pull/54764) * Enhancement - Remove reference to label in aria-describedby attribute on payment radio options [#55503](https://github.com/woocommerce/woocommerce/pull/55503) * Enhancement - Show email background in email logo settings [#55552](https://github.com/woocommerce/woocommerce/pull/55552) * Enhancement - Update Coming Soon block patterns with improved styling and layout [#55088](https://github.com/woocommerce/woocommerce/pull/55088) * Enhancement - Updated "Coming Soon" templates to dynamically adapt font families based on the active theme, with specific behavior for TwentyTwentyFour and non-block themes [#54521](https://github.com/woocommerce/woocommerce/pull/54521) * Enhancement - Update remote logging feature UI to depend on usage tracking status [#55119](https://github.com/woocommerce/woocommerce/pull/55119) * Fix - Avoid fatal by casting page number to integer [#56049](https://github.com/woocommerce/woocommerce/pull/56049) * Fix - Fix: Ensure inline error messages display correctly on the classic checkout page.​ [#56510](https://github.com/woocommerce/woocommerce/pull/56510) * Fix - Fix: Ensure Related Products collection displays correctly in Single Product template [#56666](https://github.com/woocommerce/woocommerce/pull/56666) * Fix - Fix: Product Collection - ensures that the query type indicator is displayed correctly in the Query Loop block. [#56582](https://github.com/woocommerce/woocommerce/pull/56582) * Fix - Fix coming soon templates created prior 9.8.0 [#56210](https://github.com/woocommerce/woocommerce/pull/56210) * Fix - Fix contact additional fields not persisting, required checkboxes persisting when invalid and `woocommerce_store_api_checkout_update_order_from_request` not triggered on a PUT request to the `/wc/store/v1/checkout` endpoint. [#55989](https://github.com/woocommerce/woocommerce/pull/55989) * Fix - Fix email accent color causing invisible text in emails [#56061](https://github.com/woocommerce/woocommerce/pull/56061) * Fix - Fixes a Array to string conversion PHP Warning where saved payment methods are sometimes saved as the wrong type. [#56520](https://github.com/woocommerce/woocommerce/pull/56520) * Fix - Fixes an error when `_wc_delete_transients` is called but there aren't any transients stored in DB to delete yet. [#56136](https://github.com/woocommerce/woocommerce/pull/56136) * Fix - Fix loading email preview when email is registered with different than class name [#56622](https://github.com/woocommerce/woocommerce/pull/56622) * Fix - Fix missing styling conflict with WordPress 6.8 for the experimental product editor. [#56497](https://github.com/woocommerce/woocommerce/pull/56497) * Fix - Remove strict types from wc-product-functions.php [#56797](https://github.com/woocommerce/woocommerce/pull/56797) * Add - Added support for `install_options` property in the extensions feed. [#56373](https://github.com/woocommerce/woocommerce/pull/56373) * Update - Deprecate the woocommerce_register_feature_definitions action [#56475](https://github.com/woocommerce/woocommerce/pull/56475) * Update - Migrate reactify settings page feature flag to Core feature system [#55692](https://github.com/woocommerce/woocommerce/pull/55692) * Update - Remove plugin display limit and improve layout handling in Core Profiler [#56099](https://github.com/woocommerce/woocommerce/pull/56099) * Dev - e2e tests: temporary skip some broken e2e tests [#56527](https://github.com/woocommerce/woocommerce/pull/56527) * Dev - E2E tests: updates to support WP6.8 [#56163](https://github.com/woocommerce/woocommerce/pull/56163) * Dev - Fix https://github.com/woocommerce/woocommerce/issues/55953 [#56484](https://github.com/woocommerce/woocommerce/pull/56484) * Tweak - Hide blueprint feature checkbox [#56545](https://github.com/woocommerce/woocommerce/pull/56545) * Tweak - Switch from using FeaturesUtil to get_option for the Email Editor Integration package [#56133](https://github.com/woocommerce/woocommerce/pull/56133) = 9.7.1 2025-03-04 = **WooCommerce** * Fix - Remove decodeEntities from the product name used on cart & checkout [#56048](https://github.com/woocommerce/woocommerce/pull/56048) * Fix - Improved shortcode cart and checkout coupon notices by appending elements instead of text. [#56047](https://github.com/woocommerce/woocommerce/pull/56047) * Update - Replaced concatenated string-based HTML elements in JS with createElement(). [#56047](https://github.com/woocommerce/woocommerce/pull/56047) = 9.7.0 2025-02-24 = **WooCommerce** * Fix - Fixes a correctness over performance issue with wc_customer_bought_product (regression) [#55132](https://github.com/woocommerce/woocommerce/pull/55132) * Fix - Fix potential issue when defining label class as a string via woocommerce_checkout_fields [#55481](https://github.com/woocommerce/woocommerce/pull/55481) * Dev - Add experiments for the rollout of the new Payment settings page. [#55493](https://github.com/woocommerce/woocommerce/pull/55493) * Dev - Add tracking events for the new Payment settings page. [#55493](https://github.com/woocommerce/woocommerce/pull/55493) * Fix - Add To Cart form - tweak CSS to ensure that layout isn't broken when `woocommerce_before_add_to_cart_button` hook is used. [#54980](https://github.com/woocommerce/woocommerce/pull/54980) * Fix - Ensure that category slugs with non-latin characters do not cause a redirection loop [#54940](https://github.com/woocommerce/woocommerce/pull/54940) * Fix - Fix global popover CSS styling bug [#54744](https://github.com/woocommerce/woocommerce/pull/54744) * Fix - Fix return type of the `pages` property in REST API so shortcode is a string [#54777](https://github.com/woocommerce/woocommerce/pull/54777) * Fix - Prevent a delay in rendering the checkout block payment methods on first load. [#55191](https://github.com/woocommerce/woocommerce/pull/55191) * Fix - Ensure that the Mini Cart item count remains visible even when the inherited color has an alpha channel, which would make the item count color transparent. [#55178](https://github.com/woocommerce/woocommerce/pull/55178) * Fix - Add check to "wc_get_price_excluding_tax" to verify the product variable is an actual product to avoid fatal errors. [#54470](https://github.com/woocommerce/woocommerce/pull/54470) * Fix - Added selected rate name when showing multiple shipping packages in cart and checkout. [#53579](https://github.com/woocommerce/woocommerce/pull/53579) * Fix - Add filter by attribute, stock and rating screen reader labels [#53694](https://github.com/woocommerce/woocommerce/pull/53694) * Fix - Add novalidate attribute to login form [#53386](https://github.com/woocommerce/woocommerce/pull/53386) * Fix - Add price slider min and max labels [#53713](https://github.com/woocommerce/woocommerce/pull/53713) * Fix - Add product image focus ring [#53178](https://github.com/woocommerce/woocommerce/pull/53178) * Fix - Add required attributes and update asterisk to be more accessible [#49696](https://github.com/woocommerce/woocommerce/pull/49696) * Fix - Add span role heading and aria level for comments reply title [#52825](https://github.com/woocommerce/woocommerce/pull/52825) * Fix - Add to Cart with Options: use correct esc function in Stepper layout [#54074](https://github.com/woocommerce/woocommerce/pull/54074) * Fix - Allow order notes to be split onto multiple lines and display correctly in admin and in emails. [#54495](https://github.com/woocommerce/woocommerce/pull/54495) * Fix - Always register the block within registerBlockConfig to fix unregistered blocks appearing within the templates data view [#53997](https://github.com/woocommerce/woocommerce/pull/53997) * Fix - Audit and un-skip some e2e tests for the Pressable environment. [#54126](https://github.com/woocommerce/woocommerce/pull/54126) * Fix - Audit and un-skip some e2e tests for the WPCOM environment. [#54150](https://github.com/woocommerce/woocommerce/pull/54150) * Fix - Center stock indicator in Product Collection list #54054 [#54054](https://github.com/woocommerce/woocommerce/pull/54054) * Fix - Comment: Fix lint warning in the Stock Indicator #54008 [#54008](https://github.com/woocommerce/woocommerce/pull/54008) * Fix - Correctly calculate shipping taxes when running recalculation on admin. [#54200](https://github.com/woocommerce/woocommerce/pull/54200) * Fix - Decode error messages caused by the Add to Cart button block [#54317](https://github.com/woocommerce/woocommerce/pull/54317) * Fix - Ensure GTIN,UPC, EAN, or ISBN field never starts or ends with a dash [#54462](https://github.com/woocommerce/woocommerce/pull/54462) * Fix - Fix - Skip variations without prices during bulk price adjustments to prevent 500 error [#54202](https://github.com/woocommerce/woocommerce/pull/54202) * Fix - Fix: Empty FormTokenField display in "Hand-Picked Products" collection when selected hand-picked products are deleted. [#54564](https://github.com/woocommerce/woocommerce/pull/54564) * Fix - Fix: Maintain “Add to Cart” Button Width Consistency on Shop Page with Gutenberg Plugin [#54368](https://github.com/woocommerce/woocommerce/pull/54368) * Fix - Fix: Multiple block compatibility layer for search results are executed [#54060](https://github.com/woocommerce/woocommerce/pull/54060) * Fix - Fix: Stepper input style is broken when form has additional fields [#53782](https://github.com/woocommerce/woocommerce/pull/53782) * Fix - Fix a bug when adding notices to the woocommerce/checkout-totals-block context [#54380](https://github.com/woocommerce/woocommerce/pull/54380) * Fix - Fix an issue where extensionCartUpdate would return undefined if not overwriting dirty customer data. [#53896](https://github.com/woocommerce/woocommerce/pull/53896) * Fix - Fixed a bug causing placeholder for additional select fields not to be shown when editing addresses on My Account screen. [#52836](https://github.com/woocommerce/woocommerce/pull/52836) * Fix - Fixes a bug where a URL containing part of a store page's URL is incorrectly identified as a valid store page URL [#53120](https://github.com/woocommerce/woocommerce/pull/53120) * Fix - Fixes the issue with product specific blocks being unavailable when using the command palette to switch between templates [#53874](https://github.com/woocommerce/woocommerce/pull/53874) * Fix - Fix horizontal scrollbar in Emails settings in Calypso [#54554](https://github.com/woocommerce/woocommerce/pull/54554) * Fix - Fix incorrect button state in Payments Settings NOX when enabling offline payment method / payment gateway after reordering [#54527](https://github.com/woocommerce/woocommerce/pull/54527) * Fix - Fix logic for skipping found rows query in OrdersTableQuery [#54064](https://github.com/woocommerce/woocommerce/pull/54064) * Fix - Fix rendering font family in emails [#54665](https://github.com/woocommerce/woocommerce/pull/54665) * Fix - Fix stock indicator visibility for Variable products #54156 [#54156](https://github.com/woocommerce/woocommerce/pull/54156) * Fix - Fix tests due to PHP 8.1 static variable breaking change. [#53795](https://github.com/woocommerce/woocommerce/pull/53795) * Fix - Fix the behavior of the WooPayments PMs logos list on the new Payments settings page. [#53900](https://github.com/woocommerce/woocommerce/pull/53900) * Fix - Fix the customer account and mini cart blocks to fit the default size of the navigation block [#53583](https://github.com/woocommerce/woocommerce/pull/53583) * Fix - Hide Add to Cart with Options block from widgets screen [#54087](https://github.com/woocommerce/woocommerce/pull/54087) * Fix - Improve the copy of the snack bar when one plugin is installed/activated [#54313](https://github.com/woocommerce/woocommerce/pull/54313) * Fix - Only calls misc recommendations API when the current user can install plugin. [#54602](https://github.com/woocommerce/woocommerce/pull/54602) * Fix - Payments Settings NOX: Disable all other buttons when a install/active plugin action is in progress [#54642](https://github.com/woocommerce/woocommerce/pull/54642) * Fix - Prevent some possible warnings in `WC_Tracker`. [#54353](https://github.com/woocommerce/woocommerce/pull/54353) * Fix - Product Gallery: Make vertical and horizontal images take more space available [#53829](https://github.com/woocommerce/woocommerce/pull/53829) * Fix - Register template-state store only once [#54113](https://github.com/woocommerce/woocommerce/pull/54113) * Fix - Removed `'IN'` country code from the `$countries` array as India adopted GST on 1 July 2017. [#54094](https://github.com/woocommerce/woocommerce/pull/54094) * Fix - Set font color of select2 input fields to `black` to ensure that the values remain visible when using a dark mode theme. [#54621](https://github.com/woocommerce/woocommerce/pull/54621) * Fix - Show button for activate Jetpack in WooCommerce Stats when Jetpack is deactivated but connected [#54089](https://github.com/woocommerce/woocommerce/pull/54089) * Fix - Tracks: Fix missing requesttimestamp in tracks [#54088](https://github.com/woocommerce/woocommerce/pull/54088) * Fix - Update show password input to use a button element [#53098](https://github.com/woocommerce/woocommerce/pull/53098) * Fix - Update the orders REST API endpoint to accurately adjust product stock levels when adding or modifying order line items [#53618](https://github.com/woocommerce/woocommerce/pull/53618) * Add - Add a default error snack bar when enabling payment gateways. [#54523](https://github.com/woocommerce/woocommerce/pull/54523) * Add - Add coming soon template - split right image [#53774](https://github.com/woocommerce/woocommerce/pull/53774) * Add - Add description and delivery_time properties to WC_Shipping_Rate. These will be displayed in the Cart and Checkout blocks. [#49643](https://github.com/woocommerce/woocommerce/pull/49643) * Add - Added the Blueprint upload dropzone component to the Blueprint settings [#53921](https://github.com/woocommerce/woocommerce/pull/53921) * Add - Add image gallery coming soon pattern. [#53910](https://github.com/woocommerce/woocommerce/pull/53910) * Add - Add new `include_status` and `exclude_status` filter on the products variations endpoint. [#54246](https://github.com/woocommerce/woocommerce/pull/54246) * Add - Adds tooltip for incentive status badge. [#54634](https://github.com/woocommerce/woocommerce/pull/54634) * Add - Add the `downloadable` param to the list product variations endpoint. [#54242](https://github.com/woocommerce/woocommerce/pull/54242) * Add - Add the `virtual` param to the list product variations endpoint. [#54245](https://github.com/woocommerce/woocommerce/pull/54245) * Add - Add To Cart With Options: enable stepper layout. [#54116](https://github.com/woocommerce/woocommerce/pull/54116) * Add - Automatically connect theme to wccom after auto-install step [#54138](https://github.com/woocommerce/woocommerce/pull/54138) * Add - Comment: Add event tracking to blockified Add to Cart experience type selector #54347 [#54347](https://github.com/woocommerce/woocommerce/pull/54347) * Add - Comment: Add selector for variable products in template [#54136](https://github.com/woocommerce/woocommerce/pull/54136) * Add - Comment: Add Stock Notice in Single Product template #53358 [#53358](https://github.com/woocommerce/woocommerce/pull/53358) * Add - Comment: Add the product selector in the Template sidebar [#53480](https://github.com/woocommerce/woocommerce/pull/53480) * Add - Comment: Create Variation Selector Block in editor #53945 [#53945](https://github.com/woocommerce/woocommerce/pull/53945) * Add - Product Collection: Add Customer Effort Score feedback form [#52874](https://github.com/woocommerce/woocommerce/pull/52874) * Add - Product Gallery (Beta): Enable block usage in Single Product block [#53602](https://github.com/woocommerce/woocommerce/pull/53602) * Add - Update docs [#54644](https://github.com/woocommerce/woocommerce/pull/54644) * Update - Accept a `message` in the payment result when processing payment, as well as convert error notices on failure. [#53671](https://github.com/woocommerce/woocommerce/pull/53671) * Update - Create a common component for upgrade/downgrade notices in blocks [#54483](https://github.com/woocommerce/woocommerce/pull/54483) * Update - Disable the Store Notice when switching to a block theme [#54288](https://github.com/woocommerce/woocommerce/pull/54288) * Update - Enhance Settings -> Payments NOX pages styling for mobile and tablet screens. [#54566](https://github.com/woocommerce/woocommerce/pull/54566) * Update - Fix cart and checkout block/shortcode detection in status report and frontend. [#54340](https://github.com/woocommerce/woocommerce/pull/54340) * Update - FlexSlider smoothHeight() now uses CSS transitions [#52004](https://github.com/woocommerce/woocommerce/pull/52004) * Update - Make the defined Cost of Goods Sold value nullable [#54458](https://github.com/woocommerce/woocommerce/pull/54458) * Update - Product Gallery: Stop locking the blocks [#53847](https://github.com/woocommerce/woocommerce/pull/53847) * Update - Register and render internal slotFills in the new Settings. [#53909](https://github.com/woocommerce/woocommerce/pull/53909) * Update - Rely on core's createBlocksFromInnerBlocksTemplate function instead of internal one [#54122](https://github.com/woocommerce/woocommerce/pull/54122) * Update - Replace the Cost of Goods Sold overrides parent flag for variations with an is additive flag [#53845](https://github.com/woocommerce/woocommerce/pull/53845) * Update - Replace Woopayments and WooPay logos with the new rebranded logos. [#54023](https://github.com/woocommerce/woocommerce/pull/54023) * Update - Set mailpoet 70%, klaviyo 30% for default remote extensions [#53952](https://github.com/woocommerce/woocommerce/pull/53952) * Update - Show a notice when a site is disconnected from WooCommerce.com [#54168](https://github.com/woocommerce/woocommerce/pull/54168) * Update - Significant refactor of our block registration system registerBlockSingleProductTemplate for single product templates, specifically addressing performance concerns with the current implementation [#53788](https://github.com/woocommerce/woocommerce/pull/53788) * Update - Update coming soon template version, remove storeOnly attribute, replace custom color attribute with background color, add coming soon pattern ID and tracks [#53976](https://github.com/woocommerce/woocommerce/pull/53976) * Update - Update disconnect message modal. [#54038](https://github.com/woocommerce/woocommerce/pull/54038) * Update - Updated the function signature for registerProductBlockType [#53895](https://github.com/woocommerce/woocommerce/pull/53895) * Update - Update e2e tests so they're passing against Pressable environment [#54006](https://github.com/woocommerce/woocommerce/pull/54006) * Update - Update e2e tests so they're passing against WPCOM environment [#54032](https://github.com/woocommerce/woocommerce/pull/54032) * Update - Update function name from registerBlockSingleProductTemplate to registerProductBlockType [#53872](https://github.com/woocommerce/woocommerce/pull/53872) * Update - Update WC Blocks to use the StoreDescriptor when accessing the validation data store. The documentation for the validation data store is also updated. [#54468](https://github.com/woocommerce/woocommerce/pull/54468) * Update - Validate transient data before setting it [#54640](https://github.com/woocommerce/woocommerce/pull/54640) * Update - Widget area: change the block registration strategy from opt-out to opt-in [#54086](https://github.com/woocommerce/woocommerce/pull/54086) * Dev - Add tracking events for the WooPayments payment methods selection flow. [#54733](https://github.com/woocommerce/woocommerce/pull/54733) * Dev - Add an ESLint rule comment [#54084](https://github.com/woocommerce/woocommerce/pull/54084) * Dev - Add code comments for Payment Settings (NOX) client code. [#54263](https://github.com/woocommerce/woocommerce/pull/54263) * Dev - Add dangerouslySetInnerHTML ESLint comments to settings-payments components. [#54191](https://github.com/woocommerce/woocommerce/pull/54191) * Dev - Added env vars to allow for disabling typescipt checking and hiding warnings. [#54017](https://github.com/woocommerce/woocommerce/pull/54017) * Dev - Add introductory page to the public Storybook. [#52826](https://github.com/woocommerce/woocommerce/pull/52826) * Dev - Add the 'pnpm utils pull-request add-changelog-file' tool [#51042](https://github.com/woocommerce/woocommerce/pull/51042) * Dev - Add `@automattic/color-studio` to syncpack. [#53123](https://github.com/woocommerce/woocommerce/pull/53123) * Dev - CI: bump PHP version for a PHPUnit job. [#53700](https://github.com/woocommerce/woocommerce/pull/53700) * Dev - CI: live-branches jobs tweaks. [#54308](https://github.com/woocommerce/woocommerce/pull/54308) * Dev - CI config: add unique event names for each CI job [#53763](https://github.com/woocommerce/woocommerce/pull/53763) * Dev - CI config: run extra e2e checks for different envs in PRs updating e2e tests [#53756](https://github.com/woocommerce/woocommerce/pull/53756) * Dev - Client Payments: fix TS errors [#54289](https://github.com/woocommerce/woocommerce/pull/54289) * Dev - Client Settings Payments: fix TS errors [#54348](https://github.com/woocommerce/woocommerce/pull/54348) * Dev - Comment: Improve variation selector frontend #53947 [#53947](https://github.com/woocommerce/woocommerce/pull/53947) * Dev - Comment: Move ProductType store to shared folder #53852 [#53852](https://github.com/woocommerce/woocommerce/pull/53852) * Dev - Customize Your Store: fix TS errors. [#54133](https://github.com/woocommerce/woocommerce/pull/54133) * Dev - E2E tests: Audit /customize-store folder and add tags [#53754](https://github.com/woocommerce/woocommerce/pull/53754) * Dev - E2E tests: bump Playwright to 1.49.1 [#54346](https://github.com/woocommerce/woocommerce/pull/54346) * Dev - E2E tests: cleanup devices in Playwright config [#54342](https://github.com/woocommerce/woocommerce/pull/54342) * Dev - E2E tests: fix incorrect site reset reporting in global setup [#54466](https://github.com/woocommerce/woocommerce/pull/54466) * Dev - E2E tests: fix the fillPageTitle in editor util to fulfill the latest update in Gutenberg 19.9-nightly [#54031](https://github.com/woocommerce/woocommerce/pull/54031) * Dev - E2E tests: fix the search direct url in shop test [#53752](https://github.com/woocommerce/woocommerce/pull/53752) * Dev - E2E tests: removed Coupons page chack, already covered in page-loads spec [#54333](https://github.com/woocommerce/woocommerce/pull/54333) * Dev - E2E tests: removed redundant test for product filter by price [#54327](https://github.com/woocommerce/woocommerce/pull/54327) * Dev - E2E tests: removed redundant test [#53886](https://github.com/woocommerce/woocommerce/pull/53886) * Dev - E2E tests: remove unused utils [#54314](https://github.com/woocommerce/woocommerce/pull/54314) * Dev - E2E tests: update test tags to make the different envs suites smaller [#53758](https://github.com/woocommerce/woocommerce/pull/53758) * Dev - Fix TS errors in plugins/woocommerce/admin/client/products [#54129](https://github.com/woocommerce/woocommerce/pull/54129) * Dev - Fix TS warnings in plugins/woocommerce/client/admin/client/marketplace [#54033](https://github.com/woocommerce/woocommerce/pull/54033) * Dev - Fix TS warnings in plugins/woocommerce/client/admin/client/settings-email [#54228](https://github.com/woocommerce/woocommerce/pull/54228) * Dev - Handle Invalid Product ID #54053 [#54053](https://github.com/woocommerce/woocommerce/pull/54053) * Dev - Harden type in BlockRegistrationManager [#54262](https://github.com/woocommerce/woocommerce/pull/54262) * Dev - Improved instrumentation of In-App search [#54141](https://github.com/woocommerce/woocommerce/pull/54141) * Dev - Introduces and implements product status constants in the WooCommerce plugin codebase. [#53938](https://github.com/woocommerce/woocommerce/pull/53938) * Dev - Introduces and implements product type constants in the WooCommerce plugin codebase. [#53759](https://github.com/woocommerce/woocommerce/pull/53759) * Dev - Monorepo: bump pnpm version to 9.15.0 [#54189](https://github.com/woocommerce/woocommerce/pull/54189) * Dev - Remove dangerouslySetInnerHTML usage in classic-shortcode block where its not needed. [#54193](https://github.com/woocommerce/woocommerce/pull/54193) * Dev - Removed old e2e tests folder and cleaned up related dependencies and scripts. [#54344](https://github.com/woocommerce/woocommerce/pull/54344) * Dev - Remove the third test scenario in e2e loading screen test [#53915](https://github.com/woocommerce/woocommerce/pull/53915) * Dev - Remove unnecessary `@ts-expect-error` directives [#54042](https://github.com/woocommerce/woocommerce/pull/54042) * Dev - Update consumers of the wc/store/store-notices data store to use the StoreDescriptor rather than the key to access it [#54376](https://github.com/woocommerce/woocommerce/pull/54376) * Dev - Updated declared dependencies to React 18 and Wordpress 6.6 [#53531](https://github.com/woocommerce/woocommerce/pull/53531) * Dev - Update some e2e CI jobs to not run on PRs [#53835](https://github.com/woocommerce/woocommerce/pull/53835) * Dev - Updates to tests for compatibility with Pressable test site [#53948](https://github.com/woocommerce/woocommerce/pull/53948) * Dev - Use product name as image "alt" text in editor #54256 [#54256](https://github.com/woocommerce/woocommerce/pull/54256) * Tweak - Add html comment for sanitized html, safe usage of the React dangerous html API and eslint ignore rules [#54130](https://github.com/woocommerce/woocommerce/pull/54130) * Tweak - Fix the capitalization of "privacy policy" and "terms and conditions" [#53883](https://github.com/woocommerce/woocommerce/pull/53883) * Tweak - Fix the name of the Manawatu-Whanganui region [#54231](https://github.com/woocommerce/woocommerce/pull/54231) * Tweak - Fix TypeScript errors in Marketing pages. [#54485](https://github.com/woocommerce/woocommerce/pull/54485) * Tweak - FlexSlider fade animation small code refactor [#54091](https://github.com/woocommerce/woocommerce/pull/54091) * Tweak - FlexSlider variable slider.transitions renamed to slider.transforms [#54176](https://github.com/woocommerce/woocommerce/pull/54176) * Tweak - If Cash on Delivery is enabled with shipping method restrictions, made it available by default until shipping methods are available to check. [#54471](https://github.com/woocommerce/woocommerce/pull/54471) * Tweak - Make "Product on sale" screen reader text translatable in ProductImage block [#54453](https://github.com/woocommerce/woocommerce/pull/54453) * Tweak - Make nullable parameters explicitly nullable in various admin packages [#53526](https://github.com/woocommerce/woocommerce/pull/53526) * Tweak - Make nullable params explicitly nullable in RIN code [#53525](https://github.com/woocommerce/woocommerce/pull/53525) * Tweak - Moved password nag from the order confirmation page to the my account page. [#53846](https://github.com/woocommerce/woocommerce/pull/53846) * Tweak - Removed the Builder Intro screen from the Core Profiler as it's been relocated to WC Settings > Advanced > Blueprint [#54139](https://github.com/woocommerce/woocommerce/pull/54139) * Tweak - Updated select2 and select box styles on checkout for consistency [#53521](https://github.com/woocommerce/woocommerce/pull/53521) * Tweak - Update some of the language in our order emails to reference 'order details' instead of 'invoice'. [#53897](https://github.com/woocommerce/woocommerce/pull/53897) * Tweak - Update to copy on Blueprint settings screen. [#53973](https://github.com/woocommerce/woocommerce/pull/53973) * Tweak - Update woocommerce-analytics plugin URL to the one in .org [#54667](https://github.com/woocommerce/woocommerce/pull/54667) * Tweak - Use decodeEntities() to render Review product name in Reviews blocks [#54230](https://github.com/woocommerce/woocommerce/pull/54230) * Performance - Do not load the Coming Soon block in the customize.php, widgets.php, theme.php and not gutenberg edit site page [#51058](https://github.com/woocommerce/woocommerce/pull/51058) * Performance - Improve order count query performance by avoiding usage of DISTINCT when not needed. [#53499](https://github.com/woocommerce/woocommerce/pull/53499) * Performance - Prevent unnecessary requests to cart API when cart is empty [#53611](https://github.com/woocommerce/woocommerce/pull/53611) * Performance - Refactored address field controls to prevent slow rerendering in the checkout editor. [#53892](https://github.com/woocommerce/woocommerce/pull/53892) * Enhancement - Add default address configuration for Botswana [#54543](https://github.com/woocommerce/woocommerce/pull/54543) * Enhancement - Add label to the dropdown Filter by attribute block [#53610](https://github.com/woocommerce/woocommerce/pull/53610) * Enhancement - Add parameters to addItemToCart() thunk. [#53458](https://github.com/woocommerce/woocommerce/pull/53458) * Enhancement - Add store location mismatch indicator to the Settings -> Payments NOX page. [#54638](https://github.com/woocommerce/woocommerce/pull/54638) * Enhancement - Add type to the remove filter label in the active-filters block [#53857](https://github.com/woocommerce/woocommerce/pull/53857) * Enhancement - Add visual label to sort by select on Shop page [#52838](https://github.com/woocommerce/woocommerce/pull/52838) * Enhancement - Add woocommercer_allow_tracking, woocommerce_allow_tracking_last_modified and woocommerce_allow_tracking_first_optin [#53664](https://github.com/woocommerce/woocommerce/pull/53664) * Enhancement - Branding updates to woocommerce payments welcome and payments task pages [#54571](https://github.com/woocommerce/woocommerce/pull/54571) * Enhancement - Enhancement: Improve UX by showing price validation warnings before bulk updates for variations [#54266](https://github.com/woocommerce/woocommerce/pull/54266) * Enhancement - Fix the headings hierarchy on the Order Confirmation page [#49317](https://github.com/woocommerce/woocommerce/pull/49317) * Enhancement - Hides the delivery/pickup toggle when only local pickup is enabled in block checkout. [#54249](https://github.com/woocommerce/woocommerce/pull/54249) * Enhancement - Improve accessibility of the rating stars [#53018](https://github.com/woocommerce/woocommerce/pull/53018) * Enhancement - Improved email preview by adding more data to render in emails [#54441](https://github.com/woocommerce/woocommerce/pull/54441) * Enhancement - Improved robustness and security of email preview [#54244](https://github.com/woocommerce/woocommerce/pull/54244) * Enhancement - Make labels of shipping address inputs visible on legacy Cart page [#52272](https://github.com/woocommerce/woocommerce/pull/52272) * Enhancement - Make screen readers announce interaction on Cart table [#53494](https://github.com/woocommerce/woocommerce/pull/53494) * Enhancement - Modernize email layout styles - behind an experimental flag [#54491](https://github.com/woocommerce/woocommerce/pull/54491) * Enhancement - Modernize email order detail styles - behind an experimental flag [#54440](https://github.com/woocommerce/woocommerce/pull/54440) * Enhancement - Prevent default browser validation for the email input on change address form [#54355](https://github.com/woocommerce/woocommerce/pull/54355) * Enhancement - Product Collection: Add support for passing extra attributes like align while registering a custom collection. [#53785](https://github.com/woocommerce/woocommerce/pull/53785) * Enhancement - Track woocommerce_allow_tracking_toggled [#53715](https://github.com/woocommerce/woocommerce/pull/53715) * Enhancement - Use wp_register_block_metadata_collection() on WordPress 6.7+ to improve block registration performance by reducing filesystem operations. (See https://core.trac.wordpress.org/changeset/59132) [#51184](https://github.com/woocommerce/woocommerce/pull/51184) = 9.6.2 2025-02-13 = **WooCommerce** * Fix - Return secondary color CSS variable to its original color [#55366](https://github.com/woocommerce/woocommerce/pull/55366) = 9.6.1 2025-02-04 = **WooCommerce** * Update - Launching the new Woo logo and related brand updates. [#54802](https://github.com/woocommerce/woocommerce/pull/54802) = 9.6.0 2025-01-20 = **WooCommerce** * Fix - Fix EmailPreviewTest::test_dummy_product_filter to validate dummy product properties directly [#54104](https://github.com/woocommerce/woocommerce/pull/54104) * Fix - Add aria modal attribute to photoswipe [#53245](https://github.com/woocommerce/woocommerce/pull/53245) * Fix - Add check for comingSoonNewsletter object before adding in newsletter panel [#53781](https://github.com/woocommerce/woocommerce/pull/53781) * Fix - Add checks to various template functions, guard against fatal errors when the global $product object is unavailable. [#53167](https://github.com/woocommerce/woocommerce/pull/53167) * Fix - Add description to display name field on account details page [#53312](https://github.com/woocommerce/woocommerce/pull/53312) * Fix - Added new validation to Store API checkout endpoint regarding Accounts & Privacy definitions. [#53421](https://github.com/woocommerce/woocommerce/pull/53421) * Fix - Add focus indicator to recommended products on the legacy Cart page [#52353](https://github.com/woocommerce/woocommerce/pull/52353) * Fix - Add headings to the main section of the Cart page with the block variation [#52077](https://github.com/woocommerce/woocommerce/pull/52077) * Fix - Add To Cart Button: fix style when `core/button` block isn't visible in the page. [#53052](https://github.com/woocommerce/woocommerce/pull/53052) * Fix - Add to Cart with Options - Stepper Layout: trigger change event when stepper button clicked. [#53343](https://github.com/woocommerce/woocommerce/pull/53343) * Fix - Align variation selector labels and selects in the Single Product template of block themes [#53598](https://github.com/woocommerce/woocommerce/pull/53598) * Fix - Apply fix from #52726 to new coming soon template [#52762](https://github.com/woocommerce/woocommerce/pull/52762) * Fix - A required text additional field will now accept 0 as a valid input. [#52782](https://github.com/woocommerce/woocommerce/pull/52782) * Fix - Avoid crash widget area when Product Collection is rendered [#53656](https://github.com/woocommerce/woocommerce/pull/53656) * Fix - Fix: Styling issues in Product Editor around featured product star and variation dimensions spacing [#53707](https://github.com/woocommerce/woocommerce/pull/53707) * Fix - Fix: Unable to connect sub-directory based multi-sites to WooCommerce.com. [#52649](https://github.com/woocommerce/woocommerce/pull/52649) * Fix - Fix a bug where server validation errors were not dismissed after validation passes. [#53362](https://github.com/woocommerce/woocommerce/pull/53362) * Fix - Fix blocks registration through registerBlockSingleProductTemplate [#53626](https://github.com/woocommerce/woocommerce/pull/53626) * Fix - Fix click event on Import from a CSV file box in add products task [#53265](https://github.com/woocommerce/woocommerce/pull/53265) * Fix - Fix conflicting namespace between EmailPreviewRestController and PaymentRestController causing Payments settings to fail to load [#53497](https://github.com/woocommerce/woocommerce/pull/53497) * Fix - Fix core profiler crash when locale string incorrect format [#53502](https://github.com/woocommerce/woocommerce/pull/53502) * Fix - Fix css date and time inputs display in order admin [#53471](https://github.com/woocommerce/woocommerce/pull/53471) * Fix - Fixed core profiler not showing jetpack auth step when pre-installed [#53744](https://github.com/woocommerce/woocommerce/pull/53744) * Fix - fixed the opt in checkbox to respect the user choice when previously opted out [#52525](https://github.com/woocommerce/woocommerce/pull/52525) * Fix - Fix ellipsis menu position in Analytics [#53066](https://github.com/woocommerce/woocommerce/pull/53066) * Fix - Fixes a bug when additional fields with a value of 0 would not display on the order confirmation or edit order screen [#53717](https://github.com/woocommerce/woocommerce/pull/53717) * Fix - Fixes the parameter passed in one of the set-active-payment-method events to use the paymentMethodSlug argument name, in line with the documentation [#53415](https://github.com/woocommerce/woocommerce/pull/53415) * Fix - Fix grouped product styles for TT5 #52856 [#52856](https://github.com/woocommerce/woocommerce/pull/52856) * Fix - Fix header with an image in Coming Soon page template causes text overlap and spacing [#52726](https://github.com/woocommerce/woocommerce/pull/52726) * Fix - Fix hovering over core profiler extension to show cursor:pointer [#53238](https://github.com/woocommerce/woocommerce/pull/53238) * Fix - Fix incorrect alignment of T&C checkbox and label [#52983](https://github.com/woocommerce/woocommerce/pull/52983) * Fix - Fix incorrect capitalization of checkout field labels for German locale [#53342](https://github.com/woocommerce/woocommerce/pull/53342) * Fix - Fix incorrect industry type in profiler api [#52660](https://github.com/woocommerce/woocommerce/pull/52660) * Fix - Fix janky interactions in core profiler [#53240](https://github.com/woocommerce/woocommerce/pull/53240) * Fix - Fix localization of In-App Marketplace endpoints [#53106](https://github.com/woocommerce/woocommerce/pull/53106) * Fix - Fix PHP and Core API tests [#52761](https://github.com/woocommerce/woocommerce/pull/52761) * Fix - Fix PHP warnings when user_email is not populated on my-account page. [#53670](https://github.com/woocommerce/woocommerce/pull/53670) * Fix - Fix product SKU styles #52787 [#52787](https://github.com/woocommerce/woocommerce/pull/52787) * Fix - Fix tests [#52965](https://github.com/woocommerce/woocommerce/pull/52965) * Fix - Fix the "Are you sure you want to leave this page?" bug when interacting with the countries' search input. [#53588](https://github.com/woocommerce/woocommerce/pull/53588) * Fix - Fix variation image not switching if another one is selected [#53152](https://github.com/woocommerce/woocommerce/pull/53152) * Fix - Improved Analytics and Product CSV export usability by allowing negative numeric values to be unescaped while continuing to escape potentially risky strings to prevent CSV Injection (async, PHP-based CSV exporting). [#53022](https://github.com/woocommerce/woocommerce/pull/53022) * Fix - Improve shipping method block CSS specificity to prevent a display issue for admin accounts on WordPress.com [#52349](https://github.com/woocommerce/woocommerce/pull/52349) * Fix - Make Add to Cart with Options tooltip text localizable [#53272](https://github.com/woocommerce/woocommerce/pull/53272) * Fix - Make Stock Indicator block behavior consistent between the Product Collection block and the Single Product template [#53462](https://github.com/woocommerce/woocommerce/pull/53462) * Fix - Post editor: ensure that blocks aren't registered multiple times. [#53217](https://github.com/woocommerce/woocommerce/pull/53217) * Fix - Prevent Fatal Error when viewing order refund in admin page. [#52803](https://github.com/woocommerce/woocommerce/pull/52803) * Fix - Product Gallery (Beta) - Fix block not rendering after being added. [#53145](https://github.com/woocommerce/woocommerce/pull/53145) * Fix - Product Gallery (Beta): Fix image aspect-ratio in full page mode [#53201](https://github.com/woocommerce/woocommerce/pull/53201) * Fix - Product Gallery (Beta) on mobile, the thumbnails were disappearing on page reload. [#53160](https://github.com/woocommerce/woocommerce/pull/53160) * Fix - Product Gallery: fix the incorrect scroll origin in Chrome [#53314](https://github.com/woocommerce/woocommerce/pull/53314) * Fix - Product Hero: allow changing displayed product [#53090](https://github.com/woocommerce/woocommerce/pull/53090) * Fix - Product reviews: improve how reviews are printend on the admin side. [#53313](https://github.com/woocommerce/woocommerce/pull/53313) * Fix - Properly break from Note loop using break instead of continue, and also perform some tiny refactoring [#52671](https://github.com/woocommerce/woocommerce/pull/52671) * Fix - Reduce the risk of (empty where clause) database errors when performing an order search. [#53025](https://github.com/woocommerce/woocommerce/pull/53025) * Fix - Reinstate Jetpack connection screen for sites with Jetpack pre-installed [#52814](https://github.com/woocommerce/woocommerce/pull/52814) * Fix - Skip capturing shipping taxes if the shipping method tax status is set to none. #### Comment [#46069](https://github.com/woocommerce/woocommerce/pull/46069) * Fix - Turn coupon accordion title into a heading level 2 element on the block-based Checkout page [#52844](https://github.com/woocommerce/woocommerce/pull/52844) * Fix - Turns the state field hidden when selecting the Cyprus country as a shipping/billing address. [#53459](https://github.com/woocommerce/woocommerce/pull/53459) * Fix - Unify ToggleGroupControl styles in Blocks inspector control [#48535](https://github.com/woocommerce/woocommerce/pull/48535) * Fix - Update billing email autocomplete to use email only [#53059](https://github.com/woocommerce/woocommerce/pull/53059) * Fix - Updated wc_get_cart_url() to only return permalinks rather than building the current URL manually. [#53419](https://github.com/woocommerce/woocommerce/pull/53419) * Fix - Update password strength role [#53202](https://github.com/woocommerce/woocommerce/pull/53202) * Fix - Update product photoswipe top bar button order [#53045](https://github.com/woocommerce/woocommerce/pull/53045) * Fix - Update several WC Admin UI elements to honor the correct product image aspect ratio [#52828](https://github.com/woocommerce/woocommerce/pull/52828) * Fix - Update the checkout page order summary product title to use h3 [#53037](https://github.com/woocommerce/woocommerce/pull/53037) * Fix - Validate and sanitize the event origin and event data when listening to message events from attachParentListeners function to prevent xss attacks during the customize your store flow [#53418](https://github.com/woocommerce/woocommerce/pull/53418) * Add - Add "Recurring payments" icon next to payment providers [#53669](https://github.com/woocommerce/woocommerce/pull/53669) * Add - Add an API endpoint to disconnect a site from WooCommerce.com [#53473](https://github.com/woocommerce/woocommerce/pull/53473) * Add - Add categories for other payment suggestions [#53270](https://github.com/woocommerce/woocommerce/pull/53270) * Add - Add coming soon minimal left image template [#53024](https://github.com/woocommerce/woocommerce/pull/53024) * Add - Add coming soon mondern black template [#53084](https://github.com/woocommerce/woocommerce/pull/53084) * Add - Add coming soon social links template part [#52866](https://github.com/woocommerce/woocommerce/pull/52866) * Add - Add country selector component for the new Payment settings page. [#53075](https://github.com/woocommerce/woocommerce/pull/53075) * Add - Add Croatian countries [#51959](https://github.com/woocommerce/woocommerce/pull/51959) * Add - Add drag & drop offline payment settings [#52888](https://github.com/woocommerce/woocommerce/pull/52888) * Add - Add filters to prevent quantity adjustment or removal notices in checkout blocks [#52547](https://github.com/woocommerce/woocommerce/pull/52547) * Add - Add global_unique_id query support for variations to products and variations REST endpoint. [#52839](https://github.com/woocommerce/woocommerce/pull/52839) * Add - Add Launch Newsletter panel for the coming soon template. [#52650](https://github.com/woocommerce/woocommerce/pull/52650) * Add - Add new "exclude_status" filter on the "/products" endpoint [#52898](https://github.com/woocommerce/woocommerce/pull/52898) * Add - Add new "exclude_types" filter on the "/products" endpoint. [#53184](https://github.com/woocommerce/woocommerce/pull/53184) * Add - Add new `include_status` filter on the `/products` endpoint. [#52780](https://github.com/woocommerce/woocommerce/pull/52780) * Add - Add order actions to the order details screen in My Account. [#52756](https://github.com/woocommerce/woocommerce/pull/52756) * Add - Add provider-agnostic ordering API for the Payments NOX while retaining BC with legacy gateway ordering. [#53150](https://github.com/woocommerce/woocommerce/pull/53150) * Add - Adds validation to variable product transient data [#53603](https://github.com/woocommerce/woocommerce/pull/53603) * Add - Add the `downloadable` param to the `/products` endpoint [#53028](https://github.com/woocommerce/woocommerce/pull/53028) * Add - Add the `include_types` param to the `/products` endpoint. [#52994](https://github.com/woocommerce/woocommerce/pull/52994) * Add - Add the `virtual` param to the `/products` endpoint [#53002](https://github.com/woocommerce/woocommerce/pull/53002) * Add - Add unit tests for Hand-Picked collection #52677 [#52677](https://github.com/woocommerce/woocommerce/pull/52677) * Add - Allow merchants to edit the cart and checkout block order summary total headings. [#53548](https://github.com/woocommerce/woocommerce/pull/53548) * Add - Allow order summary subtotal heading to be edited in both cart and checkout blocks. [#53544](https://github.com/woocommerce/woocommerce/pull/53544) * Add - Comment: Add product type selector to the add to cart with options block toolbar [#53354](https://github.com/woocommerce/woocommerce/pull/53354) * Add - Comment: Add save method to AddToCartWithOptions #53613 [#53613](https://github.com/woocommerce/woocommerce/pull/53613) * Add - Comment: Add To Cart with Options: introduce blockify feature flag [#53166](https://github.com/woocommerce/woocommerce/pull/53166) * Add - Comment: Register store for the product types [#53366](https://github.com/woocommerce/woocommerce/pull/53366) * Add - Comment: switch current product type from the Add To Cart with Options block toolbar [#53398](https://github.com/woocommerce/woocommerce/pull/53398) * Add - Display payment suggestions for each selected country in WooCommerce > Settings > Payments [#53505](https://github.com/woocommerce/woocommerce/pull/53505) * Add - Enables replacing cart item images in cart-blocks using a filter. Complementary shortcode hook already exists: woocommerce_cart_item_thumbnail. [#52310](https://github.com/woocommerce/woocommerce/pull/52310) * Add - Experimental: add live preview for subject, heading, and additional content when managing specific email [#53718](https://github.com/woocommerce/woocommerce/pull/53718) * Add - Experimental: generate subject for email preview [#53581](https://github.com/woocommerce/woocommerce/pull/53581) * Add - Experimental: live preview email styles changes without saving settings [#53627](https://github.com/woocommerce/woocommerce/pull/53627) * Add - Experimental: live preview email subject and from name and address changes in settings [#53204](https://github.com/woocommerce/woocommerce/pull/53204) * Add - Experimental: send a test email from email settings [#53399](https://github.com/woocommerce/woocommerce/pull/53399) * Add - Implement a new page step for recommended payment methods [#53288](https://github.com/woocommerce/woocommerce/pull/53288) * Add - Make tabs on product page keyboard accessible [#53158](https://github.com/woocommerce/woocommerce/pull/53158) * Add - Product Gallery: disable prev/next buttons on first and last image [#53318](https://github.com/woocommerce/woocommerce/pull/53318) * Add - Product Summary: Add more options to typography supports so it has the same options as Post Excerpt [#53185](https://github.com/woocommerce/woocommerce/pull/53185) * Add - Product Summary: create new improved version of Product Summary block including multiple features [#48984](https://github.com/woocommerce/woocommerce/pull/48984) * Add - REST API: add orders/statuses endpoint [#52455](https://github.com/woocommerce/woocommerce/pull/52455) * Add - Single Product Compatibility Layer: Treat Product Gallery as a Single Product block [#53378](https://github.com/woocommerce/woocommerce/pull/53378) * Add - Transform SettingsSection data for layout [#52905](https://github.com/woocommerce/woocommerce/pull/52905) * Add - Updates the Action Scheduler library to 3.9.0. [#52857](https://github.com/woocommerce/woocommerce/pull/52857) * Update - - Updated readme.txt to reflect the integration of WooCommerce Admin into WooCommerce core and revised dashboard descriptions. [#52928](https://github.com/woocommerce/woocommerce/pull/52928) * Update - AbstractBlock: allow assigning any api_version to the block and bump the blocks to api_version 3 [#52755](https://github.com/woocommerce/woocommerce/pull/52755) * Update - Add branding changes for core profiler and lys [#53429](https://github.com/woocommerce/woocommerce/pull/53429) * Update - Add feature to enable tate limits for Store API's Checkout endpoint and Checkout block. [#53711](https://github.com/woocommerce/woocommerce/pull/53711) * Update - Add incentives logic to the frontend for payment settings. [#53432](https://github.com/woocommerce/woocommerce/pull/53432) * Update - Add loading states to the React settings page [#53122](https://github.com/woocommerce/woocommerce/pull/53122) * Update - Add requires_jpc field to determine plugins that require JPC [#52887](https://github.com/woocommerce/woocommerce/pull/52887) * Update - Add support for IPs with port in WC_Geolocation::get_ip_address [#52551](https://github.com/woocommerce/woocommerce/pull/52551) * Update - Add support for the status "future" in the "include_status" and "exclude_status" params of the Product List endpoint. [#53690](https://github.com/woocommerce/woocommerce/pull/53690) * Update - Comment: do not register Add To Cart with Option when the feature flag is False [#53368](https://github.com/woocommerce/woocommerce/pull/53368) * Update - Comment: render the product type toolbar button only when the product is not defined [#53430](https://github.com/woocommerce/woocommerce/pull/53430) * Update - Comment: select initially the Simple product type [#53484](https://github.com/woocommerce/woocommerce/pull/53484) * Update - Enable "coming soon" option by default in WooCommerce installation [#53685](https://github.com/woocommerce/woocommerce/pull/53685) * Update - Enabled Brands to all users. [#53083](https://github.com/woocommerce/woocommerce/pull/53083) * Update - Enable remote logging UI and mark feature as stable in FeaturesController [#53649](https://github.com/woocommerce/woocommerce/pull/53649) * Update - Ensure Modern settings pages re-render on updated url [#53016](https://github.com/woocommerce/woocommerce/pull/53016) * Update - feat: add product review fields autocomplete attribute [#51970](https://github.com/woocommerce/woocommerce/pull/51970) * Update - Implement accepting and applying WooPayments incentives from the new Payments settings page. [#53672](https://github.com/woocommerce/woocommerce/pull/53672) * Update - Implement drag and drop ordering on the React payment settings page. [#53301](https://github.com/woocommerce/woocommerce/pull/53301) * Update - Include purge cache when coming soon template is updated in documentation [#52695](https://github.com/woocommerce/woocommerce/pull/52695) * Update - Introduce opt-in WooCommerce rebranding [#53308](https://github.com/woocommerce/woocommerce/pull/53308) * Update - Limit core profiler extensions to 8 maximum [#53742](https://github.com/woocommerce/woocommerce/pull/53742) * Update - Product Collection: move "Display Settings" from Toolbar to Inspector Controls [#52666](https://github.com/woocommerce/woocommerce/pull/52666) * Update - Removed final use of the FeatureGating class and deprecated it. [#52768](https://github.com/woocommerce/woocommerce/pull/52768) * Update - Remove usage of the AccessiblePrivateMethods trait [#52937](https://github.com/woocommerce/woocommerce/pull/52937) * Update - Update automattic/jetpack-connection and related Jetpack dependencies [#53620](https://github.com/woocommerce/woocommerce/pull/53620) * Update - Updated delayed account creation wording when emailing password set up links. [#53558](https://github.com/woocommerce/woocommerce/pull/53558) * Update - Updated product settings to use locale-specific weight and dimension units based on the store’s country. [#53652](https://github.com/woocommerce/woocommerce/pull/53652) * Update - Update the customer invoice email templates to account for orders with failed payments [#52977](https://github.com/woocommerce/woocommerce/pull/52977) * Update - Update transient validation for variable products [#53724](https://github.com/woocommerce/woocommerce/pull/53724) * Dev - Added e2e test for analytics reports [#53290](https://github.com/woocommerce/woocommerce/pull/53290) * Dev - Add ellipsis menu action handlers to the React settings page items [#53033](https://github.com/woocommerce/woocommerce/pull/53033) * Dev - Add Reactified Settings page for managing payment gateways (under feature flag) [#52785](https://github.com/woocommerce/woocommerce/pull/52785) * Dev - Adjust client to use fixed version of providers API [#53150](https://github.com/woocommerce/woocommerce/pull/53150) * Dev - API core tests: add an extra check for response code on user create [#53147](https://github.com/woocommerce/woocommerce/pull/53147) * Dev - API core tests: fixes for customer CRUD tests [#53189](https://github.com/woocommerce/woocommerce/pull/53189) * Dev - Api Core tests: fix the setup of orders test to work on multiple runs [#53205](https://github.com/woocommerce/woocommerce/pull/53205) * Dev - Api Core tests: update urls across all tests for compatibility with multisite setup [#53212](https://github.com/woocommerce/woocommerce/pull/53212) * Dev - Bump @wordpress/env to 10.14.0 and remove patch for 10.10.0 [#53692](https://github.com/woocommerce/woocommerce/pull/53692) * Dev - Change the logo and message for WooCommerce tax during onboarding [#53699](https://github.com/woocommerce/woocommerce/pull/53699) * Dev - Change the Woo logos in the mobile banner and modal in admin [#53716](https://github.com/woocommerce/woocommerce/pull/53716) * Dev - CI config: include blocks e2e with wp L-1 in the daily checks [#53089](https://github.com/woocommerce/woocommerce/pull/53089) * Dev - docs: Update payment gateway failure response documentation [#53156](https://github.com/woocommerce/woocommerce/pull/53156) * Dev - E2E setup script: Read customer password from the .env file instead of being hardcoded. [#53361](https://github.com/woocommerce/woocommerce/pull/53361) * Dev - E2E test: improve my account - create account test by using unique test user [#53383](https://github.com/woocommerce/woocommerce/pull/53383) * Dev - E2E test: improve usage of test data in shop-search-browse-sort test [#53395](https://github.com/woocommerce/woocommerce/pull/53395) * Dev - E2E tests: add tags and some todo comments to follow-up [#53631](https://github.com/woocommerce/woocommerce/pull/53631) * Dev - E2E tests: add tags and some todo comments to follow-up [#53662](https://github.com/woocommerce/woocommerce/pull/53662) * Dev - E2E tests: Audit /admin-tasks folder and add tags [#53667](https://github.com/woocommerce/woocommerce/pull/53667) * Dev - E2E tests: deleted unused Playwright configuration file [#53182](https://github.com/woocommerce/woocommerce/pull/53182) * Dev - E2E tests: fix create order test for multiple environments [#53393](https://github.com/woocommerce/woocommerce/pull/53393) * Dev - E2E tests: fixed flakiness in the customize store header and footer tests [#53286](https://github.com/woocommerce/woocommerce/pull/53286) * Dev - E2E tests: fixed flaky test for creating a grouped product [#53310](https://github.com/woocommerce/woocommerce/pull/53310) * Dev - E2E tests: fix flakiness in api test orders search [#53764](https://github.com/woocommerce/woocommerce/pull/53764) * Dev - E2E tests: fix flakiness in shop-search-browse-sort spec [#53614](https://github.com/woocommerce/woocommerce/pull/53614) * Dev - E2E tests: improve customer-list tests [#53392](https://github.com/woocommerce/woocommerce/pull/53392) * Dev - E2E tests: improve documentation on running the api tests suite [#52964](https://github.com/woocommerce/woocommerce/pull/52964) * Dev - E2E tests: improve handling of dotenv files stored in env directories [#53442](https://github.com/woocommerce/woocommerce/pull/53442) * Dev - E2E tests: improve order-edit test [#53391](https://github.com/woocommerce/woocommerce/pull/53391) * Dev - E2E tests: improve page-loads test [#53552](https://github.com/woocommerce/woocommerce/pull/53552) * Dev - E2E tests: improve shopper/product-variable test by ensuring unique test data per run [#53273](https://github.com/woocommerce/woocommerce/pull/53273) * Dev - E2E tests: remove wait for networkidle [#53463](https://github.com/woocommerce/woocommerce/pull/53463) * Dev - E2E tests: skip the third test scenario in existing e2e test loading-screen as it is not a valid [#53663](https://github.com/woocommerce/woocommerce/pull/53663) * Dev - E2E tests: stabilized e2e test core profiler can connect to woo com to fix flakiness [#53554](https://github.com/woocommerce/woocommerce/pull/53554) * Dev - E2E tests: support consumer key from env variable [#53188](https://github.com/woocommerce/woocommerce/pull/53188) * Dev - E2E tests: update base URL to always end in a forward slash [#53180](https://github.com/woocommerce/woocommerce/pull/53180) * Dev - E2E tests: update checkout-login test to use the existing customer instead of creating a new one [#53385](https://github.com/woocommerce/woocommerce/pull/53385) * Dev - E2E tests: updated tags used in page-loads spec [#53624](https://github.com/woocommerce/woocommerce/pull/53624) * Dev - E2E tests: update Playwright tags and configs for environments [#53580](https://github.com/woocommerce/woocommerce/pull/53580) * Dev - E2E tests: update URLs across e2e tests for multisite setup compatibility [#53228](https://github.com/woocommerce/woocommerce/pull/53228) * Dev - Hide task list and make sure store management is then shown [#53291](https://github.com/woocommerce/woocommerce/pull/53291) * Dev - Implement CollectionHandlerRegistry class to manage collection handlers #52509 [#52429](https://github.com/woocommerce/woocommerce/pull/52429) * Dev - Implement different post sandbox account setup modal for dev mode [#53706](https://github.com/woocommerce/woocommerce/pull/53706) * Dev - Implement ProductQueryBuilder class to handle product queries #52429 [#52429](https://github.com/woocommerce/woocommerce/pull/52429) * Dev - Implement ProductRenderer class for rendering and interactivity #52464 [#52429](https://github.com/woocommerce/woocommerce/pull/52429) * Dev - Implement soft routing for recommended payment methods from NOX [#53688](https://github.com/woocommerce/woocommerce/pull/53688) * Dev - Implement the UI for the recommended payment methods list screen. [#53601](https://github.com/woocommerce/woocommerce/pull/53601) * Dev - Introduce reset WooPayments account modal on the Payments Settings page with React feature flag on. [#53590](https://github.com/woocommerce/woocommerce/pull/53590) * Dev - Monorepo: build tweaks to reduce size of wireit-caches [#53503](https://github.com/woocommerce/woocommerce/pull/53503) * Dev - Monorepo: validate block.json files as part of build process. [#52767](https://github.com/woocommerce/woocommerce/pull/52767) * Dev - Move ProductCollectionUtils to the ProductCollection Folder #53116 [#53116](https://github.com/woocommerce/woocommerce/pull/53116) * Dev - patch woo core existing test case [#53557](https://github.com/woocommerce/woocommerce/pull/53557) * Dev - Pull data into the react version of the settings page from the new API [#52824](https://github.com/woocommerce/woocommerce/pull/52824) * Dev - Remove flaky frontend spec test and increase sample size [#52510](https://github.com/woocommerce/woocommerce/pull/52510) * Dev - Remove Payment recommendations block from the settings page if reactify-classic-payments-settings feature flag is on. [#53507](https://github.com/woocommerce/woocommerce/pull/53507) * Dev - Remove reference assignment operator #52583 [#52583](https://github.com/woocommerce/woocommerce/pull/52583) * Dev - Stabilize JS dependency updates [#52815](https://github.com/woocommerce/woocommerce/pull/52815) * Dev - Style ellipsis menu and offline payments item [#53475](https://github.com/woocommerce/woocommerce/pull/53475) * Dev - Switch from test-drive to live account from the settings page [#53453](https://github.com/woocommerce/woocommerce/pull/53453) * Dev - Test drive onboarding flow from settings [#53173](https://github.com/woocommerce/woocommerce/pull/53173) * Dev - Update affected tests to be compatible with both Gutenberg stable and nightly. [#53294](https://github.com/woocommerce/woocommerce/pull/53294) * Dev - Update CI config for api core tests to be triggered by changes in the setup and configuration files [#53183](https://github.com/woocommerce/woocommerce/pull/53183) * Dev - Update CI config to run tests for updates of i18n dir [#52959](https://github.com/woocommerce/woocommerce/pull/52959) * Dev - Update existing tests with the Playwright utils from the @woocommerce/e2e-utils-playwright package [#53377](https://github.com/woocommerce/woocommerce/pull/53377) * Dev - Update the `@wordpress/scripts` dependency used in the `@woocommerce/block-library` package to 30.6.0 [#53619](https://github.com/woocommerce/woocommerce/pull/53619) * Dev - Upgraded Typescript in the monorepo to 5.7.2 [#53165](https://github.com/woocommerce/woocommerce/pull/53165) * Dev - Use decode entities from `@wordpress/html-entities`. [#52676](https://github.com/woocommerce/woocommerce/pull/52676) * Dev - Uses the newly introduced legacy order status constants in unit tests. [#52433](https://github.com/woocommerce/woocommerce/pull/52433) * Dev - Uses the newly introduced order internal status constants in the main WooCommerce plugin codebase. [#52770](https://github.com/woocommerce/woocommerce/pull/52770) * Dev - Uses the newly introduced order status constants in legacy unit tests. [#51921](https://github.com/woocommerce/woocommerce/pull/51921) * Dev - Uses the newly introduced order status constants in the main WooCommerce plugin codebase. [#51922](https://github.com/woocommerce/woocommerce/pull/51922) * Tweak - Add a bottom border to the checkout block expanded order summary on mobile. [#52980](https://github.com/woocommerce/woocommerce/pull/52980) * Tweak - Adjust paddings on top of page order summary to better align on mobile. [#52604](https://github.com/woocommerce/woocommerce/pull/52604) * Tweak - Change "District Of Columbia" to "District of Columbia". [#53073](https://github.com/woocommerce/woocommerce/pull/53073) * Tweak - Comment: Fix: woocommerce_upsell_display was receiving a string instead of an integer in $limit [#51549](https://github.com/woocommerce/woocommerce/pull/51549) * Tweak - Comment: use core function to register Add to Cart with Options (experimental) block [#53348](https://github.com/woocommerce/woocommerce/pull/53348) * Tweak - Define TS types for the useCollectionData() hook [#52586](https://github.com/woocommerce/woocommerce/pull/52586) * Tweak - ISO Code update for Odisha state (India) https://en.wikipedia.org/wiki/ISO_3166-2:IN (23 November 2023) [#53341](https://github.com/woocommerce/woocommerce/pull/53341) * Tweak - Just cleaning up the codebase + some refactors. No change to functionality [#53721](https://github.com/woocommerce/woocommerce/pull/53721) * Tweak - Minimize the potential for fatal errors if an unexpected type is passed to the `wc_get_order_status_name` function. [#52797](https://github.com/woocommerce/woocommerce/pull/52797) * Tweak - Modifies the remote logging feature to avoid unwanted compatibility checks. [#53222](https://github.com/woocommerce/woocommerce/pull/53222) * Tweak - Moved delayed account setting to top of list in account settings. [#53370](https://github.com/woocommerce/woocommerce/pull/53370) * Tweak - Pass color_scheme parameter to the Jetpack connection URL. [#52925](https://github.com/woocommerce/woocommerce/pull/52925) * Tweak - Rating Star: render a single SVG wrapper element per stars group [#52903](https://github.com/woocommerce/woocommerce/pull/52903) * Tweak - Replace trigger_error in WooCommerce::__set with an exception [#52764](https://github.com/woocommerce/woocommerce/pull/52764) * Tweak - Speed up `wc_customer_bought_product` by refactoring the DB query logic [#52919](https://github.com/woocommerce/woocommerce/pull/52919) * Tweak - Update cash on delivery gateway copy [#53612](https://github.com/woocommerce/woocommerce/pull/53612) * Tweak - Update color scheme of some Marketplace illustrations [#53513](https://github.com/woocommerce/woocommerce/pull/53513) * Tweak - Updated Product Data > Attributes onboarding notice [#53657](https://github.com/woocommerce/woocommerce/pull/53657) * Performance - Added feature to introduce caching to HPOS Data Stores [#46023](https://github.com/woocommerce/woocommerce/pull/46023) * Performance - Optimize admin features loading to improve frontend performance [#52480](https://github.com/woocommerce/woocommerce/pull/52480) * Performance - Remove unnecessary setState() from [#53355](https://github.com/woocommerce/woocommerce/pull/53355) * Enhancement - Add conditions so desc_at_end attribute can be used to display field descriptions below textarea fields in settings [#51437](https://github.com/woocommerce/woocommerce/pull/51437) * Enhancement - Associate email field and payment option radio with their descriptions on block-based Checkout page [#52949](https://github.com/woocommerce/woocommerce/pull/52949) * Enhancement - Cart block: display shipping calculator in collapsible panel design. [#52658](https://github.com/woocommerce/woocommerce/pull/52658) * Enhancement - Checkout fields (phone, company, address_2) that can be toggled on and off now sync across all blocks globally. [#52784](https://github.com/woocommerce/woocommerce/pull/52784) * Enhancement - Ensure PTK error log only happens once per day using a transient to track the last log [#53665](https://github.com/woocommerce/woocommerce/pull/53665) * Enhancement - Experimental: make email preview floating next to email settings on wide displays [#53693](https://github.com/woocommerce/woocommerce/pull/53693) * Enhancement - Hide Knowledge Base when the marketplace suggestions option is disabled. [#52715](https://github.com/woocommerce/woocommerce/pull/52715) * Enhancement - Improve embedded CES layout rendering with element checks and code refactor [#52729](https://github.com/woocommerce/woocommerce/pull/52729) * Enhancement - Introduce dedicated payment extension suggestions incentives providers and expose them through the Payments settings API. [#53317](https://github.com/woocommerce/woocommerce/pull/53317) * Enhancement - Pass product instance into `woocommerce_product_read` action as second argument [#51851](https://github.com/woocommerce/woocommerce/pull/51851) * Enhancement - Prevent the variation list from being displayed as an HTML list if there is only one attribute on the Mini Cart Modal [#52924](https://github.com/woocommerce/woocommerce/pull/52924) * Enhancement - Redirect to the connection approval screen when the connection is initiated from WooCommerce.com. [#53445](https://github.com/woocommerce/woocommerce/pull/53445) * Enhancement - Update coming soon minimal left image template image handling for better responsiveness [#53236](https://github.com/woocommerce/woocommerce/pull/53236) * Fix - Fixes a JS error introduced in #53158 when navigating tabs using keyboard on a product page without a gallery. [#53877](https://github.com/woocommerce/woocommerce/pull/53877) * Fix - Fix role retrieval for users with non-sequential roles [#53974](https://github.com/woocommerce/woocommerce/pull/53974) * Fix - Fix test previously expecting a md5 hash but now produces a SHA-256 hash for the gravatar URL. [#53916](https://github.com/woocommerce/woocommerce/pull/53916) * Update - Update plugins with terms of service notice in core profiler. [#53806](https://github.com/woocommerce/woocommerce/pull/53806) * Dev - Change the Woo logo in the marketing banner [#54096](https://github.com/woocommerce/woocommerce/pull/54096) * Dev - Update WooCommerce logo in blocks [#54147](https://github.com/woocommerce/woocommerce/pull/54147) * Tweak - Fix deprecation warnings in PHP 8.3 in email preview classes [#53870](https://github.com/woocommerce/woocommerce/pull/53870) * Fix - CYS: Fix redirection in "Go to the store" link [#54260](https://github.com/woocommerce/woocommerce/pull/54260) * Fix - Fix: Revert "Clear" Button from