Develop WooCommerce

The official WooCommerce development blog

WooCommerce 3.2.6 fix release notes — December 13, 2017

WooCommerce 3.2.6 fix release notes

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.

WC 3.3 Download Logging Feature — December 7, 2017

WC 3.3 Download Logging Feature

WooCommerce 3.3 will include a new download logging/reporting feature to track who downloads what from your store (when selling digital products). The issue relating to this was initially logged here.

This feature was contributed by @procifer during his trial (Automattic is hiring!). The pull requests for this can be found here and here. They add the following:

  • A new WC_Customer_Download_Log class supporting data stores to store logs to a custom table in the database.
  • Revised how download ids are generated to no longer rely on md5 hashes of filenames. This means each download has a unique ID which can be tracked.
  • A new report which lists downloads made by customers, along with information such as IP address.
  • Permission checks utilise the download log/tracking functions to make them more robust.

Visually, when viewing a download permission inside an order you’ll see a new link to the reports:

Edit order ‹ Local WordPress Dev — WordPress 2017-11-22 12-36-56.png

When this is clicked you’ll go off to the reporting section to see logs filtered to this permission ID:

Reports ‹ Local WordPress Dev — WordPress 2017-11-22 12-38-54.png

You’ll notice we track the following per download:

  • Timestamp of download event
  • Product/file that was downloaded, from what ID
  • Logged in user name
  • IP Address

The Reports > Orders > Customer downloads section allows you to filter logs by any of these properties.

Reports ‹ Local WordPress Dev — WordPress 2017-11-22 12-41-58.png

Thats it 🙂 Just a small enhancement we hope you’ll find useful.

WooCommerce 3.2.5 fix release notes — November 22, 2017

WooCommerce 3.2.5 fix release notes

WooCommerce 3.2.5 is now available. This fixes a few compatibility issues with WordPress 4.9, and a conflict with themes using product shortcodes.

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

* Fix - WordPress 4.9 - REST API - Updated schema, sanitization, and validation callbacks to support correct data types.
* Fix - WordPress 4.9 - Fix an issue saving variation attributes on new products and with attributes containing slashes.
* Fix - Save fee tax lines to new orders on checkout.
* Fix - Restore the post global after rendering product shortcodes.
* Fix - Fix product filtering when searching for a string including quote characters.
* Fix - Fix layered nav drop-downs containing unicode characters.
* Fix - Fix an edge case rounding bug with shipping taxes, and another with non-integer quantities.
* Fix - Set correct defaults when adding a new shipping class in admin.

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.

WooCommerce 3.2.4 security/fix release notes — November 16, 2017
WC 3.3 Order screen changes, including a new preview function, ready for feedback —

WC 3.3 Order screen changes, including a new preview function, ready for feedback

As part of the 3.3 release cycle we’ve been working on adding some features to the order screen, and improving general appearance.

First let’s take a look at the current order screen and point out some issues.

old
Order screen in 3.2

Problems:

  • Status icons are only used on this screen, and have little meaning or context.
  • Action icons are similarly confusing, largely due to the icons having no real meaning and being open to interpretation.
  • Showing addresses here is of little benefit since you cannot fulfil orders without knowing whats inside.
  • Other data that isn’t really needed here (because you cannot do anything with it!); payment method, shipping method, columns for notes with nothing but an icon.

Additionally, viewing order items was something removed in a past version due to performance reasons, but was missed by some users gaining > 150 votes on the ideas board. We wanted to introduce something more performant in 3.3.

The new screen takes design cues from Store on WordPress.com (which was redesigned from scratch) and aims to simplify these views, as well as do code cleanup behind the scenes. This is the re-factored screen:

new
Proposed order screen in 3.3

Key differences:

  • Revised which columns are shown by default. Shipping address/billing address can still be toggled on, but are hidden by default.
  • Combined order number/customer name into a single column with the most important data.
  • Hidden the actions column unless an extension uses it to add custom buttons. All previous order update actions are possible from the bulk actions drop-down.
  • There is a new preview link for viewing order contents.
  • Clicking any part of the row takes you to the main edit order screen.
  • Statuses are text-based, and hovering the status reveals any important notes. Using words makes it clearer, especially for new users.

The new preview button you may have noticed brings back a view of items in the order, but does so without slowing down the page load. Order details are loaded via AJAX and display in a modal like this:

preview.png
The order preview

Now you get all the add-a-glance information needed to deal with new orders without needing to edit the order.

Testing and feedback

These changes are merged into our master branch on GitHub if you want to try things out. If all goes well, they will be part of 3.3 release in January.

Thoughts and feedback welcome in the comments.