WooCommerce 9.2: A better experience for all users

WooCommerce 9.2 Has been released on August 20, 2024. This post highlights what’s new in this version of WooCommerce.

See our update guide.
Download directly from WordPress.org.

Other important information:

Latest Release:

👉 WooCommerce 9.2

About:

  • ✅ Backwards compatible
  • Commits: 461
  • Contributors: 78

“Customize Your Store” now supports full composability

CYS: Enable PTK feature flag #49565

Explore multiple e-commerce-oriented patterns by clicking on “Design Your Homepage” in the menu. Discover a variety of customizable options to create a unique and engaging shopping experience for your customers.

This feature gives you the flexibility to design the homepage by adding, removing, shuffling, and rearranging patterns. Create a personalized design that perfectly matches your preferences and style.

You can now use multiple e-commerce-oriented patterns by clicking on “Design Your Homepage” in the editor menu. Discover a variety of customizable options to create a unique and engaging shopping experience for your customers.

Move, shuffle, and delete patterns with the Block Toolbar

By hovering over a pattern in the site preview, the Block Toolbar enables you to:

  • Rearranging patterns around the page.
  • Remove patterns from the page.
  • Randomly pick another pattern of the same category.

New customer icon

Add a new icon style to the Customer Account block #48979

We have introduced a new display style icon for the Customer account block. This new display style icon is now used across headers.

This new default display style icon is now used in the following headers:

  • Centered Header Menu
  • Large Header
  • Essential Header
Default Customer Icon

Stock holding improvements in block based checkout

Avoid reserving stock for draft orders under payment is attempted. #49446


In previous versions of WooCommerce, when a customer visited the block based checkout, products in the cart would have their stock reserved. This was to allow the customer time to fill in their address and make payment.

This was an optimistic approach that assumed the customer would complete checkout. 

To increase conversions, stock will now only be held once a customer attempts to make a payment, rather than when an item is added to cart. If payment fails, stock is freed up instantly.


Account creation flow improvements in block based checkout

We’re making incremental improvements to the account creation flow found within the block based checkout to make the process more intuitive. This includes updates to the default wording, an indicator that a customer is currently checkout out as a guest, and a repositioned Log In link.

The checkout block now also allows customers to set their own passwords when creating accounts (if enabled in settings) which includes a strength meter to encourage password best practices.

If a customer does create an account, either via opt-in or automatically based on settings, the order confirmation page makes it clear that an account was created and informs the user of next steps.

These added features can be controlled from WooCommerce > Settings > Accounts and Privacy.


Even more a11y improvements in block based checkout

We’ve significantly improved the accessibility and usability of the Mini-Cart block, the Cart block and the Checkout block. We’ve addressed key issues to enhance user experience, especially for those with visual impairments and users on small screens.

See specific examples

Make “Proceed to Checkout” button non-sticky when zoom level is bigger than 100% #48391

The “Proceed to Checkout” button on the Cart block also remains non-sticky when the screen height is less than 500px and the width is smaller than 782px, preventing it from overlapping product items during high zoom levels.


Fix the mini cart items not being visible when zoomed in  #48384

The footer of the Mini-Cart block is now non-sticky when the screen height is less than 500px, ensuring all cart items are visible without overlap during high zoom levels. Additionally, an aria-label attribute has been added to the initial Mini-Cart HTML markup to improve accessibility before React loads. This ensures screen readers correctly identify the cart element, helping users who rely on assistive technologies.


Prevent shipping losing focus when making selections during checkout #48370

Focus issues in the Checkout block have been addressed by switching from disabled to aria-disabled, maintaining focus on radio inputs in the shipping component. This change also prevents keyboard navigation when options are being updated, avoiding UI inconsistencies.


Add address title to edit/add buttons on My Account page #49171

In addition, we improved the screen reader support in the Addresses page within the My Account When users focus on the “Edit Billing Address” button, the screen reader will announce “Edit Billing Address”, similarly for the “Add Shipping Address” button, it will announce “Add Shipping Address”.


More new features and updates

Auto-inserting hooked blocks

Remove feature gate and replace with woocommerce_hooked_blocks_version option #49302

the Mini Cart and Customer Account blocks will be automatically inserted into headers next to the Navigation block on all new stores running a block theme.

