*** Order Delivery for WooCommerce Changelog *** 2024-03-26 - version 2.6.3 * Tweak - Change plugin name to Order Delivery for WooCommerce * Tweak - Update brand to Kestrel 2024-02-26 - version 2.6.2 * Tweak - Sanitized input vars and escaped output content. * Tweak - Tested compatibility up to WC 8.6. 2024-01-18 - version 2.6.1 * Tweak - Declare incompatibility with the WooCommerce Cart and Checkout blocks. * Tweak - Updated the plugin URLs to the new woo.com domain. * Tweak - Tested compatibility up to WC 8.5. * Tweak - Tested compatibility up to WP 6.4. * Fix - Fixed warnings for using deprecated jQuery shorthand functions in the `bootstrap-datepicker.js` library. 2023-09-25 - version 2.6.0 * Feature - Use different texts than delivery on local pickup orders. * Tweak - Don't calculate the shipping date for local pickup orders. * Tweak - Display empty the 'Shipping date' column in the order list for local pickup orders. * Tweak - Changed the delivery section title in the checkout form to 'Delivery details'. * Tweak - Don't display the delivery heading in the checkout form if the text is empty. * Tweak - Added specific CSS classes to the delivery section in the checkout form. * Tweak - Updated the title of the subscription delivery metabox. * Tweak - Optimized the number of strings in the translation file. * Tweak - Updated plugin author. * Tweak - Tested compatibility up to WC 8.1. * Tweak - Tested compatibility up to WP 6.3. * Fix - Address PHP 8.1+ deprecation notices. * Dev - Dropped deprecated filter hook `wc_od_get_order_shipping_method`. * Dev - Dropped deprecated plugin code up to version 2.3. * Dev - Dropped `woo-includes/` files. * Dev - Updated plugin templates. 2023-05-26 - version 2.5.3 * Fix - Fixed undefined function `wcs_get_page_screen_id` error when using a WooCommerce Subscriptions version lower than 4.8.0. 2023-04-28 - version 2.5.2 * Fix - Apply the timezone offset when calculating the weekday of the previous delivery date in a subscription renewal. 2023-04-24 - version 2.5.1 * Tweak - Tested compatibility with WC 7.6. * Fix - Use the first delivery date when it matches the same weekday of the previous subscription renewal. 2023-03-13 - version 2.5.0 * Feature - Declare compatibility with WooCommerce High-Performance Order Storage (HPOS). * Tweak - Tested compatibility with WC 7.5. * Tweak - Tested compatibility with WP 6.2. * Dev - Use the new hooks for copying the subscription data introduced in WC Subscriptions 4.7. 2023-03-08 - version 2.4.3 * Tweak - Check the current screen when running the 'init' hook. * Fix - Fixed non-displayed delivery columns in the order list table when an AJAX request is verified before running the 'init' hook. 2023-03-02 - version 2.4.2 * Fix - Fixed the delivery date column content in the order list table when the order has no delivery date. 2023-02-16 - version 2.4.1 * Fix - Fixed fatal error when loading the customizer. * Dev - Include the table columns parameter when filtering the position of the delivery columns in the order list table. 2023-02-07 - version 2.4.0 * Tweak - Include the tax amount in the time frame fee when displaying prices with tax included at checkout. * Tweak - Display an admin notice when executing the 'Calculate shipping date' bulk action without affecting any orders. * Tweak - Redirect to the create delivery range form when the URL parameter `range_id` is invalid. * Tweak - Register the plugin integrations when all plugins have been loaded. * Tweak - Improved compatibility with WooCommerce High-Performance Order Storage (Ongoing process). * Tweak - Tested compatibility up to WC 7.4. * Dev - Added filter to customize the position of the delivery columns in the order list table. * Dev - Dropped deprecated code from versions 1.x. * Dev - Updated the minimum requirements to WC 3.7, WP 4.9, and PHP 5.6. 2022-12-27 - version 2.3.2 * Fix - Fixed error when trying to clone a non-object on calculating the delivery details of a subscription. 2022-12-07 - version 2.3.1 * Tweak - Tested compatibility with WC 7.2. * Fix - Fixed error when fetching a non-existing shipping zone by ID. 2022-11-29 - version 2.3.0 * Feature - Assign to the order renewals the same weekday as the previous order delivery date. * Feature - Keep the subscription's billing interval between delivery dates on order renewals. * Tweak - Added the section 'Subscription Options' to the plugin settings. * Tweak - Register the hook to locate the delivery fields in the checkout form only when the `WC_Checkout` object is initialized. * Tweak - Declare incompatibility with WooCommerce High-Performance Order Storage (HPOS). * Tweak - Tested compatibility with WC 7.1. * Fix - Fixed the default values of the subscriptions' settings. * Fix - Fixed warning when refreshing the time frame field in the subscription's delivery meta box for WC 7.1+. * Fix - Fixed the location of the delivery date field when editing the subscription delivery preferences. * Fix - Fixed nested `
` HTML tags when editing the subscription delivery preferences. 2022-11-14 - version 2.2.3 * Tweak - Tested compatibility with WC 7.0. * Tweak - Tested compatibility with WP 6.1. * Fix - The calendar wasn't shown again when scrolling on a mobile device until clicking on a different element. * Dev - Updated bootstrap-datepicker.js library. 2022-09-12 - version 2.2.2 * Tweak - Improved the validation of the delivery fields during checkout. * Fix - Fixed the 'State' selector field in the delivery calendar dialog. 2022-09-01 - version 2.2.1 * Tweak - Tested compatibility with WC 6.9. * Fix - Fixed delivery date validation during checkout after selecting a shipping method that invalidates the previously entered date. * Fix - Fixed issue that caused the delivery fee not to be updated after changing the shipping method or address at checkout. 2022-08-29 - version 2.2.0 * Feature - Added compatibility with 'Local Pickup Plus'. * Tweak - Hide the delivery fields at checkout when selecting the 'Local Pickup Plus' shipping method. * Tweak - Hide the setting 'Enable for local pickup' when the 'Local Pickup Plus' shipping method is available. * Tweak - Optimized the shipping methods selector field. * Tweak - Increased the width of the numeric setting fields to avoid the latest digits being hidden. * Tweak - Tested compatibility up to WC 6.8. * Dev - Initialize the compatibility with 'WooCommerce Subscriptions' as a plugin integration. * Dev - Handle the compatibility with 'WooCommerce Table Rate Shipping' from a plugin integration. * Dev - Deprecated functions related to the plugin 'WooCommerce Table Rate Shipping'. * Dev - Deprecated filter hook `wc_od_get_order_shipping_method`. 2022-06-01 - version 2.1.0 * Tweak - Better handling of shipping methods with different rates based on cart conditions. * Tweak - Improved performance when validating if a shipping method is applicable to a Delivery Range, Delivery Day, or Time frame. * Tweak - Use the rate ID as the label fallback for the rates of the 'Table rates' shipping method. * Tweak - Tested compatibility with WC 6.6. * Tweak - Tested compatibility with WP 6.0. * Dev - Use WooCommerce hooks for registering the 'edit-delivery' endpoint on the 'My Account' page. 2022-05-09 - version 2.0.1 * Fix - When editing the Sunday delivery day, its time frames were not displayed in the table. 2022-05-04 - version 2.0.0 * Feature - Charge an additional cost (delivery fee) for choosing specific delivery days and time frames. * Tweak - Removed the option 'auto' in favor of the option 'required' in the 'Delivery fields' setting. * Tweak - Hide the delivery fields in the checkout form when there are no available dates. * Tweak - Keep the delivery fields' values when refreshing the checkout form. * Tweak - Prevent the interaction with the delivery fields while the checkout fragments are being refreshed. * Tweak - Validate the 'Delivery days' form field is not empty when adding a time frame to multiple delivery days. * Tweak - Display the info 'Number of orders' in the 'Description' column of the 'Delivery days' setting table. * Tweak - Don't display the delivery estimation text when the range of days is zero. * Tweak - Added a link to get support in the plugin list. * Tweak - Improved formatting of the System Status Report. * Tweak - Tested compatibility up to WC 6.5. * Tweak - Tested compatibility with WP 5.9. * Fix - Fixed a double triggering of the event 'update_checkout' when clearing the value of the delivery date picker. * Fix - Fixed compatibility issue for PHP 8.1. * Dev - Use a WC background process to handle the plugin updates. * Dev - Use a trait instead of a class for implementing the Singleton pattern. * Dev - Added custom tables for storing the time frames' data. * Dev - Added data stores for handling the delivery days and time frames. * Dev - WC Subscriptions v2 is no longer supported. * Dev - Dropped deprecated plugin code up to version 1.7. * Dev - Deprecated the access as an array to the data properties of a `WC_OD_Data` object. * Dev - Deprecated custom setting field `wc_od_day_range`. * Dev - Updated the minimum requirements to WC 3.5, WP 4.7, and PHP 5.4. 2021-12-16 - version 1.9.6 * Tweak - Tested compatibility with WC 6.0. 2021-11-25 - version 1.9.5 * Feature - Added setting to include a description in the delivery section on the checkout page. * Tweak - Tested compatibility with WC 5.9. 2021-10-20 - version 1.9.4 * Tweak - Added plugin info to the WooCommerce System Status Report. * Tweak - Tested compatibility with WC 5.8. 2021-09-07 - version 1.9.3 * Fix - The delivery date was still available when all its time frames were full (Only when restricted by shipping methods). 2021-08-31 - version 1.9.2 * Tweak - Tested compatibility up to WC 5.7. * Tweak - Tested compatibility up to WP 5.8. 2021-06-08 - version 1.9.1 * Tweak - Tested compatibility with WC 5.4. * Tweak - Tested compatibility with WP 5.7. * Fix - Settings calendars don't appear due to an error in fullcalendar.js caused by a missing date format in the localization of moment.js. * Dev - Updated fullcalendar.js library to version 2.9.3. 2021-05-07 - version 1.9.0 * Feature - Change the location of the delivery fields in the checkout form. * Feature - Added compatibility with "WooCommerce Print Invoices & Packing Lists". * Feature - Added compatibility with "WooCommerce PDF Invoices & Packing Slips". * Tweak - Tested compatibility with WC 5.3. * Fix - Include the site timezone offset when localizing a date in string format. 2021-04-15 - version 1.8.7 * Tweak - Require to enter a set of shipping methods when defining a delivery range. * Tweak - Tested compatibility up to WC 5.2. 2021-02-23 - version 1.8.6 * Tweak - Replaced deprecated jQuery functionality. * Tweak - Delete the plugin configuration on uninstall only when WC_REMOVE_ALL_DATA is set to true. * Tweak - Delete empty delivery time frame values from the order metadata. * Tweak - Count for the delivery range the dates whose order limit has been reached. * Tweak - Tested compatibility up to WC 5.1. * Dev - Updated bootstrap-datepicker.js library to an untagged version that fixes the usage of deprecated jQuery functions. * Dev - Updated fullcalendar.js library to version 2.9.2. * Dev - Updated jquery.timepicker.js library to version 1.13.18. 2021-01-18 - version 1.8.5 * Tweak - Exclude pending orders when checking the maximum number of orders per day/time frame. * Tweak - Check the maximum number of orders allowed when validating a delivery date in the checkout form. * Tweak - Tested compatibility with WC 4.9. * Fix - The setting "Number of orders" was not being saved when entering a zero value. * Fix - Deactivate a delivery date/time frame in the calendar when its maximum number of orders is reached. * Fix - Fixed `array_merge()` warning when adding a product to an active subscription with the "All products for WC Subscriptions" extension. 2020-11-26 - version 1.8.4 * Tweak - Improved PHP 8 support. * Tweak - Tested compatibility with WC 4.8. * Tweak - Tested compatibility with WP 5.6. * Fix - Fixed "What's new" link on the plugin list page. 2020-11-05 - version 1.8.3 * Fix - Wrong time frame assigned on checkout. 2020-11-03 - version 1.8.2 * Fix - Disabled delivery dates were enabled in the checkout calendar. 2020-10-08 - version 1.8.1 * Fix - Compatibility with WooCommerce Subscriptions. 2020-10-07 - version 1.8.0 * Feature - Limit the number of orders per day or time frame. 2020-09-14 - version 1.7.1 * Tweak - Tested compatibility with WC 4.5. * Tweak - Tested compatibility with WP 5.5. 2020-07-23 - version 1.7.0 * Feature - Define different delivery ranges for shipping methods. * Tweak - Enqueue minified Javascript files. * Tweak - Tested compatibility with WC 4.3. * Fix - Fixed wrong text-domain for some translatable strings. * Dev - Set the minimum requirements to WP 4.4 and WC 3.0. 2020-06-02 - version 1.6.8 * Tweak - Tested compatibility with WC 4.2. * Fix - Fixed warning "datepicker.css.map file not found". 2020-04-28 - version 1.6.7 * Tweak - Tested compatibility with WC 4.1. 2020-04-06 - version 1.6.6 * Fix - Assign delivery details to the subscription renewals with local pickup as the shipping method. * Fix - Customers couldn't disable preferred delivery days for a subscription. 2020-03-30 - version 1.6.5 * Tweak - Tested compatibility with WC 4.0. * Tweak - Tested compatibility with WP 5.4. 2020-01-16 - version 1.6.4 * Tweak - Tested compatibility with WC 3.9. * Fix - Update calendar options when they change on already initialized calendars. 2019-11-05 - version 1.6.3 * Tweak - CSS styling changes for WP 5.3. * Tweak - Tested compatibility with WP 5.3. * Tweak - Tested compatibility with WC 3.8. * Tweak - Tested compatibility with WC Subscriptions 3.0. * Fix - Fixed issue which made the current day unavailable for shipping the order. 2019-10-10 - version 1.6.2 * Tweak - Disable the current day for delivery if all its time frames have expired. * Fix - Fixed issue which allowed selecting expired dates in the calendar. * Fix - Fixed issue when trying to print an invalid time-frame object. 2019-08-06 - version 1.6.1 * Tweak - Updated calendar styles for supporting the new styles of the 'Storefront' theme. * Tweak - Added compatibility with WC 3.7. * Fix - Fixed warning when fetching the rates of a 'Table Rate' shipping method and the extension 'Table Rate Shipping' is not activated. * Fix - Refresh field values after saving a time frame form. 2019-06-17 - version 1.6.0 * Feature - Added compatibility with the extension 'WooCommerce Table Rate Shipping'. * Feature - Enhanced 'Shipping methods' selector on settings pages. * Tweak - Remove expired time frames from the select field when the delivery date is the current date. * Tweak - The time frame field is also required when the delivery date field is required. * Tweak - Assign the first available time frame when the delivery fields are in auto mode. * Tweak - Assign the first available time frame during subscriptions renewal if the customer preferences can't be satisfied. * Tweak - Added button for defining time frames from the 'Delivery days' setting. * Tweak - Removed 'delivery days' form field when creating a time frame for a single delivery day. * Tweak - Remove older update notices on plugin activation. * Tweak - Added URL verification to the actions of the database updater. * Tweak - Added blank content when there are no elements defined in the 'Time frames' field. * Tweak - Improved the initialization of the plugin settings and now they are loaded on demand. * Fix - Fixed PHP 5.2 compatibility adding the missing middle part in some ternary operators. * Dev - Added classes for representing a delivery day, a time frame and collections of them. 2019-05-23 - version 1.5.7 * Tweak - Added missing version in some enqueued styles. * Tweak - Tested compatibility with WP 5.2. * Fix - Fixed conversion to object for the `datesDisabled` parameter in the calendar settings. * Dev - Updated bootstrap-datepicker.js library to the version 1.9.0. * Dev - Updated jquery.timepicker.js library to the version 1.11.15. 2019-04-09 - version 1.5.6 * Tweak - Added compatibility with WC 3.6. 2019-03-26 - version 1.5.5 * Tweak - Added 'Next week' and 'Next 2 weeks' options to the date filters in the orders list. * Tweak - Use the 'maximum delivery days' setting as limit if its value is lower than the subscription billing interval. * Tweak - Load the subscription delivery data in the checkout form during renewal. * Tweak - Hide the delivery details for on-hold subscriptions. * Fix - Fixed wrong available dates in the delivery calendar of the checkout form when renewing a subscription. * Fix - Fixed wrong delivery values in the order created from a renewal of a subscription. * Fix - Fixed margin-top for the `Delivery details` section in the order emails which contain a subscription. * Dev - Changed context from `checkout` to `checkout-auto` when auto-calculating the first shipping date in the checkout form. * Dev - Updated `emails/email-delivery-date.php` template. 2019-03-14 - version 1.5.4 * Tweak - Check the time limit for the `start_date` parameter instead of the current date when calculating the first shipping date. * Tweak - Check the time limit for the next payment date when calculating the first shipping date of an order renewal. * Tweak - Tested compatibility with WP 5.1. * Fix - Hide the 'Time frame' label if not present on the order details page. * Fix - Unlock the delivery dates beyond the subscription billing interval if the setting `subscriptions_limit_to_billing_interval` is not enabled. * Dev - Updated default values for the arguments in the `wc_od_get_first_shipping_date` function. * Dev - Updated `order/delivery-date.php` and `myaccount/edit-delivery.php` templates. 2018-12-05 - version 1.5.3 * Tweak - Added 'priority' parameter to the delivery fields in the checkout form. * Tweak - Stop using the deprecated constant 'WC_TEMPLATE_PATH'. * Fix - Check if the localization parameters exist before using them in the 'wc-od-checkout.js' script. 2018-10-31 - version 1.5.2 * Fix - Fixed 'call to undefined function get_current_screen()' issue. 2018-10-23 - version 1.5.1 * Fix - Fixed 'delivery date required' message when the delivery date field is required and the delivery fields are not displayed in the checkout form. 2018-10-16 - version 1.5.0 * Feature - Define time frames/time slots for each delivery day. * Feature - Choose the available shipping methods for each delivery day and its time frames. * Tweak - Added compatibility with WC 3.5. * Tweak - Moved the delivery fields to their own meta box in the 'edit-order' and 'edit-subscription' screens. * Tweak - Set the default value of 'end_date' parameter to the 'max_delivery_days' setting value when calculating the first delivery date. * Tweak - Changed to 'internal' the note added to a subscription when the delivery details are updated due to a change of the next payment date. * Tweak - Sanitized the template content before output them. * Tweak - Minified the CSS files. * Fix - Process renewal orders that come from a failed status. * Fix - Convert 'truly' and 'falsy' parameters to booleans before use them to configure the datepicker in the javascript files. * Fix - Replaced '$customer_note' variable by '$note' in the template 'emails/plain/admin-subscription-delivery-note.php'. * Dev - Updated jquery.timepicker.js library to the version 1.11.14. * Dev - Replaced boolean settings values from '0' and '1' to 'yes' and 'no'. * Dev - Split the 'wc-od-functions.php' file into multiple files. * Dev - Updated plugin templates. 2018-07-27 - version 1.4.1 * Tweak - Check the minimum requirements before initializing the extension. * Tweak - Added setting to optionally display the 'Shipping & Delivery' section on the checkout page for the shipping method 'Local Pickup'. * Tweak - Display the delivery details after the order details table in the emails. * Fix - Display the delivery details in the plain text emails. * Fix - Calculate the 'recommended' shipping date for the renewal orders of a subscription. * Fix - Fixed calendar width for RTL languages. * Dev - Updated 'emails/email-delivery-date.php' template. 2018-07-05 - version 1.4.0 * Feature - Calculate the 'recommended' shipping date for each order based on its delivery date. * Feature - Added 'shipping_date' and 'delivery_date' filters to the shop order table list to filter the orders by these fields. * Feature - Email to the merchant when a note related with the delivery is added to an order/subscription. * Tweak - Added setting to deactivate the restriction that limits the available dates in the calendar to the billing interval of the subscription. * Tweak - Hide the 'Shipping & delivery' section in the checkout page when the customer selects 'Local Pickup' as the shipping method. * Tweak - Hide the 'Shipping & delivery' section in the checkout page when the 'WooCommerce Ship to Multiple Addresses' extension is used in the checkout page. * Tweak - Removed the delivery date field placeholder by default. * Tweak - Use the first delivery date as placeholder in the delivery date field when the date is auto-generated. * Fix - Fixed 'required field' validation on virtual products. * Dev - Set the minimum requirements to WP 4.1+ and WC 2.6+. * Dev - All the checkout content is loaded and refreshed as order-review fragments by AJAX. 2018-05-23 - version 1.3.2 * Tweak - Added compatibility with WC 3.4. * Tweak - Hide virtual keyboard on mobile devices when the datepicker is open. * Fix - Fixed warning when previewing the email template (The $email parameter is null). * Fix - Fixed selectWoo interaction in the "Delivery Calendar" dialogs. 2018-01-30 - version 1.3.1 * Tweak - Added compatibility with WC 3.3. * Tweak - Added