WooCommerce 4.3 is now available!

We are excited to announce that WooCommerce 4.3 is now publicly available! It has been in development since April 2020 and the core has been updated with 272 commits from 24 contributors.

This is a minor release, which means everything is backward compatible with the previous version.

As always, we recommend creating a backup of your site and making sure that themes and plugins are compatible before updating. You can check out this update guide for more information.

Whatโ€™s new in 4.3?

As with all minor releases, we are bringing you several new features that weโ€™d like to highlight:

New Home page experience

Weโ€™re bringing you a completely new home page for a more focused experience that enables easier store management. It includes just the 3 most important items for merchants to glance at:

  • the inbox messages,
  • a quick overview of the common store metrics, and
  • shortcuts pointing to the most used settings

Weโ€™re happy to hear your feedback and thoughts on the new home page and hope we can make it into a central place of the WooCommerce experience.

Blocks update

With this release, weโ€™re including a lot of improvements from the Blocks world. Among others:

  • A new status for orders: โ€œdraftโ€
  • All โ€œProduct Gridโ€ type blocks now default to 3 rows instead of one for the initial settings
  • HTML editing is no longer supported in several blocks to prevent accidental breakage
  • More options available for Filter Products by Attribute block
  • Improved handling of taxes for Filter Products by Price block
  • Styling consistency and CSS improvements

If you have any of the Product Grid blocks (except All Products) in use on your site, and you never changed any of the default settings for the block, then the block will update to 3 rows instead of 1 row for the rendered products. However, if the block was saved to your content with settings changed, then the rendered content will not be affected. So you will want to double-check your blocks after the update.

Please note that for now, Cart and Checkout blocks are not enabled in the bundled version of Blocks. If you want to use those, please install the separate Blocks plugin.

Miscellaneous improvements

Besides adding new features, we are continuously working on improving the experience of the core plugin as well. We have:

  • improved concurrency handling for stock level management
  • added a new Verify database tool to rebuild the database schema
  • fixed CSV import and export tool bugs
  • improved template caching in container environments
  • fixed erroneous behavior of add-to-cart links

If you would like to know more, please review our full changelog.

PHP version support

As the world of WordPress is preparing for upgrading PHP version recommendation to PHP to 7.2+, we are following the suit. With WooCommerce 4.3, to provide enough lead time for merchants and store owners, we will start displaying a recommendation to update to PHP 7.2+.

PHP versions up to 7.1 are not receiving security updates anymore, so we definitely recommend not postponing this decision.

Extension compatibility warning

After discussions with our teams and with external teams developing extensions, we have decided to remove the warning for compatibility for minor WooCommerce versions and only display it for major versions.

Since we strive to produce backward compatible releases and we decided to increase the cadency of our releases to monthly, releasing extensions just to declare compatibility with the new WooCommerce became a burden for developers. We believe our focus on ensuring compatibility and improved testing procedures would enable us to catch potential problems early. Therefore, we think this step can ease the burden of development teams without negative effects on our customers and merchants. We will keep evaluating this decision through our support channels to identify potential problems in this approach.

New Hooks and Functions

Weโ€™ve added some new hooks in this release:

FilterDescription
woocommerce_before_get_rates_for_packageFires before getting shipping rates for a package.
woocommerce_after_get_rates_for_packageFires after getting shipping rates for a package.
woocommerce_add_payment_method_form_is_validVerify the received form data when adding a new payment method.
woocommerce_add_payment_method_form_bottomAdd additional markup at the bottom of the form to add a new payment method.
woocommerce_status_widget_low_in_stock_count_pre_queryCustomize the low stock threshold to use for the low stock status widget.
woocommerce_status_widget_out_of_stock_count_pre_queryCustomize the no stock threshold to use for the no stock status widget.
woocommerce_hide_base_tables_missing_nagCustomize the notice that appears when database tables are missing.
woocommerce_checkout_order_createdFired after an order is created.
woocommerce_checkout_order_exceptionFired when an order is discarded due to Exception.
woocommerce_before_get_rates_for_packageFires before getting shipping rates for a package.
woocommerce_after_get_rates_for_packageFires after getting shipping rates for a package.
woocommerce_get_path_define_tokensCustomize the list of constants to be used in path tokenization.
woocommerce_hold_stock_for_checkoutAllows enable/disable hold stock functionality on checkout.
woocommerce_rest_performance_indicators_data_valueCustomize admin reports.
admin_body_classAdd theme class to admin body.
woocommerce_blocks_register_script_dependenciesAdd payment method script handles as script dependencies.
enqueue_block_editor_assetsEnqueue assets used for rendering the block in editor context.
wc_order_statusesRegister custom order status for orders created via the API during checkout.
woocommerce_register_shop_order_post_statusesRegister custom order post status for orders created via the API during checkout.
woocommerce_valid_order_statuses_for_paymentAppend draft status to a list of statuses.
woocommerce_cleanup_draft_ordersDelete too old draft orders.

Minimum WordPress Requirement

This version keeps the minimum WordPress version of 5.2 that was introduced in 4.2. Remember that you can read all about the new WordPress support policy in the developer blog post detailing it.

How was 4.3 tested?

Weโ€™ve been hard at work iterating on our testing procedures over the last few releases and weโ€™re very satisfied with the level of stability weโ€™ve managed to achieve in being so meticulous.

  • We have decided to continue using an external agency. Their manual testing of our product on a variety of browsers and operating systems has proven effective in finding bugs before the release.
  • We have started to shift some of the extensive testing upstream internally in order to decrease the feedback loop during WooCommerce Core releases.
  • The shift the monthly releases will dramatically decrease the testing surface, leading to smaller and more stable releases.

Leave a Reply

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