Today we’re proud to release WooCommerce 2.5 “Dashing Dolphin” into the wild! 2.5 has been in development for ~5 months and has seen around 1600 commits from 42 contributors.
This is another evolutionary release which focusses on improvements to existing functionality, as well as stability and performance. We do however have some new features to mention in 2.5 which developers in particular should enjoy using.
Introducing WooCommerce CLI
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 very useful for power users! Here is a quick example of the CLI in action, in this example updating then deleting a coupon.
A new sessions table
Early on we decided to adopt a solution based on wp-session-manager whereby you have a cookie to identify each user, and have their session data stored in the WP options table. This worked well, and has served us nicely until now, however it did lead to problems with scalability and data cleanup.
For these reasons we’re introducing a new session handler which uses custom tables, rather than the WordPress options table.
We made a number of performance improvements in 2.5, mainly working on optimising our usage of transients which we covered in our beta 2 post.
tl;dr we’ve audited all transients, removing those that are unnecessary and moving to alternative forms of data storage and caching where possible. Combined with the new sessions table, query speed should be improved due to reduced usage of the wp options table.
Tax rate settings UI
We’ve been experimenting with backbonejs to improve the user interface recently, which should feature more prominantly in core from 2.6. In 2.5 we’ve used it to improve the tax rate input screens, which now saves via ajax and has a new inline search.
Improved checkout flow
- Moved the terms and conditions box before the place order button
- Tweaked default call to action button styles
- Added error recovery when malformed JSON is returned by the ajax methods.
- Removed the ‘estimated’ text from the cart totals area.
- Made it so when only 1 gateway is enabled, the radio buttons will be hidden.
- Added pass