See how this change interacts with new and existing stores
  • All new stores: hooked blocks will be present.
  • Existing stores that had an approved theme: hooked blocks will continue to be present. Additional hooked blocks in future releases won’t be present, preserving your stores design.
  • Existing stores that did not have an approved block theme: hooked blocks will continue to be absent, preserving your stores design.
  • For existing stores that switch from a classic theme to a block theme: hooked blocks will be inserted upon switching themes.

Classic Product EditorGlobal Unique ID

Add new unique ID to the classic product form #49312

A new field called global_unique_id (currently labeled GTIN, UPC, EAN or ISBN) was added to the classic product editor. It has a behavior similar to a SKU, allowing any type of text, while asserting that the value is unique across all products. The field is available both for main products and variations.

Product Collection – product filtering in a non-archive context

Add control to toggle whether block is filterable in non archive context #49627

If enabled, the “sync with current query” option now makes Product Collection display the products contextually (e.g. from a specific category on the category page), as well as making it react to frontend filters. This option was previously available only in archive context, such as in the Product Catalog, Products by Category, or Product Search Results.

Rename Google Listings & Ads:

Rename Google Listings and Ads with Google for WooCommerce #47614

“Google Listings & Ads” has been renamed to “Google for WooCommerce”. This is visible in the Channels tab under Marketing Overview.



API Updates

  • Return 404 when using the REST API to access a non existing tax class #48579
  • Return HTTP 404 in REST API for non-existent webhooks #48729
  • Make product variations endpoints aware of parent product ID provided #48804
  • Ensuring only single product creation with unique SKU for concurrent requests #47476
  • Reduce potential for plugin conflict-driven fatal errors during (REST API-based) refund creation #47918
  • Load controllers only when needed for performance #47704
  • Checkout: Update legacy status handling #48788
  • Fix the namespace of the RestApiControllerBase class #49333
  • Store API: Reduced number of recalculations on Store API cart routes #48944
  • Return HTTP 404 in REST API for non-existent product reviews #48726
  • PluginUtil: Add method to get active valid plugins #48709
  • Add developer filter woocommerce_printable_order_receipt_rendered_template #48872

Other important information

🚨 Security Updates

Fix – Hardening against XSS by leveraging HTML API for adding block attribute data #50801

In order to harden the code against a vulnerability that could be exploited by users with an access level of Contributor or greater, we’ve added measures using the HTML API to make it more difficult for a bad actor to inject malicious code.

Update – Enhanced sanitization in `@woocommerce/currency`. #50802

We’ve enhanced the sanitization of the @woocommerce/currency package, which is sometimes used by extension developers in order to prevent possible unsanitized or malicious code from affecting users.

Fix – Prevent downloads of digitial products after partial refund #50804
Add – Adds support for tracking downloads when a partial (ranged) request is made #50805

We have added a new default setting to accurately track partial downloads of digital products, treating them as a single download within a 30-minute window to prevent abuse, with options to adjust this timeframe or disable the feature as needed using the new filter hook, woocommerce_partial_download_tracking_window.

Database updates

We introduced a new database option: woocommerce_hooked_blocks_version to facilitate a new approach to block insertion. #49302

Update db_version variable and use it to prevent adding global_unique_id when the lookup table was not yet updated. This adds a guard to ensure the checkout continues to run successfully in case the database update fails during WooCommerce update. #49472

Changelog

