WooCommerce 9.2: Pre-release updates

WooCommerce 9.2 is coming soon…

The post will track the work we do as we prepare to release 9.2 as well as provide a preview of what’s to come in this new version.

Other important information:

Release Schedule:

Hey folks, on Wednesday, July 24th, 2024, we kicked-off our Code Freeze ahead of the release of WooCommerce 9.2. As we begin the testing phase, and get the release ready for Beta, we wanted to share some spoilers and document any updates to the expected release timeline. 

Check back here for more updates ahead of the WooCommerce 9.2 release, scheduled for August 13th, 2024. 

What’s coming in 9.2

“Customize Your Store” now supports full composability! 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.


Product Collection – product filtering in a non-archive context: 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.


Accessibility improvements: 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
  • 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.
  • 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.
  • 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.
  • 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.
  • 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”.

Stock holding improvements: to increase conversions, stock will now only be held once a customer completes checkout with a successful payment, rather than when an item is added to cart. If payment fails, stock is freed up instantly.


Account creation flow improvements: 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.

Block checkout now also allows customers to set their own passwords when creating accounts (if enabled in settings) which includes as 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.


Auto-inserting hooked blocks: 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.

Global Unique ID: 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.


New customer icon: we have introduced a new display style icon for the Customer account block. This new display style icon is now used across headers.

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


API Changes

  • 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

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 – 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. #### Comment #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 – 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 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. #### Comment #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 $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 #### Comment #47614
  • 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
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 – 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.

Update timeline

✅ Code Freeze

Added: July 24th, 2024

On July 24th, we implemented the Code Freeze and began preparing to release the Beta. Stay tuned for the upcoming version in the WooCommerce Beta Tester plugin

WooCommerce 9.2 Beta

Completed: July 30th, 2024

The WooCommerce 9.2 Beta was released on July 30th, 2024.

WooCommerce 9.2 RC

Completed: August 6th, 2024

The WooCommerce 9.2 RC was released on August 6th, 2024. It is now available to download from the WordPress.org plugin directory.

WooCommerce Release 9.2

Scheduled: August 21st, 2024


Keep yourself in the loop!

This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form


13 responses to “WooCommerce 9.2: Pre-release updates”

  1. Edith Allison Avatar
    Edith Allison

    I‘m interested in the comment about stock being held. I‘m used to be able to set stock hold in minutes in the settings. And stock deduction on order status = processing. Is there further info how this is changing?

    1. Hi Edith, there’s more information in the PR for this change here.

      From the information in the PR, I can see that stock holds are still set in minutes in the settings. The logic has changed so that stock is only held once a customer actually attempts payment. If payment fails, the stock is freed up instantly. Previously, in the block based checkout, stock was held when the customer initiated the checkout experience, and the team found this to be too optimistic, and ultimately blocked stock from other customers interested in purchasing.

      1. Dimitris Vayenas Avatar
        Dimitris Vayenas

        A demo of the interactivity API is here:
        https://wpmovies.dev/

        Notice the speed of the add to favourite etc. actions

        It ought to be used in the add to cart actions from now on.

    2. Nadir Seghir Avatar
      Nadir Seghir

      I should also note that this is limited to Checkout Block / Store API only. The existing shortcode flow stays the same, in fact, this brings Checkout Block flow to be inline with that of shortcode.

      1. This is very important information to note! Thanks Nadir

      2. Edith Allison Avatar
        Edith Allison

        Thank you Pi & Nadir! 🙏

  2. Waw, finally finally finally an EAN-field in WooCommerce-core. Don’t know if i should be that happy cause it should have been included from version 1.0. It’s simply coherent for a e-commerce store to have both an SKU and an EAN field. The situation we get now is that most of the EAN codes are already filled in in the SKU field, and upcoming mistakes are clearly going to show up.
    Would be great if Woo documents how to remove that EAN field too.

  3. It is great to see the changes in the add to cart functionality. I hope that the absence of stock reservation will have a positive impact in the cart update, which is the biggest pain point in the woocommerce performance when compared with OpenCart and Magento that to have an almost instantaneous update of the cart, when the users add/remove items in their carts. To them it takes milliseconds in our case it can take 2-3 seconds for large stores.
    The async update of content in WordPress 6.6 ought to be used for this.

    The Barcode addition is great too. As mentioned by another reviewer it will be great to have a migration path for all of us who used to use plugins for this “must have” functionality.

  4. Martin Kruse Avatar
    Martin Kruse

    It would seem that products can’t be searched by global_unique_id in API method /wp-json/wc/v3/products (you can search by SKU but not global_unique_id). Any plans to add that as a search term?

    1. Brent MacKinnon Avatar
      Brent MacKinnon

      Hey Martin, it looks like we missed your question this summer, sorry about that. You could consider making a Feature Request for this feature if you’d like to have it logged formally:

      https://woocommerce.com/feature-requests/woocommerce/

  5. sorry is possibile to set global_unique_id from CSV standard import? Actually is not possibile to select that field?

    1. Brent MacKinnon Avatar
      Brent MacKinnon

      EDIT: @minimac it looks like we have an issue open for this (https://github.com/woocommerce/woocommerce/issues/52049) but solution is to add header field meta:_global_unique_id in the import CSV. That should do the trick.

  6. Stores have had to manage GTIN using custom attributes for years given this was not a core field.

    Will the team provide any tools to manage migrating/importing from a custom attribute into _global_unique_id? Reloading thousands of products manually is not a solution.

Leave a Reply

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