Postie 5.x is on version 4.0.9
, released on Oct 20, 2024
Released Oct 20, 2024
Fix an error with DHL Express and Ship Time in some locales.
Released Oct 09, 2024
Add preset boxes for USPS.
Change USPS behaviour to now only return the cheapest rate for the same service code to prevent unnecessary duplicate rates.
Fix an error for single-page checkouts when an email isn’t set on the cart yet.
Ensure packed boxes pass on reference value.
Fix logic for determining custom boxes.
Fix UPS Phone Number mapping not casting values as strings.
Fix UPS Phone Number mapping, not being able to select “no field”.
Fix USPS rates not using a minimum dimension/weight value for packages.
Released Sept 07, 2024
Add support for tax-inclusive rates for UPS, where applicable.
Update USPS service codes for new API.
Improve USPS rates by not returning duplicate services (that have the same price, just different description).
Fix an error when fetching rates while restricting services, but no services are enabled.
Fix docs link for providers.
Fix USPS API type not being visible.
Fix multi-provider package duplication.
Released Aug 03, 2024
Fix breadcrumbs when editing a shipping method.
Fix an error with checking for free shipping on a line item that no longer has a purchasable.
Fix rounding of parcel dimension and weights for Australia Post for more accurate rates,
Released July 29, 2024
Add Add Declared Value
setting for UPS.
Update English translations
Testing rates now set a $15 price on packages for testing with providers.
Fix rates testing not showing any feedback when no rates are returned.
Fix FedEx Freight rates testing to reflect a valid package by default.
Fix FedEx Freight not supply billing/shipping address info as configured.
Fix isProduction
for providers set via config file not updating the provider setting in the control panel.
Released July 21, 2024
Add Aramex, Aramex Australia and Aramex New Zealand providers.
Add “Site Code” setting for New Zealand Post for creating labels.
Add the ability to set a phone number field (from your order) for UPS International shipments, where this is required.
Change shipments and rates database table columns to longText
to store large responses from providers.
Fix rate testing requiring “State or Province”.
Fix enable carrier production APIs. (thanks @johnnynotsolucky).
Fix an error when getting carrier config.
Fix an error when viewing shipments in the control panel.
Fix an error when trying to edit shipping method services for some providers.
Fix UPS migration from OAuth provider.
Released June 26, 2024
Fix shipment and label lodgement not factoring in the chosen line items when fetching rates.
Fix an error generating origin address for store, for some providers where name is required.
Fix lack of error-handling when creating shipments.
Fix missing before/after label creation events.
Improve error feedback when testing rates from the control panel.
Fix deprecation warning when testing rates from the control panel.
Released June 08, 2024
Fix an error when testing rates.
Fix case-insensitivity for provider templates.
Released June 05, 2024
Fix restrictServices
migration error from Postie 3.
Fix New Zealand Post migration error from Postie 3.
Fix UPS migration error from Postie 3.
Fix USPS migration error from Postie 3.
Released May 26, 2024
Add shipments and labels functionality.
Add support for multiple providers for a carrier.
Add debug pane to the Yii debug toolbar for better debugging.
Add rate test functionality to providers from the control panel.
Add compulsory route checks for fetching rates.
Add plugin settings for the shipped
and partiallyShipped
order statuses.
Refactor to use verbb/shippy
for providers rates.
Fix lack of boxSize validation.
Removed Plugin Name setting (no longer used).
Removed Enabled CP Section setting (no longer used).
Removed Apply Free Shipping setting (no longer used).
Removed deprecated shipping provider libraries.
Released Apr 10, 2024
Add dimensions to packages for Bring.
Update Bring services to latest available (2023+).
Change minimum packed box weight to 1 gram (converted to the providers weight unit).
Fix an error with USPS international shipments.
Released Mar 18, 2024
Update Bring API compatibility.
Allow Provider::EVENT_BEFORE_PACK_ORDER
to override the box packing provider.
Fix an error with New Zealand post settings.
Released Mar 04, 2024
The variants-shippable check now only queries 100 variants by default.
Released Oct 25, 2023
Updated Royal Mail rates.
Released Sept 25, 2023
Add Declared Value Option to UPS. (thanks @bryanredeagle).
Add support for packed boxes to have their price correctly depending on their packed items.
Updated Royal Mail rates.
Fix an error when migrating from Craft 3.
Released Aug 31, 2023
Fix UPS and negotiated rates throwing an error.
Fix an error for some providers and boxSizes
.
Released Aug 17, 2023
Added “Pickup Type” for UPS, which was previously removed.
Fix an error when migrating UPS to new provider.
Removed “Use Negotiated Rates” for UPS (applied by default).
Released Aug 16, 2023
Add support for new UPS API.
Add support for products marked with “Free Shipping” to be excluded from rates calls.
Check discounts and free shipping when getting line items used in fetching rates. (thanks @zollf).
Deprecated existing UPS providers to UPS (Legacy).
Released May 27, 2023
Add support for UPS negotiated freight rates.
Add “Use Test Endpoint” setting for UPS.
Only admins are now allowed to access plugin settings
Fix type check for PHP 7.x.
Fix a memory issue with UPS Freight services.
Fix FedEx freight not correctly setting 150lb minimum weight.
Fix an error with Royal Mail rates. (thanks @MadMikeyB).
Fix an issue for FedEx freight rates in some cases.
Fix an issue where shipping rates weren’t always available in checkout.
Fix an error when fetching UPS Freight rates.
Released Dec 15, 2022
Update TNT package dimensions to use ceil()
.
Fix manualFetchRates
not working correctly for multiple providers.
Fix TNT Australia rates not working correctly.
Fix an error with USPS.
Fix “Box Sizes” setting for providers not working correctly.
Fix ModifyRatesEvent
response typing.
Fix an error with Fastway and FedEx with country code.
Fix an error where some providers weren’t having their config values overridden via config files.
Released Oct 24, 2022
Add more USPS rates and fix First-Class rates.
Revamp USPS services to better match their codes and available services.
Update some Royal Mail international rates.
Fix ModifyPayloadEvent
typing
Fix an error when saving some providers and their boxSizes
setting
Released Aug 19, 2022
Now requires PHP 8.0.2+
.
Now requires Craft 4.0.0+
.
Now requires Craft Commerce 4.0.0+
.
Now requires Postie 2.2.7
in order to update from Craft 3.
Provider::supportsDynamicServices()
is now a static function.
Provider::getServiceList()
is now a static function.
Fix Commerce/Craft deprecations.
More Commerce ^4.0.0
compatibility fixes.
Released May 27, 2023
Add support for UPS negotiated freight rates.
Add “Use Test Endpoint” setting for UPS.
Fix type check for PHP 7.x.
Fix a memory issue with UPS Freight services.
Fix FedEx freight not correctly setting 150lb minimum weight.
Fix an issue for FedEx freight rates in some cases.
Fix an issue where shipping rates weren’t always available in checkout.
Fix an error when fetching UPS Freight rates.
Released Dec 15, 2022
Update TNT package dimensions to use ceil()
.
Fix manualFetchRates
not working correctly for multiple providers.
Fix TNT Australia rates not working correctly.
Released Oct 24, 2022
Add more USPS rates and fix First-Class rates.
Revamp USPS services to better match their codes and available services.
Update some Royal Mail international rates.
Released May 24, 2022
Fix an error when trying to determine cached shipping rates.
Released Apr 09, 2022
Fix an error with SinglePackageProvider
and EVENT_BEFORE_FETCH_RATES
incorrectly serializing packed boxes.
Released Apr 07, 2022
Remove deprecated dimensions
in FetchRatesEvent
.
Released Apr 01, 2022
Update Royal Mail pricing to April 2022.
Improve memoization implementation for rate-fetching, when enableCaching
is disabled.
Update EVENT_BEFORE_FETCH_RATES
to use packedBoxes
instead of dimensions
. Refer to updated docs.
Fix box-packing line items that have no dimensions or weight.
Fix order totals used for insurance for multiple providers. Now only uses packed items for the insured total rather than the entire order total.
Fix lack of international shipping handling for Canada Post.
Fix an error for some providers when a country hasn't been set on the cart.
Released Dec 31, 2021
Add shipper address to UPS provider for negotiated rates.
Use query batching for product helper.
Ensure products helper only shows variants with dimensions enabled for their product type.
Fix UPS throwing an error in some cases due to lack of rounding for dimensions and weight.
Released Dec 11, 2021
Add UPS Freight support.
Fix Australia Post international rates (from 2.4.13).
Released Dec 08, 2021
Add "Apply Free Shipping" plugin setting to apply free shipping on returned rates, if all items have free shipping set.
Add "Include VAT" setting for Royal Mail.
Add itemValue
to boxes for packing constraints.
Update Royal Mail pricing for 2021.
Fix Australia Post not returning international rates.
Ensure markup rates are only applied if the shipping rate is greater than zero.
Fix static providers not always returning the cheapest box available when box-packing.
Fix Bring provider link.
Released Nov 21, 2021
Remove testing shipping rates from RoyalMail.
Released Oct 28, 2021
Update handling of completed orders to return the correct rate at time of completion. This fixes incorrect costs when recalculating an order total.
All available shipping rates are now returned when "Recalculate order" is clicked, when editing an order in the control panel.
Released Sept 22, 2021
Ensure packed boxes have a minimum weight, as 0 weighted boxes are issues for most providers.
Released Aug 22, 2021
Add support for estimated shipping addresses for guests.
Update gabrielbull/ups-api
dependancy to ^1.0.0
for Guzzle 7 support.
Fix Australia Post when testing connection using non kg/cm units.
Released June 29, 2021
Add Service::EVENT_BEFORE_REGISTER_SHIPPING_METHODS
for modifying the master list of shipping methods before they get handed off to Commerce. (thanks @michaelrog).
Add Provider::EVENT_MODIFY_SHIPPING_METHODS
.
Change product summary to limit to 20 variants for performance.
Fix 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.
Add EVENT_BEFORE_PACK_ORDER
and 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.
Add weightUnit
and dimensionUnit
to each provider for consistent use with boxes. These should always be provided in grams.
Add supportsDynamicServices()
to providers whose list of services isn’t statically defined.
Add getMaxPackageWeight()
to providers, to define what their maximum package weight is.
Add 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.
Add 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.
Add supportsConnection()
, checkConnection()
and 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.
Removed Provider::getPackageDimensions()
.
Removed Provider::getDimensions()
.
Removed Provider::getSplitBoxWeights()
.
Released Dec 02, 2020
Add some additional Fedex rates for international distribution.
Update 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
Add shipDate
and shipTime
for DHL Express.
Add 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 Sept 24, 2020
Add DHL Express.
Add handling for Fedex/UPS/USPS for maximum package weights, splitting into multiple packages.
Add 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.
Add 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 July 26, 2020
Fix USPS error when a postcode isn’t set on the shipping address.
Released July 14, 2020
Fix UPS error for carts that have no shipping country selected.
Released July 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 (order.totalShippingCost()
).
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
Added 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.
Provider function 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 GET
and 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).
Add Order
object to ModifyRatesEvent
. (thanks @AugustMiller).
Add beforeFetchRates
event.
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 uSPS
and uPS
.
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 July 16, 2019
Fix provider settings not being populated on shipping methods and rules. Meant markup rates weren't working correctly.
Released July 13, 2019
Released June 01, 2019
Add delayFetchRates
, manualFetchRates
and fetchRatesPostValue
.
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!
Add displayDebug
config setting.
Add displayErrors
config setting.
Add enableCaching
config setting.
Add 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.
Removed originAddress
config setting in favour of Commerce's Store Location
.
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.