2.2 Prowling Pangolin Beta 1: Release and highlights

This week we’re happy to announce WC 2.2 “Prowling Pangolin” beta 1 is available for testing.


             ,___,           ╭────────────╮
      ╭╴╴╴╴/ ⏖ ⏖ ╴╴╴╮    ┃  Woo! 2.2  ┃
   ╭╯⏖ ⏖ ⏖ ⏖ ⏖ ⏖ ( ⦿    ╰─y──────────╯
 ↜╯╯    ‴▾▾LL▾▾▾▾▾LL   \   
                           *

Since 2.1 we’ve had a whopping 1401 commits. You can view the changelog here and see what we’ve been busy working on: https://github.com/woothemes/woocommerce/blob/v2.2-beta-1/readme.txt#L129

Before going into the features, developers should be aware of the following changes:

  1. Order statuses are no longer taxonomy based – the post status is used. This makes order queries lighter, but custom order queries may need to be updated.
  2. Orders can now be retrieved using the get_order() wc_get_order() function.
  3. Orders can be created using the new wc_create_order() function.
  4. Gateways can now handle refunds by declaring support for the ‘refunds’ feature, and including a process_refund() method (see PayPal Standard in WC core for an example).
  5. Gateways can pass the payment_complete() method a transaction ID to have it stored in a standardized format.
  6. v2 of the API which includes PUT/POST/DELETE methods is included. v1 of the API is still present until v3 is eventually released.

Aside from the countless fixes and tweaks, here are a few of the key features in 2.2.

Rest API v2

Version 2 of the API introduces PUT/POST/DELETE support for Coupons, Orders, Products and customers and will really widen the possibilities of integrating with WooCommerce from external apps. Full documentation for v2 of the API should be ready soon, but it’s there if you want to play.

Massive props to SkyVerge (Max and Justin in particular) for their contributions to the API.

Refunds

Refunds has been a feature we’ve wanted to tackle for a long time, but has been put back due to it’s scope a few times. We’re proud to finally have this feature built.

Refunds consists of two parts;

  1. An API for Payment Gateways to handle refunds directly though code.
  2. An interface to handle refunds from the orders UI.

The greatest challenges with refunds were;

  1. Keeping reports accurate after partial refunds.
  2. Having a simple interface to handle the refund process…
  3. …which led us to redesign the order item and order totals panels and combine them.
  4. Modifying our data structures (particulary for line items) to support the above.

Here is an example of the new UI for order totals and items:

You’ll notice shipping, taxes, fees are all displayed in the same area which should improve usability.

This is what the UI looks like when doing a refund:

2014-08-01 at 10.06

Unfortunetely, due to the structure of data in 2.1 and below (particulary the way in which taxes were stored, never at line level) we’ve had to sacrifice the tax columns and partial refund functionality for legacy orders – but going forward, all new orders will benefit from the new functionality.

We’re keen to hear your feedback about refunds in 2.2!

Improved language file handling

One thing we started noticing with recent releases was that the filesize for WooCommerce was huge. 2.1.12 was over 8mb. This can make updating difficult for example if there are upload limits.

The reason for the size; localisation files. Uncompressed we’re talking 32mb of PO and MO files in core.

To resolve this, 2.2 includes a language pack downloader. PO and MO files will no longer be bundled with the plugin – they will be downloadable from your dashboard if you have the WPLANG constant set, or from a git repository if you wish to grab them manually.

Give us your feedback and get involved

We’re happy to hear your feedback about 2.2 and would appriciate any bug reports going directly to Github.

Download 2.2 Beta 1

If you find a bug with the beta, please ensure you prepend the ticket title with [2.2] when submitting the issue to GitHub, or at least mention what version you are using in the ticket description.

Also when reporting anything to us:

  1. Describe the issue in detail, with a system status report
  2. Don’t report issues with extensions, only core
  3. Don’t report issues with themes
  4. Report bugs, not feature requests

Thanks!


Keep yourself in the loop!

Sign up for the WooCommerce developer newsletter:
Hidden
Hidden
Hidden


15 responses to “2.2 Prowling Pangolin Beta 1: Release and highlights”

  1. Great news guys !,

    Do we need to change the way we change the order status in our plugins, or it is compatible ?

    1. If you are querying ‘publish’ status orders, yes you’ll need to adapt your queries.

      1. It would be handy for each listed item to have more detail on the impact, and more specifics of what needs changing. Otherwise, with the very terse descriptions we currently have, all the developers are going to be duplicating that task a lot, or at least duplicating the task of doing more research.

        1. I’d hope that developers know what a post status and taxonomy is if they are querying orders 🙂 Testing the beta it should be apparent what this change affects – custom order queries only.

          The #1 item listed is the only change devs may need to tweak code to accommodate.

    2. Hello !

      I am readinf the rest API v2 documentation (http://docs.woocommercev2.apiary.io/) but I cannot find the required json data structure of the post requests -for a new order for instance-.

      Could you advise me about where I can find more info about the api available POST endpoints and expected json structues ?

      Franck

  2. What’s the ETA on the release of 2.2 — we have about 40 something sites to get fixed due to the decision to remove order status taxonomy… so we need to know how much time we have to do that

    1. Aiming for late August.

  3. Would be great if the Continue Shopping bug gets fixed without the need to edit the woocommerce-functions.php. Also great if we could add additional fields to collect more data rather than just Notes.

    1. You should report that on github if its one we’ve not caught.

  4. Hi,
    Don’t know if you’re receiving so many requests but we need to use 2 terms6conditions page at least in Turkey. One should have order details as well for each customer. There is no plugin for this purpose. If there is a page/blog to check for information, I will try to configure it from files

  5. I see that Joe already asked when 2.2 will be released, but I’m not sure if he’s talking about a beta version or an “actual”, public release. Is it the actual public version 2.2 that you aim to release late August? Or when do you think that would happen?
    Thanks!

    Danny

  6. Hi,
    I built a site that requires obtaining variations for Variable Subscriptions through the REST API. Can I upgrade to WooCommerce 2.2 Beta and start using REST API v2 even though it’s in Beta?

  7. would love to see woocommerce with the ability to link to accountz packages to make invoicing easier 🙂

    PDF email alerts for sales would be great too if possible

    i hope the upgrade is not as painful as the last version upgrade.

    thanks for the fab software

  8. Hi! Before we could change the order if necessary, but now it’s not possible any more. So when a client send an email saying he introduce the wrong size. How to modify that information?

    Thanks!

  9. Hello !

    I am readinf the rest API v2 documentation (http://docs.woocommercev2.apiary.io/) but I cannot find the required json data structure of the post requests -for a new order for instance-.

    Could you advise me about where I can find more info about the api available POST endpoints and expected json structues ?

    Franck

Leave a Reply

Your email address will not be published. Required fields are marked *