*** SkyVerge WooCommerce Plugin Framework Changelog ***

2025.nn.nn - version 6.0.1
 * New: Introduced a new ScriptHelper class with addInlineScript() method
 * Tweak: Update usage of deprecated wc_enqueue_js() in favour of wp_add_inline_script()
 * Dev - Set PHP 8.1 defaults on `html_entity_decode()` usage (ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401)

2025.nn.nn - version 6.0.0
 * Dev - Completely reworked how we handle dynamic properties on WooCommerce order objects. For now this change is backwards compatible with v5, but we will eventually drop support for the legacy method, so migrating ASAP is recommended. See the upgrade guide: https://github.com/godaddy-wordpress/wc-plugin-framework/wiki/Migrating-to-v6
 * Dev - Address "Implicitly marking parameter as nullable is deprecated" warnings in PHP 8.4

2025.nn.nn - version 5.15.12
 * Fix: Only retrieve subscriptions data during checkout if there's a valid order to associate them with

2025.05.19 - version 5.15.11
* Fix: Re-enable payment method delete button upon cancellation

2025.05.08 - version 5.15.10
* Fix: Remove common JS modules from dist

2025.05.01 - version 5.15.9
* Tweak: Delay usage of get_plugin_name() in payment gateway privacy class to after init
* Fix: Block registration: delay the get_gateways() call until after we're inside the hook callback

2025.04.30 - version 5.15.8
* Fix: Add a defensive check to prevent a fatal error during subscription renewal when Avatax is active

2025.04.29 - version 5.15.7
* Fix: Avoid triggering notices for loading translations too early

2025.03.11 - version 5.15.6
* New: Added additional helper methods to the trait `HasEmailPreviewValuesTrait`

2025.03.05 - version 5.15.5
* New: Add a trait to assist in compatibility with new WooCommerce email preview feature
* Fix: Undefined array key errors

2025.02.20 - version 5.15.4
* New: Added PageHelper class to assist in determining page contexts.
* New: Add a helper method to get WooCommerce object meta values.
* New: Add an array helper method to get value with dot notation and default value.

2025.01.24 - version 5.15.3
* Fix - Add Merchant ID to Google Pay, distinguishing it from Gateway merchant ID

2024.11.25 - version 5.15.2
* Fix - Prevent "Capture Charge" bulk action from loading on non-order pages

2024.10.10 - version 5.15.1
* Fix - Fixing the SASS and POT file building processes
* Fix - Account for Subscriptions Core library when checking for Subscriptions
* Misc - Deprecate Enhanced navigation feature integration
* Misc - Handle backwards compatibility for old HPOS compatibility format

2024.09.02 - version 5.15.0
* Feature - Add new `NumberHelper` class for number formatting operations

2024.08.30 - version 5.14.0
* Feature - Add a trait to get a singular instance of a class: `IsSingletonTrait`
* Feature - Add a trait to get an instance (non-singular) of a class: `CanGetNewInstanceTrait`
* Feature - Add a trait to convert an object into an array: `CanConvertToArrayTrait`
* Feature - Add a new `ArrayHelper` class for array-related utility methods
* Dev - Add support for autoloading. Plugins now need to require the `vendor/autoload.php` file if not already.

2024.08.21 - version 5.13.0
 * Feature - Add a trait for enum-like classes
 * Misc - Set the checkout page context in the session when rendering payment fields

2024.08.16 - version 5.12.7
 * Feature - Allow gateways to declare support for having a separate payment page after the checkout page

2024.07.31 - version 5.12.6
 * Fix - Make sure payment gateway form script dependencies are loaded correctly

2024.07.31 - version 5.12.6
 * Fix: Ensure we always list jQuery as a dependency when enqueuing JavaScript.

2024.06.28 - version 5.12.5
 * Fix - Prevent blank orders from being generated when adding a payment method

2024.06.03 - version 5.12.4
 * Fix - Ensure gateway scripts are compiled as regular JS rather than modules
 * Fix - Address an issue where multiple save buttons were displayed when editing a payment method in My Account
 * Misc - Disable clicking on other payment methods when editing a payment method in My Account

2024.05.06 - version 5.12.3
 * Fix - Ensure gateway block handler files are loaded from payment gateway framework path
 * Misc - Improve background job database query performance