See all bug fixes and improvements
  • Fix – Correct label of shipping dimensions length field. #50180
  • Fix – Allow new accounts to set new password even if logged in. #50700
  • Fix – Remove global_unique_id from interface and add warning in case it is not implemented #50685
  • Fix – CYS: avoid to enqueue Jetpack scripts #50679
  • Fix – Clear product unique ID (global_unique_id) when duplicating products. #50629
  • Fix – Resolved an issue that caused the page title and content text to display in the incorrect order on the Order Confirmation page. #50592
  • Fix – Customer Account – Maintain the size of the icon in smaller screens. #50410
  • Fix – Accessibility: Prevent shipping losing focus when making selections during checkout. #48370
  • Fix – Add aria-label to mini-cart button on first render to improve accessibility #48329
  • Fix – Add missing script dependencies to product variation generation script. #49595
  • Fix – Address timing issue with React 18 when unregistering blocks and add missing dependency to editor bootstrapping code. #49642
  • Fix – Add the “Customer account” block into the “Minimal Header” to fix the spacing. #49893
  • Fix – Avoid Product Search Results block template to fall back to the Product Catalog template from the theme #48887
  • Fix – Changed from using React.render to React.createRoot for product editor areas as it has been deprecated since React 18 #48834
  • Fix – Check if parent product exists when creating attribute lookup data for variations #49474
  • Fix – Check if there’s an actual session available inside wc_clear_cart_after_payment #45821
  • Fix – Comment: Update db_version variable and use it to prevent adding global_unique_id when the lookup table was not yet updated #49472
  • Fix – Correctly escape the HTML when linking customer orders. #49195
  • Fix – CSY – Fix intro banner copy for existing themes #49787
  • Fix – CYS – Fix marking the CYS task as completed only by accessing the Intro page. #49374
  • Fix – CYS – Remove the site title block length from the “Large Header” and the “Centered Menu Header”. #48671
  • Fix – CYS: Disable readonly mode only when full composability feature flag is enabled. #48752
  • Fix – CYS: Ensure that the button in the Intro page redirects to the Customizer when a classic theme is enabled. #49804
  • Fix – CYS: fix: Assembler follows admin color schema. #49159
  • Fix – CYS: fix arrow welcome tour #49607
  • Fix – CYS: Fix border width pattern preview. #49753
  • Fix – CYS: Fix button background on Featured Category Cover image #49659
  • Fix – CYS: fix drag to resize bar #49657
  • Fix – CYS: fix flickering effect. #48767
  • Fix – CYS: fix logic to disable click on the no block placeholder #48722
  • Fix – CYS: Fix no block placeholder style. #49673
  • Fix – CYS: Fix pattern rendering issues #49041
  • Fix – CYS: fix pattern wrapped twice by group blocks #48712
  • Fix – CYS: fix selected header/footer pattern #49788
  • Fix – CYS: fix shuffle feature logic. #49153
  • Fix – CYS: fix the default intro pattern. #49082
  • Fix – CYS: Fix the tooltip overlap with the pattern. #49700
  • Fix – CYS: fix toolbar position after the site preview resizes #49028
  • Fix – CYS: hide button to resize the image #48714
  • Fix – CYS: Hide shuffle button when only one pattern is available #49790
  • Fix – CYS: not enable PTK features on WordPress 6.5. #49591
  • Fix – CYS: open Intro panel when user clicks on Design your homepage #49005
  • Fix – CYS: Remove not necessary placeholder on homepage sidebar. #49705
  • Fix – CYS: show default TT4 fonts pair. #49675
  • Fix – CYS: show logo when the header is updated. #49681
  • Fix – Display “View store” button text by default in the toolbar. #48690
  • Fix – Display admin notice of expired and expiring Woo subscription when the product is connected / activated on the site. #49717
  • Fix – Do not set the tk_ai tracking cookie if tracking is disabled. #47863
  • Fix – Ensure the second address line input appears when using autofill #49730
  • Fix – Ensure the Store API recalculates cart totals prior to running validation hooks. #49455
  • Fix – Exclude simple products from variations reports by default. #49244
  • Fix – Failure to fetch the country list no longer blocks users in the profiler. #49519
  • Fix – Fetch site cache status correctly if directly navigating to LYS Success page, and some refactoring #48710
  • Fix – Fix: Make woocommerce/product-price available in the Single Product template #49906
  • Fix – Fix a bug where woocommerce removes the current-menu-item class. #45095
  • Fix – Fix add product task to create template first and simplify logic #49631
  • Fix – Fix add zone button flinching and vertical centering #48869
  • Fix – Fix Analytics – Tax Report Pagination #49562
  • Fix – Fix confusing messages prompting switch to classic templates #48717
  • Fix – Fix default shipping selection when changing between pickup and shipping on block checkout. #49718
  • Fix – Fixed “woocommerce_new_order” triggering on checkout blocks page visit. #47422
  • Fix – Fixed a bug causing account email not to be taken in consideration for coupon validation when a customer has a different billing email set. #48488
  • Fix – Fixed a bug that would cause incorrect pricing at checkout for very large amounts. #49361
  • Fix – Fixed a bug where the close button is not visible on the mini cart when viewed on a mobile device #48769
  • Fix – Fixed horizontal and vertical layout overflows on LYS success page #49127
  • Fix – Fix fatal error in order reports when parent order doesn’t exist #49006
  • Fix – Fix get_options deprecated notice when viewing Analytics > Orders #49092
  • Fix – Fix Order Count inconsistency between stats and reports #49283
  • Fix – Fix sidebar attribute control in Products by Attribute block #49351
  • Fix – Fix site coming soon page heading color #49129
  • Fix – Fix Task List – Reminder bar close button styling #49532
  • Fix – Fix the mini cart items not being visible when zoomed in #48384
  • Fix – Fix the namespace of the RestApiControllerBase class #49333
  • Fix – Fix the undefined array key “name” warning in ComingSoonRequestHandler.php when the font name is not set #49795
  • Fix – Fix variation name in analytics variations report #49440
  • Fix – Issue fixed where tags are overlapping divider line in “Filter by product category”. #48756
  • Fix – Made coupon fields during block checkout stack on smaller screen sizes #48623
  • Fix – Make sure the correct block template file is used in the Site Editor for templates with fallback #48621
  • Fix – Make the edit/delete actions of shipping/products in manual orders accessible #48238
  • Fix – Make the Leaderboards on the Analytics > Dashboard page use consistent currency and number formatting across the page, and perceive the currency setting comes from the relevant filter. #49097
  • Fix – Narrowed scope of block theme notice templates so other template overrides are unaffected #48686
  • Fix – Prevent a warning showing when using the Shipping Address Calculator in combination with the additional checkout fields API #49685
  • Fix – Prevent download permissions metabox from being toggled when toggling individual permission details. #49022
  • Fix – Prevent possible type error in BatchProcessingController. #49728
  • Fix – Prevent product editor styles loading on non wc-admin pages #49170
  • Fix – Product Collection: allow custom collections to hide all of the filter controls, not only some of them #49713
  • Fix – Product Collection: Fix alignment of the first item in Grid layout for WP 6.6 #49096
  • Fix – Product Collection: Fix the Preview badge’s corner radius #48856
  • Fix – Product Collection: Show “Sync with current query” option only in archive templates where it makes sense #48917
  • Fix – Product Fitlers: Bring back pattern #49601
  • Fix – Product rating – Inherit the color of the star when no ratings #49678
  • Fix – Provide more informative errors if a refund cannot be requested via the REST API, due to plugin conflicts. #47918
  • Fix – Redirect the lost password page to edit account while logged in. #49670
  • Fix – Removes several side effects in the code bases that caused translations to be loaded too early. #47113
  • Fix – Remove strong tags from patterns #49901
  • Fix – Replace the red CSS color with the $red SASS variable in WooCommerce legacy elements #48742
  • Fix – Resolved issues with new order hook triggers during transitions to and from draft statuses. #49098
  • Fix – Set coming soon preview body aspect ratio to 1/1 to fix broken template #49749
  • Fix – Show variations only for the selected product’s variations #49470
  • Fix – Tooltips message is now selected based on the order status instead of the label of the order status, which would break if the current WordPress language was not English. Also passes the order object to the woocommerce_get_order_status_labels filter to allow for more personalized tooltips. #49812
  • Fix – Update allowed statuses in legacy payment handler for checkout block. #48788
