FIX The plugin details no longer warn that the plugin was not tested with your WordPress version when you run a minor release of a tested one, such as 7.1.2 when tested up to 7.1
FIX Clearing the licence key now actually clears it
FIX The DPD Portugal column had no label on the orders list Screen Options panel
FIX PHP warning in the debug log when a DPD Collect is requested by an AI agent or another external tool
DEV Abilities use the unified public exposure flag on WordPress 7.1 and newer
15.8 – 2026-08-20
NEW Make our Abilities available on the WordPress MCP Adapter instead of only on the WooCommerce one (which has been discontinued)
DEV Show the license activation error notice via the existing error_notice option instead of a JS alert popup
DEV Updater v13.4
DEV Tested up to WordPress 7.1 and WooCommerce 11.1.0-beta.1
15.7 – 2026-07-16
NEW Phone and Mobile country code fields on the return label form
FIX Use shop contact information for return labels instead of the customer contact information
DEV Tested up to WordPress 7.1-alpha-62745 and WooCommerce 10.9.4
15.6 – 2026-06-19
FIX JS on the order edit screen when the order does not need shipping
DEV Updater improvements
15.5 – 2026-06-18
FIX Bug introduced in the latest version, which caused all transactional order emails to include our “Track your order on DPD Portugal” string even if the order had no DPD labels issued for
15.4 – 2026-06-16
NEW Allow including on the End of day report, unclosed orders from the previous 3 days (the number of days can be overriden with the woo_dpd_portugal__end_of_day_days_before filter) – only available for stores with HPOS enabled
TWEAK Allow for End of Day Reports 15 days in the future
TWEAK Do not allow choosing Saturday or Sunday when manually issuing shipping or return labels on the order screen and default to Monday, which can be overridden with the woo_dpd_portugal_allow_weekend_labels filter
DEV Refactor WordPress Abilities class to always return WP_Error instead of an array with success set to false, as per the Abilities best practices
DEV Normalize HTML void tags by replacing XHTML-style self-closing syntax
DEV Tested up to WordPress 7.1-alpha-62456 and WooCommerce 10.9.0-beta.1
TWEAK Show the account/service used in the previous collects list, when available
DEV Add hooks to let 3rd party extensions validate the “Issue shipping label” form (woo_dpd_portugal_order_issue_label_form_validate), force a specific account when requesting a collect (woo_dpd_portugal_request_pickup_account), and add extra data to a collect request before it’s stored (woo_dpd_portugal_pickup_request_to_store) — needed for the Fresh extension
DEV Allow deleting all DPD Portugal metadata from an order if the new woo_dpd_portugal_show_delete_meta filter returns true
DEV Tested up to WordPress 7.1-alpha-62404 and WooCommerce 10.9.0-beta.1
15.2 – 2026-05-22
TWEAK Allow deleting all DPD Portugal metadata from an order via a button in the order metabox (only visible when WP_DEBUG is enabled)
FIX Drop URL hash fragment when reloagind on the order screen after issuing label
DEV Abilities tweaks (annotations, own category, not running if external extension not activated)
DEV Tested up to WordPress 7.1-alpha-62404 and WooCommerce 10.8.0-beta.2
15.1 – 2026-05-12
TWEAK Help tip for AT Code (not the same as ATCUD)
TWEAK Load the order edit CSS and JS inside the metabox instead of the footer
TWEAK Add i18n to all the Abilities properties descriptions
TWEAK Make collection date in the Abilities API the same format as the others: YYYY-MM-DD
DEV Improve Abilities debugging
FIX Stop loading our JS and CSS on the orders list in HPOS
15.0 – 2026-05-04
NEW Issue DPD Portugal Shipping Labels, create End of Day reports, and Request Collect directly from AI assistants via the WooCommerce MCP Server (implemented via the WP Abilities API)
NEW Automatically change order status after issuing the shipping label
TWEAK Redirect to plugin settings after activation
TWEAK Do not allow changing settings or using programmatic functionalities if the license has expired
FIX Collect observations were not included in the request
FIX Better handling of non-existing orders when issuing shipping or return labels programmatically or via the Abilities API
FIX Better handling of dates (do not allow weekends) when requesting collection programmatically or via the Abilities API
FIX Use add_action instead of add_filter to print the label in the PrintNode integration
DEV Abstract permissions checking to issue labels and other actions into a main class method
DEV May the Fourth be with you
DEV Tested up to WordPress 7.0-RC2 and WooCommerce 10.7
14.4 – 2026-04-25
FIX PHP fatal error when calling a private main class method
DEV Tested up to WordPress 7.0-RC2 and WooCommerce 10.7
14.3 – 2026-03-31
FIX PHP fatal error on PHP 7.4 and below – You shouldn’t be using it by now
DEV Improve internal PHPCS checks for supported PHP version
DEV Requires WordPress 6.3, WooCommerce 8.6, and PHP 7.4 or above
14.2 – 2026-03-16
TWEAK Alert important error messages before reloading settings after saving them
DEV Disable debug in demo mode
DEV Improve debug: REST API Token, End of day report
DEV Improve GitHub Actions
14.1 – 2026-03-09
NEW Direct link to the plugin’s settings and documentation on the WordPress Admin Command Palette
FIX Fatal error when issuing labels or return labels programmatically/automatically
DEV Move settings page, request collect page, and end of day report page JavaScript to the new admin.js file
DEV GitHub Action now also updates the “WP Version Required” and “WP Version Tested Up To” fields on the plugin product
DEV Tested up to WordPress 7.0-beta3-61865 and WooCommerce 10.6.0-beta.2
14.0 – 2026-02-27
NEW The label comments field is now a single 64-character field instead of two 32-character fields
NEW Implement optional debug routines with a WooCommerce logger for improved information when requesting support
DEV Log label issuing, return label issuing, and collect reques parameters, success and failure
DEV Log plugin upgrade routine
DEV Use internal trim function wherever possible
DEV Requires PHP 7.3
DEV Tested up to WordPress 7.0-beta2-61753 and WooCommerce 10.6.0-beta.1
13.9 – 2026-02-13
FIX Build release ZIP GitHub action to make sure WordPress detects a direct upload as the same plugin instead of creating a new folder
TWEAK The international returns account (RIN) is now allowed for Belgium, Denmark, Estonia, Finland, France, Germany, Latvia, Luxembourg, Netherlands, Poland, Slovakia, Slovenia, and Sweden (Switzerland was removed)
TWEAK Do not integrate with pickup point plugins if the license has expired
TWEAK The default account for returns in Portugal is now an account setting instead of the previous “Default account” field on the returns options
TWEAK Show allowed countries for international returns next to the RIN account
DEV New woo_dpd_portugal_alert_shipping_label_issued filter to suppress the “label issued” alert on the order screen
DEV Updater improvements
DEV Tested up to WordPress 7.0-alpha-61557 and WooCommerce 10.5.0-beta.2
13.7 – 2026-01-19
NEW Advanced Shipment Tracking for WooCommerce integration: automatically add tracking number to this plugin upon label issuing
DEV Updater improvements
DEV Tested up to WordPress 7.0-alpha-61496 and WooCommerce 10.5.0-beta.1
13.6 – 2025-12-16
FIX Date output on the end-of-day report page
FIX Minor fix when checking for updates on the settings page
FIX Load textdomain warnings
DEV Tested up to WordPress 7.0-alpha-61379 and WooCommerce 10.4.2
13.5 – 2025-12-10
DEV New updater v12 with multisite support improvements
DEV Tested up to WordPress 7.0-alpha-61365 and WooCommerce 10.4
13.4 – 2025-12-04
FIX Hide shipping label issuing status on the backend orders list for orders that don’t need shipping
FIX Fatal error when adding the PrintNode API Key
DEV Tested up to WordPress 7.0-alpha-61349 and WooCommerce 10.4
13.3 – 2025-07-18
TWEAK Only show “Request collect until…” if “Collect request” internal extension is enabled
TWEAK Do not allow any internal extension to run, and add alert warnings if the license has expired
FIX Label PDF download on our demo sites
DEV Updater improvements (v11.0) to check for expired licenses
DEV Tested up to WordPress 6.9-alpha-60417 and WooCommerce 10.0
13.2 – 2025-07-02
FIX Label PDF download on our demo sites
DEV Tested up to WordPress 6.9-alpha-60403 and WooCommerce 10.0.0-rc.2
FIX Decode HTML entities on the password before the API call to get the token
12.6 – 2025-04-10
NEW Brand change
12.5 – 2025-03-26
TWEAK Destination address is now one single 64 characters field instead of two 32 characters fields
TWEAK Deprecation notice for “Default accounts per destination”
12.4 – 2025-03-21
NEWAutomatic Issuing extension – Allows you to configure automatic shipping label issuing when an order changes status
DEV Allow extensions to add JS and/or CSS to the settings and order edit screens
12.3 – 2025-03-20
NEW Prepare for the (soon to be released) “Automatic Issuing” extension
FIX Avoid Javascript confirmation dialog when clicking the “License not active” link on the plugins list
DEV Tested up to WordPress 6.8-beta3-60056 and WooCommerce 9.8.0-beta.1
12.2 – 2025-03-11
FIX Page not reloading after label issuing
12.1 – 2025-02-28
FIX Incorrect weights and charge on delivery values for programmatically issued labels
12.0 – 2025-02-27
NEWRemoved support for the legacy SOAP API
NEW Orders list integration internal extension: Show DPD Portugal label issuing status on the backend orders list
NEW Phone and Mobile country code fields on the plugin settings for sender and sender contact details
NEW Allow setting country code for shipment phone numbers
TWEAK Use shipping phone instead of billing phone, if set
TWEAK Remove fax number (finally!)
TWEAK Automatically open the issue label form if the #woo_dpd_portugal_order_metabox_fields_issue anchor is found on the order management URL
FIX Do not set the country code to API when the phone or mobile number is not set
FIX The woo_dpd_portugal_label_issued_error, woo_dpd_porttugal_return_issued_error, and woo_dpd_portugal_request_pickup_error actions were not being triggered when failing to get a new token
DEV Add error reasons to the args variable array on the woo_dpd_portugal_label_issued_error action, so that 3rd party can act differently based on that reason
DEV Requires WordPress 6.2 and WooCommerce 8.0
DEV Tested up to WordPress 6.8-alpha-59876 and WooCommerce 9.7.0
11.4 – 2025-01-14
FIX WPML detection
FIX Incorrect printf instead of correct sprintf
Attention: The legacy SOAP API to issue labels will be removed on the next update
11.3 – 2025-01-10
TWEAK Remove invalid characters from post codes before using them on the label issuing form
FIX Updater: avoid duplicate translation notices
FIX WooCommerce required version
FIX License validation, before the wp action runs, on websites with WPML set to have different domains per language
11.2 – 2024-12-26
FIX Multiple Origins integration field on issuing labels and requesting pickup was not showing correctly
11.1 – 2024-12-23
NEW List optional extensions on the plugin settings
DEV Tested up to WordPress 6.8-alpha-59545 and WooCommerce 9.6.0-beta.1
11.0 – 2024-12-09
NEW Introduced the concept of “Internal extensions”, which are small functionalities that not every website needs, and can be activated on demand
NEW Internal extension “Spanish non-continental regions”: Show shipping account fields, and apply its rules, for Baleares, Canarias, and Ceuta / Melilla (if DPD assigned specific shipping accounts for these territories)
TWEAK Activation of “Return labels” is now on Internal extensions
FIX Some wrong text domain calls
DEV Apply WordPress Coding Standards
DEV Minor code refactoring
DEV Requires WordPress 5.8, WooCommerce 7.0, and PHP 7.2 or above
DEV Tested up to WordPress 6.8-alpha-59497 and WooCommerce 9.5.0-rc.1
10.1 – 2024-11-13
FIX Fatal error when WooCommerce is running update routines for 9.4
DEV License validation on websites with WPML set to have different domains per language
DEV Tested up to WordPress 6.7 and WooCommerce 9.4.1
10.0 – 2024-10-23
NEW Pick up / Collect request using the REST API – The specific pick up legacy webservice running on TCP port is no longer used, unless still using the legacy SOAP API to issue labels, which will be removed soon
TWEAK “Pick up request” is now referred to as “Collect request” to avoid confusion with the “Pickup points” service
TWEAK Improve SOAP API legacy warnings
DEV Updater v10
DEV Tested up to WordPress 6.7-RC1-59273 and WooCommerce 9.4.0-rc.1
9.2 – 2024-10-08
NEW Improve connection tests on the plugin settings screen
FIX Load text domain at the right time to avoid PHP notices on WordPress 6.7 and above
DEV Tested up to WordPress 6.7-beta1-59184 and WooCommerce 9.4.0-beta.2
9.1 – 2024-07-26
FIX Number of orders in the end of the day report is no longer limited to 10
TWEAK Fix link on the main plugin file header
DEV Tested up to WordPress 6.7-alpha-58810 and WooCommerce 9.1.3
9.0 – 2024-04-24
NEW Integrated DPD object tracking
FIX Legacy API Mode warning on new installs
FIX AT Code field now accepts 11 characters
DEV Tested up to WordPress 6.6-alpha-58011 and WooCommerce 8.9.0-dev
8.0 – 2024-04-05
NEW End of day reports
NEW Deprecate old SOAP API
DEV Requires WooCommerce 6.0 or above
DEV Tested up to WordPress 6.6-alpha-57928 and WooCommerce 8.8.0-rc.1
7.4 – 2024-03-29
DEV Minor updater fix
7.3 – 2024-03-29
DEV Store REST API token in cache for re-use is still active
DEV Add “Requires Plugins” header
DEV Improve plugin updater – Show translation update notices
DEV Apply some WordPress Coding Standards
FIX Deprecated: Creation of dynamic property in PHP 8.3
TWEAK Pickup plugins links on settings
DEV Tested up to WordPress 6.5-RC3-57875 and WooCommerce 8.8.0-beta.1
7.2 – 2024-02-12
NEW Store shipping date for later use on the “end of day report” functionality
DEV Better contextual helpers logic
7.1 – 2024-02-08
NEW Implement contextual helpers for easier boarding when installing the plugin
FIX Force pick up request account when in test mode
DEV Tested up to WordPress 6.5-alpha-57555 and WooCommerce 8.6.0-rc.1
7.0 – 2024-01-27
FIX Correctly fetch tracking codes
FIX Stop showing option to request pick up on return labels if requirements are not met (credentials)
DEV Updater improvements
6.9 – 2024-01-23
Better feedback when the license is expired
Tested up to WordPress 6.5-alpha-57299 and WooCommerce 8.5.1
6.8 – 2024-01-05
Moloni WooCommerce plugin integration: use AT Code from the “Guia de Transporte”
New “Portugal: Islands – By air” service
New setting: Default account for returns
Limit shipments to pickup points to 1 parcel (including direct to pickup point, home + pickup point and international pickup points)
Fix return label default values when there’s already a shipment made with the new REST API
Fix label download link on the new REST API when WordPress is installed on a directory
Fix the way the jQuery Block UI is called in the pick up request page
Remove international pickup services from return label options
6.7 – 2023-12-09
Fix on the translations updater to allow extensions to use it
Small fix on the expired licensing information
6.5 – 2023-12-02
Update plugin translations online instead of shipping them with the main plugin
Requires WordPress 5.4
Tested up to WordPress 6.5-alpha-57137 and WooCommerce 8.4.0-beta.1
6.4 – 2023-11-23
Fixed a bug where the Predict service would be active when using the new REST API, even if disabled on the settings
Better naming for the Spain and Europe home delivery services
Fix the Pickup Point ID when using the new REST API and the “Portugal DPD Pickup and Lockers network for WooCommerce” free plugin
Fix collection of tracking numbers on the new REST API
Prepare the integration with the soon to be released international Pickup Points plugin
Disambiguate between “pickup” (point) and “pick up” (collection from shop owner)
6.1.1 – 2023-09-18
Allow returns from other countries besides Portugal: Estonia, France, Germany, Luxembourg, Netherlands and Switzerland
New “International returns – RIN” service
Default to the new REST API on new installs
Show pickup cutoff times for the shop address when issuing labels
Fix version number
6.0 – 2023-09-14
New REST API (request your DPD sales manager for the new credentials ASAP, as the old SOAP webservice will be discontinued soon)
New AT Code field when issuing labels (only in the new REST API), including integration with our InvoiceXpress plugin
New “Portugal: Home Delivery + Pickup HPD (pickup point chosen by DPD)” service
Fix services names according to the DPD internal convention
Fix jQuery deprecation notices
Tested up to WordPress 6.4-alpha-56530 and WooCommerce 8.1.0
5.0.0 – 2023-08-08
Allow to choose the shipping methods for which orders the option to issue DPD labels should be displayed
Tested up to WordPress 6.3-RC4-56369 and WooCommerce 8.0.0-rc.2
4.2.1 – 2023-07-04
Fix the DPD Pickup network link
Small code tweaks
Tested up to WordPress 6.3-beta3-56130 and WooCommerce 7.9.0-beta.2
4.2.0 – 2023-05-31
New “International: By air” service
New test credentials
Requires WooCommerce 5.0
Tested up to WordPress 6.3-alpha-55859 and WooCommerce 7.8.0-beta.2
4.1.0 – 2023-01-04
WooCommerce 7.1 and above High-Performance Order Storage compatible;
Fix trailing comma for PHP below 7.3 (which you should NOT be using)
Tested up to WooCommerce 7.3-rc.1 and WordPress 6.2-alpha-55027
4.0.0 – 2022-08-12
Fixed a bug where charged on delivery and weight fields would not respect the WooCommerce decimal separator settings (thanks to pedradatattoosupplies.com)
Small tweaks on the settings interface
Requires WooCommerce 4.0 and WordPress 5.0 or above
Tested up to WooCommerce 6.8 and WordPress 6.1-alpha-53862
3.9.0 – 2022-05-05
New brand: PT Woo Plugins 🎉
Tested up to WooCommerce 6.5.0-rc.1 and WordPress 6.0-beta2-53236
3.8.1 – 2022-01-27
Option to force the shop owner to choose an account for orders with pickup when issuing the label to avoid mistakes
Tested up to WordPress 6.0-alpha-52640 and WooCommerce 6.2.0-rc.1
3.8.0 – 2021-09-22
New “Portugal: Islands – Maritime transport” service
Tested up to WordPress 5.9-alpha-51842 and WooCommerce 5.8.0-beta.1
3.7.1 – 2021-08-16
New “woo_dpd_portugal_default_shipment_service_for_order” filter to allow overriding the default service for a specific order
Tested up to WordPress 5.9-alpha-51607 and WooCommerce 5.6.0-rc.2
3.7.0 – 2021-06-03
New settings: default service for Home and Pickup delivery in Portugal
Plugin update information and support link on the settings screen
Tweaks on the service names
Fix a bug on the socket timeout test
Tested up to WordPress 5.8-alpha-51064 and WooCommerce 5.4.0-rc.1
3.6.0 – 2021-05-21
Add pickup cut-off information to the pickup request page
Check for socket timeout on the connection tests
Add the “Update URI” header
Requires PHP 7.0 or above
Tested up to WooCommerce 5.4-beta.1
3.5.4 – 2021-05-11
Better debugging on each label issued (needs WP_DEBUG set to true)
Pass label issuing parameters to the woo_dpd_portugal_label_issued_error and woo_dpd_portugal_return_issued_error hooks
Tested up to WooCommerce 5.3.0
3.5.3 – 2021-04-29
Fix a fatal error on PHP 7.2 and below
Tested up to WooCommerce 5.3.0-rc.1
3.5.2 – 2021-04-19
Better error feedback when failing to contact the DPD Portugal webservice due to firewall configuration on the client server
Tested up to WordPress 5.8-alpha-50689 and WooCommerce 5.2.2
3.5.1 – 2021-04-05
Better error feedback when DPD does not send an error description
Use 9999 instead of PHP_INT_MAX on our actions
3.5.0 – 2021-03-31
Several changes to allow better 3rd party integrations
New filters on the parameters sent to the DPD webservices
Allow issuing labels programmatically and pass custom shipment or return data to the action
Allow saving extra information on the previous pickup request logs
Increate previous pickup requests on the log and fine-tune their presentation
Code review and translation updates
Tested up to WordPress 5.8-alpha-50614 and WooCommerce 5.2.0-rc.1
3.4.0 – 2020-12-23
Move tracking information on emails to before order details instead of before customer details (see here how to revert it)
Under the hood changes to the way the hooks are initialized so that child themes can hook into all our own hooks
Tested up to WordPress 5.7-alpha-49862 and WooCommerce 4.9.0-beta.1
Allow the issuing of return label even if a shipping label wasn’t issued in the first place
New settings field for B2B delivery account
Better UX on the order screen and invalid fields feedback
Set default service account when the destination is in Spain or Europe
Always send the ValorCOD and Predict fields even if empty
Check for PHP SoapClient on the connection tests
3.2.0 – 2020-12-03
Put in place the necessary filters and action for future extensions
Support for the “Multiple Origins” extension, that allows shops to ship from several locations
Several small fixes
3.1.1 – 2020-12-02
Fix PHP fatal error when the PHP short_open_tag setting is inactive
Fix PHP notice when checking for the “Portugal DPD Pickup and Lockers network for WooCommerce” plugin
3.1.0 – 2020-11-26
Set label type for returns
Properly show test mode status on the settings page
Fix a PHP notice on the Request pickup page
Fix a PHP notice on the Issue return label form
Avoid SSL cURL error 60 when requesting the pickup
3.0.0 – 2020-11-24
Issue return labels and request pickup at the customer’s address (thanks: Do Zero)
Test mode
Better organization of the DPD metabox on the order edit screen
Request pickup page clarifications
“Get support” link on the settings page
Tested up to WordPress 5.6-beta3-49562 WooCommerce 4.8.0-beta.1
2.5.0 – 2020-10-28
Integration with the free “Portugal DPD Pickup and Lockers network for WooCommerce” plugin (version 2.1.0 and above), allowing to completely hide lockers from the checkout or reject shipping to a locker when the payment method is “Cash on delivery”
2.4.1 – 2020-09-17
Autofill the “Charge on delivery” field when the order payment method is “Cash on delivery”
Pre-validation of the label fields on the order admin screen
Fix Address (2nd line) label
Tested up to WooCommerce 4.5.2
2.3 – 2020-09-08
Better services naming
Support to request the Predict service
2.2 – 2020-09-03
Support for the Mixed service: Home Delivery + Pickup network
Tested up to WordPress 5.6-alpha-48937 and WooCommerce 4.5.0-rc.3
2.1 – 2020-07-20
Avoid requesting pickups for Saturdays and Sundays
Show pickup address when requesting it
2.0 – 2020-07-18
You can now request a pickup from DPD directly from your website (see here how to do it programmatically)
Fix shipping label weight when WooCommerce is not set to kg
Add DPD logo to the settings page
Connection tests on the settings page
Reorganization of the settings
1.3 – 2020-06-09
Better error handling when issuing label
Tested up to WooCommerce 4.3.0
1.2 – 2020-05-05
Prevent issuing if the order doesn’t need shipping
Refactor services declaration to allow filtering by developers
Fix on the EnviarEtiquetasEmail parameter
Fix fatal error on PHP below 7.3
1.1 – 2020-03-29
Tracking information on WooCommerce emails (enabled by default)
New developer filters to prevent the shipping label issuing based on whatever rules the shop owner wants to implement