2024.03.21 - version 5.12.2
 * Tweak - Add non-gateway cart and checkout blocks supporting logic
 * Tweak - Ensure gateway block scripts use unique handles

2024.02.27 - version 5.12.1
 * Tweak - Handle support in gateways for external checkouts while corresponding express payment methods are in use in the cart and checkout blocks
 * Fix - Check if the session is set before trying to add a WooCommerce notice
 * Fix - Ensure to maintain index association when handling payment gateways supported features
 * Misc - Improve compatibility with PHP 8.2+ by allowing dynamic properties in the framework

2023.12.14 - version 5.12.0
 * Feature - Add support for WooCommerce Cart and Checkout blocks
 * Tweak - Do not load the legacy gateway payment form assets when the Checkout block is in use
 * Dev - Burst assets caches of framework script and styles when using any debug mode
 * Dev - Tweak API requests logging methods (no breaking changes but classes extending those may need to account for types)
 * Dev - Add action to allow third parties hooking in the transaction response of hosted gateways

2023.11.16 - version 5.11.12
 * Misc - Update documentation links after changes in Woo.com

2023.11.15 - version 5.11.11
 * Fix - Replace deprecated `wcs_renewal_order_meta` filter usage with `wc_subscriptions_renewal_order_data`
 * Dev - Replace `supports_hpos` with a `supported_features` key in the main plugin file constructor arguments
 * Dev - Introduce a `Blocks_Handler` class which will be expanded in a future release for adding WooCommerce Cart & Checkout Blocks compatibility
 * Misc - Warn merchants when a plugin is not compatible with Cart or Checkout blocks to prompt switching to legacy shortcodes

2023.10.13 - version 5.11.10
 * Tweak - Improve tokenization support for gateways that tokenize payment methods with sale
 * Fix - Update deprecated JS event handlers that would have triggered deprecation notices in console
 * Localization - The Framework has been localized in several languages!

2023.09.28 - version 5.11.9
 * Fix - Prevent prefixed metadata from being included in order item descriptions

2023.08.23 - version 5.11.8
 * Misc - Add `SV_WC_Helper::array_join_natural()` helper method
 * Fix - Pass environment parameter to Google Pay client

2023.07.28 - version 5.11.7
 * Tweak - Enqueue and improve form styles for hosted payment forms

2023.07.19 - version 5.11.6
 * Misc - Add `SV_WC_Order_Compatibility::get_order_post_types()` compatibility method

2023.06.07 - version 5.11.5
 * Fix - Replace deprecated usages of `FILTER_SANITIZE_STRING` with `FILTER_SANITIZE_FULL_SPECIAL_CHARS`
 * Fix - Do not pass `null` to `substr()` to avoid triggering deprecation notices if the payment method's last 4 numbers could not be determined in a direct payment gateway

2023.06.13 - version 5.11.4
 * Fix - Use `set_transaction_id()` while setting the transaction ID in payment gateways instead of setting the order meta data directly

2023.06.01 - version 5.11.4
 * Fix - Ensure that the `_transaction_id` meta is correctly persisted on orders while saving transaction data

2023.05.30 - version 5.11.2
 * Fix - Remove `AllowDynamicProperties` attribute at method level causing a fatal error in PHP 8.2

2023.05.23 - version 5.11.1
 * Tweak - Add WooCommerce Subscriptions compatibility methods for installations using HPOS
 * Fix - Prevents WooCommerce throwing fatal errors when adding a payment method to an order in the frontend
 * Fix - Address a potential return type error in `SV_WC_Order_Compatibility::get_order_screen_id()`

2023.04.20 - version 5.11.0
 * Feature - Add compatibility methods and support for WooCommerce High Performance Order Storage (HPOS)
 * Misc - Require PHP 7.4 or higher
 * Misc - Remove deprecated compatibility methods

2023.03.27 - version 5.10.16
 * Fix - Prevent fatal errors when no card types are selected for a payment gateway

2023.02.06 - version 5.10.15
 * Fix - "My Account" delete payment method compatibility with WC 7.2+

2022.12.06 - version 5.10.14
 * Tweak - Improve the performance of the orders admin screen in some sites by optimizing payment gateways bulk action detection - props @ravinderk
 * Fix - Allow gateway plugins to override card images by defining an override with the same name in the plugin's `assets/images` folder - props @cadic