See all features and additions
  • Add – Use UTM parameters to link Tracks events from connect notice CTA and successful site connection #50126
  • Add – Add a generic function to determine remote logging eligibility #49371
  • Add – Add a rest api to manage the product custom fields #48504
  • Add – Add column global_unique_id to wc_product_meta_lookup table Add global_unique_id field to product and product variations #49472
  • Add – Added notice to the order confirmation page for new accounts instructing them to change the default password. #48673
  • Add – Add global unique ID field to the classic product editor #49312
  • Add – Add placeholder options and validation to checkout country and state select inputs. #49616
  • Add – Add Refresh Remote Inbox Notifications and Delete Remote Notification Tools #48961
  • Add – Add some robots.txt rules about directories created by WooCommerce #49432
  • Add – Adds product usage notice #47697
  • Add – Add support to run e2e tests against WPCOM website. #49403
  • Add – Add UTM parameters to missing payment method notice links. #49621
  • Add – Add validation for __experimentalRegisterProductCollection arguments #48141
  • Add – CYS: add badge that informs how many patterns have been inserted from each category. #48668
  • Add – CYS: Add default patterns. #48839
  • Add – CYS: Add Tracking for Fiverr Logo Maker CTA #49783
  • Add – CYS: Enable the PTK feature. #49565
  • Add – Expose __experimentalRegisterProductCollection in @woocommerce/blocks-registry Package #48141
  • Add – Improvements in the handling of feature compatibility for plugins #48169
  • Add – Product Collection: Rename “Sync with current query” option to “Use page context” and make it working in non-archive context as well #49627
