WooCommerce 4.9.0 is now available and is a minor release, fully backwards compatible. This release is focused on bug fixes, stability, and performance. As always, be sure to have a solid backup strategy before updating. Cinch WooCommerce Support customers have already been tested and updated. Read more about this release here.
WooCommerce
- Localization – Add ‘Ladakh’ to the list of Indian states. #28458
- Localization – Revert change and make city and postcode required again for Serbia. #28415
- Performance – Added cache and filter for wc-customer get operations. #27352
- Performance – Hydrate caches for wc_get_order to improve performance. #27734
- Performance – Fetch only required data from DB when possible in API calls. #27735
- Enhancement – add product and variation before_set_stock action hooks to allow 3rd party plugins to snapshot a product’s stock quantity before it is updated. #27558
- Enhancement – Add the ability to avoid unsupported updates based on the PHP version. #28151
- Fix – Format tax class before insertion to prevent conflicts with default classes. #27451
- Fix – Change href of premium support link. #27675
- Fix –
get_next
will now return null if the same action is currently executing to help with missed webhooks issue. #27850 - Fix – Return default date/time formats from wc_date_format and wc_time_format if WP core formats are empty. #28322
- Fix – Use WC function to get low stock amount instead of accessing option directly. #28440
- Fix – Use single quotes inside MySQL query to avoid issues when ANSI_QUOTES is enabled. #28468
- Fix – Remove deprecated PayPal Standard "Page Style" setting. #28499
- Fix – Remove GB and IM from EU VAT countries. #28538
- Fix – Fix issue where customer could checkout although mandatory field "Country" was not given. #28543
- Fix – Switch to general tab when enabling virtual on a product setting. #28414
- Fix – Unwanted HTML is showing up on the product search fields when searching for a product variation. #28416
- Fix – Add
postbox
class towoocommerce_attribute wc-metabox
for proper targeting. #28351 - Fix – Error tooltip misaligned on tax country field. #28565
- Fix – Prevent meta_data from overwriting column data in customer’s read. #28102
- Fix – Also count comment types with ” and ‘comment’ in the review count query. #28624
- Fix – Better error messages when usage limit are reached. #28592
- Fix – Adjust stock items only for statuses which reduces the stock. #28620
- Fix – Named parameter to fix DB update routine on PHP8. #28537
- Dev – Hook for intializing price slider in frontend. #28014
- Dev – Add support for running a custom initialization script for tests. #28041
- Dev – Use the coenjacobs/mozart package to renamespace vendor packages. #28147
- Dev – Documentation for
wc_get_container
. #28269 - Dev – Removed unused dockerfile. #28270
- Dev – replaces deprecated jQuery.fn.click( handler ) with jQuery.fn.on( ‘click’, handler ). #28332
- Dev – removed jQuery code that didn’t work that was supposed to interact with the coupon page. #28287
- Dev – Documentation return type fixes for WC_Payment_Gateway class. #28358
- Dev – Remove function existence check for determine_locale. #28386
- Dev – add a missing second parameter to our copy of the WP action lostpassword_post. #28467
- Dev – Added argument on wc_get_template() to pass email object to email header and footer templates. #28204
- Dev – Add is_numeric checks on sales reports by date to prevent notices with PHP 7.4. #28403
WooCommerce – Admin 1.8.0 & 1.8.1
- Enhancement – Add “filter by variations in reports” inbox note. #5208
- Enhancement – Tasks extensibility in Home Screen. #5794
- Enhancement – Add page parameter to override default wc-admin page in Navigation API. #5821
- Enhancement – Introduce the customer effort score (CES) feature.
- Enhancement – Rework task extensibility in the homescreen. #5794
- Enhancement – Migrate the reviews panel to the homescreen. #5706
- Enhancement – Migrate reviews panel to home screen. #5706
- Enhancement – Add Razorpay to payment task for stores in India – #5775
- Enhancement – Migrate Stock Panel to Homescreen. #5729
- Enhancement – Add enhanced placeholders for Marketing components. #5611
- Enhancement – Allow switching on/off the navigation feature in plugin and core builds. #5697
- Fix – Product exclusion filter on Orders Report.
- Fix – Typo in Variation Stats DataStore context filter value. #5784
- Fix – Move collapsible config to panels object, to allow for more control. #5855
- Fix – Invalidate product count if the last product was updated in the list. #5790
- Fix – Add Customer Type column to the Orders report table. #5820
- Fix – Product exclusion filter on Orders Report. #5822
- Fix – Show the customer type column in Orders report table. #5820
- Fix – make sure ‘Customers’ page updates after order update. #5776
- Fix – Fix fatal errors when child themes are installed in a subdirectory. #5783
- Fix – Allow actionable statuses in orders endpoint(s) filters. #5733
- Fix – snackbar dismissal bug. #5696
- Fix – Only import the Gridicons we need, to reduce package size. #5668
- Fix – Stop order panels flickering on load. #5655
- Fix – Load wc-tracks to avoid fatal errors. #5645 #5638
- Fix – Preventing desktop-sized navigation placeholder from appearing on mobile during load. #5616
- Fix – Completed tasks tracking causing infinite loop #5941
- Fix – Remove Navigation access #5940
- Tweak – Fix inconsistent REST API parameter name for customer type filtering. #5823
- Tweak – Improve styles of the tax task. #5709
- Tweak – Do not show store setup link on the homescreen. #5801
- Tweak – Revert the #5001 work to order tasks by completion. #5721
- Tweak – Revert the smart tax defaults work. #5720
- Tweak – Do not show store setup activity panel on the homescreen. #5801
- Tweak – Don’t show the Orders panel on the homescreen with the Task List. #5552
- Tweak – Continue showing tasklist even if list is complete, only hide if set to hidden. #5673
- Tweak – Remove check for Jetpack and WCS from Stripe onboarding task. #4933
WooCommerce Blocks 3.9.0 & 4.0.0
- Enhancements – Expose
discount_type
in Store API coupon endpoints. (3399) - Enhancements – Exclude checkout-draft orders from WC Admin reports and My Account > Orders. (3379)
- Fix – Hide spinner on cart block’s "Proceed to Checkout" link when page unloads. (3436)
- Fix – Fixed express payment methods processing not completing when Stripe payment method active. (3432)
- Fix – Refresh PaymentRequest after cancelling payment to prevent addresses remaining populated on repeat attempts. (3430)
- Fix – Ensure "Add a note to your order" section is styled correctly when disabled. (3427)
- Fix – Prevent checkout step heading text overlapping actual heading on small viewports. (3425)
- Fix – Improve Stripe payment request API payment method availability. (3424)
- Fix – Stop hidden products from being linked in cart and checkout blocks. (3415)
- Fix – Show Express Payment Method Error Notices after Payment Failure. (3410)
- Fix – Fix cart block
isLarge
console error in the editor when running WordPress 5.6 beta. (3408) - Fix – Orders not being placed when paying with an Express payment method from the Cart block. (3403)
- Fix – Fix incorrect usage of static method in Stripe payment method integration. (3400)
- Fix – Cart and checkout should respect the global "Hide shipping costs until an address is entered" setting. (3383)
- Fix – Sync shipping address with billing address when shipping address fields are disabled. This fixes a bug where taxes would not reflect changes in billing address when they are set to be calculated from billing address (3358)
- Fix – Checkout block: Prevent
Create an account
from creating up a user account if the order fails coupon validation. (3423) - Fix – Make sure cart is initialized before the CartItems route is used in the Store API. (3488)
- Fix – Fix notice close button color in Twenty Twenty One dark mode. (3472)
- Fix – Remove held stock for a draft order if an item is removed from the cart. (3468)
- Fix – Ensure correct alignment of checkout notice’s dismiss button. (3455)
- Fix – Fixed a bug in Checkout block (Store API) causing checkout to fail when using an invalid coupon and creating an account.
- Fix – Checkout block: Correctly handle cases where the order fails with an error (e.g. invalid coupon) and a new user account is created. (3429)
- Dev – Refactored and reordered Store API checkout processing to handle various edge cases and better support future extensibility. (3454)
- Dev – Support a plain js configuration argument to payment method registration APIs. (3404)
- Dev – Change register_endpoint_data to use an array of params instead of individual params. (3478)
- Dev – Expose store/cart via ExtendRestApi to extensions. (3445)
- Dev – Added formatting classes to the Store API for extensions to consume.