2022.08.16 - version 5.10.13
 * Fix - Improve Background Job Handler compatibility with newer WooCommerce versions while processing a job queue

2022.01.13 - version 5.10.12
 * Fix - Remove deprecated usages of `is_ajax()` in favor of `wp_doing_ajax()`

2022.01.11 - version 5.10.11
 * Tweak - Remove automatic notices for unsupported WooCommerce versions

2021.09.22 - version 5.10.10
 * Feature - Add `Abstract_Cacheable_API_Base` and `Cacheable_Request_Trait` to support caching API request responses
 * Tweak - Allow classes extending `SV_WC_API_Base` to tweak request and response data when broadcasting a request

2021.08.27 - version 5.10.9
 * Feature - Add helper methods to convert arrays to comma separated lists for database IN clauses use
 * Feature - Add helper method to format a percentage

2021.06.17 - version 5.10.8
 * Fix - Address an issue at checkout with payment form JS never loaded when a $0 order has a total updated later

2021.04.15 - version 5.10.7
 * Fix - Prevent fatal errors by loading External_Checkout extensions in the wp_loaded action rather than on init

2021.03.12 - version 5.10.6
 * Feature - Add a helper method to determine whether the new WC navigation feature is enabled

2021.03.04 - version 5.10.5
 * Tweak - Add a class representation for Braintree PayPal tokens

2021.03.01 - version 5.10.4
 * Fix - Prevent a Fatal error while editing the Checkout page using Elementor

2020.12.08 - version 5.10.3
 * Fix - Fix enqueuing token editor JS

2020.12.03 - version 5.10.2
 * Misc - Update deprecated jQuery usages

2020.11.24 - version 5.10.1
 * Fix - Prevent a deprecated notice for SV_WC_Payment_Gateway_Hosted::do_invalid_transaction_response() in PHP 8
 * Fix - Prevent PHP Notices and fatal errors on wizard steps

2020.11.06 - version 5.10.0
 * Feature - Add Google Pay support
 * Tweak - Improve multiple gateway settings inheritance to allow for more than two gateways
 * Tweak - Add admin notices for tax configurations that are incompatible with Apple Pay
 * Fix - Ensure blank settings inputs aren't added when a base abstract gateway defines shared settings that a child gateway doesn't support

2020.10.09 - version 5.9.0
 * Feature - Add helper method to detect whether the current request is a REST API request
 * Fix - Fix a Capture Charge button issue when adding items to an order
 * Fix - Harden code to avoid a potential PHP warning at checkout if no card logos are configured for a gateway
 * Fix - Update Pre-Orders and Subscriptions integrations to use 2 digits expiration years

2020.07.31 - version 5.8.1
 * Fix - Ensure that some payment gateway scripts used for handling tokens reference the current version of the Framework

2020.07.29 - version 5.8.0
 * Tweak - Migrate payment tokens to be compatible with WooCommerce core payment tokens
 * Fix - Unblock the UI when removing a token from the admin token editor that was just added but not saved yet
 * Dev - Deprecate some filter hooks in the payment methods table

2020.05.15 - version 5.7.1
 * Fix - Prevent JavaScript error triggered when different versions of the framework are used at the same time
 * Fix - Fix URL for the Configure link in the admin notes shown for payment gateways that are not configured

2020.05.07 - version 5.7.0
 * Feature - Add a Settings API for easily registering plugin settings for display and REST API handling
 * Feature - Introduce a base script handler for enqueueing and loading JavaScript objects
 * Tweak - Ensure payment gateway scripts can be used when certain script optimization plugins are delaying load
 * Tweak - Improve the payment form display on mobile devices
 * Tweak - Update Apple Pay to allow all currencies by default

2020.03.09 - version 5.6.1
 * Fix - Delete enhanced admin notes on plugin deactivation
 * Fix - Prevent uncaught errors when creating notes when WC Admin is disabled

2020.03.04 - version 5.6.0
 * Feature - Add support for WooCommerce Admin enhanced notes
 * Tweak - Refactor Apple Pay handler classes for greater flexibility
 * Fix - Remove gateway payment field validation on initial page load

