Released Jun 29, 2021
Service::EVENT_BEFORE_REGISTER_SHIPPING_METHODS for modifying the master list of shipping methods before they get handed off to Commerce. (thanks @michaelrog).
Change product summary to limit to 20 variants for performance.
Provider::EVENT_MODIFY_PAYLOAD not allowing
payload to be overridden. (thanks @richrawlings).
Fix removing box sizes for disabled providers when saving.
Fix providers triggering validation when disabled.
Released Feb 20, 2021
Fix USPS rates not factoring in correct pricing for multiple boxes.
Fix when updating services, shipping category conditions would be lost.
Released Jan 28, 2021
All providers now round box dimensions and weights to 2 decimal places.
Improve project config storage for settings. Postie will now no longer save (some) settings for disabled providers.
Fix DHL Express throwing errors due to invalid weight/dimensions.
Fix in-memory caching not working correctly for providers. This meant potentially multiple requests for a single page request were being performed.
Released Jan 16, 2021
Add support for FedEx Freight.
Allow providers connection check to be run from cron, or similar means.
Fix potential error with AusPost International.
Fix USPS not logging error messages correctly for domestic shipments.
Fix USPS rates not reporting back correctly when using potentially invalid postcodes.
Fix testing connection only using saved values, not values as you change them.
Fix UPS connection testing for some non-US based accounts.
Ensure Postie isn’t shown in the CP sidebar menu when
allowAdminChanges = false.
Released Jan 05, 2021
Fix error when calculating rates for Australia Post, New Zealand Post and Sendle.
Released Dec 22, 2020
Add weight and dimension unit settings for each provider. Some providers (UPS) rely on units being set for the appropriate account's region.
Fix potential error with Australia Post.
Fix an error with UPS when using negotiated rates.
Ensure FedEx formats dimension and weight units correctly.
Released Dec 04, 2020
Fix error introduced in 2.4.1 when saving settings form the control panel.
Released Dec 04, 2020
Fix potential migration issue if no providers were configured.
Released Dec 03, 2020
Add Sendle shipping provider.
Add Interparcel shipping provider.
Add New Zealand Post shipping provider.
Add Bring shipping provider.
Add Royal Mail shipping provider.
Add PostNL shipping provider.
Add Colissimo shipping provider.
Add new 4D bin-packing algorithm to more accurately pack your boxes.
Add ability to define box dimensions and weights for each provider, so you can better split order items into boxes.
Add "Packing Method" setting for all providers.
Add "Pack items individually" packing method, allowing all line items and quantities to be boxes individually.
Add "Pack items into boxes" packing method, allowing provider-supplied boxes, or user-created ones.
Add "Pack items into a single box" packing method - a slightly improved version of the box-packing algorithm in pre 2.4.0. This ensures a non-breaking change to box-packing behaviour to date.
EVENT_AFTER_PACK_ORDER events to all providers, allowing modification of the box-packing logic.
Add "Restrict Shipping Methods" setting for all providers. This allows opt-out of restricting to certain shipping services, and always use whatever is returned by the provider. This is particularly beneficial for some providers where services can't always be determined.
dimensionUnit to each provider for consistent use with boxes. These should always be provided in grams.
supportsDynamicServices() to providers whose list of services isn’t statically defined.
getMaxPackageWeight() to providers, to define what their maximum package weight is.
getIsInternational() to providers, to return whether an order is considered domestic or international.
Add provider setup instructions on connecting to the respective APIs.
Add ability for providers to define their own default boxes of dimensions and types that cannot be deleted, but still toggled enabled/disabled.
Add letter rates to Australia Post (domestic and international). Now fetches rates for letters, for applicable products, and as defined in the new box definitions.
Add some additional missing satchel rates for Australia Post.
Add “Residential Address” setting for UPS.
Add “Include Insurance” setting for UPS.
Add “Residential Address” setting for Fedex.
Add “Include Insurance” setting for Fedex.
Add “Fedex One Rate” setting for Fedex.
Add “Additional Options” to Canada Post.
SinglePackageProvider class for providers to extend from, if the API doesn't support sending multiple packages in one request. This class will fetch the first box, and add each subsequent (cached) response for all other boxes that are identical.
Add support for all providers to use env variables in their settings.
Add API connection testing for all providers, allowing you to troubleshoot API credentials before getting to shipping.
getIsConnected() methods to providers.
Add testing classes for addresses and packages. Can be freely used to fetch a range of different values for testing responses.
Postie now requires PHP 7.1+.
Multiple packages are now possible for Australia Post, DHL Express and TNT Australia. This not only improves a "too large to ship" response, but should provide more accurate pricing overall. Previously, Postie bundled all items in a single package, which would often go over maximum dimensions/weights.
Existing providers now use the "Pack items into a single box" box packing algorithm. This is essentially the same as previous versions to prevent a breaking change.
Tidied up the shipping methods table for providers.
Some internal cleanup with providers (may affect custom providers). Refer to the updated docs.
Provide field instructions for a number of provider settings.
Visually highlight provider API instructions.
Fix settings sidebar overflow in some cases.
Released Dec 02, 2020
Add some additional Fedex rates for international distribution.
jeremy-dunn/php-fedex-api-wrapper to 4.0.
Fix UPS using Canadian origin address not working correctly.
Fix package dimensions not calculating correctly in some instances.
Released Oct 30, 2020
shipTime for DHL Express.
modifyPayload event to allow modifying the payload before it’s sent to providers to fetch rates.
Released Oct 24, 2020
Add missing Fedex UK Domestic services.
Add Pickup Type option for UPS. You may want to change this to “Customer Counter” for more accurate UPS results, but do test this for your own needs. The default is left as-is (“Daily Pickup”) so as not to be a breaking change.
Released Oct 16, 2020
Add option to UPS to configure whether signatures are required.
Fix defining provider settings in both the control panel and config files.
Released Oct 02, 2020
Change Fedex package units to imperial (lb/in) to ensure proper rates are fetched.
Fix Fedex/UPS/USPS maximum package weights calculating incorrectly.
Released Sep 24, 2020
Add DHL Express.
Add handling for Fedex/UPS/USPS for maximum package weights, splitting into multiple packages.
displayFlashErrors config setting. Allows errors from the provider APIs to be shown in checkout templates.
Allow orders created in the control panel to bypass the
manualFetchRates config setting, so they can pick a shipping method.
EVENT_MODIFY_VARIANT_QUERY to modify the variants used to check weight and dimensions for in Postie's settings.
Fixed an error when viewing an order in the control panel, that used Postie-provided shipping method. (thanks @keyurshah).
Released Aug 09, 2020
Now requires Commerce 3.2+ and Craft 3.5+.
Fixed error with Commerce 3.2.
Released Aug 04, 2020
Ensure the lowest amount is always used for Fedex amounts.
Released Jul 26, 2020
Fix USPS error when a postcode isn’t set on the shipping address.
Released Jul 14, 2020
Fix UPS error for carts that have no shipping country selected.
Released Jul 10, 2020
Fix UPS throwing an error when the recipient address is from non-US countries.
Released May 26, 2020
Add special-case for completed orders, and fetching non-live-rate shipping methods. This allows the correct use of
order.shippingMethod.name. Please note that calling this for completed orders will report all Postie-provided shipping method costs as 0. As such, use the shipping costs recorded on the order (
Fix errors for console or queue requests.
Released May 15, 2020
Provide local cache for Australia Post countries API call (when the resource is offline).
Released May 10, 2020
Ensure we check for cached rates when manualFetchRates is turned on. Otherwise, the shipping method won't save on cart, or persist on page load.
Remove duplicate cakephp/utility composer package. (thanks @codebycliff).
Fix saving shipping method settings not working.
Released May 03, 2020
manualFetchRates config option, to allow you to manage manually fetching rates on-demand. Read the docs for more info.
Greatly improve caching mechanism for initial requests to providers. This should result in faster rates-fetching.
getSignature is now public.
Released Apr 16, 2020
Fix logging error
Call to undefined method setFileLogging().
Released Apr 15, 2020
Add support for UPS “Sure Post”.
File logging now checks if the overall Craft app uses file logging.
Log files now only include
POST additional variables.
Released Mar 17, 2020
Canada Post - Fix incorrect URL for live requests.
Fix styling issues for provider markup settings.
Released Jan 09, 2020
Add TNT Australia provider.
Add 2- and 3-day Priority options to USPS. (thanks @AugustMiller).
Order object to
ModifyRatesEvent. (thanks @AugustMiller).
Update FedEx for Ground Transit Time. FedEx handles the delivery date for Ground different than Express. For Ground, they use
TransitTime. (thanks @keyurshah).
Fix provider icon error for custom provider.
Fix USPS/UPS handles, incorrectly being set as
Fix incorrect caching of rates for multiple providers.
Fix zero-based rates not being shown to pick during checkout.
Fix AusPost and Canada post error handling.
Released Aug 17, 2019
Remove provider settings from shipping method requests, particularly for XHR.
Fix debug statements occurring for non-site requests.
Released Aug 16, 2019
Add support for Commerce 3.
Add more UPS services, and change the way UPS services match.
Released Jul 16, 2019
Fix provider settings not being populated on shipping methods and rules. Meant markup rates weren't working correctly.
Released Jul 13, 2019
Released Jun 01, 2019
Improve in-memory caching.
Fix memory issues in certain cases when fetching rates.
Tweak state handling for Fedex.
Released Apr 10, 2019
Remove leftover debugging.
Released Apr 10, 2019
Fix return type incompatibility causing errors.
Fix dimensions API issue with Canada Post.
Improve response error handling for Canada Post.
Fix lack of formatting handling for Canada Post zip codes.
Released Apr 07, 2019
Swap XML parser for Canada Post.
Fix missing shipping description.
Released Mar 27, 2019
Fix some error messages themselves throwing errors.
Released Mar 26, 2019
Craft 3/Commerce 2 support.
Add Canada Post provider.
Add Fastway provider.
Add initial TNT provider. Please contact us with API account details to finalise!
displayDebug config setting.
displayErrors config setting.
enableCaching config setting.
enabled config setting for each provider.
Add provider icons, and CP UI improvements.
Updated provider functions for easier/clearer extendability. See docs.
Updated cache mechanism for better performance.
Australia Post now fetches shipping rates in a single API call.
originAddress config setting in favour of Commerce's
Provider handles in config file are now required to be provided in camel case.
Released Aug 01, 2018
Add config setting to disable cache.
Add UPS Provider.
Fedex - Add config setting
disableCache for test endpoint (not default when using DevMode).
Fedex - fix services from pre1.0.1 causing issues.
Released Jan 22, 2018
Add management of shipping category conditions for shipping methods.
Available for Craft 3. Get it from the plugin store.