See all updates and tweaks
  • Update – Add pattern validation for global_unique_id #50501
  • Update – Clear global_unique_id when restoring a product that doesn’t have an unique id #50496
  • Update – Use admin password reset on admin login screen #50200
  • Update – Prevent creation of password-protected coupons. #50236
  • Update – Add a link to the Theming docs from the blockified templates README.md file #48538
  • Update – Add a new icon style to the “Customer Account” block. #48979
  • Update – Adds setting to control the visibility of product count in Mini cart block #48545
  • Update – Add tracking for enable auto renew links on notices #49710
  • Update – Add UTM parameters to subscription renewal notice links. #49645
  • Update – Adjust input field height and input label text size. #49636
  • Update – Adjust top margin of the coupon code in the Cart and Checkout blocks. #49603
  • Update – CYS – Add borders to footer and header patterns on the assembler. #49299
  • Update – CYS – Add missing patterns to their categories for the assembler #49154
  • Update – CYS – Add tracking events to pattern features. #49556
  • Update – CYS – Disable the Full Composability for CYS AI flows #49290
  • Update – CYS – Fetch patterns from the private dotcom patterns category instead of from the default source site. #49007
  • Update – CYS – Fetch patterns from the WooCommerce PTK source site. #48492
  • Update – CYS – Filter out patterns with external dependencies. #48618
  • Update – CYS – Fix CSS spacing issues in the assembler. #49232
  • Update – CYS – Fix dark patterns buttons color. #49181
  • Update – CYS – Fix the column spacing for the “Four Image Grid Content Left” pattern #49669
  • Update – CYS – Fix the font size of the “DON’T HAVE A LOGO YET?” title. #49231
  • Update – CYS – Fix the intro cards size to match the designs. #49297
  • Update – CYS – Fix the pattern preview border color on hover and for inserted patterns. #49206
  • Update – CYS – Improve margins for CYS core patterns. #49196
  • Update – CYS – Improve the designs of the Intro page bottom cards. #48983
  • Update – CYS – Include the dotcom patterns from the “Reviews” category. #49140
  • Update – CYS – Make some titles bold on CYS patterns. #49151
  • Update – CYS – Make the patterns content translatable for patterns in the dictionary. #49633
  • Update – CYS – Register PTK “Testimonials” patterns as “Reviews” #48674
  • Update – CYS – Remove non-default patterns and register them from the PTK. Update margins. #49101
  • Update – CYS – Schedule the fetch_patterns actions only once every hour. #49754
  • Update – CYS – Update pattern categories and its descriptions. #48665
  • Update – CYS – Update pattern toolbar delete button copy to Delete. #49295
  • Update – CYS – Update the full composability layout styles #49303
  • Update – CYS – Update the intro pages for different type of themes. #49910
  • Update – CYS: Add the proper tracking string to the external Fiverr link in sidebar of the Add your logo screen. #49745
  • Update – CYS: Add rel="noreferrer" to External Fiverr Link in sidebar of Add your logo screen. #49314
  • Update – CYS: Improve Block Toolbar logic. #48799
  • Update – CYS: improve copy no blocks placeholder. #49030
  • Update – CYS: Improve patterns order #49204
  • Update – CYS: no highlight the pattern when it is added. #48802
  • Update – CYS: Remove margin last pattern preview #49767
  • Update – CYS: Remove not necessary patterns. #48750
  • Update – CYS: Revisit sidebar layout. #48803
  • Update – CYS: Update Block Toolbar Position #48662
  • Update – CYS: Update icon used by the “Customer account” block into header patterns #49133
  • Update – CYS: Update sidebar homepage copy #48882
  • Update – CYS: Update verbiage in the CTA to our Fiverr Logo Maker landing page. #48987
  • Update – CYS: when the footer/header is clicked, the border color is blue. #48765
  • Update – Deprecate and create new coming soon block version #49786
  • Update – E2E: check the Add button when creating product variations in the new Product Editor #48928
  • Update – E2E: in the new Product Editor app, update how to detect when global attributes are loaded. #48915
  • Update – E2E: remove UI check when creating attribute global terms #48934
  • Update – Ensure expiration-related modal is shown to the installed Woo subscriptions #49747
  • Update – Ensures the product ID is valid when interacting with product variations via the REST API. #48804
  • Update – Ensure that active plugins shown in the System Status api endpoint actually exist #48709
  • Update – Ensuring product creation with unique sku for concurrent requests #47476
  • Update – Fix: Show preview label only when Product Collection block is selected #48795
  • Update – Fix Classic Template block registration on WP 6.6 #48730
  • Update – Fix typo on Congratulations screen #49233
  • Update – Hide account creation options not relevent to block checkout when using block checkout. #49389
  • Update – Improve rendering of order list table on mobile. #49592
  • Update – Improve the handling of the deprecated WC()->api property #48884
  • Update – Make proceed to order button non sticky when zoom level is bigger than 100% #48391
  • Update – Make Single Product gallery thumbnail images sharper by defining a srcset #49112
  • Update – Migrate the cart and checkout block’s state, country and custom field input to a native select #48180
  • Update – Move remote logger to ./src and improve fetch_latest_woocommerce_version() logic #49639
  • Update – Optimize the method that gets the downloads count for a given download #49008
  • Update – preparing checkout blocks docs for dev docs site #49010
  • Update – Product Collection: revert renaming “Sync with current query” option #49907
  • Update – Product Editor: improve E2E tests. Test the +3 More item label in the Organization tab #48891
  • Update – Product Editor: restore and fix E2E test that creates product variations #48725
  • Update – Product Editor: restore Product (local) Attributes E2E test #48871
  • Update – Product Editor: update create product variations E2E test #48627
  • Update – Redesigned the Product Collection block’s insertion journey. #48911
  • Update – Remove Jetpack copy experiment from core profiler #49452
  • Update – Remove the hooked blocks feature gate and replace with wc_hooked_blocks_version option #49302
  • Update – Replace the “Customer account” line logo. #49666
  • Update – Return HTTP 404 for REST API requests involving non-existing tax class. #48579
  • Update – Return HTTP 404 when accessing non-existent webhooks via REST API. #48729
  • Update – Return HTTP 404 when trying to read or delete a non-existent product review. #48726
  • Update – Run full e2e tests suite against Pressable and WPCOM websites. #49597
  • Update – Update content for usage tracking modal for CYS experience #49911
  • Update – Updated account settings descriptions for added clarity #48556
  • Update – Update Jetpack’s new SSO classes and methods to prevent deprecation notice. #49752
  • Update – Update required and tested up to WP versions for the WordPress 6.6 release. #49619
  • Update – Update Settings to disable Save button unless modifications are made. #47444
  • Update – Update shipping method setup modal copy if the block-based local pickup is enabled #48529
  • Update – Update Store Alert styles #49174
  • Update – Update Store Alert widths to match main body #48487
  • Update – Update the “Customer Account” block icon for the line style. #49401
  • Update – Update the CYS opt-in messaging #49894
  • Update – Update the footer section in “Add products” task #49782
  • Update – Update WC Tasks in the WC Home. Rename to WooCommerce marketplace, add new browse marketplace, remove connect to woocomerce.com from inbox #48128
  • Update – Utilize the new shared component to showcase WooPayments payment method logos. #49300
  • Tweak – Add admin_install_timestamp in WC_Tracker #50076
  • Tweak – Add $wpdb->esc_like to the search criteria when searching for a product custom field name #48949
  • Tweak – Add the initially installed WooCommerce version to the wp_options table #49139
  • Tweak – Change CLIRunner namespace for better PSR compatibility. #49390
  • Tweak – Equalize data in Order export with data in Client side CSV export #49356
  • Tweak – Exclude coming soon patterns from block inserter #48821
  • Tweak – Fix tip block syntax in register-product-collection.md #49785
  • Tweak – Get tax line label instead of name in StoreAPI Order endpoint. #48445
  • Tweak – Improve checks when offering to remove test orders #49032
  • Tweak – Initialize BlockTemplatesController for block themes only. #48905
  • Tweak – Product Collection: flatten telemetry query filters data to json string #49680
  • Tweak – Remove enctype from verify email form #48859
  • Tweak – Remove unneeded IE styling as IE is no longer supported #49027
  • Tweak – Rename Google Listings and Ads with Google for WooCommerce #47614
  • Tweak – Show Guest when there is no Customer name #49594
  • Tweak – Trigger doing_it_wrong() when using HPOS query args for CPT order queries. #47457
  • Tweak – Update text to Content right with image left pattern #49792
  • Tweak – Update the “API enabled” entry in the System Status Report to clarify that it pertains to the Legacy REST API. #48878
  • Tweak – Add placeholder options and validation to all checkout select inputs. #49929