2020.01.20 - version 5.5.4
 * Tweak - Add a link to the site's terms and conditions page below Apple Pay buttons when available
 * Tweak - Adjust the place order button label for redirect/hosted gateways
 * Fix - Fix a JavaScript error triggered trying read the 'length' property of an undefined value in format_credit_card_inputs()

2020.01.13 - version 5.5.3
 * Fix - Fix a JavaScript error when instantiating a class that hasn't been loaded

2020.01.09 - version 5.5.2
 * Fix - `SV_WC_Payment_Gateway_Apple_Pay::process_payment()` now throws an exception if the result returned by the processing gateway doesn't indicate whether the transaction was successful or not
 * Fix - Update `SV_WC_Payment_Gateway_Direct::process_payment()` to cover for and edge case in which `SV_WC_Payment_Gateway_Direct::do_transaction()` fails without throwing an exception
 * Fix - On WooCommerce 3.9: prevent empty credit card fields from being marked as invalid before the user has entered any data
 * Dev - TLS 1.2 helper methods moved from `SV_WC_API_Base` to `SV_WC_Plugin`
 * Dev - Deprecated `SV_WC_API_Base::require_tls_1_2()`

2019.11.14 - version 5.5.1
 * Tweak - Refactor Apple Pay order creation to support the same filters and actions that are fired during regular checkout
 * Tweak - Allow multiple old hooks to be mapped to a single new one via the hook deprecator
 * Fix - Harden integration with WooCommerce Pre-Orders to avoid a PHP error in some circumstances
 * Fix - Fix double product stock reduction when an order is held and payment is not completed

2019.10.15 - version 5.5.0
 * Feature - Add a plugin helper method to retrieve a template part while consistently passing the default template path to `wc_get_template()`
 * Misc - Deprecate backwards compatibility methods for unsupported WooCommerce and PHP versions
 * Misc - Replace `SV_WC_Helper::get_post()` and `SV_WC_Helper::get_request()` with `SV_WC_Helper::get_posted_value()` and `SV_WC_Helper::get_requested_value()`

2019.09.05 - version 5.4.3
 * Fix - Do not show the checkbox to save the payment method on the checkout page if not logged in and registration during checkout is disabled
 * Misc - Add a Country_Helper class to assist converting country codes to and from various formats

2019.08.27 - version 5.4.2
 * Tweak - Add a standard set of subscription details to orders payment data set by a gateway
 * Tweak - Add replacement helper methods to get the current screen in WordPress and check the screen ID
 * Misc - Change SV_WC_Payment_Gateway::is_configured() from protected to public
 * Misc - Add admin notice when a gateway is enabled but is not configured and is unable to take payments

2019.08.06 - version 5.4.1
 * Misc - Add a configurable admin notice for plugins running deprecated WooCommerce versions

2019.03.13 - version 5.4.0
 * Feature - Add abstract handlers for hosted payment processing
 * Feature - Revamp the Lifecycle handler for easier upgrade routines and add event logging for important lifecycle events
 * Tweak - Adjust the no-HTTPS notice to point to where the merchant can fix the problem
 * Fix - Prevent the Capture button from showing on failed orders or orders without an original transaction ID
 * Fix - Use the current order total when determining whether a captured order should change status

2019.01.09 - version 5.3.1
 * Fix - Fix a JavaScript error in the welcome wizard for missing parameters
 * Fix - Correctly handle memory_limit shorthand from php.ini
 * Misc - Adjust the Accepted Card Logos setting description to further clarify its purpose

2018.09.25 - version 5.3.0
 * Feature - Add support for updating payment methods via API on payment
 * Tweak - Refactor capture handling and add a dedicated handling class
 * Tweak - Add an admin notice for gateways when debug logging is enabled in production mode
 * Fix - Ensure orders are automatically captured when the status is changes via the REST API if enabled
 * Fix - Ensure the gateway capture UI is only displayed for regular orders
 * Fix - Prevent capture JS errors when multiple gateways running the same framework version are activated
 * Fix - Strip price HTML from the admin capture alert
 * Dev - Add the wc_{gateway_id}_held_order_status filter

2018.09.04 - version 5.2.2
 * Tweak - Provide an abstract Setup Wizard for plugins to implement for easier onboarding

2018.08.21 - version 5.2.1
 * Fix - Prevent errors when triggering payment gateway payment and refund milestones
 * Fix - Add escaping to some admin notice messages

