All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[3.0.3] - 2023-01-10
- Bumped WordPress 'tested to' version to 6.1.1
- Bumped WooCommerce 'tested to' version to 7.2.0
- Fixed bug with tracking codes not showing in notification emails when orders are edited in bulk
- Updated codebase for compatibility with PHP 8
[3.0.2] - 2022-08-11
- Added links to tracking numbers in the WooCommerce Orders table.
- Changed data types in AJAX functions to prevent errors
[3.0.1] - 2021-07-30
- Modified XML schema used in Quote Requests to address issue with PLT functionality
- Refactored BoxPacker library to avoid namespace conflicts
[3.0.0] - 2021-06-28
- Shipment dates are automatically set to the date an order is marked completed.
- Upgraded XML schema used to communicate with DHL to Schema Version 10.0 (from 6.1)
- Updated Incoterms to use DPU (Delivered at Place Unloaded) instead of DAT (Delivered At Terminal) per 2020 rule change
- Commercial invoices are now rendered with UTF-8 encoding to properly display accents and other special characters
- Minor code refactoring and optimizations
- Fixed occasional mismatch between price values and currency codes
- Fixed XML parsing error that could occur when confirming package sizes (if weight was recorded to too many decimal places)
- Removed sidebar tracking widget, as tracking IDs and shipment dates are now both saved automatically.
[2.16.0] - 2021-05-11
- Option to include insurance cost with shipping total on frontend checkout
[2.15.2] - 2021-04-07
- Set minimum required PHP version to 5.3
- Updated FPDF library from 1.81 to 1.82
- Bumped WordPress 'tested to' version to 5.7
- Bumped WooCommerce 'tested to' version to 5.1.0
- Fixed namespace issue with FPDF class, which could cause fatal errors if in conflict with certain other plugins
[2.15.1] - 2021-03-02
- In confirmation emails, tracking number now displays before order details instead of after
- Bumped WordPress 'tested to' version to 5.6.2
- Bumped WooCommerce 'tested to' version to 5.0.0
- Fixed issue where insurance values were miscalculated when splitting a shipment into multiple packages.
[2.15.0] - 2021-02-17
- DHL tracking number now displays in order confirmation emails
- Refactored outdated jQuery calls
- Updated Inputmask library version to 5.0.6-beta.36
- Fixed an issue where adding a new packaging option allowed improper dimension inputs
- Fixed an issue where empty products could cause fatal errors
- Fixed an issue where package weight was was not being rounded, causing API errors
- Fixed calculation errors resulting from products without specified weights
[2.14.1] - 2020-03-02
- Bugfix for the cart page
[2.14.0] - 2020-01-28
- Added a support for UAE
[2.13.9] - 2020-01-10
- Added a default commodity code
[2.13.8] - 2020-01-08
- Copy updates
- Minor UI improvements
[2.13.7] - 2019-10-21
- Removed 8X4_A4_TC_PDF, 8X4_CI_PDF & 8X4_CI_thermal due to them being duplicates and confusing to the end user.
- Label Print Size and Image Type tool tips have been clairfied.
- Bump WordPress 'tested to' version to 5.2.3
- Bump WooCommerce 'tested to' version to 3.7.1
[2.13.6] - 2019-10-17
- Added Support for 8X4_PDF Label Template
[2.13.5] - 2019-08-29
- Updated Paperless Trade (PLT) conditional logic
- Bump WordPress 'tested to' version to 5.2.2
- Bump WooCommerce 'tested to' version to 3.7
[2.13.4] - 2019-08-21
- Fixed an issue where weight conversion from OZ to LBS was not updating during request to DHL.
- Fixed an issue where Paperless Trade (PLT) always appearing on request to DHL.
- Fixed an issue where box packer not able to create a box for DHL Flyer or Envelope types.
- Added tooltip to the box weight column of the Available Packaging Options table within the admin settings view.
[2.13.3] - 2019-05-31
- Corrected an issue where 1 LB or KG was added to registered boxes that have a weight of 0.
[2.13.2] - 2019-05-29
- Fixed a bug introduced in 2.12.1 affecting Paperless Trade (PLT).
[2.13.1] - 2019-05-27
- Bugfix for using custom package sizes when creating a shipment.
[2.13.0] - 2019-05-10
- Refactored box packing functionality
- Bump WordPress 'tested to' version to 5.2
- Bump WooCommerce 'tested to' version to 3.6.2
[2.12.6] - 2019-03-21
- Fixed missing error message in some situations for insufficient box size availability.
- Bump WordPress 'tested to' version to 5.1.1
- Bump WooCommerce 'tested to' version to 3.5.7
[2.12.5] - 2019-03-04
- Fixed an issue where OZ was not converting into KG correctly when generating box measurements and sizes.
- Fixed an issue where the DHL Shipping and Insurance prices was not reflective of the WooShipping admin panel currency setting.
- Fixed an issue that would cause a 100x100x100 package to be generated.
- Added tooltip to the weight column of the Products table within the admin order view.
[2.12.4] - 2019-01-25
- Implement fallback functionality for
bcdivif host hasn't enabled the PHP extension BCMath.
[2.12.3] - 2019-01-15
- Properly handle retrieving product weight when looping through order items within single-order management screen (accounts for WooCommerce products and custom-added products). Anyone using version 2.12.2 or lower is recommended to upgrade to this version.
- Bump 'tested to' version to 5.0.3.
[2.12.2] - 2018-11-13
- Reversed the change implemented in 2.12.1 as it caused unexpected errors. Anyone using version 2.12.1 is recommended to upgrade to 2.12.2.
[2.12.1] - 2018-11-01
- Fixed an edge-case PHP Fatal Error that would occur inside some orders. Each product inside the order items table is now constructed as a new WC_Product.
[2.12.0] - 2018-11-01
- Users are prompted to confirm their preferred Weight and Dimension units when switching country-editions.
- Weight and Dimension units are now displayed in the table header for Available Packaging Options.
- Test Box dimensions updated to 24x24x24 (inches) for all country editions by default.
- When plugin debug option is enabled, the DHL XML Request and Response info appears on the same page after the "Create Label" step.
- Updated description for Duty Account Number setting.
- Updated description at the top of the plugin's settings panel.
- Box Weight and Dimension values are re-calculated when changing the Weight and Dimension setting.
- PLT warning messages should no longer appear if PLT has been disabled.
- Duty Tax Payment Type option has been removed, and the associated functionality is now handled by the Incoterms setting.
[2.11.1] - 2018-09-17
- Resolved a product dimension calculation issue before the "Create Packages" stage of fulfilling an order.
[2.11.0] - 2018-09-17
- We have added support for 16 Central/South American countries! - Argentina - Bolivia - Chile - Colombia - Costa Rica - Dominican Republic - Ecuador - Guatemala - Honduras - Nicaragua - Panama - Peru - Paraguay - El Salvador - Uruguay - Venezuela
- Fixed an issue where sometimes during checkout, an internal error would occur.
- Unit conversion has been fixed.
- Weight and dimensions should update correctly based on shipping quantity.
[2.10.5] - 2018-08-10
- Renamed column "Label Generation Date" to "Shipment Date" in WooCommerce Orders page.
- Updated description message under "DHL Account Credentials" section of our settings panel.
- DHL Service Options are no longer grayed out.
- Package weight conversion should now be converting correctly.
- Numerous default box sizes have been removed.
[2.10.4] - 2018-08-07
- New tooltip descriptions added to DHL API Site ID and DHL API Password fields to clarify their purpose.
- Relabeled settings under the DHL Account Credentials section to improve clarification: - DHL User ID changed to DHL API Site ID - DHL Password changed to DHL API Password
- Reworded the tooltip description for Production Key field to clarify its purpose.
[2.10.3] - 2018-08-03
- Remove broken "View Details" link on plugins listing page.
[2.10.2] - 2018-08-03
- Add restrictions to adding new shipper addresses.
[2.10.1] - 2018-07-16
- Added new product codes to Australia Edition domestic shipments.
- Fixed issue with Mexico Edition filters.
[2.10.0] - 2018-05-24
- Australia Edition - Support for domestic and international shipping in Australia.
[2.9.1] - 2018-05-22
- Mexico Edition - Removed a service code that was causing issues with international shipments from Mexico.
[2.9.0] - 2018-05-04
- Mexico Edition - Support for domestic and international shipping in Mexico.
- Customer billing phone number is required if the plugin is using Mexico Edition.
[2.8.6] - 2018-04-12
- Minor refactor to XML request
- Setting "Default Shipment Dutiable" set to Yes by default.
- Setting "Duty Tax Payment Type" set to Recipient by default.
- Updated tooltip descriptions for the following settings: - Default Shipment Dutiable - Requested Shipping Rates
- Removed setting "Realtime Shipping Rates" - the setting was deemed unnecessary.
- Removed option "none" under the setting "Duty Tax Payment Type" - this option was technically invalid.
[2.8.5] - 2018-02-02
- Implemented fixes for the "Shipment Dutiable" setting. Users can now set a default dutiable setting in our settings panel, and can override the setting on a per-order basis.
[2.8.4] - 2018-02-01
- Minor changes to the XML requests the plugin uses to interact with DHL API.
[2.8.3] - 2018-01-09
- Moved where certain error messages will display. (Issue #112)
- In debug mode, the back link after creating a shipment will now carry appropriate messages. (Issue #113)
- The "View Details" link on the plugins page will now properly display information about this plugin. (Issue #103)
[2.8.2] - 2018-01-05
- Display additional warnings in certain situations.
[2.8.1] - 2017-12-16
- Minor fixes for shipping when using EU edition.
[2.8.0] - 2017-12-14
- Shipping functionality for EU edition implemented.
[2.7.2] - 2017-12-11
- Properly retrieve HS Tariff number in certain situations.
[2.7.1] - 2017-12-04
- Hide option for "Show customs settings for domestic shipments" for Canada and US editions.
[2.7.0] - 2017-12-01
- New option to ship to all except specific countries. (Issue #45)
- EU option is now available in Country Edition selection. (Issue #104)
- Country field added to shipper's address in ship-from locations in the settings panel. (Issue #109)
[2.6.3] - 2017-11-28
- License functionality should no longer generate numerous warnings in PHP log file.
[2.6.2] - 2017-11-16
- Plugin should now notify users if updates are available.
- Force truncation if company or person name is more than 35 characters long (Issue #107)
- Hide the option to set a default domestic service when country edition is set to Canada or United States.
[2.6.1] - 2017-11-07
- The following settings labels were changed in WooShipping's settings panel: - “Foreign Trade Regulation (FTR) Exemption” is changed to “Default Foreign Trade Regulation (FTR) Exemption” - “Service Code” to “Product Code” - “Service Name” to “Product Name”
- Fixed some styling bugs that were introduced with a WooCommerce update.
[2.6.0] - 2017-11-03
- Foreign Trade Regulation Exemption (FTR) now has an option in the plugin settings page and works properly when creating orders. (Issue #57)
[2.5.1] - 2017-10-27
- Fixed a URL that was preventing the plugin updates.
[2.5.0] - 2017-10-12
- Shipping insurance is now enabled by default in the settings page.
- "SpecialServiceType" is now properly passed in the XML request when shipment value protection is enabled.
- Service codes not offered in Canada or United States have been removed from the plugin.
[2.4.0] - 2017-10-06
- New checks in place for displaying PLT message. (Issue #96)
- The list of countries users can ship to has been updated to reflect the list of countries that DHL conducts business in. (Issue #98)
- Changed how the plugin handles licensing API requests.
- The option "Show customs options for domestic shipments" is now unchecked by default. (Issue #93)
- "Label generated successfully" message was relocated. (Issue #97)
- "Shipment details" label now appears as "Shipment details (previous order)" when creating a new shipment in an existing order. (Issue #95)
- Minor update to the tooltip for PLT in the settings panel.
- Front-end plugin access is now functioning properly.
- The date no longer appears beside the shipment number in the shipping details section. (Issue #94)
[2.3.2] - 2017-09-28
- The PLT option in the settings panel has a new tooltip, complete with a link to view additional information regarding PLT. (Issue #53)
- Adjusted the sizing of certain fields inside the product information table (inside orders). (Issue #92)
- Reorganized some of the fields in WooShipping's panel to accommodate smaller screens.
- Change licensing API functionality to avoid certain failures.
[2.3.1] - 2017-09-18
- Old dates no longer show up as available options when selecting custom shipping dates. (Issue #94)
[2.3.0] - 2017-09-15
- Users can now set custom names for ship-from locations (as opposed to 'company-name + postal-code').
- Added dates beside the "Today" and "Tomorrow" options in the "Choose Shipping Date" dropdown menu.
- "Choose Shipping Date" dropdown option is now grouped in shipment settings area. (Issue #40)
- Updated how we handle the changelog and roadmap internally.
- The FTR exemption option inside orders is now visually consistent with similar elements.
- The ship-from option inside orders now utilizes the custom name users can set for ship-from locations.
- The default ship-from location setting in the settings panel now utilizes the custom name users can set for ship-from locations.
- "Shipment Contents" field moved into the 'Customs Settings' area (inside orders).
- The option to enable/disable auto-scrolling to WooShipping section moved into "Advanced Settings" in the settings panel.
- In the WooCommerce Orders screen, "Label Generation Date" now resides in its own column beside "Tracking Number" column. (Issue #93)
- Certain fields can no longer be left blank when creating new ship-from locations in the settings panel. (Re: Issue #87)
- "Calculate Shipping" request no longer fails in the front-end. (Issue #90)
- Current date no longer displays twice inside "Choose Shipping Date" dropdown menu (inside orders). (Issue #91)
- Last zero in estimated delivery dates in the front-end is no longer truncated. (Issue #92)
[2.2.0] - 2017-09-09
- UI updates to WooShipping's order panel.
- When changing country editions, user is now asked if they'd like to update their box sizes. (Issue #60)
- Shipping insurance now properly displays as "Shipment Value Protection" when country edition is set to US. (Re: Issue #49, Issue #40)
- Fixed licensing API call issue. (Issue #84)
- Updated some vague error messages to provide more context.
- Temporary fix: Allow the use of the plugin (after activation) if the API fails to retrieve data. (Issue #85)
- Plugin now generates an error if user tries to create a package while the total amount in the product list is \$0.00 (Issue #86)
- Plugin now requires a phone number when creating a shipment. (Issue #87)
- Enable XML debugging and calculate shipping for front-end. (Issues #88, #89)
[2.1.0] - 2017-09-01
- User-selected shipping date saves and is sent to DHL in the XML request. (Issues #39, #78)
- Added the option to automatically scroll to the WooShipping panel when editing an order. (Issue #83)
- When country edition is set to US, shipping insurance now displays as "Shipment Value Protection". (Issue #49)
- When country edition is set to US, FTR requests are now functioning properly. (Issue #75)
[2.0.0] - 2017-08-31
- "Add New Item" button now has spacing consistent with other buttons in the UI. (Issue #70)
- Fixed how the plugin handles adding new items then creating a new shipment on existing orders. (Issue #64)
- Product and Package fields now no longer accept blank values. (Issue #65)
- "Create New Shipment" is no longer visible while creating a new shipment. (Issue #68)
- Fixed date and shipping rate numbers from truncating the zero in the second decimal place. (Issue #69)
- Box order now saves after dragging to reorder. (Issue #46)
- Some fields were incorrectly receiving an error label when attempting to create packages with empty rows. (Issues #65, #80)
- Switching country edition now adds and/or removes predefined box sizes properly. (Issues #60, #72, #73)
- Notifications settings removed from plugin. (Issue #71)
[1.6.2] - 2017-08-28
- Added a
<tfoot>element to the boxes table.
- This plugin will now appear as 'WooShipping' in the plugins list.
- The JS that handles marking all boxes for deletion updated to target the check-all checkboxes in the
- Some residual notification code was causing Error 500's when creating a shipment.
- Box row templates were updated to include the sortable handle (newly added rows can now be dragged and reorganized).
- An unneccessary console.log when marking/unmarking all boxes for deletion.
[1.6.1] - 2017-08-26
- Issue #46 - Users can now reorganize their boxes in the DHL settings panel
- Issue #34 - WooShipping no longer handles email notifications. Notification functionality will be reintroduced in a separate plugin in the future.
[1.6.0] - 2017-08-25
- Issue #56 - Foreign Trade Regulation (FTR) Exemption support
- Boxes list updates when user changes country edition setting.
[1.5.0] - 2017-08-24
- Issue #63 - Updated the workflow for creating a new shipment. Once a shipment has been created, the settings are locked until the shipment creation process is started again.
- Issue #10 - Shipping dates now appear beside the tracking number in the orders overview panel.
[1.4.3] - 2017-08-22
- The DHL Account Credentials section of the admin panel now includes a description tip containing a DHL support email address.
[1.4.2] - 2017-08-18
- Cosmetic updates to the settings panel. The boxes table and the shipping address sections now have proper spacing.
- Some headings were larger than others. They should all be the same size now.
[1.4.1] - 2017-08-17
- Added this changelog to the plugin folder.
- Fixed DHL Issue #11 - The first time a shipment is created, the date does not appear beside the tracking number.
[1.4.0] - 2017-08-16
- 'Country Edition' dropdown menu in admin settings panel.
- Incoterms description tip now includes a link to additional information on incoterms.
- Cosmetic updates to DHL Account Credentials section.
- Styles updated to accommodate the changes made in the shipping boxes table.
- The checkbox to delete a box size was added back. It had been temporarily removed while adding support to sort/reorder box sizes.
- The checkbox to toggle marking all box sizes for deletion now functions.
[1.3.0] - 2017-08-15
- Added the foundation for drag-and-drop sorting for the boxes in the admin settings panel.
- Cosmetic updates to the admin settings panel. Settings now have more semantic names and descriptions and are organized into logical sections.
- States/provinces with long names should no longer bleed over and sit in front of the Country cell in commercial invoices.
[1.2.1] - 2017-08-02
- Fixed shipping insurance issue.
[1.2.0] - 2017-07-31
- Added shipping date selection to order panel.
- Display shipping date after tracking number.
[1.1.0] - 2017-07-21
- Issue #25 - HS Tariff functionality implemented.
- Issue #30 - "Label created successfully" message moved below "Generate Label" button.
[1.0.0] - 2017-07-20
- License API. Plugin now checks if its API key is valid.
- Began writing this changelog file, retroactively adding previous changes/commits to this list.
- Fixed undefined member function in class.dhl_order_admin.php.
[0.5.0] - 2017-07-19
- Issue #32 - Users can now delete the first package in the list.
- Issue #31 - Insurance value in the shipping methods table now shows two decimal places.
[0.4.3] - 2017-07-07
- Issue #18 - Incoterms dropdown in order panel now displays acronym and full description.
- Default quantity set to 1 when adding a new item in the order panel.
- Fixed insurance amount issue.
[0.4.2] - 2017-07-05
- Issue #22 & 23 - Package weight and size calculations.
- Issue #15 - Enabled restriction for XML API call.
- Issue #27 - Input elements of type number displayed incorrectly in IE11.
- Issue #28 - Fixed default insurance selection.
[0.4.1] - 2017-07-03
- Switched 'Terms of Trade' to 'Incoterms' on invoices.
- Changed how some properties are retrieved in various aspects of the plugin; using getter functions now instead of direct object properties.
- Product name's character limit is now properly enforced.
- Insurance currency comparison now uses the set currency rather than the default currency.
- Improved retrieving and displaying some fields in the invoice.
- Improved retrieving and utilizing some information when sending email notifications.
- Improved retrieving and displaying information in the products table inside an individual order.
[0.4.0] - 2017-06-28
- Added functionality to set a default Incoterms setting from the admin panel.
- Fixed wrong package value request.
[0.3.0] - 2017-06-23
- JS AJAX functionality for enabling/disabling shipping insurance
- Terms of Trade added to invoice.
- Number formats for weight, net weight, gross weight, price, and total in the invoice are now float values.
- Total cost in Available Shipping Methods table is now formatted as a float value.
- Shipping rate and insurance price issue resolved.
- Meta boxes now check the post type before displaying.
[0.2.7] - 2017-06-19
- Tax ID and Incoterms added to backend.
- Tax ID added to order invoice.
- Max character limit on product name under Shipping Settings in single-order-panel.
- Value, Net weight, Gross weight are now processed as float values in package details.
[0.2.6] - 2017-06-14
- Added a new insurance toggle in Available Shipping Methods. Displays cost of insuring the package.
- Incorporated insurance cost and functionality into the available shipping methods table.
- "order_insurance" toggle in Shipping Settings is now hidden. Appears to have no real functionality anyway.
[0.2.5] - 2017-06-05
- Added post meta support for shipping rates and paperless trade.
- Shipping rates should now save with each order.
- 'Confirm Package Sizes' button now brings user to proper URL.
[0.2.4] - 2017-05-11
- Changed alert message display location for package generation, label generation, and label regeneration.
- Regenerate shipping label now checks if the button is disabled before executing.
- Fixed shipper details when regenerating invoice.
[0.2.3] - 2017-04-27
- Changed error message display location for invalid packaging errors.
- Updated the conditions to display shipping details in admin order panel.
- Paperless Trade now has its own request.
- HTML special characters are now being replaced in DHL quote requests.
- Removed invoice generation process.
[0.2.2] - 2017-04-13
- Paperless Trade notifications now appear when editing individual orders.
- Available shipping methods now checks if shipping methods are visible.
[0.2.1] - 2017-04-12
- Net and Gross weight now accurate to two decimal places in invoice template.
- Default shipping method now displays properly in individual orders within the admin panel.
- Value under 'Net Weight' in commercial invoice is now accurate to two decimal places.
- Value under 'Gross Weight' in commercial invoice is now accurate to two decimal places.
[0.2.0] - 2017-04-05
- Shipment ID added to Shipping From Address in PDF invoice generator.
- State added to Shipping To Address in PDF invoice generator.
- Shipping error and error output added to woo_dhl_meta_hook.
- Paperless trade notification added to Admin order panel.
- 'process_label_data' now regenerates the invoice.
- 'execute_request' now returns either the Shipment ID or an empty string.
- Shipping error and error output added to 'execute_request'
- Shipping error CSS styles
- 'custom_admin.js' now animates scrolling to '#woo_dhl_meta' if it's not empty.
- 'No. of Packages' changed to 'Item No.' in PDF invoice generator.
- 'Net Weight' changed to 'Unit Net Weight' in PDF invoice generator.
- Product's weight under 'Unit Net Weight' now outputs a value accurate to two decimal places.
- 'Update Package(s)' button changed to 'Confirm Package Size(s)'.
- Case 'label_date' in 'shop_order_columns_data' now echos a formatted date string.
[0.1.0] - 2017-03-30
- Admin functionality to ship to any country (overrides 'ship to select countries' list).
[0.0.1] - 2017-03-30
- Initial plugin.
- "woo_dhl.php" file - Plugin entry-point.
- "woo_dhl_cron.php" file.
- "classes/class.dhl_box.php" file.
- "classes/class.dhl_box_packing.php" file.
- "classes/class.dhl_invoice.php" file.
- "classes/class.dhl_item.php" file.
- "classes/class.dhl_main.php" file.
- "classes/class.dhl_notification.php" file.
- "classes/class.dhl_order.php" file.
- "classes/class.dhl_order_admin.php" file.
- "classes/class.dhl_order_notification.php" file.
- "classes/class.dhl_shipping.php" file.
- "classes/class.woo_dhl_tracking.php" file.
- "classes/class.woo_dhl_tracking_util.php" file.
- "classes/class.woodhl.php" file.
- "css/custom_admin.css" file.
- "css/woo_dhl_notification.css" file.
- "images/del.svg" file.
- "images/label-icon.png" file.
- "includes/functions.php" file.
- "includes/fpdf/fpdf.css" file.
- "includes/fpdf/fpdf.php" file.
- "includes/fpdf/font/courier.php" file.
- "includes/fpdf/font/courierb.php" file.
- "includes/fpdf/font/courierbi.php" file.
- "includes/fpdf/font/courieri.php" file.
- "includes/fpdf/font/helvetica.php" file.
- "includes/fpdf/font/helveticab.php" file.
- "includes/fpdf/font/helveticabi.php" file.
- "includes/fpdf/font/helveticai.php" file.
- "includes/fpdf/font/symbol.php" file.
- "includes/fpdf/font/times.php" file.
- "includes/fpdf/font/timesb.php" file.
- "includes/fpdf/font/timesbi.php" file.
- "includes/fpdf/font/timesi.php" file.
- "includes/fpdf/font/zapfdingbats.php" file.
- "js/custom_admin.js" file.
- "js/woo_dhl_notification.js" file.
- "templates/dependency_error.php" file.
- "templates/notification_options.php" file.
- "templates/shipping_address.php" file.
- "templates/shipping_boxes.php" file.
- "templates/shipping_services.php" file.