See all developer updates
  • Dev – Add Allure to Blocks e2e tests #49228
  • Dev – Add daily checks for core e2e with PHP 8.1 and WP latest-1 #48929
  • Dev – Add hook to customize the rendered receipt template #48872
  • Dev – Add new CI workflow to trigger tests on demand. #49674
  • Dev – Add support for e2e testing against external sites in CI #49017
  • Dev – Another attempt to stabilize flaky Product Collection E2E tests. #49638
  • Dev – Blocks E2E: Fix a flaky Product Collection test where accidental multiple edits occur and break the template saving step. #49590
  • Dev – Blocks E2E: Fix DB snapshot removal step in setup script. #49677
  • Dev – Build: speedup dependencies installation by disabling composer optimize autoloading by default. #48980
  • Dev – CI: buffix for linting missing strict types directive. #49015
  • Dev – CI: cleanup CI related command after fixing jobs matrix generation. #49330
  • Dev – CI: code style fixes to pass linting in updated CI environment. #49020
  • Dev – CI: improve flacky tests reporting job execution time. #49665
  • Dev – CI: Re-group PHPUnit jobs. #49443
  • Dev – CI: reduce running time for PHPUnit related jobs. #49193
  • Dev – CI: tuning deps caching for playwright. #49081
  • Dev – CI config: update changes lists to include wp-env config #49626
  • Dev – Clean up unused files in plugins/woocommerce-blocks #49319
  • Dev – Create a separate JS cart and checkout JavaScript bundle to improve performance. #48010
  • Dev – CYS – Fix the “test_fetch_patterns_should_register_testimonials_category_as_reviews” tests. #48719
  • Dev – Dropping select2 and point it to SelectWoo #48731
  • Dev – E2E: enable slow tests reporting for blocks E2E tests. #49367
  • Dev – E2E tests: fix basic spec for multiple environments #49609
  • Dev – E2E tests: fix failing settings-tax e2e test #48792
  • Dev – E2E tests: Fix flaky account email receiving test #48957
  • Dev – E2E tests: Fix flaky connect to Woo.com test #48926
  • Dev – E2E tests: Fix flaky filling regular price in the inventory tab #49226
  • Dev – E2E tests: Fix flaky filling SKU field and CYS footer #49191
  • Dev – E2E tests: Fix flaky Gutenberg, WC Services tests #48916
  • Dev – E2E tests: Fix flaky Gutenberg tests #48896
  • Dev – E2E tests: Fix flaky Gutenberg tests #49548
  • Dev – E2E tests: Fix flaky logo picker waiting for response tests #49451
  • Dev – E2E tests: Fix flaky merchant filling sku field in the new editor #49134
  • Dev – E2E tests: Fix flaky merchant tests #49381
  • Dev – E2E tests: Fix merchant settings general test #48907
  • Dev – E2E tests: fix shopper checkout block test #49596
  • Dev – E2E tests: fix some tests for WP 6.6 #49634
  • Dev – E2E tests: tag different envs in e2e test suite to run in workflows #48715
  • Dev – Final sanity check to make sure attributes are done saving #48737
  • Dev – Fix broken syntax in e2e-guidelines.md. #49018
  • Dev – Fix flaky orphaned refund test #49741
  • Dev – Hide product filters overlay template part experimental feature from public release #49564
  • Dev – In blocks codebase, export SITE_CURRENCY property with properties matching typescript definitions. #48727
  • Dev – Lint new PHP files for strict types directive #48943
  • Dev – Minor tooling tweaks (zip compression level, composer invocation) #48857
  • Dev – Monorepo: enable Jest and babel-loader caching. #49656
  • Dev – Monorepo: fix side-effects of setting strict mode for linting script. #49436
  • Dev – Monorepo: minor tweaks in zip building script (use frozen lock file when installing dependecies). #49640
  • Dev – Monorepo: refine approach to patching dependecies in favour of built-in pnpm functionality. #49892
  • Dev – Monorepo: set strict mode for linting script. #49366
  • Dev – Monorepo: tweak patching dependencies for better Webpack perfromance. #49703
  • Dev – Move buildkite-test-collector to devDependencies #49051
  • Dev – move docs out of main folder until subcategories are ready #49354
  • Dev – Product Collection: add tracking for block usage #46466
  • Dev – Remove performance tests from PR checks (leave on push to trunk) #48927
  • Dev – Switch render() to createRoot().render() to use React 18 features. #48858
  • Dev – Tests: pin wp-env core version to 6.5 (temporary until tests are fixed to pass with 6.6) #49620
  • Dev – Tweaks related to caching Composer dependecies and Playwright downloads in CI. #48865
  • Dev – Update Action Scheduler to 3.8.1 #49483
  • Dev – Update a few e2e tests failing on the daily run #49313
  • Dev – Update all values to be random so that retries don’t fail on assertions #48734
  • Dev – Updated CodeSniffer configuration to address conflicting rules. #49183
  • Dev – Update Playwright from 1.44 to 1.45 #49202