2018.07.24 - version 5.2.0
 * Fix - Use the order currency for the gateway capture message currency symbol
 * Dev - Introduce dedicated plugin methods for loading after init
 * Dev - Move plugin lifecycle methods to the Lifecycle handler
 * Dev - Introduce a dependency handler for PHP compatibility notices
 * Dev - Introduce a REST API handler base
 * Misc - Add default plugin and gateway data to the WooCommerce REST API System Status response

2018.06.25 - version 5.1.5
 * Fix - Ensure exceptions are caught for Subscriptions "change payment" and Pre-Orders tokenization failures

2018.05.22 - version 5.1.4
 * Tweak - Add a gateway privacy handler to export or remove order payment data and payment tokens on request
 * Tweak - Add a warning for WooCommerce 2.6 installs that 3.0 will soon be required
 * Misc - Add support for WooCommerce 3.4

2018.04.17 - version 5.1.3
 * Tweak - Add a method for gateways to call during failing captures

2018.04.02 - version 5.1.2
 * Fix - Prevent warnings in PHP 7.2 when building the gateway settings
 * Fix - Fix namespaces in the Apple Pay framework

2018.03.27 - version 5.1.1
 * Tweak - Disable the Add Payment Method button when editing a method
 * Fix - Ensure customers can't delete subscription payment methods from gateways that use integer token IDs
 * Fix - Always pass user email to gateways when adding a payment method

2018.02.27 - version 5.1.0
 * Feature - Add payment method editing support
 * Feature - Allow users to set nicknames for their payment methods
 * Feature - Add support for auto-capturing orders when changed to a paid status
 * Feature - Add a Milestones API for plugins to trigger milestone messages and prompt users for feedback after key plugin events
 * Tweak - Improve the My Account Payment Methods table on desktop and mobile
 * Tweak - Let gateway handle their own API errors when deleting payment methods
 * Tweak - Improve the admin token editor with better error handling and improved display
 * Tweak - Let plugins define a "reviews" URL to be displayed with the plugin action links
 * Tweak - Adjust the gateway "Accepted Cards" setting wording to clarify that it doesn't affect payment processor card support
 * Tweak - Support warning and info message types in the Admin Message Handler
 * Fix - Prevent duplicate admin notices when running alongside legacy framework versions

2018.01.17 - version 5.0.1
 * Misc - Remove support for WooCommerce 2.5
 * Misc - Require WordPress 4.4 or higher

2018.01.11 - version 5.0.0
 * Feature - Partial capture - add a UI for multiple partial captures in supported gateways
 * Feature - Add CSC setting to enable or disable the field for tokenized methods
 * Tweak - Improve the My Payment Methods table styling on mobile
 * Dev - Add versioned namespaces
 * Dev - Add a sample plugin loader class
 * Dev - Add action hooks for My Payment Method actions
 * Misc - Drop WooCommerce 2.5 support
 * Misc - Drop Subscriptions 1.x support

2017.12.11 - version 4.8.3
 * Fix - Ensure failed order token meta is only copied to the parent subscription when a successful payment has occurred
 * Fix - Don't reset the checkout password field if it's already visible

2017.12.01 - version 4.8.2
 * Fix - Fix a possible race condition when performing background processing health checks
 * Fix - Account for possible false negatives when testing loopback connections in certain environments

2017.11.27 - version 4.8.1
 * Fix - Fix Apple Pay compatibility with WooCommerce 3.2+

2017.10.31 - version 4.8.0
 * Feature - Add a framework for batch job handling for when background processing is unavailable
 * Feature - Debug tool for testing the site's environment for loopback connection support

2017.10.05 - version 4.7.3
 * Tweak - Add new methods for checking for specific WooCommerce versions
 * Tweak - Adjust the PHP version notice to check for 5.6 by May 2018 and adjust the messaging when that date has passed
 * Fix - Conflict with WooCommerce filtering of nonce checks for background jobs

2017.09.12 - version 4.7.2
 * Fix - Ensure failed Pre-Orders can be paid with a new method by bypassing the failed order's stored token
 * Fix - Use the parameters passed to SV_WP_Admin_Message_Handler::show_messages()

2017.08.14 - version 4.7.1
 * Tweak - Refine the TLS 1.2 notice wording and appearance

