Commit 13b236a2eab for woocommerce
commit 13b236a2eab4e8785a238e4721a0177dc1b8a82f
Author: woocommercebot <30233865+woocommercebot@users.noreply.github.com>
Date: Tue Mar 10 20:41:26 2026 +0000
Update changelog.txt after 10.6.0 (#63628)
Update changelog.txt after release 10.6.0
Co-authored-by: woocommercebot <woocommercebot@users.noreply.github.com>
diff --git a/changelog.txt b/changelog.txt
index d2ab04594fa..63b384409d8 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,5 +1,185 @@
== Changelog ==
+= 10.6.0 2026-03-10 =
+
+**WooCommerce**
+
+* Fix - Accessibility improvement for order summary in Checkout block [#62453](https://github.com/woocommerce/woocommerce/pull/62453)
+* Fix - Add Cache-Control headers to cart API responses to prevent browser caching [#62653](https://github.com/woocommerce/woocommerce/pull/62653)
+* Fix - Add to Cart + Options: add default margin between inner elements [#63220](https://github.com/woocommerce/woocommerce/pull/63220)
+* Fix - Adjust classes used for menu notification bubbles. [#62799](https://github.com/woocommerce/woocommerce/pull/62799)
+* Fix - Allow the Products onboarding task to revert to incomplete when all products are removed [#63239](https://github.com/woocommerce/woocommerce/pull/63239)
+* Fix - Don't disable submit button in meta boxes with empty textarea fields [#62590](https://github.com/woocommerce/woocommerce/pull/62590)
+* Fix - Ensure Store API cart sessions restore correctly for rest_route requests with Cart-Token. [#62973](https://github.com/woocommerce/woocommerce/pull/62973)
+* Fix - fix: ensure address autocomplete is persisted on both billing and shipping forms [#62796](https://github.com/woocommerce/woocommerce/pull/62796)
+* Fix - Fix: get order(s) REST API endpoints failing when invalid coupon metadata is stored [#63010](https://github.com/woocommerce/woocommerce/pull/63010)
+* Fix - Fix: Round percentage-based flat rate shipping fee to display decimals to prevent $0.01 rounding errors. [#62722](https://github.com/woocommerce/woocommerce/pull/62722)
+* Fix - Fix a bug where error notices don't show up in the Mini Cart on first load. [#62315](https://github.com/woocommerce/woocommerce/pull/62315)
+* Fix - Fix an a11y issue when only one country is available, ensure the country is still rendered as an input field, but retain existing styling. [#61835](https://github.com/woocommerce/woocommerce/pull/61835)
+* Fix - Fix auto-cancellation for unpaid checkout block orders [#58262](https://github.com/woocommerce/woocommerce/pull/58262)
+* Fix - Fix cart quantity selector briefly reverting to previous value when changing quantity rapidly. [#62788](https://github.com/woocommerce/woocommerce/pull/62788)
+* Fix - Fix dashboard showing $0 revenue when browser timezone differs from store timezone [#62872](https://github.com/woocommerce/woocommerce/pull/62872)
+* Fix - Fix duplicate breadcrumb entries on My Account endpoint pages when using the Breadcrumb block in global templates. [#62793](https://github.com/woocommerce/woocommerce/pull/62793)
+* Fix - Fixed case-sensitive email verification issue that prevented guests from accessing order payment pages when entering their email address in a different case than stored in the order. [#62974](https://github.com/woocommerce/woocommerce/pull/62974)
+* Fix - Fix email preview to use the configured WooCommerce "From" email address and name instead of WordPress defaults. [#62936](https://github.com/woocommerce/woocommerce/pull/62936)
+* Fix - Fix empty email subject for "Partially refunded order" email in the block email editor by properly retrieving the subject_partial option. [#63047](https://github.com/woocommerce/woocommerce/pull/63047)
+* Fix - Fixes a bug where updating the stock count from the dashboard for a variable product changed its product type back to a simple product and removed all variations. [#63250](https://github.com/woocommerce/woocommerce/pull/63250)
+* Fix - Fixes a bug with analytics stock totals that included trashed products [#63160](https://github.com/woocommerce/woocommerce/pull/63160)
+* Fix - Fixes an issue where Analytics > Categories would crash if a product category had a `parent` that no longer exists in the taxonomy tables due to manual deletion outside the admin UI. [#58312](https://github.com/woocommerce/woocommerce/pull/58312)
+* Fix - Fix get_site_user_meta method to respect arguments passed to it. [#61926](https://github.com/woocommerce/woocommerce/pull/61926)
+* Fix - Fix Local Pickup not rendering in Block Checkout when third-party plugins call calculate_totals() early with shortcode cart context. [#62873](https://github.com/woocommerce/woocommerce/pull/62873)
+* Fix - Fix missing closing HTML tags for shipping zones examples [#60386](https://github.com/woocommerce/woocommerce/pull/60386)
+* Fix - Fix PHPStan errors in wc_get_product_attachment_props() by adding is_array() checks before accessing array offsets. [#62919](https://github.com/woocommerce/woocommerce/pull/62919)
+* Fix - Fix PHP warnings when product categories have non-sequential array keys due to plugin filters. [#63263](https://github.com/woocommerce/woocommerce/pull/63263)
+* Fix - Fix POS catalog cleanup job to schedule deletion for each generated file instead of only the first one. [#63107](https://github.com/woocommerce/woocommerce/pull/63107)
+* Fix - Fix Store API order endpoint returning empty values for "Any" variation attributes. Retrieves customer selections from order metadata to match cart endpoint behavior. [#62476](https://github.com/woocommerce/woocommerce/pull/62476)
+* Fix - Fix WC_Geolocation::geolocate_ip() doesn't use fallback if MaxMind integration is disabled. [#62660](https://github.com/woocommerce/woocommerce/pull/62660)
+* Fix - Implement request batching/queueing for cart operations to fix multiple issues with state resolution in the cart UI. [#62766](https://github.com/woocommerce/woocommerce/pull/62766)
+* Fix - Improve order editor locking support for sub-types (like subscriptions) when using HPOS. [#62671](https://github.com/woocommerce/woocommerce/pull/62671)
+* Fix - Prevent fatal errors when WooCommerce.com Helper API transients contain corrupted data. [#62865](https://github.com/woocommerce/woocommerce/pull/62865)
+* Fix - Prevent undefined index notices when connecting admin pages without an `id`. [#61904](https://github.com/woocommerce/woocommerce/pull/61904)
+* Fix - Product Collection: implement support for Taxonomy filters on posts and pages [#62860](https://github.com/woocommerce/woocommerce/pull/62860)
+* Fix - Product Collection: prevent warnings if block is saved in a picker state [#63032](https://github.com/woocommerce/woocommerce/pull/63032)
+* Fix - Show variable product price in schema based on woocommerce_tax_display_shop setting so the visual prices matches the schema price [#61662](https://github.com/woocommerce/woocommerce/pull/61662)
+* Fix - Updated offerCount product schema value to only count purchasable product variations, excluding those without price or stock. [#61649](https://github.com/woocommerce/woocommerce/pull/61649)
+* Fix - Update email settings actions menu: remove divider between Edit and Send test email, change terminology from Enable/Disable to Activate/Deactivate email. [#63001](https://github.com/woocommerce/woocommerce/pull/63001)
+* Fix - Update pattern names to follow naming convention [#62700](https://github.com/woocommerce/woocommerce/pull/62700)
+* Fix - Use atomic locking to prevent WC_Install::install() from running concurrently. [#63100](https://github.com/woocommerce/woocommerce/pull/63100)
+* Fix - Use existing "Save %s" translation for mini cart discount badge to ensure correct translation for discount savings. [#62647](https://github.com/woocommerce/woocommerce/pull/62647)
+* Fix - Validate page IDs returned by the `woocommerce_navigation_connect_page_options` filter before registering them [#62925](https://github.com/woocommerce/woocommerce/pull/62925)
+* Fix - Verify checkout page exists before adding customizer styles. [#61847](https://github.com/woocommerce/woocommerce/pull/61847)
+* Fix - Fix Store API batch endpoint path validation to prevent routing requests to non-Store-API endpoints. [#63512](https://github.com/woocommerce/woocommerce/pull/63512)
+* Fix - Fix - Handle PayPal Standard duplicate invoice ID errors by updating the invoice ID in the PayPal order and retrying payment capture. [#63540](https://github.com/woocommerce/woocommerce/pull/63540)
+* Fix - Fix Product Gallery dialog page refresh on WordPress 7.0 by using withSyncEvent for the openDialog action. [#63571](https://github.com/woocommerce/woocommerce/pull/63571)
+* Fix - Prevent repeated PayPal Standard order details API requests when the first request returns 404. [#63561](https://github.com/woocommerce/woocommerce/pull/63561)
+* Fix - Validate shipping country against PayPal’s supported countries instead of WooCommerce’s full country list to avoid invalid country codes in PayPal requests. [#63548](https://github.com/woocommerce/woocommerce/pull/63548)
+* Fix - Prevent stored XSS on order notes added via REST API [#63616](https://github.com/woocommerce/woocommerce/pull/63616)
+* Add - Add "Products by Brand" collection to Product Collection block. [#62817](https://github.com/woocommerce/woocommerce/pull/62817)
+* Add - Add caching for the taxes REST API endpoints [#62931](https://github.com/woocommerce/woocommerce/pull/62931)
+* Add - Add dedicated email class and block template for partially refunded orders in the block email editor to ensure consistent visual styling across all transactional emails. [#62895](https://github.com/woocommerce/woocommerce/pull/62895)
+* Add - Add filters `woocommerce_emails_api_settings_schema_validate_and_sanitize_settings` and `woocommerce_emails_settings_schema_validate_and_sanitize_settings` to allow customization of email settings validation in the REST API. [#63170](https://github.com/woocommerce/woocommerce/pull/63170)
+* Add - Add Reddit Ads to core profiler onboarding wizard [#62932](https://github.com/woocommerce/woocommerce/pull/62932)
+* Add - Adds Marketplace CTAs to some of the settings pages. [#63112](https://github.com/woocommerce/woocommerce/pull/63112)
+* Add - Add Snapchat Ads to core profiler onboarding wizard [#62916](https://github.com/woocommerce/woocommerce/pull/62916)
+* Add - Add support for array of slugs in REST API terms controller slug parameter. The slug parameter now accepts both a single string and an array of strings, matching WordPress core WP_Term_Query capabilities. [#60565](https://github.com/woocommerce/woocommerce/pull/60565)
+* Add - Add `woocommerce_shipping_prices_include_tax` filter to support tax-inclusive shipping prices [#62944](https://github.com/woocommerce/woocommerce/pull/62944)
+* Add - Bind some Cart/Checkout UI elements to block themes' "extra-small" font size for consistency. [#62866](https://github.com/woocommerce/woocommerce/pull/62866)
+* Add - Breadcrumbs: Filter final list of crumbs in core block [#62770](https://github.com/woocommerce/woocommerce/pull/62770)
+* Add - Handpicked Products: journey starts with product picker [#62989](https://github.com/woocommerce/woocommerce/pull/62989)
+* Add - Modified the Add to Cart + Options block to auto-select attribute fields, and display attributes in conflict [#61389](https://github.com/woocommerce/woocommerce/pull/61389)
+* Add - Product Reviews block: add support for replies [#63161](https://github.com/woocommerce/woocommerce/pull/63161)
+* Add - Products by Brand: journey starts with choosing initial Brands [#63023](https://github.com/woocommerce/woocommerce/pull/63023)
+* Add - Products by Tag/Category: journey starts with terms picker [#62993](https://github.com/woocommerce/woocommerce/pull/62993)
+* Add - Taxonomy Filters: Add option to sort terms by menu_order [#62940](https://github.com/woocommerce/woocommerce/pull/62940)
+* Update - Add caching for the continents REST API endpoints [#62856](https://github.com/woocommerce/woocommerce/pull/62856)
+* Update - Add caching for the countries REST API endpoints [#62834](https://github.com/woocommerce/woocommerce/pull/62834)
+* Update - Add caching for the currencies REST API endpoints [#62816](https://github.com/woocommerce/woocommerce/pull/62816)
+* Update - Add document for `woocommerce_sale_badge_text` filter [#62896](https://github.com/woocommerce/woocommerce/pull/62896)
+* Update - Add global identifier (GTIN/UPC/EAN/ISBN) support to admin product search. [#60052](https://github.com/woocommerce/woocommerce/pull/60052)
+* Update - Add migration UI and conversion logic to upgrade WooCommerce Accordion blocks to the WordPress core Accordion block in WP 6.9+. [#62787](https://github.com/woocommerce/woocommerce/pull/62787)
+* Update - Add missing relevant hooks info for products and currencies REST API endpoints caching [#62859](https://github.com/woocommerce/woocommerce/pull/62859)
+* Update - Add relevant version strings support to the RestApiCache trait [#62961](https://github.com/woocommerce/woocommerce/pull/62961)
+* Update - Add support for relevant files to the RestApiCache trait [#62768](https://github.com/woocommerce/woocommerce/pull/62768)
+* Update - Add the OrdersVersionStringInvalidator class [#63079](https://github.com/woocommerce/woocommerce/pull/63079)
+* Update - Change the "discount" colour in Cart/Checkout block totals to be more accessible (now uses the same colour as the theme) [#62971](https://github.com/woocommerce/woocommerce/pull/62971)
+* Update - Enable customer cancelled order email notification by default for new installations [#63094](https://github.com/woocommerce/woocommerce/pull/63094)
+* Update - feat: allow payment methods to render a custom "Place order" button on block-based checkout. [#62509](https://github.com/woocommerce/woocommerce/pull/62509)
+* Update - feat: allow payment methods to render a custom "Place order" button on shortcode-based checkout. [#62509](https://github.com/woocommerce/woocommerce/pull/62509)
+* Update - Improve Product Collection block in email editor: rename "Products per page" to "Number of products" and add support for two-column layout. [#63122](https://github.com/woocommerce/woocommerce/pull/63122)
+* Update - Item data and variation data now show inline on the Cart and Checkout blocks [#62897](https://github.com/woocommerce/woocommerce/pull/62897)
+* Update - Make Product Gallery and Add to Cart + Options blocks the default inside the Product block and when updating from the Classic Template block [#60872](https://github.com/woocommerce/woocommerce/pull/60872)
+* Update - Make VersionStringGenerator and RestApiCache more robust against bad-behaved object caches [#63259](https://github.com/woocommerce/woocommerce/pull/63259)
+* Update - Move add note on the order details to the top to be close to the most recent note [#61375](https://github.com/woocommerce/woocommerce/pull/61375)
+* Update - Move the "Save $X" badges in Cart/Mini-cart alongside the individual item prices to save vertical space. [#63012](https://github.com/woocommerce/woocommerce/pull/63012)
+* Update - Position the remove button to the right of the quantity picker and use trash icon instead of text in Cart block [#62965](https://github.com/woocommerce/woocommerce/pull/62965)
+* Update - Prevent errors showing on empty checkout fields until the form is submitted. [#62689](https://github.com/woocommerce/woocommerce/pull/62689)
+* Update - Register TemplateSelection via EmailActionsFill for extensibility [#63277](https://github.com/woocommerce/woocommerce/pull/63277)
+* Update - Remove heading block from Product Collection when used in the email editor. [#63180](https://github.com/woocommerce/woocommerce/pull/63180)
+* Update - Removes PanelBody and uses ToolsPanel for Button, Image and Title blocks [#62712](https://github.com/woocommerce/woocommerce/pull/62712)
+* Update - Removes PanelBody and uses ToolsPanel for Catalog Sorting Block [#62699](https://github.com/woocommerce/woocommerce/pull/62699)
+* Update - Removes PanelBody and uses ToolsPanel for Order Confirmation Block [#62698](https://github.com/woocommerce/woocommerce/pull/62698)
+* Update - Removes PanelBody and uses ToolsPanel for Product Filters blocks [#62723](https://github.com/woocommerce/woocommerce/pull/62723)
+* Update - Removes PanelBody and uses ToolsPanel for Product Gallery block [#62724](https://github.com/woocommerce/woocommerce/pull/62724)
+* Update - Removes PanelBody and uses ToolsPanel in Product Category Title block [#62904](https://github.com/woocommerce/woocommerce/pull/62904)
+* Update - Removes PanelBody and uses ToolsPanel in Product Specifications block [#62903](https://github.com/woocommerce/woocommerce/pull/62903)
+* Update - Update default email template footer styling and center-align footer text across all block email templates. [#63011](https://github.com/woocommerce/woocommerce/pull/63011)
+* Update - Update downloadable file URL placeholder from 'http://' to 'https://'. [#63081](https://github.com/woocommerce/woocommerce/pull/63081)
+* Update - Update inputs and border colours in Cart/Checkout blocks to match the theme's text colour. [#62710](https://github.com/woocommerce/woocommerce/pull/62710)
+* Update - Update the `cancel_url` of PayPal Standard to the checkout page URL. [#63050](https://github.com/woocommerce/woocommerce/pull/63050)
+* Update - Added hooks for user triggered cart updates. [#63575](https://github.com/woocommerce/woocommerce/pull/63575)
+* Dev - Add experimental wc_interactivity_api_load_product API for hydrating product state for iAPI powered blocks. [#62167](https://github.com/woocommerce/woocommerce/pull/62167)
+* Dev - Add missing @return PHPDoc annotations to 5 files, reducing PHPStan baseline by 149 errors (batch 3). [#63149](https://github.com/woocommerce/woocommerce/pull/63149)
+* Dev - Add missing @return PHPDoc annotations to 6 files, reducing PHPStan baseline by 152 errors (batch 4). [#63173](https://github.com/woocommerce/woocommerce/pull/63173)
+* Dev - Add missing @return PHPDoc annotations to 6 files, reducing PHPStan baseline by 278 errors (batch 2). [#63148](https://github.com/woocommerce/woocommerce/pull/63148)
+* Dev - Add missing @return PHPDoc annotations to reduce PHPStan baseline by 374 errors. [#63147](https://github.com/woocommerce/woocommerce/pull/63147)
+* Dev - Add PR template instructions to CLAUDE.md for AI-assisted development. [#62878](https://github.com/woocommerce/woocommerce/pull/62878)
+* Dev - Convert e2e-utils-playwright package to TypeScript. [#63102](https://github.com/woocommerce/woocommerce/pull/63102)
+* Dev - Convert fifth set of e2e-pw test files to TypeScript. [#63214](https://github.com/woocommerce/woocommerce/pull/63214)
+* Dev - Convert first set of e2e-pw tests to TypeScript. [#63190](https://github.com/woocommerce/woocommerce/pull/63190)
+* Dev - Convert fourth set of e2e-pw test file to TypeScript. [#63213](https://github.com/woocommerce/woocommerce/pull/63213)
+* Dev - Convert second set of e2e-pw test files to TypeScript. [#63198](https://github.com/woocommerce/woocommerce/pull/63198)
+* Dev - Convert third set of e2e-pw tests to TypeScript. [#63212](https://github.com/woocommerce/woocommerce/pull/63212)
+* Dev - Fix PHPStan baseline after email tracker endpoint removal [#63134](https://github.com/woocommerce/woocommerce/pull/63134)
+* Dev - Interactivity API Mini Cart: utilize data-wp-on-document directive to handle add/remove cart events. [#62673](https://github.com/woocommerce/woocommerce/pull/62673)
+* Dev - Mention internal code in more places in the documentation [#63108](https://github.com/woocommerce/woocommerce/pull/63108)
+* Dev - Only apply no-store header to GET request of Mini Cart store. [#62615](https://github.com/woocommerce/woocommerce/pull/62615)
+* Dev - Remove fail-safe WooPayments onboarding URLs. [#63247](https://github.com/woocommerce/woocommerce/pull/63247)
+* Dev - Remove orphaned email tracker REST endpoint and deprecate track_opened_email method (follow-up to #55660) [#63071](https://github.com/woocommerce/woocommerce/pull/63071)
+* Dev - Replace custom `needsRefreshForInteractivityAPI` with native `clientNavigationDisabled` from WordPress core's Interactivity Router. [#63230](https://github.com/woocommerce/woocommerce/pull/63230)
+* Dev - Replace internal wiki links with updated developer docs links [#63251](https://github.com/woocommerce/woocommerce/pull/63251)
+* Dev - Scaffold support files for TypeScript conversion of e2e-pw tests. [#63188](https://github.com/woocommerce/woocommerce/pull/63188)
+* Dev - Update Add to Cart with Options to use server hydrated product state. [#62880](https://github.com/woocommerce/woocommerce/pull/62880)
+* Dev - Adjust tests for WP 7.0-beta.1 compatibility [#63427](https://github.com/woocommerce/woocommerce/pull/63427)
+* Dev - E2E tests adjustments to WP 7.0 [#63432](https://github.com/woocommerce/woocommerce/pull/63432)
+* Tweak - Add instanceof/is_callable checks to the `clear` method of `WC_Logger` [#62637](https://github.com/woocommerce/woocommerce/pull/62637)
+* Tweak - Changed subscription status from "Cancelled" to "Auto-renew: off" for non-auto-renewing subscriptions in My Subscriptions. [#62772](https://github.com/woocommerce/woocommerce/pull/62772)
+* Tweak - Fix Kurdistan state name formatting in Iranian provinces to use parentheses like all other states [#60337](https://github.com/woocommerce/woocommerce/pull/60337)
+* Tweak - Fix N-Genius Online payment extension suggestion name and description. [#63245](https://github.com/woocommerce/woocommerce/pull/63245)
+* Tweak - Limit `/products` and `/products/reviews` StoreAPI endpoints to 100 results per page. [#61755](https://github.com/woocommerce/woocommerce/pull/61755)
+* Tweak - Move `handleSubmit` inside `addToCart` in `add-to-cart-with-options` store. [#63105](https://github.com/woocommerce/woocommerce/pull/63105)
+* Tweak - Refactor `getQuantityConstraints` and `normalizeProductFromStore` in iAPI cart store [#63033](https://github.com/woocommerce/woocommerce/pull/63033)
+* Tweak - Replace admin bar height with css variable [#62608](https://github.com/woocommerce/woocommerce/pull/62608)
+* Tweak - Stop autoloading `woocommerce_status_log_db_sources` option [#62806](https://github.com/woocommerce/woocommerce/pull/62806)
+* Tweak - Use wp_is_serving_rest_request() in MCPAdapterProvider instead of contants. [#62972](https://github.com/woocommerce/woocommerce/pull/62972)
+* Tweak - Update PayPal Standard logo on classic checkout. [#63530](https://github.com/woocommerce/woocommerce/pull/63530)
+* Performance - Admin: Improved the performance of approved comment counting and reduced the number of SQL queries on the product reviews page. [#62805](https://github.com/woocommerce/woocommerce/pull/62805)
+* Performance - Admin: optimized SQL fetching dates for month filter on orders page [#63039](https://github.com/woocommerce/woocommerce/pull/63039)
+* Performance - Avoid extra queries in group product pages by priming the post cache. [#63267](https://github.com/woocommerce/woocommerce/pull/63267)
+* Performance - Customer data store: Optimize SQL queries to retrieve user-specific order statistics, including order count, last order, and total amount spent. [#62874](https://github.com/woocommerce/woocommerce/pull/62874)
+* Performance - Defer has_products() check to shutdown hook for bulk delete/trash products. [#63261](https://github.com/woocommerce/woocommerce/pull/63261)
+* Performance - Improved the performance of the product attributes lookup table synchronization (insert and delete operations). [#62748](https://github.com/woocommerce/woocommerce/pull/62748)
+* Performance - Integrate the `akismet_excluded_comment_types` hook from `Akismet::get_user_comments_approved()` to ensure order notes are excluded from the count. [#62913](https://github.com/woocommerce/woocommerce/pull/62913)
+* Performance - Orders: optimized a slow SQL query executed on the order confirmation page, checking for the existence of downloadable products. [#63043](https://github.com/woocommerce/woocommerce/pull/63043)
+* Performance - Performance: optimize attribute meta migration for variable products, addressing edge cases found in older setups. [#62966](https://github.com/woocommerce/woocommerce/pull/62966)
+* Performance - Performance: reintroduced the optimized and hardened version of the recent reviews widget. [#63224](https://github.com/woocommerce/woocommerce/pull/63224)
+* Performance - Performance: separate the transient deletion of legacy reports from the order cache refresh and execute these operations asynchronously. [#63118](https://github.com/woocommerce/woocommerce/pull/63118)
+* Performance - Prevent duplicate table names from accumulating in $wpdb->tables during multisite blog switching. [#60174](https://github.com/woocommerce/woocommerce/pull/60174)
+* Performance - Products: consolidate cache priming calls within product data stores. [#62999](https://github.com/woocommerce/woocommerce/pull/62999)
+* Performance - Products: defer publishing the 'product_add_publish' Tracks-event when importing products. [#62888](https://github.com/woocommerce/woocommerce/pull/62888)
+* Performance - Products: performance tweaks for data store SQLs setting stock and total sales. [#62930](https://github.com/woocommerce/woocommerce/pull/62930)
+* Performance - Products: reduced the number of SQL queries required to display upsell and related products on the product page. [#63006](https://github.com/woocommerce/woocommerce/pull/63006)
+* Performance - Products: reduce the number of SQL queries needed to construct product objects. [#62998](https://github.com/woocommerce/woocommerce/pull/62998)
+* Performance - Skip category term processing in product permalinks when structure doesn't include category placeholders [#63121](https://github.com/woocommerce/woocommerce/pull/63121)
+* Performance - The number of SQL queries on the orders pages (admin and my account) has been reduced to improve performance. [#62820](https://github.com/woocommerce/woocommerce/pull/62820)
+* Performance - The number of SQL queries required to fetch settings on admin pages has been reduced to improve performance. [#62853](https://github.com/woocommerce/woocommerce/pull/62853)
+* Performance - Use variation objects instead of arrays in ProductGallery block to avoid unnecessary data processing [#62792](https://github.com/woocommerce/woocommerce/pull/62792)
+* Performance - Use variation objects instead of arrays in ProductPrice block to avoid unnecessary data processing [#62797](https://github.com/woocommerce/woocommerce/pull/62797)
+* Performance - Use variation objects instead of arrays in VariationSelectorAttribute block to avoid unnecessary data processing [#62795](https://github.com/woocommerce/woocommerce/pull/62795)
+* Enhancement - Accessibility fixes for the Payment Settings page [#62841](https://github.com/woocommerce/woocommerce/pull/62841)
+* Enhancement - Add filter for modifying product attributes/downloads before reading & additional `extra_data` option [#62572](https://github.com/woocommerce/woocommerce/pull/62572)
+* Enhancement - Add lazy loading attribute to product image block.
+
+ Introduce a new filter `woocommerce_product_image_loading_attr` to modify the loading attribute. [#62829](https://github.com/woocommerce/woocommerce/pull/62829)
+* Enhancement - Display a notice if Helper response from WooCommerce.com indicates the connection might have been removed on that end. [#62864](https://github.com/woocommerce/woocommerce/pull/62864)
+* Enhancement - Enable WC page header on reviews page [#63041](https://github.com/woocommerce/woocommerce/pull/63041)
+* Enhancement - Introduced a new filter `woocommerce_product_stock_default_amount` to allow change of the default stock amount. [#62678](https://github.com/woocommerce/woocommerce/pull/62678)
+* Enhancement - Introduce `cartItemScreenReaderPrice` checkout filter. [#62080](https://github.com/woocommerce/woocommerce/pull/62080)
+* Enhancement - Product Collection: improve taxonomies filters in inspector controls [#63025](https://github.com/woocommerce/woocommerce/pull/63025)
+* Enhancement - Updated Variation Selector Attribute Options block settings UI for improved clarity [#63038](https://github.com/woocommerce/woocommerce/pull/63038)
+* Enhancement - Update woocommerce_email_editor_integration_personalizer_context_data filter to allow overwrite values from core [#63231](https://github.com/woocommerce/woocommerce/pull/63231)
+* Enhancement - Use vanilla JS to replace order_notes after ajax updates [#60913](https://github.com/woocommerce/woocommerce/pull/60913)
+
+
= 10.5.3 2026-03-02 =
**WooCommerce**