See all enhancements performance updates
  • Performance – Load REST API namespaces only when needed. #47704
  • Performance – Reduced number of recalculations on Store API cart routes #48944
  • Enhancement – Add address title to edit/add buttons on My Account page #49171
  • Enhancement – Added password field to block checkout (when enabled in settings) for new accounts to set a custom password. #48985
  • Enhancement – Add required indication to login forms #48743
  • Enhancement – Add scope attributes to the order table on My Account #49201
  • Enhancement – Add strength meter to block checkout password field. #49164
  • Enhancement – Allow blocks with parents in the “woocommerce” namespace to be added to the Checkout block without requiring them to be added to the “__experimental_woocommerce_blocks_add_data_attributes_to_block” hook. #48543
  • Enhancement – Convert edit address link to a button on checkout #49471
  • Enhancement – CYS: make the entire shuffle section clickable. #48889
  • Enhancement – CYS: Remove iframe animation #48941
  • Enhancement – Made the “return to cart” link (in the checkout block) hidden by default. #48762
  • Enhancement – Provide the location context within the Product Collection block context #44145
  • Enhancement – Updated block checkout and Store API stock handling so stock is only reserved when attempting payment for an order. #49446

View the full changelog.

Get WooCommerce 9.2

👉 To upgrade: See our update guide or download the latest release from WordPress.org.