2017.07.25 - version 4.7.0
 * Feature - Introduce the Apple Pay framework for developers

2017.07.11 - version 4.6.6
 * Fix - Ensure backwards compatibility with gateways that don't extend the SV_WC_API_Base class for their API

2017.06.26 - version 4.6.5
 * Misc. - Make a TLS 1.2 admin notice available for gateways that require it
 * Misc. - Ensure WooCommerce 3.1 compatibility

2017.05.20 - version 4.6.4
 * Fix - Add dedicated subscriptions Change Payment handling to avoid subscription manipulation
 * Fix - Ensure old payment methods can be removed after changing subscription payment to a new method

2017.05.09 - version 4.6.3
 * Tweak - Add optional notice for plugins that want to require PHP 5.3+ in the future
 * Tweak - Improved background process handling for certain server & cache configurations

2017.05.01 - version 4.6.2
 * Fix - Ensure authorized, but not yet captured, transactions are marked "on hold" for off-site gateways

2017.04.17 - version 4.6.1
 * Tweak - Load admin translations based on the user's configured language in WordPress 4.7+
 * Tweak - Added the SV_WC_Order_Compatibility::has_shipping_address() method
 * Fix - Prevent some deprecated notices when processing subscriptions in WooCommerce 3.0+

2017.03.27 - version 4.6.0
 * Tweak - Add Payment Gateway debug mode to the System Status report
 * Tweak - Plugin "Docs" links now open in a new tab
 * Misc - Add helper method to get normalized WooCommerce screen IDs
 * Misc - Added support for WooCommerce 3.0

2017.01.06 - version 4.5.2
 * Fix - Include Curaçao when converting country codes

2016.11.18 - version 4.5.1
 * Fix - Prevent a potential fatal error for plugins not using the latest JSON/XML request classes

2016.11.07 - version 4.5.0
 * Feature - Mobile-friendly credit card fields using the `tel` input
 * Feature - Add setting to enable capture for virtual-only orders
 * Feature - Define minimum php.ini requirements an display a notice when they are not met
 * Feature - Allow deprecated hooks to be mapped to their replacements
 * Tweak - Move capture handling to the base gateway class to make it available to hosted gateways
 * Tweak - Add a "card not accepted" icon when a card number format is not accepted or recognized
 * Tweak - Add full MasterCard BIN Series 2 support & update the card logo
 * Tweak - Improve consistency of card type IDs and abbreviations
 * Tweak - Refactor gateway settings inheritance
 * Fix - Fix failed renewal payment data not updating for auth-only renewals
 * Fix - The `load_translation()` method is no longer required for base plugins
 * Fix - Prevent notices when running alongside bbPress or BuddyPress

2016.09.14 - version 4.4.3
 * Fix - Fix an error when processing guest pre-order payments

2016.08.02 - version 4.4.2
 * Tweak - Refactor background job data structure and processing

2016.07.18 - version 4.4.1
 * Misc - Add compatibility for WordPress 4.6

2016.06.01 - version 4.4.0
 * Feature - Allow bundled framework and plugin translations to be easily overridden
 * Tweak - Allow plugins extending SV_WC_API_Base to declare TLS v1.2 as a requirement for requests
 * Misc - Added support for WooCommerce 2.6
 * Misc - Removed support for WooCommerce 2.3

2016.04.18 - version 4.3.0
 * Feature - Revamped admin payment token editor
 * Feature - Prevent deleting subscription payment methods
 * Feature - Add payment gateway environment information to the WooCommerce system status report
 * Tweak - Support WordPress core dismissible notices
 * Tweak - Misc Payment Gateway framework improvements
 * Fix - Properly validate CSC if present for tokenized payment methods
 * Fix - Fix double confirm messages when deleting a payment method in certain cases

2016.02.08 - version 4.2.2
 * Fix - Fix handling guest pre-orders

2016.01.20 - version 4.2.1
 * Fix - Fix `implode()` warnings in `SV_WC_Helper::get_order_line_items()`

2016.01.13 - version 4.2.0
 * Feature - Greatly improved compatibility with multi-language/translation plugins
 * Misc - Switched to using a separate text domain for the framework strings - 'woocommerce-plugin-framework'
 * Misc - Added support for WooCommerce 2.5
 * Misc - Removed support for WooCommerce 2.2

