We are pleased to announce the release of WooCommerce 6.0. This is a major release but everything should be backwards compatible with the previous version.

So what is new in this release?

WooCommerce Blocks

The new Cart block

The new iteration takes the existing design of the Cart Block and converts it to use Inner Blocks. For the user, this means that they are no longer constrained by a fixed layout but are instead given a cart constructed out of many smaller blocks, with more control over each individual block.

As an example, look at the Order Summary section in the current Cart Block. All options are shown at the Cart Block level, including options related to the order summary:

Now, the Order Summary has become its own block, with its own settings:

The List view provides a good picture of the block’s new structure:

This more flexible approach for example allows for some blocks like the Accepted Payment Methods to be repositioned. Additionally, it means the user can insert other blocks to the Cart without code.

Block templates

WooCommerce are in the process of converting classic WooCommerce templates, such as the single-product.php template, into block templates. These new block-based Store Editing Templates will eventually enable merchants to fully customize their templates with blocks in themes optimized for Full Site Editing.

As an intermediary step towards this goal, this first iteration of the feature renders the existing WooCommerce templates while allowing customization by adding additional blocks around them.

WooCommerce Admin

The feature plugin has been updated to the 2.9.2 version from 2.8.0 which shipped with WC5.9.

Product Attribute Filtering

With this release, they are entering the final stages of delivering their revamp of product attribute filtering. They have now removed the need for a code snippet to show the feature; both the feature flag and system tool is now available for all merchants.

Rate Limit Table

In order to address the performance issues caused by storing rate limits in the options table, they have created a new table to hold rate limit entries. This seeks to resolve the performance problems caused by storing rate limit entries in the wp_options table (which are by default autoloaded). It introduces a new table, woocommerce_rate_limits to accomplish this. Rate limit lookups are cached upon creation and retrieval, so DB reads should be kept to a minimum.

Plus all the usual under the hood improvements

WooCommerce 6.0 adds two filters (woocommerce_product_options_shipping_product_data & woocommerce_after_variations_table) and 2 actions (woocommerce_quantity_input_autocomplete & woocommerce_has_block_template) and a long list of bug fixes.