== Changelog == = 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