🐞 Found a Bug? Please submit a report it on GitHub.

WooCommerce Core Contributors

eliorivero
benn0r
kmanijak
mdperez86
martynmjones
wavvves
tjcafferkey
thealexandrelara
mordeth
juliaamosova
coreymckrill
waclawjacek
gigitux
joshuatf
WunderBart
hsingyuc
hesahesa
nathanss
tomalec
swissspidy
retrofox
mikkamp
psealock
ilyasfoo
SpaceSurfer1
eason9487
jorgeatorres
vedanshujain
rodelgc
thilinah
Aljullu
mattsherman
rjchow
mujuonly
barryhughes
naman03malhotra
Stojdza
octaedro
lanej0
ObliviousHarmony
chihsuan
Konamiman
amitraj2203
ecgan
dinhtungdu
albarin
jorgemd24
ianlin
vladolaru
jonathansadowski
rrennick
xristos3490
alexflorisca
samueljseay
Manussakis
adrianduffell
nielslange
piinthecloud
adimoldovan
Rahmon
veljkho
joelclimbsthings
nigeljamesstevenson
danielwrobert
Maikuolan
mino129
kalessil
imanish003
roykho
EstianH
opr
moon0326
mikejolley
puntope
louwie17
gedex

Keep yourself in the loop!

Sign up for the WooCommerce developer newsletter:
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form


One response to “WooCommerce 9.2: A better experience for all users”

  1. Classic Product Editor – Global Unique ID

    At last, please more updates with features like this, this is essential and it’s present by default in shopify and prestashop.

Leave a Reply

Your email address will not be published. Required fields are marked *