WC 2.5 codename “Dashing Dolphin” has been tagged for testing. This release has seen a short development cycle of ~3 months and comprises of ~1000 commits from 21 contributors.

You can download beta 1 here.

Release Highlights

2.5 mostly contains enhancements to existing functionality, but we have added some new features which developers will appreciate such as WP CLI support!

The WooCommerce CLI (command line interface) lets you perform many actions on your store via the command line, such as creating customers and coupons. This should be useful for power users.

WooCommerce CLI in action

The post here has more details on the CLI.

The WooCommerce REST API has been further enhanced with some new endpoints:

  • /products/shipping_classes to update product shipping classes.
  • POST, PUT, and DELETE for product categories and tags.
  • Added support to filter products by tag, category, shipping class, and attribute.
  • Added tax and tax_class endpoints for setting tax rates.

The REST API documentation will be updated with this new endpoints soon.

For performance and scalability reasons we’re introducing a new session handler which uses custom tables, rather than the WordPress options table. You can read more about this feature here.

Also related to performance, we’ve improved the way in which verified reviews are stored and retrieved, and we’ve improved backend searches.

Some admin screens have been tweaked; most notably the tax settings screen which is now ajax enhanced/faster and supports search.

2015-11-04 at 14.28.png
Ajax powered with inline search

The email settings screen has also been tweaked to remove the sub-navigation links in favour of a table.

2015-11-04 at 14.29
Emails are shown in a neat table in 2.5

The checkout and order flows have also had some adjustment:

  • When only 1 gateway is enabled, the radio buttons will be hidden.
  • We now only display the coupon form on the checkout if a coupon hasn’t yet been applied.
  • We have added a handy ‘pay’ link to the order screen which you can send to customers.
  • We have added the terms and conditions checkbox to the pay page, which was previously only shown on checkout.
  • Password strength indicators are now displayed on checkout when creating an account.
  • If payment fails, admin will receive an email.
  • When a WordPress user is deleted, their orders turn into guest orders.
  • When calculating order taxes, tax settings are respected and default to the base country.
  • Order notes are added to record manual email sends to customers.

Other notable tweaks include:

  • Variations are now generated in a logical order using a new wc_array_cartesian function.
  • Variations will fade in to avoid the initial ‘flicker’ during page load.
  • Reports now show both net and gross averages.
  • The welcome screen is no more.

You can see the full changelog in the readme file.

Template changes

For frontend templates we’ve changed some files to make templating more flexible:

  • Product archive anchors are now hooked into templates rather than hard coded.
  • We’ve added template files for the customer details list in emails (emails/email-customer-details.php)
  • Revised single variation cart template. Template files now exist for variations, and the cart button will display (disabled) when no selections are made.
  • New star ratings. The old one was 5 separate buttons. This new one consolidates the 5 options into one element making it leaner visually and more intuitive. Works in IE9+ with a graceful degradation for IE8.

The following template files have been version bumped in 2.5 and may require theme updates:

  1. single-product/review.php – Added new action hooks + verified reviewer code
  2. single-product/add-to-cart/variable.php – Correctly escape variation data.
  3. order/order-details.php – woocommerce_purchase_note_order_statuses filter.
  4. order/order-details-item.php – woocommerce_purchase_note_order_statuses filter.
  5. loop/add-to-cart.php – Uses supports_ajax_add_to_cart method.
  6. global/quantity-input.php – Changed min and max attributes.
  7. content-widget-product.php – File was missing version.
  8. content-product.php – Action hooks to handle anchor output.
  9. content-product_cat.php – Action hooks to handle anchor output.
  10. checkout/payment.php – Support for new terms.php template file.
  11. checkout/form-pay.php – Support for new terms.php template file.
  12. cart/mini-cart.php – URL escaping.
  13. cart/cart-shipping.php – Extra filters and some simplification of strings.

The following template files are new in 2.5.0:

  1. single-product/add-to-cart/variation.php
  2. single-product/add-to-cart/variation-add-to-cart-button.php
  3. emails/email-customer-details.php
  4. emails/plain/email-customer-details.php
  5. emails/admin-failed-order.php
  6. product-searchform.php
  7. checkout/terms.php

Release Schedule

Beta 1 is out today (Nov 9th) and the beta testing period will run through to the end of the year to avoid a release during the holiday season. Subsequent betas will be released as needed.

If all goes to plan, Release Candidate 1 will be tagged sometime between Jan 4th–8th 2016, with the final release dropping a week later.

How to beta test

We posted a nice little write-up on beta testing here which should get you started. Please read that and jump right in!