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.
The new home page is available for all new customers by default. If you’re upgrading from an earlier version, you can turn it on via WooCommerce > Settings > Advanced > Features > Home Screen.
You can also check out our new documentation section that covers the Home Screen functionality.
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:
Filter | Description |
---|---|
woocommerce_before_get_rates_for_package | Fires before getting shipping rates for a package. |
woocommerce_after_get_rates_for_package | Fires after getting shipping rates for a package. |
woocommerce_add_payment_method_form_is_valid | Verify the received form data when adding a new payment method. |
woocommerce_add_payment_method_form_bottom | Add additional markup at the bottom of the form to add a new payment method. |
woocommerce_status_widget_low_in_stock_count_pre_query | Customize the low stock threshold to use for the low stock status widget. |
woocommerce_status_widget_out_of_stock_count_pre_query | Customize the no stock threshold to use for the no stock status widget. |
woocommerce_hide_base_tables_missing_nag | Customize the notice that appears when database tables are missing. |
woocommerce_checkout_order_created | Fired after an order is created. |
woocommerce_checkout_order_exception | Fired when an order is discarded due to Exception. |
woocommerce_before_get_rates_for_package | Fires before getting shipping rates for a package. |
woocommerce_after_get_rates_for_package | Fires after getting shipping rates for a package. |
woocommerce_get_path_define_tokens | Customize the list of constants to be used in path tokenization. |
woocommerce_hold_stock_for_checkout | Allows enable/disable hold stock functionality on checkout. |
woocommerce_rest_performance_indicators_data_value | Customize admin reports. |
admin_body_class | Add theme class to admin body. |
woocommerce_blocks_register_script_dependencies | Add payment method script handles as script dependencies. |
enqueue_block_editor_assets | Enqueue assets used for rendering the block in editor context. |
wc_order_statuses | Register custom order status for orders created via the API during checkout. |
woocommerce_register_shop_order_post_statuses | Register custom order post status for orders created via the API during checkout. |
woocommerce_valid_order_statuses_for_payment | Append draft status to a list of statuses. |
woocommerce_cleanup_draft_orders | Delete 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.
Much ๐ to all the contributors
Finally a big thanks to everyone in the community who has contributed via issue reports, fixes, translation, testing, supporting other users or simply spreading the word.
WooCommerce Core
WooCommerce Admin
joshuatf | psealock | mattsherman | jeffstieler | becdetat | rrennick |
jconroy | dechov | octaedro | danielbitzer | timmyc | claudiosanches |
Leave a Reply