diff --git a/changelog.txt b/changelog.txt
new file mode 100644
index 0000000..b392034
--- /dev/null
+++ b/changelog.txt
@@ -0,0 +1,1018 @@
+*** Changelog ***
+
+= 7.0.1 - 2022-11-11 =
+* Fix - Issue where subscription renewal payments were being charged twice no longer present.
+
+= 7.0.0 - 2022-11-10 =
+* Add - Update Express Checkout section UI.
+* Add - Auto-complete first and last name on checkout form when using Link payment method.
+* Add - Allow subscription orders to be paid with Link payment method.
+* Add - Add inbox notification for Link payment method.
+* Tweak - Adjust texts and links in WC admin advanced settings.
+* Add - Restrict the Link payment method only for US merchants.
+
+= 6.9.0 - 2022-10-19 =
+* Tweak - Remove remaining traces of old Stripe settings.
+* Add - Add Boleto expiration setting.
+* Add - Declare incompatibility with HPOS.
+
+= 6.8.0 - 2022-09-28 =
+* Fix - Minor adjustments for Custom Order Tables compatibility.
+* Fix - Upgrade from Payment Element beta.
+
+= 6.7.0 - 2022-09-06 =
+* Fix - Check payment method before updating payment method title.
+* Fix - Use the eslint config at the root of the repo.
+
+= 6.6.0 - 2022-08-17 =
+* Fix - Fix "Pending" text instead of numeric amount on Payment Request button on iOS.
+
+= 6.5.1 - 2022-08-01 =
+* Fix - Stripe Link missing styles and logo for email trigger button.
+* Fix - Stripe Link fatal error on `get_upe_enabled_payment_method_ids` method.
+* Fix - Remove Link beta headers on checkout.
+
+= 6.5.0 - 2022-07-28 =
+* Add - Stripe Link: Add beta headers for Stripe server requests
+* Add - Stripe Link payment method option in admin
+* Add - Stripe Link payment method on checkout form
+* Add - Stripe Link payment method on blocks checkout form
+
+= 6.4.3 - 2022-06-30 =
+* Fix - Replace unnecessary throws with empty string when keys are invalid.
+
+= 6.4.2 - 2022-06-29 =
+* Fix - Fix terminal location creation if site title is missing.
+* Fix - Add compatibility with WooCommerce 6.6.
+
+= 6.4.1 - 2022-06-01 =
+* Fix - Ensure proper URL formatting.
+
+= 6.4.0 - 2022-05-20 =
+* Fix - Changed logic for how 'Enabled/Disabled' statuses are shown for payments and payouts capabilities in settings.
+* Tweak - Updated the minimum supported versions of WordPress and WooCommerce.
+
+= 6.3.0 - 2022-03-10 =
+* Tweak - Remove html from translatable strings.
+* Tweak - Revert the deprecation of the 'wc_stripe_hide_payment_request_on_product_page', 'wc_stripe_show_payment_request_on_checkout', and 'wc_stripe_show_payment_request_on_cart' filters.
+* Tweak - Address minor styling issues in settings.
+
+= 6.2.0 - 2022-02-17 =
+* Add - Add onboarding payment gateway setup methods.
+* Fix - Enable Stripe payment method after connecting account.
+* Fix - Missing statement descriptor in account summary API when not set in Stripe.
+
+= 6.1.0 - 2022-01-26 =
+* Tweak - Use the newly exposed LoadableMask component provided by WooCommerce Blocks to trigger the loading state for Payment Request Buttons.
+* Fix - Response type for account summary API.
+* Fix - Invalid response in account summary API when missing account data.
+* Add - Live and test mode information in account summary API.
+* Add - Add filter call when updating an existent intent (wc_stripe_update_existing_intent_request).
+* Add - Add ability to test Stripe account keys' validity.
+* Fix - Fixed full bank statement field description.
+* Fix - Notification messages are placed on top of the account keys modal.
+* Fix - Express checkout with 3DS card on product page when new checkout experience is enabled.
+* Fix - Remove duplicate call to `payment_scripts`.
+* Fix - Send bank statement descriptors to payment intents.
+
+= 6.0.0 - 2022-01-05 =
+* Fix - Fixed capitalization for payment method names: iDEAL, giropay, and Sofort.
+* Add - Text to explain how to enable webhooks when manually entering your API keys in the new Stripe settings.
+* Tweak - Redirect to the settings tab after an account is connected.
+* Tweak - Prompt message when navigating out Stripe settings with unsaved changes
+* Tweak - Show toast when payment methods list is updated with new payment methods.
+* Fix - JS error on checkout when Boleto method was not active.
+* Fix - Fixed bug that show "Use new payment method" on pay order page when there were no saved card was.
+* Tweak - Autocomplete for account keys and webhooks fields were disabled.
+* Fix - The settings page is not reloaded when the user enters invalid account keys.
+
+= 5.9.0 - 2021-12-09 =
+* Add - Add Stripe API to generate connection tokens, manage terminal locations, create customers, get account summary, capture payment.
+* Tweak - Remove `_wcstripe_feature_upe` flag and all traces of old settings.
+* Fix - Fix error when invalid card is used on Pay Order page.
+* Fix - Fix outdated data when using Blocks Checkout.
+* Add - List of payment methods that are not included for the merchant.
+* Tweak - Update how the new checkout experience is enabled.
+* Fix - Error on UPE checkout depending on the account keys set.
+* Tweak - Hide separate credit card form setting when UPE is enabled.
+
+= 5.8.1 - 2021-11-23 =
+* Fix - Run filters that disable Stripe JS on cart and product pages when PRBs are disabled.
+
+= 5.8.0 - 2021-11-18 =
+* Fix - Hong Kong addresses are now mapped more thoroughly to WooCommerce addresses when paying with Apple Pay.
+* Fix - Error when changing payment method for a subscription with new checkout experience.
+* Fix - Payment Requests are now updated correctly when updating items in the Cart Block.
+* Add - Support for WooCommerce Pre-Orders with new checkout experience.
+* Fix - Stripe JS is no longer loaded on cart and product pages when PRBs are disabled on those pages.
+* Tweak - Update the minimum required PHP version to 7.0 to reflect our L-2 support policy.
+* Fix - Add support for MYR (Malaysian ringgit) for Alipay.
+* Add - New Settings UI.
+* Fix - Hide payment request button when variations of a variable product are out-of-stock.
+* Add - Support for Boleto and OXXO payment methods
+
+= 5.7.0 - 2021-10-20 =
+* Fix - Enable use of saved payment methods converted to SEPA payments.
+* Tweak - "Save payment information" checkbox now has better alignment in store checkout.
+* Tweak - Error notices at checkout now have more consistent design.
+
+= 5.6.2 - 2021-10-06 =
+* Tweak - Remove animated credit card icons from payment method option on the checkout page.
+* Fix - Payments for pre-orders and subscriptions with an empty source token now work as intended.
+
+= 5.6.1 - 2021-10-04 =
+* Fix - Naming conflict with other plugins on WC_Stripe_REST_Controller.
+* Fix - Fatal error on `WC_REST_Stripe_Settings_Controller` when Elementor and WooFunnels plugins are used.
+
+= 5.6.0 - 2021-09-30 =
+* Add - Pre-release preview of new checkout experience using Stripe Universal Payment Element.
+* Tweak - Removed "Branded" and "Custom label" options on Payment request buttons to align with design guidelines.
+* Tweak - Converted payment request button size value to distinct options to align with design guidelines.
+* Tweak - Animate supported credit card icons instead of displaying multiple icons at once.
+
+= 5.5.0 - 2021-09-15 =
+* Tweak - Moved the `WC_Gateway_Stripe::admin_scripts` method to `WC_Stripe_Settings_Controller::admin_scripts`.
+* Fix - Save payment method during 3D Secure flow for Block-based checkout.
+* Fix - Show subtotal on Payment Request dialog.
+* Add - Settings to control Payment Request Button locations in the Stripe plugin settings. Persists changes made through pre-existing filters, or defaults to the Cart and Product pages if no filters are in use.
+* Tweak - Deprecated the 'wc_stripe_hide_payment_request_on_product_page', 'wc_stripe_show_payment_request_on_checkout', and 'wc_stripe_show_payment_request_on_cart' filters in favor of the UI-driven approach in the plugin settings.
+* Add - Notice for WP & WC version compatibility check.
+
+= 5.4.1 - 2021-09-01 =
+* Fix - Get Subscription CustomerID from Order instead of User.
+
+= 5.4.0 - 2021-08-18 =
+* Fix - Do not ask for a Shipping Address if no Shipping Zone is defined.
+* Fix - Return HTTP 204 when webhook validation fails so Stripe won't stop sending certain webhook events after too many failed validations.
+* Fix - Possible use of an undefined variable `prepared_source`.
+* Add - 'wc_stripe_allowed_payment_processing_statuses' filter to customize order statuses that allow payment processing in the context of 3DS payments.
+
+= 5.3.0 - 2021-07-21 =
+* Fix - Disable Payment Request Buttons when order has to be split into multiple packages because Payment Requests do not support that use case.
+* Tweak - Payment request button should guide users to login when necessary.
+
+= 5.2.3 - 2021-06-11 =
+* Fix - Credit card icons and credit card input on custom shortcode checkout pages.
+
+= 5.2.2 - 2021-06-10 =
+* Fix - The absence of a cart causing fatal errors when rendering the Cart or Checkout block.
+
+= 5.2.1 - 2021-06-10 =
+* Fix - Remove calls to `has_block()` since it breaks compatibility with older versions of WordPress.
+* Tweak - Use the same JavaScript configurations for the Block-based and Shortcode-based checkout flows.
+
+= 5.2.0 - 2021-05-19 =
+* Fix - Use `get_parent` method to avoid accessing `order` subscription property directly.
+* Fix - Orders won't transition to 'Refunded' state if refund can't be created.
+* Fix - Normalize United Kingdom and Canada postal codes for Apple Pay.
+* Fix - Subscription sign-up fees not included in total for Payment Request Button.
+* Fix - Reduce requests sent to server from stripe settings page.
+* Fix - Choose the appropriate version of the WooCommerce Admin Notes API based on which API is available.
+* Fix - Customer information is now correctly displayed in the Stripe Payments Dashboard when a new customer checks out through the WooCommerce Checkout Block.
+* Fix - Pass customer language/locale to Stripe upon creation or modification.
+* Fix - Initial price for Variable Products is now correctly shown when a Payment Request is started.
+* Add - Support for Credit Card payments (incl. 3DS payments) via WooCommerce Blocks; limited to WooCommerce Core product types.
+* Add - Support for payments (incl. 3DS payments) paid via Payment Request Buttons in WooCommerce Blocks; limited to WooCommerce Core product types.
+* Add - Support for custom and branded Payment Request Buttons when using the Cart and Checkout blocks.
+* Tweak - Should customer opt to save their card, the card is now saved after a payment has been confirmed.
+
+= 5.1.0 - 2021-04-07 =
+* Fix - Don't attempt to submit level 3 data for non-US merchants.
+* Fix - Hide Payment Request Buttons when guest checkout is disabled.
+* Fix - Match Payment Request states with WooCommerce states.
+
+= 5.0.0 - 2021-03-17 =
+* Add - Display time of last Stripe webhook in settings.
+* Add - wc_stripe_webhook_validate_user_agent filter to customize webhook user-agent validation.
+* Fix - Payment Request Buttons for Chinese provinces in Chrome.
+* Fix - Enable wc_stripe_send_stripe_receipt filter to send Stripe emails.
+* Fix - Check for more errors when attaching sources to customers.
+
+= 4.9.0 - 2021-02-24 =
+* Fix    - Add fees as line items sent to Stripe to prevent Level 3 errors.
+* Fix    - Adding a SEPA payment method doesn't work.
+* Fix    - Apple Pay domain verification with live secret key.
+* Fix    - Display the correct accepted card branding depending on store currency and location.
+* Fix    - Remove duplicate Apple Pay domain registration Inbox notes.
+* Add    - Copy Apple Pay domain registration file and trigger domain registration on domain name change.
+* Update - Notes and status when refunding order with charge authorization.
+
+= 4.8.0 - 2021-01-28 =
+* Fix   - Filter more disallowed characters from statement descriptors.
+* Fix   - Payment request button for Puerto Rico.
+* Fix   - Handle error if country is not supported for payment request button.
+* Fix   - Trim the refund reason to a max of 500 characters.
+* Tweak - Display warning on webhook secret when server time is off from device time.
+
+= 4.7.0 - 2020-12-22 =
+* Fix - Updating subscription payment methods from the "My Account" page now adds a note to the subscription.
+* Fix - Link is now correctly formatted in readme.txt.
+* Fix - Using SCA cards for subscriptions renewal payments now works as intended.
+* Fix - Cards added under "My Account -> Payment Methods -> Add Payment Method" will now handle SCA properly.
+* Fix - Changing a payment method for a subscription in "My Account -> Subscriptions" will now handle SCA properly.
+* Fix - Missing space causing fatal errors for certain WooCommerce Inbox Note features.
+
+= 4.6.0 - 2020-12-15 =
+* Tweak - Update packages for Composer 2 compatibility.
+* Tweak - Use full jQuery function calls instead of soon-to-be-deprecated shorthands.
+* Tweak - Use JSON.parse() instead of jQuery.parseJSON().
+* Tweak - Remove holiday messaging from Apple Pay note after Dec 22.
+* Fix   - Compatibility with the Stripe for WooCommerce plugin.
+* Fix   - Guard against fatal errors caused by WC_Admin_Note.
+* Fix   - Display error message when payment made with payment request buttons fails.
+
+= 4.5.5 - 2020-11-17 =
+* Fix - Guard against fatal errors that may occur on inbox data store load.
+
+= 4.5.4 - 2020-11-16 =
+* Add   - Stripe Connect OAuth.
+* Tweak - Add site_url to all transactions, not just recurring ones.
+* Add   - Customer's full name is now included in Stripe Customer object if available.
+* Add   - Accept payments via AliPay when store currency is set to CNY.
+* Tweak - Wording of Apple Pay link.
+* Fix   - Serve Apple Pay domain verification file via a rewrite rule.
+* Add   - Add Inbox note for Apple Pay domain verification if needed.
+* Add   - Apple Pay holiday marketing notice.
+* Fix   - Apple Pay: Ensure payer phone is available before attempting to access it.
+* Add   - Pass payment method for renewal charges if not a source.
+* Fix   - Ensure defaults are used for missing settings.
+* Add   - Add shipping address to payment requests.
+* Fix   - Fix the Not a valid URL notice.
+* Add   - Security.md with security and vulnerability reporting guidelines.
+
+= 4.5.3 - 2020-10-06 =
+* Fix   - Apple Pay now requires a buyer's phone number only if it's required in Appearance > Customize > WooCommerce > Checkout.
+* Add   - Allow toggling secrets temporarily to visible in settings.
+* Fix   - Properly display field required error when SEPA method is used.
+* Tweak - Update payment request button description to include link to Stripe dashboard Apple Pay settings.
+* Add   - Add off session payment intent filter, props rfair404.
+* Tweak - Update contributors list.
+
+= 4.5.2 - 2020-08-19 =
+* Fix - Allow extension to attempt to run in all countries, not just officially supported ones
+
+= 4.5.1 - 2020-08-12 =
+* Add - Support for Bulgaria, Czech Republic, Greece, Cyprus, Malta, Slovenia
+* Add - Additional metadata for order status change events when tracking is permitted
+
+= 4.5.0 2020-06-24 =
+* Tweak - Improve branded Google Pay button user agent detection.
+* Add   - New filter to manage the display of payment request buttons in cart.
+* Fix   - Display Apple Pay button with text if branded type is text and logo.
+* Fix   - Prevent branded payment request button duplication when checkout is re-calculated.
+* Fix   - Payment request buttons on a single product page now correctly show the product name instead of a subtotal.
+* Fix   - Quotes in variadic product attributes no longer cause payment request buttons to show only the cheapest variation.
+
+= 4.4.0 2020-05-21 =
+* Tweak - Remove support for WooCommerce versions lower than 3.0.
+* Tweak - Update plugin assets.
+* Tweak - Improve performance on order pay screen.
+* Tweak - Compress payment methods SVGs.
+* Add   - Support for custom payment request button.
+* Fix   - Prevent users from entering secret key in the public key field and stop it from showing if they did.
+* Fix   - Revert caching layer removal to speed up My Account subscriptions tab.
+* Fix   - Bug where source ID was not set resulting in an uncaught exception.
+* Fix   - Collecting level 3 data triggers a warning.
+* Fix   - Custom button class typo.
+* Fix   - Payment Request incorrect shipping option passed.
+* Fix   - Payment Requests, like Apple Pay, not initially showing correct quantity if used on Product Page.
+* Fix   - State abbreviation breaks Payment Request button.
+* Fix   - Stripe Payment Request button using incorrect Google Pay brand asset by adding a special branded button.
+* Fix   - Move docs and support links in the plugins list page.
+
+= 4.3.3 2020-04-08 =
+* Fix - Fix Payment Request issue when product attribute has quotes
+* Fix - Fix "no such customer" error on checkout after the keys have been changed
+* Add - Add alert for end of support WC < 3.0 in future releases
+* Fix - Fix crash when used with WooCommerce Subscriptions <2.6
+* Fix - Add missing customer ID to subscriptions before processing payment
+* Fix - Fix transactions failing with trailing slash
+
+= 4.3.2 2020-02-17 =
+* Fix - Add compatibility to payment request buttons with some of the WooCommerce Product Add-ons on the product page
+* Fix - Improved compatibility for free orders with other extensions
+* Add - Support for multisite when sites use different Stripe accounts
+* Fix - Display a localized error message when a customer tries to save a card during checkout, but there's an error
+* Add - Send level 3 credit card data for purchases when possible
+
+= 4.3.1 2019-11-12 =
+* Fix - Overwrite the previous Apple Pay verification file if it has changed.
+* Fix - Avoid re-mounting card elements if they are already mounted in the DOM.
+* Fix - Compatibility with WooCommerce Deposits by retrieving order statuses in a different way.
+* Fix - Duplicate payment notifications for subscriptions.
+* Fix - Use the same customer after a new credit card has been entered.
+* Fix - Google Pay buttons on subscriptions.
+* Add - A filter, which allows all subscriptions' payment methods to be overwritten when adding a new payment method.
+
+= 4.3.0 2019-10-17 =
+* Add - For WooCommerce Subscriptions optimize the payment flow for subsequent subscription payments when authentication may be required by using the  `setup_future_usage` parameter for the first subscription payment
+* Add - Allow customer to authenticate payment even if they are not charged right away for WooCommerce Subscriptions and Pre-Orders, for example for a WooCommerce Subscription that has a free trial
+* Add - When an off-session payment requires authentication, create a link for customers to come back to the store to authenticate the payment
+* Add - Send an email to WooCommerce Subscription and Pre-Orders customers who need to authenticate a payment that was automatically tried on their behalf
+* Add - When an off-session payment requires authentication, send an email to the admin
+* Add - Admin notice about SCA-readiness
+* Fix - Avoid idempotency key errors for Pre-Orders
+* Fix - Use unique anchor for link about checkout styling changes
+
+= 4.2.5 - 2019-10-02 =
+* Fix - WooCommerce Subscriptions that use only the Stripe customer ID can again be renewed
+
+= 4.2.4 - 2019-09-18 =
+* Fix - Unclear error message when email address not completely filled in.
+* Fix - Add payment request button compatibility with variable subscriptions
+* Tweak - Do not show payment request button for shippable trial subscription products
+* Fix - Do not copy the payment intent id when creating a subscription renewal
+* Fix - Return early from check intent status if no order - props strayobject
+* Fix - Extend webhook time window from 1 to 5 minutes to match Stripe client
+* Update - WooCommerce 3.7 compatibility
+* Update - Apple Pay Domain association file
+* Update - Grandfather pre-SCA subscription renewals for SCA
+
+= 4.2.3 - 2019-07-18 =
+* Fix - Ignore "payment failed" webhooks if they come after another payment has already succeeded for that order.
+* Fix - Correctly transition an order to "On Hold" if the payment was put under review by Stripe Radar, and back to "Processing" when the review is approved.
+* Tweak - Make the publishable key fields be plain text instead of "password".
+* Fix - Fix successful retries of 3ds failing.
+
+= 4.2.2 - 2019-06-26 =
+* Fix - Changing an order status to "Cancelled" or "Refunded" will no longer refund the payment, will only void the payment if it was just authorized.
+
+= 4.2.1 - 2019-06-17 =
+* Update - Add UGX (Ugandan Shilling) to zero decimal currency list.
+* Fix - CSRF verification error upon creating account on checkout.
+* Fix - Duplicate emails and order notes after successful transactions.
+
+= 4.2.0 - 2019-05-29 =
+* Update - Enable Payment Request buttons for Puerto Rico based stores.
+* Update - Add support for Strong Customer Authentication (SCA) for user-initiated payments.
+* Remove - Stripe Modal Checkout.
+* Remove - 3D Secure settings are no longer available in the gateway settings. Use Stripe Radar instead.
+* Fix - Display error messages only next to the chosen saved card.
+
+= 4.1.16 - 2019-04-18 =
+* Deprecate - Warn about the future removal of the Modal Checkout option.
+* Tweak - WC 3.6 compatibility.
+
+= 4.1.15 - 2019-03-12 =
+* Fix - Prevent canceled webhook from processing non Stripe payments.
+* Fix - "Retain Stripe Data" setting placement on WooCommerce settings page.
+* Tweak - Stripe API version updated to support 2019-02-19.
+
+= 4.1.14 - 2019-01-10 =
+* Remove - Stripe specific styling to allow themes to style accordingly.
+* Tweak  - Handle error if product is not found in payment request.
+
+= 4.1.13 - 2018-11-20 =
+* Update - WP 5.0 compatibility.
+
+= 4.1.12 - 2018-10-19 =
+* Fix - Typo on notice banner.
+* Fix - On auth/capture scenario, error can occur when completing the order in backend.
+
+= 4.1.11 - 2018-10-17 =
+* Fix - Explicitly set 3DS source id to prevent 3DS source not charging when not required.
+* Fix - Prevent Stripe JS failed live/test check from throwing JS error.
+* Fix - Find order by source ID if charge ID is not found when cancelled webhook is triggered.
+* Fix - Partial refund on Stripe captured charge erroneously refunding total amount.
+* Fix - Capture charge on previously authorized charge, not showing Stripe fees.
+* Fix - Check if payment icons are set before trying to use them.
+* Fix - Can't use method in write context errors.
+* Deprecate - Soft deprecated function is_pre_30 with is_wc_lt function.
+* Add - Ability to update all active subscription's payment method when adding a payment.
+* Add - Hook to show update all active subscription's payment method checkbox `wc_stripe_display_update_subs_payment_method_card_checkbox`.
+* Add - CSS minification.
+* Update - WC 3.5 compatibility.
+* Update - Stripe API version to 2018-09-24.
+
+= 4.1.10 - 2018-09-17 =
+* Fix - When 3DS card redirect status is "not_required", charge the 3DS source.
+* Fix - Payment Request not validating quantity before payment sheet shows.
+* Fix - Test mode info not showing when description field is left blank.
+* Add - Filter for Payment Request localized parameters `wc_stripe_payment_request_params`.
+* Update - Stripe API version to 2018-09-06.
+
+= 4.1.9 - 2018-08-27 =
+* Fix - Don't display admin notices to user that cannot manage woocommerce.
+* Fix - Fatal error when clicking on order link that doesn't exist.
+* Fix - When capturing a charge from authorize, Stripe fees not displaying.
+* Fix - Undefined property error on card type in rare cases.
+* Tweak - Update SEPA IBAN to use new elements implementation.
+* Add - Filter for Payment Request Button locale `wc_stripe_payment_request_button_locale`.
+
+= 4.1.8 - 2018-07-19 =
+* Fix - 3DS payment sometimes will create additional transaction in Stripe.
+* Fix - WC 2.6 with SEPA saved payment causing error on checkout.
+* Update - EPS logo.
+
+= 4.1.7 - 2018-06-06 =
+* Fix - Asynchronous payment methods such as SEPA, did not show order Stripe fees/net after payment succeed.
+* Fix - Missing semicolon on a CSS style value which causes display issues in some browsers.
+
+= 4.1.6 - 2018-05-31 =
+* Fix - Radio buttons on checkout on some themes are not aligned properly.
+* Fix - False negative on SSL warning notice in admin.
+
+= 4.1.5 - 2018-05-28 =
+* Tweak - Refactor initialization of plugin.
+* Tweak - Webhook failed handler now handles all payment methods.
+* Tweak - Make sure 3DS object is in pending status before redirecting.
+* Tweak - CSS styling.
+* Add - Username to the description field of the Stripe customer when created.
+* Add - GDPR retention setting and logic.
+* Fix - Payment request payments were redirected to Pay Order when it should be Order Received.
+* Update - Stripe API version to 2018-05-21.
+
+= 4.1.4 - 2018-05-22 =
+* Tweak - Improve performance when getting source id and charge id from database.
+* Add - GDPR privacy support.
+* Update - WC 3.4 compatibility.
+
+= 4.1.3 - 2018-05-07 =
+* Add - Hook to manipulate payment request shipping posted values `wc_stripe_payment_request_shipping_posted_values`.
+* Add - Accessibility attribute for credit card label.
+* Add - Hook to change Stripe supported countries `wc_stripe_supported_countries`.
+* Fix - WC 2.6 compatibility issue during a refund.
+* Fix - Payment Request JS error when default country setting is not supported.
+* Fix - Failed payments were sending two failed emails to admin instead of one.
+* Tweak - Remove payment methods links from WC Payment Settings page for WC 3.4+.
+
+= 4.1.2 - 2018-04-23 =
+* Fix - When payment method is invalid while trying to force save card, unexpected error can occur.
+* Fix - Pass name attribute when adding payment method from my account to allow Radar to work properly.
+* Tweak - Icon CSS styling to work for more different theme setups.
+* Remove - Bitcoin method as it is hard deprecated by Stripe as of April 23, 2018.
+
+= 4.1.1 - 2018-04-17 =
+* Tweak - Use payment_complete method when charge is succeeded or captured so other WC related tasks gets triggered.
+* Tweak - Styling for the credit card logos.
+* Add - Subscription change payment method support for SEPA.
+* Add - Credit card branding detection on credit card field.
+* Fix - When checkout form fields fails second time, page refreshes instead of using AJAX.
+* Fix - Potential issue when WC is not activated.
+
+= 4.1.0 - 2018-04-11 =
+* Tweak - Create user session only on product detail page.
+* Tweak - Payment Request session handling to bail if session already exists.
+* Tweak - 3DS recommended is now required and 3DS optional is now not required.
+* Tweak - Admin notices for currency check are now all dismissible.
+* Tweak - Added all color payment logos in svg.
+* Tweak - Update Stripe Fee and Stripe Net meta names.
+* Tweak - Stripe Checkout Popup Modal will validate checkout before proceeding to payment step.
+* Tweak - Verbiage for saving payment information to account.
+* Fix - When SEPA was used in subscription payment, it does not show SEPA in payment method table.
+* Fix - Refund via Stripe dashboard not reflecting amount in order notes.
+* Fix - Potential idempotency issues with subs recurring payment processing.
+* Add - Multibanco payment method.
+* Add - EPS payment method.
+* Add - Notice for customer to change saved cards when billing address has been updated.
+* Add - Stripe fee and net payout to order line item total section.
+* Add - Hook to separately control Stripe Checkout Modal's allow remember me option. `wc_stripe_allow_remember_me` (bool).
+* Add - Hook to filter 3DS requirements `wc_stripe_require_3ds`.
+* Add - Hook to verify zipcode in Stripe Checkout Modal. `wc_stripe_checkout_verify_zip`. Only works when require address is true.
+* Add - Hook to require shipping address on Stripe Checkout Modal. `wc_stripe_checkout_require_shipping_address` (bool).
+* Add - Hook to hide Stripe net payout on order line item `wc_stripe_hide_display_order_payout` (bool).
+* Add - Hook to hide Stripe fee on order line item `wc_stripe_hide_display_order_fee` (bool).
+* Add - Hook to filter out logging messages `wc_stripe_logging` (bool).
+* Add - Hook to add content to the Stripe Checkout Receipt Page `wc_stripe_checkout_receipt_page_before_form`.
+* Add - Hook to add content to the Stripe Checkout Receipt Page `wc_stripe_checkout_receipt_page_after_form`.
+* Add - Hook to add content to the Stripe Checkout Receipt Page `wc_stripe_checkout_receipt_page_before_form_submit`.
+* Add - Hook to add content to the Stripe Checkout Receipt Page `wc_stripe_checkout_receipt_page_after_form_submit`.
+* Add - Hook to add handling to the Stripe Checkout return handler `wc_stripe_checkout_return_handler`.
+* Add - Hook to change save to account checkbox text `wc_stripe_save_to_account_text`.
+* Add - Compatibility with Payment Request/Apple Pay and different coupon types such as gift/store credit by Smart Coupons (requires WC 3.2+).
+* Add - Compatibility with Payment Request/Apple Pay and Subscription product in cart page.
+* Add - Compatibility with Payment Request/Apple Pay and Bookings product in cart page.
+* Add - Compatibility with Payment Request/Apple Pay and Composite products in cart page.
+* Add - Compatibility with Payment Request/Apple Pay and Product Bundles in cart page.
+* Add - Compatibility with Payment Request/Apple Pay and Account Funds in cart page.
+* Add - Compatibility with Payment Request/Apple Pay and Mix and Match products in cart page.
+* Add - Compatibility with Payment Request/Apple Pay and Product Addons in cart page.
+* Add - $post object on hook `wc_stripe_hide_payment_request_on_product_page`.
+* Update - Stripe API version to 2018-02-28.
+* Remove - Hard deprecated Stripe JS v2 credit card form process.
+
+= 4.0.7 - 2018-02-23 =
+* Fix - Potential conflict issue when adding payment method from another payment gateway.
+* Fix - Issue when using saved card before sources were introduced.
+* Add - Description field/setting for Stripe Checkout Modal/popup.
+
+= 4.0.6 - 2018-02-20 =
+* Fix - A WC 2.6 backwards compat issue with function from WC 3.0.
+* Fix - Subs renewal sometimes failed due to parameters being different.
+* Fix - Stripe accepts only NO for Norwegian language on Stripe Checkout.
+* Fix - Refund fees may not accurately reflect net fees. Props @rvola.
+* Fix - Undefined SERVERNAME property in some cases.
+* Fix - Potential issue when a charge parameter changes due to initial failed request causing retries to fail.
+* Fix - When 3DS is not required, failed payments was not change order status to failed.
+* Fix - Potential duplicate order processes on WC side when webhook and redirect has a race condition.
+* Remove - Checkout validation and let WC handle it.
+* Update - Stripe API version to 2018-02-06.
+* Add - Webhooks for review open/closed for Radar.
+* Add - Hook `wc_stripe_refund_request` for refund request arguments.
+* Add - Hook `wc_stripe_validate_modal_checkout` to enable 3rd party checkout validation.
+* Add - Hook `wc_stripe_validate_modal_checkout_action`.
+
+= 4.0.5 - 2018-02-02 =
+* Fix - Illegal offset error on settings when non is defined or saved.
+* Fix - Wrong ID used for dispute webhook handler.
+* Fix - A WC 2.6 backwards compat issue while trying to get order id in subscriptions.
+* Fix - Processing SEPA can't find email when not logged in.
+* Add - Allow restricted secret keys to be used.
+* Add - Statement Descriptor to SEPA Direct Debit.
+* Add - Idempotency failure retry with easing to prevent multirequest issue.
+* Add - POT file.
+* Tweak - Make billing name optional on pay for order page.
+
+= 4.0.4 - 2018-01-30 =
+* Add - SEPA mandate notification email.
+* Add - Preferred language to SOFORT and Bancontact so it can be localized.
+* Add - Hook to change SEPA mandate notification to none "wc_stripe_sepa_mandate_notification".
+* Add - Hook to change data for product when using Payment Request Button "wc_stripe_payment_request_product_data".
+* Add - Hook to change the behavior of allowing subscriptions to charge a customer's default source "'wc_stripe_use_default_customer_source'".
+* Add - Hook to source object "wc_stripe_sofort_source", "wc_stripe_p24_source", "wc_stripe_ideal_source", "wc_stripe_giropay_source", "wc_stripe_bancontact_source", "wc_stripe_alipay_source", "wc_stripe_3ds_source".
+* Add - Hook to change payment request button total label "wc_stripe_payment_request_total_label".
+* Add - Hook to change locale of Stripe Checkout "wc_stripe_checkout_locale".
+* Add - Hook to change elements options "wc_stripe_elements_options".
+* Fix - When checkout form produces an error on mobile, sometimes the blocking mask is not release blocking new input.
+* Fix - On older subscription payments, the ending card number is not shown on the subscriptions table in my account.
+* Fix - Filter to show payment request button on checkout page not working.
+* Fix - WC session handling compatibility with WC 3.3.
+* Fix - BW compatibility with WC 2.6.x on add_order_meta to prevent errors.
+* Fix - Possible fix for duplicate charges due to webhook and redirect handler firing at the same time by adding delay to the webhook process.
+* Tweak - In a subscription billing, Stripe source ID is no longer a required field.
+* Tweak - On a subscription order renewal-- if source is empty, will now try to charge the default source.
+* Notice - Bitcoin has been soft deprecated and Stripe will no longer support it on April 23, 2018. Please plan accordingly.
+* Remove - Stripe Checkout Locale setting in favor of using store set locale.
+* Update - Stripe API version to 2018-01-23.
+
+= 4.0.3 - 2018-01-18 =
+* Fix - Pass Stripe source as id instead of object as some sites may conflict with objects being passed.
+* Fix - For Payment Request Button, if test keys are not filled, it can cause live mode not to function.
+
+= 4.0.2 - 2018-01-17 =
+* Add - 3DS support on Stripe Checkout ( Modal Popup ).
+* Add - Filter to enable Payment Request Button on Checkout 'wc_stripe_show_payment_request_on_checkout'.
+* Add - Filter to remove all fields from checkout validation. 'wc_stripe_validate_checkout_all_fields'.
+* Add - Filter to remove required fields from checkout validation. 'wc_stripe_validate_checkout_required_fields'.
+* Add - Custom error exceptions class.
+* Add - Credit card field names for clarity.
+* Fix - Possible conflicts with payment request totals when subscriptions is active.
+* Fix - Undefined notice on save card via subscriptions if card is deleted.
+* Fix - Error translation issue when 3DS is required.
+* Fix - Possible 404 if getting customer source if no id was found.
+* Fix - Add payment method was still available when save cards setting is disabled.
+* Fix - In certain cases when webhook is used, refunds can show as doubled when it is not.
+* Fix - Stripe checkout with bitcoin returns error on processing.
+* Tweak - Remove Sofort country selection in favor of using the billing country.
+* Tweak - Add payment page CSS styling.
+* Tweak - Error log to show full response object.
+
+= 4.0.2 - 2018-01-17 =
+* Add - 3DS support on Stripe Checkout ( Modal Popup ).
+* Add - Filter to enable Payment Request Button on Checkout 'wc_stripe_show_payment_request_on_checkout'.
+* Add - Filter to remove all fields from checkout validation. 'wc_stripe_validate_checkout_all_fields'.
+* Add - Filter to remove required fields from checkout validation. 'wc_stripe_validate_checkout_required_fields'.
+* Add - Custom error exceptions class.
+* Add - Credit card field names for clarity.
+* Fix - Possible conflicts with payment request totals when subscriptions is active.
+* Fix - Undefined notice on save card via subscriptions if card is deleted.
+* Fix - Error translation issue when 3DS is required.
+* Fix - Possible 404 if getting customer source if no id was found.
+* Fix - Add payment method was still available when save cards setting is disabled.
+* Fix - In certain cases when webhook is used, refunds can show as doubled when it is not.
+* Fix - Stripe checkout with bitcoin returns error on processing.
+* Tweak - Remove Sofort country selection in favor of using the billing country.
+* Tweak - Add payment page CSS styling.
+* Tweak - Error log to show full response object.
+
+= 4.0.1 - 2018-01-11 =
+* Fix - Add payment method conflict with terms and agreement page.
+* Fix - Checkout validation checkout field names/labels were not translated.
+* Fix - Card error translations.
+* Add - Deprecated Apple Pay Class to prevent errors.
+
+= 4.0.0 - 2018-01-08 =
+* Add - Stripe Elements Credit Card form for PCI compliance.
+* Add - Stripe Sources.
+* Add - SEPA Direct Debit.
+* Add - Bancontact.
+* Add - Giropay.
+* Add - Sofort.
+* Add - iDeal.
+* Add - Bitcoin.
+* Add - P24.
+* Add - Alipay.
+
+= 3.2.3 - 2017-08-23 =
+* Fix - Apple Pay action hook with wrong parameter causing errors.
+
+= 3.2.2 - 2017-07-10 =
+* Fix - Apple Pay button displaying in non Safari browser.
+* Fix - Apple Pay with coupon not applying to total.
+
+= 3.2.1 - 2017-06-25 =
+* Fix - Discounts were not applying to total with Apple Pay.
+
+= 3.2.0 - 2017-06-17 =
+* Fix - Authorized first orders were not able to be refund.
+* Fix - Payment Request not honoring different shipping address in certain cases.
+* Fix - In certain Chrome versions, states are not abbreviated causing shipping validation issues with Payment Request API.
+* Add - Support for Dynamic Pricing.
+
+= 3.1.9 - 2017-05-25 =
+* Fix - Handle a subscription renewal failed payment order correctly to prevent orders going into onhold status.
+* Fix - Auto accept terms for Payment Request API to prevent blocker for the checkout.
+* Fix - Add payment method via Stripe checkout button showed pricing.
+* Fix - When Stripe customer id is no longer linked to Stripe account, customer not found can happen.
+* Fix - On Subscription failed payment, new payment info not updating causing failed payments for recurring charges.
+* Add - Action hook to manipulate process response from API "wc_gateway_stripe_process_response".
+* Add - Apple Pay compatibility with WooCommerce Sequential Numbers Pro.
+
+= 3.1.8 - 2017-05-08 =
+* Fix - Legacy < WC 3.0 stripe checkout file reference link name causing file not found.
+
+= 3.1.7 - 2017-04-19 =
+* Fix - Additional WC 3.0 compatibility with subscriptions addons.
+* Fix - Retry failed subscription payments with customer ID.
+* Add - Site URL to metadata when charging subscription orders for reference.
+
+= 3.1.6 - 2017-04-04 =
+* Fix - TypeError issues on single product page when using Apple Pay on Desktop.
+* Fix - In certain case, Apple Pay on single product page does not show shipping info.
+* Fix - Use store's base location to show/hide accepted credit cards instead of currency.
+* Fix - Unsupported product type when a variable product is added with Apple Pay.
+
+= 3.1.5 - 2017-03-30 =
+* Add - Check for WP error object in domain verification.
+
+= 3.1.4 - 2017-03-30 =
+* Tweak - If Apple Pay is not enabled, prevent Apple Pay Init.
+* Fix - Update for WooCommerce 3.0 compatibility.
+* Fix - Apple Pay on product detail page causes qty issue when using normal add to cart.
+* Fix - A partial workaround for UK/CA postal codes issue for shipping methods that support partial postal code estimates.
+* Fix - Stripe checkout did not validate properly formatted email address.
+* Fix - Error messages were not able to translate when validating checkout form.
+* Fix - Prevent payment gateway title logic ( Apple Pay ) from hijacking other payment methods.
+* Remove - Stripe Checkout allow remember me setting as it is redundant to saved card setting.
+
+= 3.1.3 - 2017-03-17 =
+* Fix - When using Stripe Checkout, add payment method was disabled.
+* Fix - Possible non object type when using preview pages.
+
+= 3.1.2 - 2017-03-16 =
+* Fix - Add payment method on My Account page error.
+
+= 3.1.1 - 2017-03-16 =
+* Fix - Apple Pay error notice log link is incorrect.
+* Fix - Apple Pay domain verification paths check.
+
+= 3.1.0 - 2017-03-15 =
+* New - Apple Pay Support.
+* New - Add Google Payment Request API.
+* New - Minimum PHP 5.6.
+
+= 3.0.7 - 2017-01-12 =
+* New - Option to allow/disallow remember me on Stripe checkout modal.
+* Fix - Paying for order incorrectly uses cart amount.
+* Fix - Using WC function before checking exists causes fatal error.
+
+= 3.0.6 - 2016-11-09 =
+* Fix - When adding declined cards, fatal error is thrown.
+* Fix - After a failed/declined process, valid cards are not accepted.
+* Fix - When paying via pay order page/link, billing info is not sent.
+* Fix - Account for all types of errors for proper localization.
+* Fix - Correctly reference Stripe fees/net based on Stripe account locale.
+* Fix - Bitcoin image not showing.
+* New - Introduce "wc_gateway_stripe_process_payment_error" action hook.
+* New - Introduce "wc_gateway_stripe_process_payment" action hook.
+
+= 3.0.5 - 2016-11-03 =
+* Fix - Previous upload of files didn't take. Retry.
+
+= 3.0.4 - 2016-09-28 =
+* Fix - Missing min files.
+
+= 3.0.3 - 2016-09-27 =
+* Fix - Remove bitcoin icon when not using Stripe Checkout mode as it is not supported.
+* Fix - Failed payment order was not sending email to admin.
+* Fix - Saved card option was not being honored.
+* New - Filter for WC_Payment_Gateway_CC::wc_stripe_generate_payment_request return value.
+* New - Filter to disallow prepaid cards. "wc_stripe_allow_prepaid_card".
+* New - Filter to require billing address on Stripe Modal Checkout. "wc_stripe_checkout_require_billing_address".
+* New - Localized Stripe error messages.
+
+= 3.0.2 - 2016-06-14 =
+* Fix - Set empty array as default value for first argument in WC_Stripe_Customer::create_customer
+* Tweak - Update default title to make it consistent with existing titles
+
+= 3.0.1 - 2016-06-08 =
+* Backwards compatibility update to prevent error finding WC_Payment_Token_CC.
+* Added inline validation of keys.
+
+= 3.0.0 - 2016-06-07 =
+* First public WordPress.org release.
+* Refactor for WC 2.6 and above. Legacy support for 2.5.
+* Improved saved card handling using tokenization API in WooCommerce.
+
+= 2.6.12 - 2016-04-13 =
+* Fix - When saved cards option is enabled with no cards on file, CC field was hidden.
+
+= 2.6.11 - 2016-04-11 =
+* Add - Option to set a default card in manage card section and detect previous card paid by subscription.
+* Fix - Admin notice link when key is not added and when addons are present.
+
+= 2.6.10 - 2016-03-16 =
+* Tweak - Add logging mechanism. New 'Logging' option is added in Stripe gateway setting to enable logging.
+* Fix - Allow language files to be located outside of plugin directory
+
+= 2.6.9 - 2016-02-29 =
+* Tweak - Allow mechanism to override Stripe JS error handler. See https://gist.github.com/gedex/240492f479c7443e4780
+  for an example to override error handler with simple alert.
+
+= 2.6.8 - 2016-02-11 =
+* Tweak - Include card brand in saved cards radio label class
+* Tweak - Add action when deleting card
+* Tweak - Add actions for add_card and add_customer
+* Tweak - Add support for automatic localisation in Stripe Checkout modal
+* Fix - Check for Stripe error code emptiness before returning the WP_Error
+
+= 2.6.7 - 2015-12-17 =
+* Fix is_available SSL check to also work properly on hosts that always serve HTTPS
+
+= 2.6.6 - 2015-12-03 =
+* Fix a JavaScript bug introduced in 2.6.4 that caused checkout with a saved card to fail
+
+= 2.6.5 - 2015-12-02 =
+* Do not require a card id when updating a subscription payment method
+
+= 2.6.4 - 2015-11-20 =
+* Fix a JavaScript bug that caused the Stripe Checkout popup to be blocked on Chrome for iOS
+
+= 2.6.3 - 2015-11-12 =
+* Add metadata to subscription payments in stripe dashboard to indicate whether it is the initial or a recurring payment
+
+= 2.6.2 - 2015-11-06 =
+* Fix bug that would cause multiple subscriptions to not be supported under certain circumstances
+
+= 2.6.1 - 2015-09-15 =
+* Unset source if not set during pre-order release payments.
+* Store customer ID if not logged in for pre-order payments.
+
+= 2.6.0 - 2015-09-02 =
+* Subscriptions 2.0 support.
+
+= 2.5.4 - 2015-08-11 =
+* Tweak - Terms and conditions error styling when required
+* Tweak - Account password error styling when required
+
+= 2.5.3 - 201-.7-28 =
+* Added - Filter to prevent Stripe from sending its own receipts "wc_stripe_send_stripe_receipt"
+
+= 2.5.2 - 2015-07-19 =
+* Fix - Removed deprecated add_error function
+* Tweak - Improve error message when Stripe checkout function is used
+
+= 2.5.1 - 2015-07-01 =
+* Fix - Only send receipt_email when set.
+
+= 2.5.0 - 2015-05-11 =
+* Update to API version 2015-04-07
+* Feature - Support authorize on subscriptions first payment.
+* Tweak - Option labels.
+* Tweak - Safe remote GET.
+* Tweak - SSLVerify true.
+* Tweak - Update card icons.
+* Tweak - Pass receipt email.
+
+= 2.4.3 - 2015-05-11 =
+* Fix - fixed validation issue when account creation is not checked
+* Update - Stripe checkout JS API v2
+
+= 2.4.2 - 2015-03-23 =
+* Fix - Create account password field was not being validated
+
+= 2.4.1 - 2015-03-20 =
+* Fix - Undefined JS error due to deprecated ajax_loader_url
+* Fix - When using Stripe checkout JS, some form required fields were not validating
+
+= 2.4.0 - 2015-02-20 =
+* Added support for bitcoin currency
+
+= 2.3.0 - 2015-01-31 =
+* Added 'wc_stripe_description' filter to allow filtering of payment description.
+* Added order_review handling for stripe checkout.
+* Mark order as failed is Stripe API call fails
+* Allow valid HTML in Stripe Description
+* Fix settings link
+* use get_order_currency() when generating payment args, rather than always using store currency.
+* Fix fees where not logged correctly when using authorized first capture later
+* Retry payment if customer_id is invalid.
+
+= 2.2.8 - 2014-11-21 =
+* Save card/customer id for regular orders.
+
+= 2.2.7 - 2014-11-20 =
+* Fixed all instances where order IDs were used instead of user IDs.
+* Update orignal order card/customer ids for renewals.
+* Add reasons to refunds.
+
+= 2.2.6 - 2014-11-18 =
+* Stripe card ID should be taken from the order, not the user.
+* Fix order_meta_query.
+
+= 2.2.5 - 2014-11-06 =
+* Round totals to 2 decimals so when we multiply by 100 we're sure we've got an integer.
+
+= 2.2.4 - 2014-10-01 =
+* Fix card display for subscriptions.
+
+= 2.2.3 - 2014-10-01 =
+* Fixed textdomain name
+
+= 2.2.2 - 2014-09-23 =
+* Set API version to 2014-09-08.
+* Fixed card display (type->brand).
+
+= 2.2.1 - 2014-09-15 =
+* Fix strict standards warning.
+
+= 2.2.0 - 2014-09-01 =
+* Replaced woocommerce_get_template (deprecated) with wc_get_template.
+* Tweak refund support.
+* Support for pre-orders.
+* Fixed typo.
+
+= 2.1.0 - 2014-08-06 =
+* Associate stripe customers with wp users.
+* Refactored saved card code.
+* Use Stripe API to get and delete saved cards.
+* Updated subscriptions integration for saved cards.
+* WC 2.2 - Store transaction ID.
+* WC 2.2 - Refund support.
+
+= 2.0.4 - 2014-07-31 =
+* Tweaked the stripe checkout submission method.
+
+= 2.0.3 - 2014-07-25 =
+* wc_stripe_manage_saved_cards_url filter.
+* Zero decimal currency handling.
+* Only open stripe model when required fields are completed.
+
+= 2.0.2 - 2014-06-06 =
+* Fix use of saved cards on subscriptions.
+
+= 2.0.1 - 2014-05-29 =
+* Fix ajax loading gif.
+* Fix notices.
+* Fix stray comma in stripe.js.
+* Prompt user to accept terms before showing stripe checkout modal.
+
+= 2.0.0 - 2014-05-21 =
+* Added the WC credit_card_form - this extension now requires WC 2.1+
+* Option to disable saved cards
+* Refactored code base
+* Fix jquery notices
+* Fix settings page links
+* woocommerce_stripe_request_body filter
+* Store fees for subscriptions
+
+= 1.8.6 - 2014-05-20 =
+* correct SSl message
+* decode get_bloginfo( 'name' ) for plain text display
+
+= 1.8.5 - 2014-05-10 =
+* Updated textdomains
+* date_i18n
+* Improve stripe checkout flow - pop up on the checkout button click
+
+= 1.8.4 - 2014-04-01 =
+* Fix updating credit card used for future subscription payments when paying for a failed subscription renewal order with a new credit card.
+
+= 1.8.3 - 2014-02-13 =
+* Fix fatal error for subscription payments of deleted products.
+
+= 1.8.2 - 2014-02-06 =
+* Fix notice on card delete
+
+= 1.8.1 - 2014-01-28 =
+* set default for $checked
+
+= 1.8.0 - 2014-01-08 =
+* Checked compatibility with 2013-12-03 API
+* 2.1 compatibility
+* Pre-filled email address when using stripe checkout
+
+= 1.7.6 - 2013-12-02 =
+* Fix card display
+
+= 1.7.5 - 2013-11-27 =
+* Show payment method for subscriptions on account page
+
+= 1.7.4 - 2013-11-20 =
+* Expand/close when using saved cards.
+* Use balance_transaction to get and store fees
+
+= 1.7.3 - 2013-11-01 =
+* Default to saved card
+
+= 1.7.2 - 2013-11-01 =
+* Added missing global in update_failing_payment_method
+
+= 1.7.1 - 2013-09-28 =
+* Remove non-existant (yet) function
+
+= 1.7.0 - 2013-09-25 =
+* Different credit card image for US than for other countries + a filter.
+* Support for upcoming version of subscriptions.
+* Add new woocommerce_stripe_month_display filter
+
+= 1.6.0 - 2013-09-02 =
+* Option to define a Stripe Checkout Image
+* Removed currency check due to beta rollout
+
+= 1.5.14 - 2013-08-12 =
+* New cards format for subscriptions class.
+
+= 1.5.13 - 2013-07-24 =
+* Updated customer response object handler to work with new cards format.
+* Fixed delete card button
+
+= 1.5.12 - 2013-07-24 =
+* EUR support for Stripe Beta
+
+= 1.5.11 - 2013-07-17 =
+* Workaround for stripe error messages.
+
+= 1.5.10 - 2013-06-28 =
+* Store charge ID, fee in meta
+
+= 1.5.9 - 2013-06-28 =
+* Capture true default
+
+= 1.5.8 - 2013-06-18 =
+* Add currency to stripe checkout js
+* Authorize-only mode. Captures payment when order is made processing.
+
+= 1.5.7 - 2013-06-15 =
+* Added 'capture' option should you wish to authorize only. Authorized orders are on-hold. Processed orders capture the charge automatically.
+
+= 1.5.6 - 2013-06-03 =
+* added data-currency to stripe-checkout
+
+= 1.5.5 - 2013-04-26 =
+* Allow card re-entry in stripe checkout after errors.
+
+= 1.5.4 - 2013-04-19 =
+* GBP fix
+
+= 1.5.3 - 2013-04-15 =
+* Support GBP currency code (For UK Beta)
+
+= 1.5.2 - 2013-04-09 =
+* Send billing city to stripe
+
+= 1.5.1 - 2013-01-24 =
+* Add support for changing a subscription's recurring amount
+
+= 1.5.0 - 2013-01-18 =
+* Supports Stripe Checkout https://stripe.com/docs/checkout
+
+= 1.4.0 - 2013-01-18 =
+* WC 2.0 Compat
+
+= 1.3.5 - 2012-12-05 =
+* Pass address fields to stripe.js on pay page.
+
+= 1.3.4 - 2012-12-05 =
+* Updater
+
+= 1.3.3 - 2012-10-22 =
+* Fix CAD check
+
+= 1.3.2 - 2012-10-15 =
+* Fixed bug causing settings to not show when using CAD
+
+= 1.3.1 - 2012-10-11 =
+* Add support for changing subscription next payment date
+* Remove order meta from subscription renewal orders
+
+= 1.3 - 2012-09-20 =
+* Allowed canadian dollars - Stripe is beta testing support for Canada
+
+= 1.2.1 - 2012-09-11 =
+* Fix text mode SSL logic
+
+= 1.2 - 2012-09-01 =
+* SSL not required in TEST MODE
+* Saved cards - store customer tokens and let users pay again using the same card
+* Subscriptions use a single customer, rather than per-order
+* Only load JS on checkout
+
+= 1.1 - 2012-06-19 =
+* Update woo updater
+* Class name update
+* Stripe JS for added security - you will need to re-enter keys and ensure you are using WooCommerce 1.5.8
+* Subscriptions support (requires WC Subscriptions addon)
+
+= 1.0 - 2011-12-08 =
+* First Release
