• WooCommerce 3.3.1 is now available. This release fixes conflicts with a handful of themes running template files from 3.2.x that were thus incompatible with the 3.3.0 update.

    You may have seen that 3.3.0 was removed from WordPress.org soon after release; this was to give the team time to look deeper into the conflicts being reported and avoid more users running into the same issues.

    The issue affected themes with template overrides from 3.2.x that hadn’t been made compatible with 3.3. In general, we recommend that themes use hooks instead of template overrides. Themes such as Storefront (which does not use template overrides) were compatible at launch.

    To resolve these issues, we selected a set of the most common themes running on WooCommerce stores and then tested for compatibility with the 3.3.1 release. In addition, some theme authors have tested and released updates to ensure compatibility as well.

    Want to read about current best practices around templates and overrides? Read this wiki post.

    This has been a learning experience for us, and has highlighted problems in the extensibility of the template system, and a disconnect between our team and theme authors operating on external marketplaces. We hope to find solutions to these problems in the near future.

    We’re hopeful the majority of the problems are now resolved and we can push ahead. ~90 commits made it into this release. The full changelog is below.

    * Fix - Added `woocommerce_output_product_categories` to replace `woocommerce_product_subcategories` function to prevent outdated theme template files from outputting categories on the shop and category pages in err.
    * Fix - Prevented columns from being set to anything lower than 1.
    * Fix - Added extra error checking in Webhooks API to prevent notices when deleting Webhooks.
    * Fix - Prevented list table classes being loaded multiple times. This also fixes compatibility with Smart Coupons extension.
    * Fix - Removed stray debug string from order email template and fixed some typos.
    * Fix - Set up the loop when calling wc_get_loop_prop. Fixes compatibility with some themes.
    * Fix - Remove multiple application of filter 'woocommerce_order_item_product'.
    * Fix - Protect against theme support being defined too late. Fixes some issues with custom themes defining WooCommerce support incorrectly.
    * Fix - Add fallback for themes that just get the pagination template.
    * Fix - Made the on-the-fly image regen also regenerate missing sizes.
    * Fix - Fixed missing user_id in webhook migration script.
    * Fix - Allow uncategorized category to be sorted like the others.
    * Fix - If theme support changes, we may need to flush permalinks since some are changed based on this flag.
    * Fix - Fire hooks for pagination etc only when pagination is enabled.
    * Fix - Default HTML in end wrapper template.
    * Fix - Prevent regular pagination showing on archives for unsupported themes.
    * Fix - Fix shop when shown as homepage in unsupported themes.
    * Fix - Fix SKU mapping for placeholders during CSV import.
    * Fix - Use CRUD search helper in admin products table so partial SKU search works.
    * Fix - Fix bulk sale/regular price percentage handling.
    * Fix - More specificity on smallscreen style override for columns.
    * Tweak - Add notice for moved store notice setting.
    * Tweak - Allow removing coupons on editable orders only.
    * Tweak - Extended the background processing library to avoid changing methods in the library.
    * Tweak - Do not show row settings if something is managing the number of products per page.
    * Tweak - Allow devs to add 'no-link' class to elements to prevent order view link being triggered on row click.
    * Tweak - Made woocommerce_resize_images filter more useful by calling it later.
    * Tweak - Revert default columns back to 4 so it's consistent with 3.2.

    Download the latest release of WooCommerce here or venture over to Dashboard → Updates to update your plugins from WordPress.

    As usual, if you spot any other issues in WooCommerce core please log them in detail on Github, and to disclose a security issue to our team, please submit a report via HackerOne here.


  • As you may have seen, 3.3.0 was removed from WordPress.org soon after release on Wednesday; this was to give the team time to look deeper into some theme conflicts being reported and to avoid more users running into the same issues.

    The severity of the issue was relatively low, however, the volume of users running the impacted themes was potentially high, so we chose to take this safer approach.

    The issue affected themes with template overrides from 3.2.x which hadn’t been made compatible with 3.3. In general, we recommend that themes use hooks instead of template overrides. Themes such as Storefront (which does not use template overrides) were compatible at launch.

    If you’re unsure if your theme was affected, users have shared their experiences with various themes on the WordPress.org forum around this issue.

    Why does WordPress.org list 3.2.6 and not 3.3.0?

    To prevent further users downloading 3.3.0 as an automated update from WordPress admin, we reverted the stable version back to 3.2.6.

    When 3.3.1 is released, the auto update will be available again for all users.

    What should I do if I updated to 3.3?

    If you’re running 3.3 already and your theme is compatible, you don’t need to make any changes.

    If you have upgraded and saw issues with your theme, check to see if a compatibility update was released – these updates will likely fix issues on your site. For example, Genesis Connect for WooCommerce was affected and has since released a fix.

    If you have upgraded, are seeing issues, and no compatibility updates have been released, you have three options:

      1. Just wait for 3.3.1 to be released officially: This path makes sense if you’re not too concerned about the issues you’re seeing.
      2. Update to our pre-release version of 3.3.1 available here: We only recommend this route if you’re comfortable with pre-release versions. More below on what’s already gone into 3.3.1.
      3. Downgrade to 3.2.6 using the WP Rollback plugin: We only suggest going this route if you’re seeing issues you’re concerned about and don’t want to take the risk of a pre-release version.

    Aside from the theme issues mentioned above, 3.3 is looking pretty stable. We are running it ourselves on woo.com without problems, so please only downgrade if absolutely neccessary.

    How do I install the pre-release of 3.3.1?

    3.3.1-rc.1 can be found on GitHub.

    1. Download the new zip file.
    2. Unzip of your computer.
    3. Upload the woocommerce plugin folder to your site manually following any of these instructions:

    Using this pre-release or downgrading should not affect your WooCommerce data as long as you never ‘uninstall’ via admin.

    What are you doing to resolve this issue?

    To resolve the issues, we selected a set of the most common themes running on WooCommerce stores and then tested for compatibility with the 3.3.1 release. We’ve already tested with more than 40 themes, and we believe 3.3.1 is relatively stable, but are taking the extra time to test more thoroughly.

    The fixes already made to 3.3.1 can be found here on GitHub.

    When will 3.3.1 be out?

    Subject to our continued testing, we’re aiming to have 3.3.1 out early next week (the week of the 5th Feb, 2018). Any further updates or deviations from this will be added to this post as needed.

    Thanks for your support.


  • Today we’re excited to release WooCommerce 3.3 into the wild! 3.3 has been in development since October, and has had over 1581 commits from 80 contributors.

    3.3 is a minor update. All changes should be backwards compatible with sites running any version of WooCommerce since 3.0, but we do still recommend ensuring extensions and themes are compatible before upgrading by testing on a staging site, and making backups for peace of mind.
    (more…)

  • WooCommerce 3.3.0 RC2 is available for testing. This includes some fixes for issues identified during RC1.

    To test WooCommerce 3.3.0 RC2, you can use our WooCommerce Beta Tester plugin or you can download the release candidate here (zip).

    Think you’ve found a bug? Please post in detail to Github.

    The final version of 3.3 is due for release January 30 2018. Huge props to everyone who has sent feedback about this release so far or found bugs.


  • Storefront 2.2.7 has been tagged for release and uploaded to WordPress.org.

    Here’s what’s changed pulled directly from the changelog:

    * Fix - Reverted Chromium overflow fix introduced in 2.2.6 due to incompatibility with other Storefront products.
    * Fix - Jetpack Google Translate widget styling.
    * Tweak - Improved Grouped products table styling.
    * Dev - Added filters; `storefront_custom_logo_args`, `storefront_register_nav_menus`, `storefront_html5_args`, and `storefront_site_logo_args`.

    Download the latest release of Storefront here or venture over to Dashboard → Updates to update your theme from WordPress.

    As usual, if you spot any other issues, please log them in detail on Github.


  • Storefront 2.2.6 has been tagged for release and uploaded to WordPress.org.

    Here’s what’s changed pulled directly from the changelog:

    * Fix - Price slider widget styling.
    * Fix - Apply styles to `a.woocommerce-store-notice__dismiss-link` instead of all links in the store notice.
    * Fix - Fix hidden content when there are no reviews.
    * Fix - Fixed typo in the `Storefront_WooCommerce` class, `thumbnail_columns` method description. Kudos @cryptexvinci.
    * Tweak - Added vcard markup to template.
    * Tweak - Improved My Account Payment Methods styles.
    * Tweak - Improved the Bookings calendar styles.
    * Tweak - Removed jQuery dependency. Kudos @valdrinkoshi. 
    * Tweak - Added "Navigation menus" step to Guided tour.
    * Tweak - Guided tour in the Customizer is now shown to all sites.
    * Dev - Removed non-standard outdated CSS. Kudos @ElectricFeet.
    * Dev - Removed sticky cart. See this issue for more information.
    * Dev - [WooCommerce 3.3] - Support for new columns & rows option in the customizer.
    * Dev - [WooCommerce 3.3] - Declare image sizes.
    * Dev - [WooCommerce 3.3] - Hide search button.
    * Dev - `composer.json` file. Kudos @pmgarman.

    Download the latest release of Storefront here or venture over to Dashboard → Updates to update your theme from WordPress.

    As usual, if you spot any other issues, please log them in detail on Github.


  • Today, the release candidate for WooCommerce 3.3 is available! 3.3 is a minor release with several improvements and some new features.

    (more…)


  • WooCommerce 3.3 beta 2 is now available. This beta release has a whole host of bug fixes and is ready for testing! To test WC 3.3 beta 2 you can use our beta tester plugin or download the release here.

    Thanks for testing WooCommerce, and if you find any bugs please open an issue!


  • WooCommerce 3.2.6 is now available. This fixes various minor issues, and includes some more improvements to cart rounding.

    ~50 commits made it into this release. The full changelog is below.

    * Fix - CSV Importer - Fix ID mapping to existing IDs.
    * Fix - CSV Importer - Unslash header fields to avoid extra slashes.
    * Fix - CSV Importer - Allow import and export of draft products.
    * Fix - CSV Importer - Get global attribute ID only when is a global attribute.
    * Fix - Remove URL fragment when appending geolocation hash.
    * Fix - Additional cart rounding fixes so rounding before subtotal works again. Added more unit tests.
    * Fix - Add BOM to exported report CSVs.
    * Fix - is_visible should ensure product is is not trashed before returning true.
    * Fix - Return packages with no rates back to the cart so the shipping calculator is displayed even when the current country is not shippable.
    * Fix - Merge session and persistent carts when both exists after login.
    * Fix - Remove "wc_error" query string after login. 
    * Fix - Allow woocommerce_form_field() have 'custom_attributes' equal 0.
    * Fix - Bulk actions in status logs table.
    * Fix - Exclude add-to-cart from pagination links.
    * Fix - Updated $GLOBALS['post'] data in products shortcode to prevent theme conflicts.
    * Fix - Only remove base taxes in cart totals class if item is taxable.
    * Fix - REST API - Fixed date format in reports schema.
    * Fix - REST API - Updated product categories image schema.
    * Fix - REST API - UUse KSES for purchase_note like in admin.
    * Fix - REST API - Filter passed images before processing so they can be unset via querystring.
    * Tweak - Use protected instead of private methods to allow easy override in session handler.
    * Tweak - wc_lostpassword_url should not be used before init - added warning.
    * Localization - Update Japanese prefectures to include prefecture type.

    Download the latest release of WooCommerce here or venture over to Dashboard → Updates to update your plugins from WordPress.

    As usual, if you spot any other issues in WooCommerce core please log them in detail on Github, and to disclose a security issue to our team, please submit a report via HackerOne here. Comments on this post are closed.


  • Today we’re pleased to announce that WooCommerce 3.3 is available for beta testing!

    You can download it here.

    Release highlights

    3.3 is a minor release and will be launching near the beginning of next year. There should be no breaking changes, new functionality should exist in a backwards-compatible manner, and updating from any release since 3.0 should be hassle free! Here is what to look out for in the update.

    Better support for non-WooCommerce themes

    WooCommerce doesn’t require a WooCommerce-compatible theme any more! You can now run WooCommerce with any theme and it should look great. Read more about this here.

    Revamped Orders screen

    We’ve made a lot of improvements to the Orders screen. The design has been overhauled and we’ve added the ability to quickly view and manage orders on the Orders screen. Read more about this here.

    Image sizing improvements

    You can now select the aspect ratio of images in your store. We’ve also automated thumbnail resizing and image regeneration. Read more about this here.

    Stock management improvements

    We’ve made stock management simpler and more intuitive. Read more about this here.

    Download logging

    Product downloads are now logged. You can view and analyze information about products that are downloaded from your store. Read more about this here.

    Webhooks CRUD

    We’ve applied the CRUD software design pattern used throughout WooCommerce to webhooks and migrated them to their own custom table. Read more about this here.

    Everything else…

    Other features include:

    • We’ve replaced all of the old dummy data and placeholders with new, fresh dummy data!
    • We’ve moved some settings into the Customizer so that you can preview changes while managing those settings.
    • If you’re using the database logger, we’ve added the ability to search in the logs.
    • You can now search for extensions right on the Extensions screen.

    On top of the new features, there are a variety of minor tweaks, new hooks, and fixes in this minor release. We won’t go into detail here, but you can see the full list of changes in the readme if you’re interested!

    Template file changes

    When editing core template files we bump the version so themes know they need to update custom versions. The following files were updated in 3.3:

    • auth/form-login.php – Converted submit inputs to buttons.
    • cart/cart.php – Decoupled cart templating methods from WC_Cart class and converted submit inputs to buttons.
    • cart/mini-cart.php – Decoupled cart templating methods from WC_Cart class and converted submit inputs to buttons.
    • cart/shipping-calculator.php – Included city field by default.
    • checkout/form-coupon.php – Converted submit inputs to buttons.
    • checkout/form-pay.php – Converted submit inputs to buttons.
    • checkout/payment.php – Converted submit inputs to buttons.
    • checkout/review-order.php – Decoupled cart templating methods from WC_Cart class.
    • emails/customer-invoice.php – Improved default test for checkout page link.
    • global/form-login.php – Converted submit inputs to buttons.
    • global/quantity-input.php – Added aria-labelledby to quantity field.
    • global/wrapper-end.php – Made the Underscores theme wrappers the default.
    • global/wrapper-start.php – Made the Underscores theme wrappers the default.
    • loop/add-to-cart.php – Added add_to_cart_description method and aria-labels to cart buttons.
    • loop/loop-start.php – Use new loop functions.
    • loop/orderby.php – Refactored to work well on unsupported themes.
    • loop/pagination.php – Refactored a little to work well on unsupported themes.
    • loop/result-count.php – Refactored a little to work well on unsupported themes.
    • myaccount/form-add-payment-method.php – Improved wording and converted submit inputs to buttons.
    • myaccount/form-edit-address.php – Converted submit inputs to buttons.
    • myaccount/form-login.php – Converted submit inputs to buttons.
    • myaccount/form-lost-password.php – Converted submit inputs to buttons.
    • myaccount/payment-methods.php – Removed a message about new payment methods.
    • notices/error.php – Added role=alert for improved accessibility.
    • notices/success.php – Added role=alert for improved accessibility.
    • order/form-tracking.php – Converted submit inputs to buttons.
    • order/order-details-customer.php – Cleaned up and updated as part of Orders UI revamp.
    • order/order-details.php – New actions and a little refactoring.
    • order/order-downloads.php – Made the downloads table responsive.
    • single-product/add-to-cart/grouped.php – New hooks and added form action.
    • archive-product.php – Use new loop functions.
    • content-widget-product.php – Better action names.
    • product-searchform.php – Converted submit inputs to buttons.

    Deprecated functions and methods

    • wc_get_core_supported_themes has been deprecated since core now supports all themes.
    • WC_Product_Download::set_previous_hash has been deprecated since core is no longer using filename-based hashing to keep track of files.
    • WC_Product_Download::get_previous_hash has been deprecated since core is no longer using filename-based hashing to keep track of files.
    • WC_Admin_Webhooks::logs_output has been deprecated since logging is no longer done on the Edit Webhook screen.
    • WC_Admin_Webhooks::get_logs_navigation has been deprecated since logging is no longer done on the Edit Webhook screen.
    • WC_Customer_Download_Data_Store::update_download_id has been deprecated because download_id is now a static UUID and should not be changed based on file hash.
    • WC_Cart::get_item_data has been deprecated in favor of wc_get_formatted_cart_item_data.
    • WC_Cart::get_remove_url has been deprecated in favor of wc_get_cart_remove_url.
    • WC_Cart::get_undo_url has been deprecated in favor of wc_get_cart_undo_url.
    • WC_Post_Data::process_product_file_download_paths has been deprecated because no action is necessary on changes to download paths since download_id is no longer based on file hash.
    • WC_Webhook::get_delivery_log has been deprecated since webhook logs are stored using the logger.

    Release schedule and testing

    We’re hoping to keep WooCommerce 3.3 in beta for the next 4 weeks. If you’re a developer please check extensions and themes are compatible to be safe.

    Release Candidate 1 will be tagged on January 11th and will remain in RC for a further 3 weeks until January 30th which is our target launch date.

    If you’d like to help us test, you can download the release from Github. We posted a nice little write-up on beta testing here which should get you started. Please read that and jump right in!

    If you’d like to help translate 3.3, you’ll find it on the development branch on translate.wordpress.org.

    Thanks to all of our testers and contributors!