9.0.0
Version 9 is a complete rewrite of the plugin. It requires WordPress 6.7 and WooCommerce 10.0 or newer; PHP 7.4 is still the minimum. WordPress will not offer the update to sites below those versions, and they keep running 8.2.0 - nothing breaks, they simply stop receiving new releases. Update WordPress and WooCommerce first if you want this version. Make a full site backup and
review update best practices before upgrading from 8.x. Existing settings, shipping methods, pickup points and booked-label access are kept. Saved parcel splits require the reset described below.
- If your site uses Smart Send hooks or filters (custom code, a Code Snippets plugin or a theme), review every snippet: several version 8 hooks were removed or changed, and shipment/pickup hooks now pass typed objects. Other hooks retain their existing signatures. The developer reference lists the current hooks, removed hooks, arguments and examples. Update affected snippets and test them on a staging site before upgrading production.
- For snippets using pre-release version 9 hooks, rename
smart_send_pickup_point_option_label to smart_send_pickup_point_label and return plain text. smart_send_default_selected_pickup_point is removed without an alias: reorder smart_send_pickup_point_list results and use the Select Default setting instead. Compatible explicit customer choices are preserved. Older stored points missing carrier/country information are verified through the API when next used.
- Parcel splits saved in the old product-ID format are not migrated. On affected orders, choose "Reset to one parcel" and enter the allocation again before creating another shipping or return label. Custom integrations must use
order_item_id and allocate every ordered unit exactly once. Parcel weights and dimensions still apply only to the current booking.
- Products or variations deleted since the order was placed display as "Deleted" with no SKU. Enter an explicit parcel weight before booking them; missing customs data is not reconstructed. This does not remove access to labels already booked.
- The optional WooCommerce Subscriptions integration now targets its 4.9+ data-copy APIs. Renewals do not inherit prior labels or tracking. Custom subscription parcel plans must use the subscription's own item IDs; old or unmatched plans require an explicit reset on the renewal before booking.
- Free shipping no longer makes a shipping method available for a cart weight outside the configured weight table; the weight table alone decides when the method is offered, and free shipping only zeroes the price. Check your weight tables if you relied on the free-shipping threshold to cover heavy carts.
- The bulk label actions on the Orders screen process up to five selected orders, with individual label links. No new order starts after 20 seconds; skipped orders are listed so you can select them again. In-flight orders finish using the existing API timeouts, so total processing can exceed 30 seconds.
8.0
8.0 is a major update. Shipping methods moved to WooCommerce Shipping Zones and must be setup again after upgrading. Make a full site backup, and
review update best practices before upgrading.
7.2
Version 7.1 is deprecated. Upgrading to 7.2 can be done at no risk, but is needed for continuous use of the plugin.