2015.11.05 - version 4.1.2
 * Tweak - Misc Payment Gateway framework improvements

2015.09.09 - version 4.1.1
 * Fix - For Subscriptions 1.5, don't mark the original order as failed when a renewal payment fails

2015.08.27 - version 4.1.0
 * Feature - WooCommerce Subscriptions 2.0 Support
 * Tweak - Add specific width/height styling for payment method icons
 * Fix - Fix assert() warnings with certain gateway configurations on the My Account page

2015.07.29 - version 4.0.1
 * Fix - Fix typo in payment gateway frontend javascript
 * Tweak - Add inline style for payment gateway icons

2015.07.27 - version 4.0.0
 * Feature - Standardized payment gateway form
 * Feature - Add new payment method feature
 * Feature - Standardized & unified My Payment Methods table
 * Feature - New payment method icons in SVG format
 * Tweak - Adds is_woocommerce_active() method to bootstrap class, to support non-WooThemes listed frameworked plugins
 * Tweak - Payment gateway token support now allows for merging local data with remote data, and caching results in a transient
 * Tweak - The order status for voided orders is now "cancelled" rather than "refunded"
 * Tweak - Improved support for REST API development
 * Tweak - Framework bootstrap now gives the option to easily deactivate backwards incompatible plugins, rather than only an instruction to update older plugins
 * Tweak - Framework bootstrap option to declare minimum required WordPress version
 * Misc - WooCommerce 2.4 compatibility

2015.03.17 - version 3.1.2
 * Fix - JS variable `wc_select_params` undefined in WC 2.3.6+

2015.03.10 - version 3.1.1
 * Tweak - Add `get_cancel_order_url_raw()` compatibility method

2015.02.09 - version 3.1.0
 * Feature - Refund/Void support for the payment gateway framework, huzzah!
 * Misc - WooCommerce 2.3 compatibility

2014.12.11 - version 3.0.4
 * Fix - Bug when removing a tokenized credit card from the My Account page
 * Tweak - Accept a notice-class parameter when rendering admin notice to avoid always using the "error" notice

2014.11.20 - version 3.0.3
 * Fix - Payment gateway framework now catches all SV_WC_Plugin_Exception exceptions. Fixes uncaught SV_WC_API_Exception error.

2014.10.19 - version 3.0.2
 * Fix - Add commonly used notice functions to avoid errors when renewing subscriptions

2014.10.15 - version 3.0.1
 * Tweak - Method visibility changed from private to protected to allow adjustment via sub-classes
 * Fix - Fix "Wrong parameters for Exception" fatal error

2014.09.07 - version 3.0.0
 * Feature - Edit tokens from Admin Order Edit screen
 * Tweak - Improved dismissible admin notices
 * Misc - WooCommerce 2.2 compatibility
 * Misc - Backwards incompatible

2014.08.26 - version 2.2.0
 * Feature - Added API base class and automatic request logging
 * Feature - Introduced Helper class
 * Feature - Optional detailed customer decline messages on checkout
 * Tweak - Introduced named exceptions
 * Tweak - Updates to support Chase Paymentech certification mode
 * Tweak - Updates to the Hosted Gateway class for improved handling of redirect-back gateways
 * Tweak - My Payment Methods template now uses Dashicons instead of images
 * Tweak - Plugin active method now checks filename only
 * Fix - Fixed product page URLs

2014.05.26 - version 2.1.0
 * Feature - Implemented hosted payment gateway framework
 * Feature - Capture charge bulk order action for payment gateways
 * Tweak - Authorized charges are no longer automatically capture when changing order status from on-hold to processing/completed
 * Feature - Added function dependency checks

2014.03.05 - version 2.0.3
 * Fix - Fixed WC 2.1 compatibility for payment gateway charge captures

2014.02.03 - version 2.0.2
 * Fix - Improved WC 2.1 compatibility method to return the order id on the checkout pay page

2014.01.29 - version 2.0.1
 * Tweak - Additional WC 2.1 compatibility helpers

2014.01.20 - version 2.0.0
 * Feature - Generalized Plugin Framework
 * Feature - Support for "tokenize with sale" gateways
 * Tweak - Improved handling for credit card capture request

2013.11.11 - version 1.0.0
 * First Release
