=== Easy Digital Downloads ===
Author URI: https://pippinsplugins.com
Plugin URI: https://easydigitaldownloads.com
Contributors: mordauk, sunnyratilal, chriscct7, section214, sumobi, sdavis2702, cklosows, mindctrl, topher1kenobe, sksmatt, SpencerFinnell
Donate link: https://pippinsplugins.com/support-the-site
Tags: download, downloads, e-store, eshop, digital downloads, e-downloads, ecommerce, e commerce, e-commerce, selling, wp-ecommerce, wp ecommerce, mordauk, Pippin Williamson, pippinsplugins
Requires at least: 3.9.2
Tested up to: 4.3

Stable Tag: 2.4.3

License: GNU Version 2 or Any Later Version

Sell digital downloads through WordPress with this complete digital downloads management plugin

== Description ==

Easy Digital Downloads is a complete e-commerce solution for selling digital products in a light, performant, and easy to use plugin. Rather that attempting to provide every feature under the sun, Easy Digital Downloads makes selling digital simple and complete by providing just the features you need.

Features of the plugin include:

* Cart system for purchasing multiple downloads at once
* Complete promotional code system
* Many payment gateways. PayPal, Amazon, Test Payments are included by default with Stripe, PayPal Pro, PayPal Express, and others available as [extensions](https://easydigitaldownloads.com/blog/extensions/categories/gateways/?utm_source=gateways&utm_medium=description_tab&utm_content=gateways&utm_campaign=readme)
* Complete payment history
* User purchase history and ability to redownload files
* Multiple files per downloadable product
* Variable prices for multiple price options per product
* Bundled products
* Customizable purchase receipts
* Earnings and sales charts
* Detailed purchase and file download logs
* Data export options for CSV and PDF
* Add functionality with many [extensions](https://easydigitaldownloads.com/downloads/?utm_source=extensions&utm_medium=description_tab&utm_content=extensions&utm_campaign=readme)
* Developer friendly with dozens of actions and filters. [View Codex](https://easydigitaldownloads.com/codex/index.html)

More information at [Easy Digital Downloads.com](https://easydigitaldownloads.com/?utm_source=home&utm_medium=description_tab&utm_content=home&utm_campaign=readme).

[youtube https://www.youtube.com/watch?v=japHPcIFs4I]

**Follow this plugin on [GitHub](https://github.com/easydigitaldownloads/Easy-Digital-Downloads)**

**Sell and Track Software License Keys**

[Software Licensing](https://easydigitaldownloads.com/downloads/software-licensing/?utm_source=extension&utm_medium=description_tab&utm_content=software-licensing&utm_campaign=readme) for Easy Digital Downloads provides a complete license key generation, activation, and checking system. It allows you to provide license keys along with your digital products that can then be used to properly license and activate the buyer’s copy of the software.

Includes a complete integration pack for delivering automatic upgrades for premium WordPress plugins and themes.

**Build Up Your Email Subscribers**

With extensions for [MailChimp](https://easydigitaldownloads.com/downloads/mail-chimp/?utm_source=extension&utm_medium=description_tab&utm_content=mail-chimp&utm_campaign=readme), [Campaign Monitor](https://easydigitaldownloads.com/downloads/campaign-monitor/?utm_source=extension&utm_medium=description_tab&utm_content=campaign-monitor&utm_campaign=readme), and [AWeber](https://easydigitaldownloads.com/downloads/aweber/?utm_source=extension&utm_medium=description_tab&utm_content=aweber&utm_campaign=readme), [Wysija](https://easydigitaldownloads.com/downloads/wysija/?utm_source=extension&utm_medium=description_tab&utm_content=wysija&utm_campaign=readme), [ActiveCampaign](https://easydigitaldownloads.com/downloads/active-campaign/?utm_source=extension&utm_medium=description_tab&utm_content=active-campaign&utm_campaign=readme), [iContact](https://easydigitaldownloads.com/downloads/icontact/?utm_source=extension&utm_medium=description_tab&utm_content=icontact&utm_campaign=readme), [Constant Contact](https://easydigitaldownloads.com/downloads/constant-contact/?utm_source=extension&utm_medium=description_tab&utm_content=constant-contact&utm_campaign=readme), and more, Easy Digital Downloads can easily grow your email subscription lists while making you money at the same time.

**Languages**

Easy Digital Downloads has been translated into the following languages:

1. English (and British English)
2. German
3. Spanish
4. French
5. Italian
6. Dutch
7. European Portuguese
8. Brazilian Portuguese
9. Turkish
10. Arabic
11. Polish
12. Russian
13. Czech
14. Japanese
15. Farsi
16. Finnish
17. Hebrew
18. Persian
19. Finnish
20. Slovak
21. Swedish
22. Romanian
23. Hungarian
24. Norwegian
25. Khmer
26. Lithuanian

Would you like to help translate the plugin into more languages? [Join our WP-Translations Community](https://www.transifex.com/projects/p/easy-digital-downloads/).

== Installation ==

1. Activate the plugin
2. Go to Downloads > Settings and configure the options
3. Create Downloadable products from the Downloads page
4. Insert purchase buttons for any download via the "Insert Download" button next the Upload Media buttons
5. For detailed setup instructions, vist the official [Documentation](https://easydigitaldownloads.com/documentation/?utm_source=docs&utm_medium=installation_tab&utm_content=documentation&utm_campaign=readme) page.

== Frequently Asked Questions ==

= How do I Show My Shopping Cart? =

There are three ways you can show the downloads shopping cart:

1. Use the short code and simply place [download_cart] on a page or within a text widget.

2. Use the included widget. Go to Appearance > Widgets and place the "Downloads Cart" widget into any widget area available.

3. Use the template tag and place the following the template file of your choosing:

`echo edd_shopping_cart();`

4. Is there a sample import file I can use to setup a demo store?

Yes! Simply go to Tools > Import and install the WordPress Importer, then navigate to wp-content/plugins/easy-digital-downloads/assets/ and select the sample-products-import.xml file. This will create several sample products and plugin pages for you.

= My Payments Marked as Pending =

There are several reasons this happens. Please follow the suggestions [here](https://easydigitaldownloads.com/documentation/faqs/?utm_source=docs&utm_medium=faq_tab&utm_content=faqs&utm_campaign=readme).

= Getting a 404 error? =

To get rid of the 404 error when viewing a download, you need to resave your permalink structure. Go to Settings > Permalinks and click "Save Changes".

= How do I Show the User's Purchase History? =

Place the [purchase_history] short code on any page.

If you want to just show a list of the files the user has purchased, use the [download_history] short code instead.

= Can I Setup an Affiliate System? =

Yes! EDD integrates directly with several affiliate platforms that provide complete affiliate systems you can use to award commissions to your affiliate marketers.

[Checkout AffiliateWP](https://affiliatewp.com?utm_source=edd_readme&utm_medium=faq_tab&utm_content=home&utm_campaign=readme)

= Can I give my customers downloadable PDF Invoices? =
Yes, EDD has an extension that allows for downloadable invoices to be generated for each payment.

[PDF Invoices](https://easydigitaldownloads.com/downloads/pdf-invoices/?utm_source=pdf-invoices&utm_medium=faq_tab&utm_content=pdf-invoices&utm_campaign=readme)

= Can Users Purchase Products without Using PayPal? =

Yes, through the addition of one or more of the add-on payment gateways, you can accept payments in many different ways. The add-on gateways currently available:

* [Stripe](https://easydigitaldownloads.com/downloads/stripe-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=stripe-payment-gateway&utm_campaign=readme)
* [Recurly](https://easydigitaldownloads.com/downloads/recurly-com-checkout/?utm_source=gateway&utm_medium=faq_tab&utm_content=recurly-com-checkout&utm_campaign=readme)
* [Authorize.net](https://easydigitaldownloads.com/downloads/authorize-net-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=authorize-net-gateway&utm_campaign=readme)
* [Google Wallet](https://easydigitaldownloads.com/downloads/google-checkout/?utm_source=gateway&utm_medium=faq_tab&utm_content=google-checkout&utm_campaign=readme)
* [Moneybookers / Skrill](https://easydigitaldownloads.com/downloads/moneybookers-skrill-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=moneybookers-skrill-payment-gateway&utm_campaign=readme)
* [2Checkout](https://easydigitaldownloads.com/downloads/2checkout-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=2checkout-gateway&utm_campaign=readme)
* [PayPal Pro/Express](https://easydigitaldownloads.com/downloads/paypal-pro-express/?utm_source=gateway&utm_medium=faq_tab&utm_content=paypal-pro-express&utm_campaign=readme)
* [PayPal Adaptive Payments](https://easydigitaldownloads.com/downloads/paypal-adaptive-payments/?utm_source=gateway&utm_medium=faq_tab&utm_content=paypal-adaptive-payments&utm_campaign=readme)
* [GoCardless](https://easydigitaldownloads.com/downloads/gocardless-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=gocardless-payment-gateway&utm_campaign=readme)
* [Amazon FPS](https://easydigitaldownloads.com/downloads/amazon-fps-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=amazon-fps-payment-gateway&utm_campaign=readme)
* [Payza](https://easydigitaldownloads.com/downloads/payza-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=payza-payment-gateway&utm_campaign=readme)
* [Paymill](https://easydigitaldownloads.com/downloads/paymill-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=paymill-payment-gateway&utm_campaign=readme)
* [MOLPay](https://easydigitaldownloads.com/downloads/molpay-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=molpay-payment-gateway&utm_campaign=readme)
* [MercadoPago](https://easydigitaldownloads.com/downloads/mercadopago/?utm_source=gateway&utm_medium=faq_tab&utm_content=mercadopago&utm_campaign=readme)
* [NoChex](https://easydigitaldownloads.com/downloads/nochex-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme)
* [Recurly.com](https://easydigitaldownloads.com/downloads/recurly-com-checkout/?utm_source=gateway&utm_medium=faq_tab&utm_content=recurly-com-checkout&utm_campaign=readme)
* [Network Merchants](https://easydigitaldownloads.com/downloads/network-merchants-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=network-merchants-gateway&utm_campaign=readme)
* [Direct One](https://easydigitaldownloads.com/downloads/direct-one/?utm_source=gateway&utm_medium=faq_tab&utm_content=direct-one&utm_campaign=readme)
* [Moneris Solutions](https://easydigitaldownloads.com/downloads/moneris-solutions-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=moneris-solutions-gateway&utm_campaign=readme)
* [My Virtual Merchant](https://easydigitaldownloads.com/downloads/my-virtual-merchant/?utm_source=gateway&utm_medium=faq_tab&utm_content=my-virtual-merchant&utm_campaign=readme)
* [NAB](https://easydigitaldownloads.com/downloads/6038/?utm_source=gateway&utm_medium=faq_tab&utm_content=nab&utm_campaign=readme)
* [Mijireh](https://easydigitaldownloads.com/downloads/mijireh-checkout/?utm_source=gateway&utm_medium=faq_tab&utm_content=mijireh-checkout&utm_campaign=readme)
* [eWay](https://easydigitaldownloads.com/downloads/eway-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=eway-gateway&utm_campaign=readme)
* [Check](https://easydigitaldownloads.com/downloads/check-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=check-payment-gateway&utm_campaign=readme)
* [PagSeguro](https://easydigitaldownloads.com/downloads/pagseguro-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=pagseguro-payment-gateway&utm_campaign=readme)
* [Beanstream](https://easydigitaldownloads.com/downloads/beanstream-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=beanstream-payment-gateway&utm_campaign=readme)
* [Quickbooks](https://easydigitaldownloads.com/downloads/quickbooks/?utm_source=gateway&utm_medium=faq_tab&utm_content=quickbooks&utm_campaign=readme)
* [PayFast](https://easydigitaldownloads.com/downloads/payfast-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=payfast-payment-gateway&utm_campaign=readme)
* [WorldPay](https://easydigitaldownloads.com/downloads/worldpay-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=worldpay-gateway&utm_campaign=readme)
* [Payment Express](https://easydigitaldownloads.com/downloads/payment-express-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=payment-express-gateway&utm_campaign=readme)
* [BitPay](https://easydigitaldownloads.com/downloads/bitpay-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=bitpay-payment-gateway&utm_campaign=readme)
* [ClickBank](https://easydigitaldownloads.com/downloads/clickbank-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=clickbank-gateway&utm_campaign=readme)
* [Braintree](https://easydigitaldownloads.com/downloads/braintree-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=braintree-gateway&utm_campaign=readme)
* [Dwolla](https://easydigitaldownloads.com/downloads/dwolla/?utm_source=gateway&utm_medium=faq_tab&utm_content=dwolla&utm_campaign=readme)
* [Realex](https://easydigitaldownloads.com/downloads/realex-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=realex-gateway&utm_campaign=readme)
* [PayTrace](https://easydigitaldownloads.com/downloads/paytrace/?utm_source=gateway&utm_medium=faq_tab&utm_content=paytrace&utm_campaign=readme)
* [iPay88](https://easydigitaldownloads.com/downloads/ipay88-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=ipay88-gateway&utm_campaign=readme)
* [First Data](https://easydigitaldownloads.com/downloads/first-data-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=first-data-payment-gateway&utm_campaign=readme)

== Screenshots ==

1. Download products overview
2. Download configuration
3. Download configuration details
4. Payment History
5. Payment details
6. Discount codes
7. Earnings and sales reports
8. Add to cart / purchase button
9. Checkout screen

== Changelog ==

= 2.4.3, August 18, 2015 =

* Tweak: Added new action hooks to the Sales Summary widget
* Tweak: Added new action hook that fires when an item is removed from a payment record
* Tweak: Updated logo on PDF reports
* Tweak: Updated logo on welcome screen
* Tweak: Improved order of operations when updating discount codes
* Tweak: Amazon Payments Address widget is hidden on reload when a charge is declined
* Tweak: Only show address widget for Amazon Payments when taxes are enabled
* Tweak: Update Amazon Payment registration URLs for EU and DE
* Tweak: Retrieve complete billing address from Amazon
* Tweak: Updated language files
* Fix: Profile editor missing P tag when user is logged out
* Fix: Email headers should only be added if header text is set
* Fix: Undefined index "plugin"
* Fix: Sale log entries not deleted when purchase is refunded
* Fix: Preset discount code logic tries to run when bulk deleting discount codes
* Fix: Adding ?discount={code} to static home page URL causes blog page to be shown
* Fix: Ensure we have a user before trying to get purchase history
* Fix: Properly format decimals for HUF currency
* Fix: Prevent fatal errors when entering invalid date in start/end date of payment history
* Fix: Removed unused function edd_add_ons_init()
* Fix: Prevent multiple batch processes from being started at the same time
* Fix: Re-instantiate Chosen when cloning a repeatable row with a Chosen field
* Fix: Variable typo in edd_is_admin_page()
* Fix: Customer name not stored properly if three names are entered when purchasing through Amazon Payments
* Fix: Sales report column fails does not work for guest customers
* Fix: direct="true" does not work properly if price_id="1" is also set
* Fix: Products without a title cannot be purchased through PayPal

= 2.4.2, July 13, 2015 =

* Tweak: Allow filtering the ajax user search
* Tweak: Send first_name and last_name to PayPal
* Tweak: edd_filter_success_page_content() not run early enough
* Tweak: URLs to remove fees and items should not be caught by caching
* Tweak: Improve batch exporter extensibility
* Tweak: Add ABSPATH check to Amazon gateway files
* Fix: Multiple tax rates with same id in taxes settings
* Fix: Clarified opt-in messaging
* Fix: Microdata wrapper showing in sidebar
* Fix: Excerpt missing from products API Endpoint
* Fix: Customer search not working with name or email in API
* Fix: Invalid markup on profile editor save
* Fix: API Key fields caused fatal error when viewed in front end profile editors
* Fix: Invalid 'for' attribute in username label for login shortcode
* Fix: Correct edd_listen_for_failed_payments() sending post id, not WP_Post object
* Fix: Fix tax state not saving when text field

= 2.4.1, July 2, 2015 =

* Tweak: Updated Language Files
* Fix: edd_get_gateway_admin_label() should use edd_get_payment_gateways()
* Fix: Payment email in payments list table pulled from User Info, should be pulled from payment info
* Fix: Manually added items to an order always get a price of $0.00
* Fix: Improve Customer View CSS
* Fix: Select Payment Method shown incorrectly when only one gateway is enabled
* Fix: API Security Fix

= 2.4, June 30, 2015 =

* New: Added support for Amazon Login and Pay
* New: Added Earnings by Category report
* New: Added batch processing to data export for handling large amounts of data
* New: Added versioning to the REST API
* New: Added a filter to disable redirect to checkout on per-download basis
* New: Added method for extensions to pre-fill customer details on checkout
* New: Added helper functions for verifying credit / debit card numbers
* New: Added date range options to payment and file download history exports
* New: Added options to control the text shown on Buy Now buttons
* New: Added an action to the cart item title column
* New: Added an action to the Actions column of the cart
* New: Added standardized classes for error, notice, and alert messages
* New: Added date_field() method to EDD_HTML_Elements class
* New: Added filters for the From Address for admin sale notifications
* Tweak: Improved performance of user validation in the REST API
* Tweak: Improved edd_is_admin_page() helper function for detecting when on specific EDD admin pages
* Tweak: Stylesheets are now registered before enqueueed
* Tweak: Moved Test Mode option to the Payment Gateways tab
* Tweak: Earnings and sales states now incremented while in Test Mode
* Tweak: Download Details widget now properly respects taxonomy labels
* Tweak: Improved customer count functions in the REST API
* Tweak: Default gateway now shows as first gateway on checkout
* Tweak: Purchase link shortcode now shown in the Download Settings meta box
* Tweak: edd_recalculate_taxes() now includes a raw amount in the response
* Tweak: Customer export is now standarized for all export options
* Tweak: Sequential order numbers improved to protect against race conditions
* Fix: Opt-in tracking accidentally enabled for all installs
* Fix: Minor security flaw with gateway selection on checkout
* Fix: Symlink file downloads option gets hidden after reload
* Fix: Undefined index error with banned emails
* Fix: Notices thrown when logging API requests
* Fix: Customer email not updated when associated user account's email is updated
* Fix: Incorrect for attribute on checkout's password field
* Fix: edd_items_in_cart cookie disables cache improperly
* Fix: API keys are difficult to select on mobile
* Fix: Tools tab displays poorly on mobile
* Fix: Buy Now buttons not properly setting item quantity through PayPal
* Fix: December month data is plotted in January when viewing custom date range
* Fix: Double error message when entering discount code that has already been used

= 2.3.9, May 25, 2015 =

* Fix: Variable price assignment options get removed from download when deleting file row
* Fix: Pagination container still shown when no pagination is needed
* Fix: Airplane Mode load order can cause problems
* Fix: Rewrites hard flushed during activation instead of soft flushed
* Fix: Log records not recording post_date_gmt
* Fix: Slashes not stripped from customer name in Customer Details view
* Fix: "Apply to whole country" tax setting not saved on first save
* Fix: Trashed downloads can be purchased with custom add to cart URLs
* Tweak: Added filters to join and where clauses in edd_count_payments()
* Tweak: Improved logic and flexibility for Products endpoint of the REST API


= 2.3.8, April 27, 2015 =

* Fix: Customer stats incrementing with attaching payment to customer, if payment is already attached
* Fix: edd_get_file_download_method called too late during download process
* Update: Translations Updated
* Tweak: Improvements to the EDD Extensions page
* Tweak: Corrections and updates to readme.txt

= 2.3.7, April 20, 2015 =

* Fix: XSS security flaw

= 2.3.6, April 8, 2015 =

* Fix: Correct issue with non-day-by-day reporting calculating earnings & sales incorrectly
* Fix: Payment Tax backwards compatibility not working correctly
* Fix: Always set the data-price attribute, even when price is excluded from purchase button
* Fix: Prevent New Download Draft by using explicit create method in EDD_Download
* Fix: Hours/Minutes on Order Details truncating leading zeros
* Tweak: Increase the Total Price and Tax input widths on order details

= 2.3.5, March 24, 2015 =

* Fix: Make home_url consistently unslashed in token generation
* Fix: Better checks in edd_get_payment_tax()
* Tweak: Allow clearing of edd_doing_upgrade

= 2.3.4, March 20, 2015 =

* Fix: Cannot add new tax rates
* Fix: Airplane mode plugin v0.1.1 causes fatal error
* Fix: Completed payments can sometimes be marked as abandoned improperly
* Fix: Cart widget items not fully removed when clicking Remove
* Fix: Incorrect price assignment for files when creating new Download products

= 2.3.3, March 18, 2015 =

* Fix: Minor SQL injection issue in the Customers DB class
* Fix: All purchase buttons for a product displayed on a page change to Checkout incorrectly when one is clicked
* Fix: Customer dropdown on View Order Details improperly shows first customer in the list when no customer is attached
* Fix: Mixed-content notice on the checkout page for sites with SSL
* Fix: Incorrect price ID gets added to the cart when multiple purchase buttons are placed on the same page with the price_id parameter
* Fix: Removed Yugoslavia from the country list since it is not a country anymore
* Fix: Quantity field not shown on purchase buttons with the [purchase_link] short code
* Tweak: Automatically disable buy now buttons when taxes are enabled since they do not support taxes
* Tweak: Automatically disable the edd_test_ajax_works() test if the Airplane Mode plugin is enabled
* Tweak: Updated translation files for many languages

= 2.3.2, March 14, 2015 =

* Fix: Slow performance in admin area due to edd_test_ajax_works() function

= 2.3.1, March 13, 2015 =

* Fix: File download limits not limiting the number of downloads allowed per payment
* Fix: Microdata improperly added to page titles and content
* Fix: Customer records cannot be deleted
* Fix: Upgrade notices shown unnecessarily on new installs

= 2.3, March 11, 2015 =

* New: Improved customer management interface
* New: Added support for adding multiple prices IDs to the cart with a single add to cart command
* New: Introduced edd_update_option() and edd_delete_option() functions
* New: Payments that remain pending in PayPal will now record a reason in the Payment Notes section
* New: Adding / removing Download products from payment records now properly updates sale and earnings stats
* New: Introduced signed URLs for more secure file download links
* New: Introduced {ip_address} email template tag
* New: Introduced EDD_Customer class for interacting with customer records
* New: Introduced WP CLI command to create sample customers
* New: Introduced edd_purchase_form_user_info_fields hook
* New: Introduced edd_purchase_form_user_register_fields hook
* New: Introduced edd_download_after_thumbnail hook
* New: Introduced edd_download_after_title hook
* New: Introduced edd_download_after_content hook
* New: Introduced edd_download_after_price hook
* New: Introduced edd_before_purchase_history hook
* New: Introduced edd_after_purchase_history hook
* New: Introduced edd_email_show_links filter
* New: Updated translation files for numerous languages
* New: Introduced EDD_Notices class for handling admin notices
* Tweak: Buy Now buttons should revert to Add to Cart if no compatible gateway is activated
* Tweak: Improved PHPDoc for many existing functions and classes
* Tweak: First input field in repeatable files / prices fields receive input focus when adding a new row
* Tweak: Added line breaks to edd.css file in favor of single-line rules
* Tweak: Improved performance of edd_get_users_purchases() by querying the customer table directly
* Tweak: Dashboard sales / earnings widget is now loaded via Ajax to improve performance
* Tweak: PayPal payments made through Buy Now buttons do not show up
* Tweak: Removed the "You must have at least one file" alert when deleting file rows
* Tweak: Improved text alignment in repeatable file / price rows
* Tweak: Updated HTTP Protocal version in PayPal Standard gateway
* Tweak: Improved support for Polylang plugin
* Tweak: Improved standards throughout EDD for usage of edd_get_option()
* Tweak: Added option to prevent empty settings in the rich_editor callback function
* Tweak: Removed dependency on base64_encode/decode functions
* Tweak: Notice now displayed NGINX users to alert them of missing protection for file downloads
* Tweak: Improved quantity / price display for items in the cart widget
* Tweak: Bundles should not be included in the product search when adding items to a bundle
* Tweak: Improved earnings / sales stats tracking for products to avoid race conditions
* Tweak: Improved performance for edd_get_sales_tax_for_year()
* Fix: Yesterday view for reports and REST API fails when on the first day of the month
* Fix: EDD_Download class missing default properties from WP_Post
* Fix: Removed unused function calls in PDF reports and upgrade functions
* Fix: Deprecated edd_get_cart_subtotal() function called with too many arguments
* Fix: edd_get_cart_item_price() function called with too many arguments
* Fix: edd_remove_item_url() function called with too many arguments
* Fix: Improper start_date declaration in CLI class
* Fix: Missing variable declaration in EDD_SL_Plugin_Updater class
* Fix: Undefined variable $download in CLI clas
* Fix: Rounding error when prices are inclusive of tax
* Fix: Sale / Earnings stats improperly adjusted when Test Mode is enabled
* Fix: Discount codes are validated improperly when the product requirements are not meant
* Fix: CVC field allows more than 4 digits
* Fix: In-browser receipt page is a mess on Twenty Fifteeen theme
* Fix: exclude_categories and exclude_tags parameters not working properly in [downloads] short code
* Fix: Cross-domain download files get corrupted on NGINX servers
* Fix: Instantiating EDD_Payment_Stats without a date triggers an error
* Fix: File size not displayed when download files
* Fix: Undefined index notice in REST API
* Fix: Missing Download ID check in the Sales Log table
* Fix: Update successful messages are wrong when using bulk edit
* Fix: Cart widget items do not show the proper quantity
* Fix: Upgrade routine notices overwrite each other improperly
* Fix: Not all schema metadata removed when schema is disabled
* Fix: Incorrect schema markup
* Fix: Taxes on checkout do not display the taxed amount of fees

= 2.2.8, February 13, 2015 =

* Fix: Permissions error when accessing upgrades screen with DISALLOW_FILE_EDITS defined
* Fix: Shop Accountants are unable to resend purchase receipts
* Fix: PHP warnings on checkout when purchasing an "item" fee
* Fix: Improper application of discount codes that do not have their product requirements meant
* Fix: Buy Now buttons for free products result in error at PayPal.com
* New: Translation file for Argentina Spanish
* Tweak: Updated translation files for most languages

= 2.2.7, January 30, 2015 =

* Fix: Prevent payment records with missing meta data from haulting the upgrade routine introduced in v2.2.6

= 2.2.6, January 29, 2015 =

* Note: This release will ask you to perform an upgrade process on the payments database. It should take approximately 1.5 minutes for every 1000 payment records
* Bug: Price ID improperly logged in the database, making customer export by price option impossible
* Bug: WP_CONTENT_URL does necessarily respect HTTPS URLs causing some file downloads to fail

= 2.2.5, January 27, 2015 =

* Bug: FORCE_SSL_LOGIN incorrectly makes checkout link HTTPS
* Bug: Reports for 'This Month' forced to current year
* Bug: Reverted CSV Seperator to , and escaped values
* Bug: No downloads showing when using category parameter

= 2.2.4, January 24, 2015 =

* New: Introduced edd_global_checkout_script_vars and edd_ajax_script_vars filters for localized javascript variables
* Bug: Strict PHP Standards notice in EDD_Gateway_Error_Log class
* Bug: Category parameter behaves incorrectly for the [downloads] short code
* Bug: Select a Download placeholder on add discount screen saves improperly
* Bug: EDD_Session leaks across sites in multisite installs
* Bug: Incorrect spelling of Indian state names
* Bug: Duplicate array key in country list

= 2.2.3, January 14, 2015 =

* New: Added more hooks to the profile editor template files
* New: Added more country state/provinces to the country dropdown field
* New: Added a JSHint file for WP Coding Standards
* Tweak: Use get_posts() instead of query_posts() in edd_get_*_by() functions
* Tweak: Improved flexibility for EDD()->html->year_dropdown() to support larger year spans
* Tweak: Added NZD currency symbol
* Tweak: Improved support for Polylang plugin via edd_get_option() standardization
* Tweak: Improved unit testing suite
* Tweak: Updated numerous translation files
* Bug: GMT date / time not properly set in date is specified when creating a payment record
* Bug: Items purchased with quantities show incorrectly in sales log table
* Bug: [downloads] pagination not working with default permalinks
* Bug: AND relation acting as an OR relation in [downloads] short code
* Bug: Cart widget items incorrect with variable prices
* Bug: Custom date range reports do not work when crossing year boundaries
* Bug: Yesterday report fails on January 1
* Bug: Missing license declaration from Credit Card validation library
* Bug: loading.gif file does not respect HTTPS
* Bug: Copy Download Link(s) link displayed on non-complete purchases
* Bug: Nested FORM tags on checkout after taxes are recalculated
* Bug: get_the_ID() causing non-object error
* Bug: Discount codes not applied if Apply button is not clicked
* Bug: Default price ID cannot be selected on products created before version 2.2
* Bug: edd_get_current_page_url() returns localhost in HHVM
* Bug: Conflict with 404 Redirected plugin resulting in receipts not being displayed
* Bug: Add to Cart button reappears on refresh with variable prices
* Bug: Profile editor not properly validation user email address on save

= 2.2.2, December 14, 2014 =

* Fix: Extension updates running on every page load of plugins.php when using multisite
* Fix: edd_test_ajax_works() request firing on every page load
* Fix: Incorrect price ID added to the cart when two purchase buttons are on the same page
* Fix: Fatal error when using price_id in the purchase_link short code
* Fix: Shopping cart squished in the Twenty Fifteen theme
* Fix: Removed unused variables in edd_get_register_fields()
* Fix: Incorrect quantity field displayed when a variable priced item with multi-purchase mode enabled is in the vart
* Fix: Invalid HTML markup due to a missing space before a style tag
* Fix: Improper behavior when deleting the last tax rate

= 2.2.1, December 10, 2014 =

* Fix: Fatal error with some sites in the admin area due to an "ajax works" test
* Fix: Improper user capability check for shop upgrades
* Fix: Non-object errors on the in-browser receipt when an invalid payment key is provided
* Fix: Security flaw related to API key verification
* Fix: Undefined index for download quantity during add to cart
* Tweak: Better option description in settings for item quantities

= 2.2, December 9, 2014 =

* New: Transaction IDs can now be linked to the transaction details page in the payment processor (per gateway)
* New: Added a WP CLI command for generating test purchase data
* New: "price_id" parameter introduced for [purchase_link] short code to allow purchasing a single price option
* New: Added support for variable prices to the [edd_price] short code
* New: EDD_Download class to make interacting with Download products easier for theme and extension developers
* New: edd_cart_item_tax_description filter
* New: Purchase buttons can now display a quantity field
* New: EDD_Fees API now supports per-product fees
* Tweak: Improved the Tax settings tab
* Tweak: Improved Scrutinizer configs
* Tweak: Set the default number in [downloads] to 9
* Tweak: Added network-activated plugins to the System Info
* Tweak: Updated payment notes to use new type__not_in parameter available for comments
* Tweak: Removed some calls to deprecated functions for PHP 5.4
* Tweak: Improved the UI of the Product Drop Down
* Tweak: Added a check for Flywheel hosting accounts
* Tweak: Added "Ajax Works" status to the System Info
* Tweak: Changed the insert text for "Insert into post" button
* Tweak: Improved the layout of the View Order Details screen
* Tweak: Only update dashboard summaries when the value has changed
* Tweak: Added proper HTTP error codes to all instances of wp_die()
* Tweak: Improved status and error reporting for extension license keys
* Fix: Expiration dates on discount codes don't save properly if crossing year boundaries
* Fix: Inaccurate total with flat rate discounts
* Fix: Resending purchase receipts for bundles does not properly increment File Download limit
* Fix: "All Downloads" filter enables all downloads even when vendor does not have permission to view them
* Fix: edd_settings_sanitize does not respect all field type specific filters such as edd_settings_sanitize_$type
* Fix: Payments show incorrect currency if the shop currency is changed after the purchase is made
* Fix: Posts pagination breaks on front page if using a static home page
* Fix: Item amounts in View Order Details not always respecting currency seperator
* Fix: No default price option if the original price option is deleted
* Fix: Tax column in the CSV export does not respect decimal formatting options
* Fix: ".htaccess missing" error message shown to all users, not just admins
* Fix: Item quantity boxes squashed on checkout with the Twenty Fourteen theme
* Fix: Incorrect price option selected when price option is free
* Fix: Downloads admin menu label blank when using Arabic
* Fix: Flat rate discounts can cause item amounts to be negative
* Fix: Link to mobile app in Payment History incorrect
* Fix: Recalculation amounts in View Order Details can generate incorrect results
* Fix: PHP notices from CREATE SQL passed to dbDelta()
* Fix: Impropoer cart amounts when attempting to set a cart discount programmattically that does not exist
* Fix: .zip files being downloaded without .zip extension due to file-download attribute
* Fix: .card-type class not updated during .change() event

= 2.1.10, December 4, 2014 =

* Fix: An important security flaw with discount codes

= 2.1.9, October 29, 2014 =

* Fix: Extension update checks were running on every page load, causing significant performance problems

= 2.1.8, October 28, 2014 =

* Fix: Incorrect item amounts displayed on the purchase confirmation page when prices are inclusive of tax
* Fix: Discount Invalid error message getting erroneously displayed on checkout when using a preset discount code
* Fix: Invalid CSS comment in minified admin CSS
* Tweak: Updated language files

= 2.1.7, October 20, 2014 =

* Fix: Incorrect currency code comparison in PayPal Standard

= 2.1.6, October 20, 2014 =

* Fix: Do not allow item prices to go negative when using flat rate discounts
* Fix: Pagination doesn't work on /edd-api/customers
* Fix: Do not overwrite existing price IDs when adding, rearranging, and then re-adding price options
* Fix: Compare PayPal currency to the currency in payment meta, not the overall store currency
* Tweak: Improve the display of Download Notes on purchase receipts
* Tweak: Add Today to the default response for /edd-api/stats
* Tweak: Improve checkout CSS to allow some generic HTML elements

= 2.1.5, October 8, 2014 =

* Fix: Flat rate discounts can result in negative amounts in PayPal, causing the purchase to be rejected
* Fix: Cart items that are tax exclusive still display the tax rate
* Fix: console.log() left erroneously in Heartbeat API integration
* Fix: microdata tag was missing from the shortcode-content-price.php template
* Fix: Plugin text domain loaded too early, needed to be done on plugins_loaded
* Fix: Cart fees incorrectly attached to all cart items
* Fix: edd_settings_sanitize filter returning incorrect value
* Fix: HTML encoding issue with email subjects
* Fix: Subtotal should be amount before discounts, not after
* Fix: Incorrect item amount on the Sales log tag
* Fix: Item quantities not displayed on email purchase receipts
* Tweak: Introduced edd_email_tag_bundled_products filter
* Tweak: Pass the payment ID to the edd_get_price_option_name function() calls
* Tweak: Add the price ID to the edd_get_price_option_name filter
* Tweak: Added the transaction ID to the sales endpoint for the REST API
* Tweak: Display the Price ID on each row of variable prices
* Tweak: Verify payment update was successful during edd_update_payment_details

= 2.1.4, September 22, 2014 =

* Fix: New sale notification emails not sending for some users
* Fix: direct="true" not working in the [purchase_link] short code
* Fix: User meta for saved carts not properly cleaned out after a cart is restored
* Fix: SQL errors related to WP Session garbage collection
* Fix: API Request logs table showing log entries from other log types
* Fix: Invalid payment meta data related to special characters in PayPal customer info

= 2.1.3, September 15, 2014 =

* Fix: edd_has_user_purchased() returning true improperly
* Fix: Pre-set discount URL parameter not working reliably
* Fix: Duplicate checkout buttons showing up
* Fix: First price option not checked by default
* Fix: edd_record_sale_in_log() not respecting purchase date for imported sales
* Fix: Undefined index notice in the cart widget
* Fix: No file name displayed in download history when one isn't set
* Fix: Corrected some strict SQL standards with the customer table creation SQL
* Fix: Restored the .hentry class
* Tweak: Modified the CSV Payments export to allow easier data manipulation

= 2.1.2, September 4, 2014 =

* Fix: Tax calculation for items with quantities greater than 1
* Fix: Incorrect amount at PayPal

= 2.1.1, September 4, 2014 =

* Fix: Full image URL in Logo upload field in email settings not displaying
* Fix: Fatal error with PHP Sessions for hosts with safe_mode enabled
* Fix: Incorrect item price on checkout when taxes are enabled
* Fix: Incorrect subtotal displayed on purchase receipt when taxes are enabled
* Fix: Customer records not getting created due to SQL syntax error
* Fix: Apostrophes in site name not being decoded in emails
* Fix: card_state class not kept on select when when switching countries on checkout

= 2.1, September 3, 2014 =

* New: Redesigned email templates powered by the new EDD_Emails class
* New: Customers API and database layer that dramatically improves performance of customer-related queries
* New: Improved customer reports table that includes column filtering
* New: Improved transaction ID tracking and display
* New: Added support for WP CLI
* New: Drag-and-drop ordering for variable prices
* New: Admin sale notifications are now sent with same HTML template as purchase receipts
* New: edd_update_payment_meta() function for easily adding and updating meta values for payment records
* New: edd_update_payment_meta() function for easily adding and updating meta values for payment records
* New: Hooks introduced at the bottom and top of the Discount edit screen
* New: Added an option to hide the cart widget when on the checkout page
* New: Introduced a function to detect if a download product is free, edd_is_free_download()
* New: Introduced edd_get_payment_transaction_id() and edd_set_payment_transaction_id()
* New: Introduced edd_user_can_view_receipt_item filter

* Tweak: [downloads] short code now accepts slugs or term IDs for category and tag attributes
* Tweak: Estimated earnings are more accurate
* Tweak: Custom date ranges for report graphs now include a day option
* Tweak: Added EDD-specific classes to the body tag when appropriate
* Tweak: Improved responsiveness of the View Order Details screen
* Tweak: Added "download" attribute to file download links
* Tweak: Parameters for edd_get_download_file_url() now passed through urlencode()
* Tweak: Product excerpts now available in the JSON/XML API
* Tweak: Improved display of the payment method icons in settings
* Tweak: Removed all instances of the extract() function
* Tweak: PHP sessions now automatically enabled when the hosting account supports it
* Tweak: Added Download post type to the At a Glance widget
* Tweak: Improved SSL URL filtering of assets and non-checkout pages
* Tweak: Replaced padlock icon on checkout with icon font
* Tweak: Added currency settings to the System Info
* Tweak: Prevent W3 Total Cache from caching discount codes
* Tweak: Added caching to the get_user() method in the EDD_API
* Tweak: Added a "size" parameter to the edd_rich_editor_callback() function

* Fix: Sales column linked incorrectly to the File Downloads log
* Fix: "yesterday" date range failed for EDD_Stats when the current day was the first day of the month
* Fix: The shop_manager role could not export reports
* Fix: Non-item fees were incorrectly allowed to be in the cart when the cart was empty
* Fix: Errors when default CSV columns removed
* Fix: Undefined index in process-download.php
* Fix: Undefined index when updating a payment record with no last name
* Fix: Fatal error on some hosts that disallow set_time_limit()
* Fix: Incorrect label in Discount edit screen for flat rate discounts
* Fix: Conflict with WooCommerce's SSL option when Enforce SSL on Checkout is enabled
* Fix: Incorrect postal code validation for Argentina
* Fix: Incorrect postal code validation for Canada
* Fix: Discount code not properly set in cart when passed in a URL
* Fix: Incorrect tax amounts when a discount code is used and item quantity is greater than 1
* Fix: Incorrect tax amount on fees when prices are inclusive of tax
* Fix: Incorrect item amounts due to rounding amounts too early
* Fix: Duplicated Personal Information sections sometimes displayed on checkout due to non-strict comparison
* Fix: Notices displayed in Download Categories / Tags widget upon save
* Fix: Multiple discounts with the same code could be created
* Fix: Invalid CSS properties
* Fix: Filtering the File Downloads log did not work
* Fix: edd_before_download_content action ran after the download content
* Fix: Download links could not be copied on View Order Details in some versions of Chrome
* Fix: Incorrect number of decimal places for some cart amounts
* Fix: Incorrect tax amounts when taxes are calculated after discounts
* Fix: Adding duplicate items to the cart does not increase cart item quantity
* Fix: Division by zero error when saving a payment record with an amount of zero
* Fix: Empty cart problems when FORCE_SSL_ADMIN is set to true
* Fix: Improper display of the Products field for Bundle products
* Fix: Refunds and disputes not picked up by PayPal's IPN listener

= 2.0.4, June 23, 2014 =

* Fix: Problem with file download URLs when using the Redirect download method
* Fix: Downloads cannot be removed from a payment in View Order Details
* Fix: Erroneous "Cart needs one or more of the selected Downloads" error message
* Fix: MySQL version not properly detected in System Info
* Fix: Undefined variable in cart widget

* Tweak: Added note about where to place language files in languages/readme.txt
* Tweak: Added filters to export file names
* Tweak: Enable author support by default on the Downloads post type
* Tweak: Set $user to currently logged in user when validating a discount if no email or ID is supplied

= 2.0.3, June 19, 2014 =

* Fix: Problem with incorrect gateway being assigned when a discount code was applied
* Fix: Incorrect usage of "login" as a verb
* Fix: Check if a user is deleted before retrieving user data in dashboard widget
* Fix: Incorrect usage of esc_attr_e()
* Fix: All submit buttons on checkout screen text updated when purchase is processing instead of just the submit purchase button
* Fix: Fatal error in System Info when mysqli extension is not enabled

* Tweak: Add link to the changelog on the welcome screen
* Tweak: Show the currently logged-in user's name when previewing an email template

= 2.0.2, June 12, 2014 =

* Fix: Error about selected gateway not being active when purchasing with a discount code
* Fix: REST API not respecting sequential order numbers
* Tweak: Added a class name to the Unlimited File Downloads checkbox in View Order Details

= 2.0.1, June 10, 2014 =

* Fix: Clicking Update from the Download Edit screen sometimes sends admins to a 404 page
* Fix: Accepted Payment Method icons do not load over https://
* Fix: Chosen drop down widths not properly set
* Fix: Payments erroneously marked as Failed
* Fix: Double S in checkout URL when using the Enforce SSL on Checkout option
* Fix: Undefined index while applying a discount code
* Fix: Sequential order upgrade routine not properly running
* Fix: Improper grammar

* Tweak: Added cart subtotal / total to some AJAX responses

= 2.0, June 3, 2014 =

* New: Added support for sequential order numbers
* New: Added a new [edd_register] short code
* New: Added an enforce SSL option
* New: Added greatly improved discount code validation during checkout
* New: Added a new API Keys list table in Downloads > Tools
* New: Added support for making purchases with cart fees only
* New: Added support for searching for specific payments via the REST API
* New: Added a tabbed interface to the Tools page
* New: Added an option to generate file download URLs from the View Order Details screen
* New: Added JS events for all frontend cart / checkout actions
* New: Added an "Apply" button to the checkout discount field
* New: Added an Earnings / Sales Overtime export tool
* New: Added support for searching payment records by transaction ID
* New: Added a template file for the [edd_login]
* New: Added support for Revisions to the Downloads post type
* New: Added {discount_codes} template tag to purchase receipt emails
* New: Added no-index, no-follow to checkout and account pages
* New: Added options to control how the login / registration forms are displayed on checkout
* New: Added support for passing a discount code to the checkout screen via a query arg
* New: Added textarea support to the EDD_HTML_Elements class
* New: Added support for exporting customers of a specific product and a specific price option
* New: Introduced edd_get_*_by() functions for downloads and discounts
* New: Introduced a edd_get_users_purchased_products() function
* New: Introduced a edd_is_host() function

* Tweak: Removed the "Update" cart button and added a background update process so amounts and quantities are updated automatically.
* Tweak: Added billing address to payment history export
* Tweak: Added average earnings / sales to the detailed earnings reports for products
* Tweak: Added a link to the File Downloads log from View Order Details
* Tweak: Added a "was_completed" meta flag for payment records
* Tweak: Reversed some of the checkbox anti-patterns
* Tweak: Added support showing all Download products in the [downloads] short code
* Tweak: Log the reason a payment is marked as failed from PayPal
* Tweak: Added a columns variable to the edd_download_class filter
* Tweak: Added tax settings to the System Info
* Tweak: Added improved hooks to the edd_shopping_cart() function
* Tweak: Added a link to the product edit screens for each Download in the Purchased Downloads section of View Order Details
* Tweak: Added $payment_id to the edd_view_order_details_form_top action
* Tweak: Modified the way that the global file download limit affects individual file download limits
* Tweak: Add support for identifying products in [purchase_link] by an SKU
* Tweak: Added support for hiding the credit card form if a 100% discount code is redeemed
* Tweak: Added support for moving the checkout cart to the bottom of the checkout screen
* Tweak: Improved the Product Requirements section of the discount edit screen
* Tweak: Improved the Amount field of the discount edit screen
* Tweak: Added WP_LANG constant to the System Info
* Tweak: Improved order history display for non-completed payments in the purchase history
* Tweak: Removed unnecessary serialization of payment meta

* Bug: Cart fees weren't properly taxed
* Bug: JS error caused by error in the German translation
* Bug: The File Download Limit field couldn't be left empty
* Bug: Expiration dates were set improperly in WP_Session, resulting in the garbage collection not working
* Bug: Payment method icons fail to load properly on Windows servers
* Bug: Entering a currency sign in the price field results in an invalid amount on save
* Bug: Incorrect data format passed to number_format()
* Bug: edd_before_download_content action fired too early
* Bug: Customer names longer than two words cannot be properly saved in payment meta
* Bug: "Activate" button for discounts fails if a discount is expired
* Bug: Country field during checkout wasn't actually required
* Bug: Duplicate IDs when multiple purchase buttons for the same product are on the same page
* Bug: Cart totals incorrect when redeeming multiple discounts
* Bug: File download limits cannot be reset
* Bug: File URLs and other fields in File Downloads secttions are not trimmed of whitespace
* Bug: Currency signs improperly encoded in the email subject of purchase receipts
* Bug: Improper decimal points in Dashboard Summary widget sale counts
* Bug: State / province fields loaded in Taxes settings when not needed
* Bug: Custom events not purged from WP Cron when EDD is deactivated
* Bug: Dates for "Last Quarter" incorrect Custom reports
* Bug: Filtering payment history by a guest user fails
* Bug: EDD_Payments_Query cannot be instantiated multiple times
* Bug: Spaces cannot be used for the thousands separator
* Bug: Undefined index "state" in System Info
* Bug: 400 bad request error during API calls
* Bug: Improper behavior during extension license deactivation
* Bug: Restored the Unlimited File Downloads option for payment records
* Bug: API request logs not properly displayed
* Bug: Duplicate label in View Order Details
* Bug: Live credit card verification doesn't update the card type after initial check
* Bug: Removed duplicate call to edd_get_payment_meta()
* Bug: Removed duplicate comma in edd.css
* Bug: Return value, not echo in metabox.php
* Bug: View Order Details can be loaded for non-payment post types
* Bug: Obsolete mfunc/mclude/dynamic-cached-content removed
* Bug: Payment history cannot be sorted by date
* Bug: Current view not properly displayed in the Logs table
* Bug: Issuewith default payment gateway when no gateways are active

= 1.9.9.2: May 6, 2014 =

* Fix: Critical error with ajax actions

= 1.9.9.1: May 6, 2014 =

* Fix: Reverted a change in the ajax URL determination that caused some issues with HTTPS checkouts
* Tweak: Added $payment_id to edd_payment_amount filter
* Tweak: Added $payment_id to edd_view_order_details_form_top filter
* Tweak: Removed nonces from ajax frontend requests

= 1.9.9: May 3, 2014 =

* New: Added a JS trigger for when the cart quantity is updated
* New: Added a CSS class name to the download file URL on purchase confirmation
* New: Introduced an edd_is_success_page() function
* New: Introduced a filter on the edd_get_variable_prices() function
* New: Added Offer schema.org markup
* New: Added edd_get_sales_args filter
* New: Added edd_get_cart_content_details_item_discount_amount filter
* New: Added edd_get_cart_item_tax_item_discount_amount filter

* Tweak: Added $payment_id to the edd_email_receipt_download_title filter
* Tweak: Added a break after the country select field on checkout
* Tweak: Removed direct call to wp_enqueu_script( 'jquery' ) since it is loaded as a dependency
* Tweak: Improved the Dashboard summary widget layout
* Tweak: Improve column width of the Downloads table
* Tweak: Updated language files
* Tweak: Limit payment counts by start and end date
* Tweak: Improved spacing in payment history
* Tweak: Removed nonce fields from front-end ajax requests

* Fix: Allow remove from cart button to work within ajax calls
* Fix: Properly format sale numbers for Total Sales stats
* Fix: Remove all custom taxonomies and terms during uninstall
* Fix: Improper HTML for text fields through EDD_HTML_Elements class
* Fix: Improper HTML for checkbox fields through EDD_HTML_Elements class
* Fix: Broken cache key in EDD_Payment_Stats
* Fix: Properly account for when global $post isn't available in edd_get_purchase_link()
* Fix: Cart quantity could go negative, that's silly
* Fix: Deprecated notices from usage of wp_editor() with WordPress 3.9
* Fix: Improper cursor behavior on Dashboard widgets
* Fix: Broken payment method icons on checkout
* Fix: Deprecated notice with $wpdb->escape()
* Fix: Do not retrieve user if no key is set in EDD_API
* Fix: Fatal error when installing EDD via WP CLI
* Fix: Typo in Australian states function
* Fix: Undefined index in edd_count_purchases_of_customer()
* Fix: InlineEditPost JS error
* Fix: JS error in IE
* Fix: Improper formatting of New Zealand currency
* Fix: Improper verification of Serbian zip codes
* Fix: No validation on logged-in user's email addresses during checkout
* Fix: Improper slash in PayPal IPN URL
* Fix: Ajax product drop down search doesn't return all found products
* Fix: File downloads get named as "index.php" on Android devices
* Fix: Duplicate field ID in card state and card country fields
* Fix: Strings in Discounts admin not able to be translated
* Fix: Empty carts with FORCE_SSL_ADMIN set to true
* Fix: Tax improperly applied to countries not included in tax rules
* Fix: Unable to override global file download limit option
* Fix: Don't load scripts in admin except when needed
* Fix: Payment method icons fail on Microsoft-IIS servers
* Fix: Incorrect stats with Custom date ranges on reports
* Fix: edd_get_chosen_gateway() doesn't respect default gateway

= 1.9.8: March 6, 2014 =

* Fix: Problem with guest customers not being able to view purchase receipts
* Fix: Problem with field alignment in the View Order Details screen on small screens
* Tweak: Added an option to dismiss the "No Checkout Page" notice


= 1.9.7: March 4, 2014 =

* Fix: Problem with prices losing the decimal places
* Fix: Issue with file URL being obscured in the file URL field
* Fix: Currency sign added to monthly estimated sale count
* Fix: Not all payment statuses taken into account  for payment counts

* Tweak: Allow get_terms() arguments to be filtered in categories / tags widget
* Tweak: Add arguments to purchase link filter

* New: Added Hebrew translation

= 1.9.6: February 26, 2014 =

* Fix: Purchase stats not undone when changing a payment from Revoked to Refunded
* Fix: Typo on the settings for the Disable Live Credt Card Validation settings
* Fix: Tax calculation after discounts is incorrect
* Fix: UPLOADS constant not respected for file downloads
* Fix: wp_session garbage collection not always working
* Fix: PayPal IPN gets validated even when validation is disabled
* Fix: State tax rates can't be set to 0 when default rate is greater than 0
* Fix: Cart items not properly sanitized when adding them to the  cart
* Fix: SQL error on very first purchase
* Fix: PayPal business email comparison sometimes fails when it shouldn't
* Fix: Decimals shown on currencies that don't support decimals
* Fix: Custom date ranges for reports greater than 3 months should query by month, not day
* Fix: Several small typos and capitalization issues
* Fix: Purchase History page not deleted on uninstall
* Fix: Refunds not detected by PayPal IPN
* Fix: Detect when user is done typing in product drop down and only trigger ajax search once done

* Tweak: Some improved coding standards and PHPDoc
* Tweak: Added discount codes used to sales API response
* Tweak: Added ini_get( 'arg_separator.output' ) and allow_url_fopen status to System Info
* Tweak: Improve _edd_deprecated_function() to actually pass the backtrace
* Tweak: Inline documentation for filters
* Tweak: Allow the From Name and From Email to be filtered for sale notifications
* Tweak: Allow the cart contents to be filtered when adding items to the cart
* Tweak: All receipt visibility to be filtered
* Tweak: Allow array of download IDs to be passed to EDD_Payments_Query
* Tweak: Added floatval() to edd_get_payment_amount()
* Tweak: Properly format number in Sales column
* Tweak: Color code axes on graphs when there are multiple axes
* Tweak: Removed error suppression from edd_readfile_chunked()
* TweaK: Added helper function for reporting views


= 1.9.5: February 4, 2014 =

* Fix: Total customer count not showing in Customer Reports
* Fix: Pagination not working in Customer Reports
* Fix: Custom date ranges greater than 3 months should query by month, not day
* Fix: .required class not added to input fields when fields are required
* Fix: Non published Downloads not deleted on uninstall
* Fix: Taxes not properly calculated for logged-out customers
* Fix: Dashboard earnings summary widget uses "edit_pages" capability instead of "view_shop_reports"
* Fix: Restored functionality of edd_get_purchase_download_links() function
* Fix: Resend Purchase Receipt button shouldn't show on non-complete purchases
* Fix: Product drop down doesn't show all products
* Fix: Item amounts not shown correctly in Order Details when using item quantities
* Fix: Cart fees not removed when cart is empty
* Fix: {billing_address} email tag returns empty string
* Fix: Updated missing language files
* Fix: Selecting same month for start and end date with custom date ranges results in a 12 month spread
* Fix: Admin sale notification email has not formatting
* Fix: Cart sessions loaded in the wp-admin when they shouldn't be
* Fix: Pages drop downs in settings cause all pages to be queried on every wp-admin page
* Fix: Format total sales correctly in Reports
* Fix: Incorrect variable name in edd_get_cart_item_final_price()

* Tweak: Dramatic performance improvement to payment queries throughout the admin
* Tweak: Rework edd_get_earnings_by_date() to be much more performant
* Tweak: Rework edd_get_total_earnings() to be much more performant
* Tweak: Rework EDD_Payment_Stats::get_earnings() to be much more performant
* Tweak: Removed Files Downloaded count from customer reports due to it being too expensive
* Tweak: Rework edd_get_purchase_stats_by_user() to be much more performant
* Tweak: Only filter wp_count_comments() when on the Dashboard to create less performance impact on wp-admin
* Tweak: Remove plaintext password from new user notification email
* Tweak: Increase refresh time from 5 to 8 seconds when returning from PayPal to give PayPal IPN longer to complete
* Tweak: Better separation of sections in settings
* Tweak: Optimized all images to reduce footprint
* Tweak: Removed Purchase History widget as it has never worked and is never used
* Tweak: Send billing address to PayPal
* Tweak: Change all purchase buttons on page of product to Checkout when one is clicked

= 1.9.4: January 13, 2014 =

* Fix: Bug with Last Month stats showing a combined total of this month and last month
* Fix: Bug with item amounts that could result in a PayPal error

= 1.9.3: January 13, 2014 =

* Fix: Bug with tax amounts not being rounded resulting in an error when going to PayPal
* Fix: Invalid foreach error message when saving the extensions tab

= 1.9.2: January 10, 2014 =

* Fix: Bug with add-on and theme license key activation
* Fix: Bug with invalid foreach() in small number of cases

= 1.9.1: January 9, 2014 =

* Fix: Rounding issue with taxes when item quantities are greater than 1
* Fix: Customer's State / Province field not showing on checkout, even when stored
* Fix: File Download Limit and Download Link Expiration settings not able to be changed
* Fix: Buy Now buttons set price to 0.00 at PayPal

* Tweak: Updated all language files for EDD 1.9+

= 1.9: January 7, 2014 =

_REQUIRES WordPress 3.7 or later_

* New: Added a new Getting Started page for first time installs
* New: Rebuilt the View / Edit Details screen for payments, adding the ability to edit almost all data associated with a payment and dramatically improving the edit payment interface
* New: Added per-products earnings and sales graphs
* New: Allow purchase buttons to show only the price, no text
* New: Added an option to enable/disable data deletion during plugin uninstall
* New: Allow users to login with their email address
* New: HTML and Number field callbacks for settings field types
* New: Added an option to be able to exclude products from discount codes
* New: Allow the EDD templates directory to be modified via plugins or themes
* New: Added start/end date filters to the Payment History screen
* New: Added a Product Details widget to show the purchase options and details of a product in any widget area
* New: Added betters hooks for the loging process
* New: Added a "edd-payment-type-selected" class to the chosen payment gateway during checkout
* New: Allow shop vendors to see earnings / sales for their own products in main Downloads screen
* New: Dramatically improved the Edit product screen by splitting up the product options into multiple meta boxes to reduce clutter
* New: Added EDD_Email_Template_Tags class and helper functions give developers a simple way to register new email tempalte tags
* New: Added EDD_Graph class to allow developers to easily display custom graphs in add-ons and themes
* New: Added live ajax search to all product drop-downs in the admin to dramatically improve performance of EDD on stores with a lot of products
* New: Add dashicon for Downloads menu and WP 3.8+
* New: Added new Payment Processing template file that is displayed when returning from PayPal to ensure the IPN has enough time to be processed before showing the customer the payment receipt

* Fix: Rewrote the tax API to fix numerous bugs
* Fix: A bug with payment item amounts getting zeroed out when modifying an existing payment
* Fix: A bug that caused Euro and other currency signs to get encoded improperly in the PDF report
* Fix: A memory leak in the File Downloads log page
* Fix: A bug that caused discounted amounts to show as twice the amount they should
* Fix: A bug with the subtotal being incorrect when item prices are entered inclusive of tax
* Fix: A bug that caused custom add to cart links to add items to the cart twice
* Fix: Undefined index when using edd_action=straight_to_gateway and variable prices
* Fix: Purchasing a free product doesn't increase purchase count
* Fix: Access denied error when viewing single pages of attachments connected to a Download
* Fix: EDD_Fees doesn't properly sanitizes amounts before adding up the total
* Fix: Undefined index when restoring a saved cart and logged-out
* Fix: Don't allow the checkout form to submit when hitting Enter after entering a discount
* Fix: Shop Manager user role cannot save shop settings
* Fix: Estimated earnings could go negative, which they should not be allowed to do
* Fix: Item earnings / sales not properly adjusted when item quantity is greater than 1
* Fix: edd_settings_sanitize prevents EDD settings from being modified via update_option()
* Fix: Very first purchase in shop causes total store earnings to be doubled
* Fix: Item price incorrect when item prices are entered inclusive of tax
* Fix: Ajax animation doesn't stop when adding an item to the cart that has Multi-Option Purchase Mode enabled
* Fix: Incorrect echo statement inside of an apply_filters() call (twice)
* Fix: Selecting the same month for start and end in Report date filters resulted in a 12 month spread
* Fix: A bug that caused the Yesterday report view to show 0 earnings and sales when the current month is January

* Tweak: Better support for responsive columns in the [downloads] short code
* Tweak: Improved the sample product import file
* Tweak: Better setup EDD_Roles during initial installation
* Tweak: Improved the checkout_cart.php template file
* Tweak: Automatically map the lowest price option for variably-priced products to the standard price field, allowing sort by price
* Tweak: Improved the Downloads > Add Ons page
* Tweak: Improved the checkout login form to include an actual "Login" button
* Tweak: Add id attributes to fields in profile editor
* Tweak: Set minimum WordPress version required to 3.7

= 1.8.6: January 3, 2014 =

* Fix: invalid date error in Dashboard Sales Summary widget

= 1.8.5: November 18, 2013 =

* Fix: revert accidental introduction of new meta box UI that broke file URL saving

= 1.8.4: November 17, 2013 =

* Fix: discounts cannot be searched by discount code
* Fix: file download limit not honored when files are assigned to price IDs
* Fix: ajax cart item remove URL always set to key of 0
* Fix: bug with price IDs and the straight to gateway action
* Fix: do not execute before/after download contnet hooks if download requires a password
* Fix: bug with styling of first P tag in purchase receipts
* Fix: email preview could only be shown once per page load
* Fix: API keygen option not shown to users even when enabled
* Fix: I18N error

* Tweak: MP6 UI compatibility
* Tweak: add edd_get_option() helper function
* Tweak: enable mobile app link to be removed
* Tweak: pass $item along with edd_email_receipt_download_title filter
* Tweak: map lowest price option amount to edd_price
* Tweak: add new user notification on checkout user registration
* Tweak: check the address is not equal to * when selecting country
* Tweak: show manual payment gateway as "Free Purchase" on payment receipt
* Tweak: store total shop earnings in database to improve performance
* Tweak: enable access to products API end point wiithout API keys

= 1.8.3.1: November 5, 2013 =

* Fix: a bug that prevented EDD cron events from firing
* Fix: incorrect display of negative amounts for EDD_Fees

= 1.8.3: November 4, 2013 =

* New: added edd_payment_receipt_after_table hook

* Fix: account for themes that set form input values to the value of the placeholder (caused a bug with discount codes)
* Fix: show tax as whole number, not as decimal on prices
* Fix: incorrect user assigned to purchases made when registering an account
* Fix: 404 error due to "download" parameter in file download URLs on some hosts
* Fix: fatal error in payment history column
* Fix: payment method icons not respecting WP in its own directory
* Fix: invalid UTF8 sequence in heartbeat API response
* Fix: illegal offset with user address in profile editor short code
* Fix: empty paragraph tag after tax rates in tax settings
* Fix: undefined notices when saving Extensions tab with only one checkbox
* Fix: double subtotal when two cart widgets are displayed on the same page
* Fix: security flaw with user registration process during checkout
* Fix: rich editor escaping issue in admin sale notification email

* Tweak: improved .htaccess missing error message
* Tweak: increased width of default email receipt template
* Tweak: display EURO with symbol, not as EUR
* Tweak: updated many translation files

= 1.8.2.1: October 20, 2013 =

* Fix: Ensure get_plugins() function exists and load it if not before using it

= 1.8.2: October 20, 2013 =

* New: Added optional plugin usage tracking (opt-in and get a discount code)

* Fix: Incorrect tax label on cart subtotal
* Fix: Download earnings / sales not decreased when refunding a payment
* Fix: Aposthrophes in first / last name fields on checkout broke order details
* Fix: Pagination broken on Downloads report list table
* Fix: Undefined offset when no variable prices are saved
* Fix: Undefined offset when no variable prices are saved
* Fix: Purchase link tax label does not respect logged-in user's stored billing details

* Tweak: Set Purchase Confirmation as a child of the checkout page on install

= 1.8.1: October 12, 2013 =

* Tweak: Itemization in PayPal disabled due to bugs with amount calculation. Will be fixed in 1.9
* Tweak: Added filters to admin script loaders so extensions can enable core EDD scripts on custom pages

* Fix: Download Limit field shown incorrectly to shop vendors
* Fix: Price option name not passed to PayPal
* Fix: Settings import doe not perform a filetype check
* Fix: Bug with Payment History pagination
* Fix: Escapaing issues with text and textarea fields in settings
* Fix: Previous purchase lookup on user registration not working
* Fix: Deleting payment note redirects to Payment History instead of Edit screen
* Fix: Incorrect username in Payment History for guest purchases
* Fix: Check for apache before showing .htaccess missing warning
* Fix: Add fallback cor cal_days_in_month()
* Fix: Tax calculation bug
* Fix: Checkboxes in Settings > Extensions cannot be turned off
* Fix: Extra <p> tag in profile editor

= 1.8: September 26, 2013 =

* New: added Cart Saving feature
* New: new button color options
* New: redesigned purchase button styles
* New: display a notice if the .htaccess file for file protection is not present
* New: improved caching compatibility with new cookie that can be detected by hosts and caching plugins
* New: "activate" and "deactivate" options added to Discount code bulk actions menu
* New: added Downloads > Tools menu for settings export / import and other utility options
* New: introduced EDD_Payments_Query class for querying payment records
* New: introduced EDD_Payment_Stats class for querying earnings and sales data
* New: introduced EDD_Stats base class to be extended by other classes for retrieving data-based data
* New: added settings and donate links to plugin action links
* New: add email tags for billing address
* New: added address fields to [edd_profile_editor] to allow customers to update their stored billing address
* New: add status options to Payment History bulk action menu to allow payment statuses to be updated in bulk
* New: added WP Heartbeat API to the EDD Dashboard summary widget for live dashboard updating
* New: added category filtering support to Downloads > Reports > Downloads

* Fix: allow payment status to be translated before inserting the payment note on status change
* Fix: tax calculation bug with 100% discount codes
* Fix: broken pagination on Discounts page
* Fix: missing linebreaks in admin sale notification email
* Fix: tax not initially calculated for logged-in user
* Fix: better prevent broken download URLs by including index.php in all file download URLs
* Fix: typo in states list function
* Fix: broken file downloads when using absolute path on Windows servers
* Fix: file download limit not working
* Fix: price option name not passed to PayPal purchase
* Fix: corrupted file downloads caused by ob_flush() and flush()
* Fix: file download bug when using a lighttpd server
* Fix: email address not checked for existing email when updating user profile
* Fix: price option name not displayed on purchase confirmation
* Fix: add to cart redirects incorrectly when ajax is disabled
* Fix: price assignment for download files doesn't work correctly with Buy Now
* Fix: edd_download_history_row_end action passed wrong variable
* Fix: tax calculation incorrect when Prices entered with tax set to "Yes, I will enter prices inclusive of tax"
* Fix: PHP notices for settings descriptions
* Fix: incorrect label ending HTML tags
* Fix: AJAX loading indicator breaks if edd.css is moved to edd_templates folder
* Fix: negative Fees (discounts) don't respect "Taxes after discounts"
* Fix: [downloads] pagination doesn't work on non hierarchical single post types
* Fix: stripslashes on discount code name fields
* Fix: incorrect label for "Deactivate" in Discount Codes

* Tweak: removed the "You have already purchased this" message from the single Download pages
* Tweak: small improvements to checkout UI
* Tweak: some settings callbacks not using size argument
* Tweak: hide Buy Now button behavior option is supported gateway is not active
* Tweak: redundant post meta created on Download publication
* Tweak: added support for adding default Download metaboxes to other post types
* Tweak: added host detection to System Info
* Tweak: added a filter to product types to allow new product types to be registered
* Tweak: added hex values to edd_get_button_colors()
* Tweak: added form_id attribute to [edd_purchase_link]
* Tweak: dramatically improved the EDD settings API
* Tweak: added a column class to the [downloads] short code
* Tweak: added SPAN tags around checkoug LEGEND tags
* Tweak: automatically update file price conditions when new price options are added
* Tweak: fire edd_create_protection_files() on install process to ensure .htaccess file is created in uploads/edd directory


= 1.7.2: July 30, 2013 =

* Fix: Translation error with GB file
* Fix: Payment method icons not showing with only one payment gateway enabled
* Fix: HTML being outputted even when no excerpt
* Fix: Incorrect PayPal item quantities
* Fix: Height bug with jQuery Chosen fields
* Fix: Admin sale notification has no formatting

* Tweak: Added the_title_attribute() to shortcode-content-title.php template file
* Tweak: Updated pot files
* Tweak: Add new shortcode_atts() parameter for the new filter in WP 3.6
* Tweak: Improved styling of discount section on checkout
* Tweak: Added new javascript actions for discount actions

= 1.7.1: July 23, 2013 =

* Fix: Payment amount check in PayPal IPN
* Fix: Typo in register-settings.php
* Fix: Retina payment icon size
* Fix: Undefined index errpr
* Fix: 'std' option doesn't work for select fields
* Fix: Disable purchase link on non-published products
* Fix: Schema.org microdata titles cause span tags to show in header section
* Fix: Disable deprecated WP Super Cache Dynamic Content check

* Tweak: Move tax rate below purchase button

= 1.7: July 20, 2013 =

* New: Brand new styling for the checkout form
* New: Added options to configure the admin purchase notification email
* New: Added search to customer reports
* New: Added item quantity support on checkout
* New: Brought back the [downloads_history] short code
* New: Added the ability to use multiple discounts per-purchase
* New: Added filter to disable schema.org microdata
* New: Better payment method icons, including full retina support
* New: Better icons throughout admin, including full retina support
* New: Added complete Swedish translation
* New: Include any discounts used in Payment History export
* New: Added new post installation hook: edd_after_install
* New: Introduced function for retrieving random Download ID numbers (for themes)
* New: Added option to resend purchase receipts from the View Order Details page
* New: Added option under Tools menu to import / export store settings
* New: Introduced "Buy Now" option for (PayPal) purchase buttons

* Tweak: Improved add to cart ajax indicator
* Tweak: Better caching plugin support
* Tweak: Added HTTP status headers to the EDD_API class
* Tweak: Improved purchase notification emails
* Tweak: Allow the enctype of the purchase form to be changed
* Tweak: Modified the tax display on the purchase receipt
* Tweak: Added the Order ID # to the admin sales notice subject
* Tweak: Changed the capability of the EDD Add Ons page
* Tweak: Moved the Zip / Postal Code field just after the Billing City field
* Tweak: Added "inherit" to the button color options
* Tweak: Added additional server / environment details to System Info
* Tweak: Improved variable price option display for products with duplicate price amounts
* Tweak: Greatly refactored admin-side javascript
* Tweak: Better required fields handling for checkout
* Tweak: Show 0.00 prices as "Free"
* Tweak: Allow Reports and REST API to cross year boundaries
* Tweak: Better date selection options in Reports
* Tweak: Better permission checks in the REST API

* Fix: RTL compatibility issues
* Fix: qTranslate plugin compatibility
* Fix: System Info bug with display server Memory incorrect
* Fix: User ID not stored correctly in purchase meta
* Fix: Cart amount should never be allowed to go negative
* Fix: Payment email not properly updated when editing a payment
* Fix: 100% discount code purchases getting set as PayPal purchases
* Fix: Bugs with "Sorry, trouble retrieving payment receipt."
* Fix: File uploads going into incorrect year directory
* Fix: Subtotal in cart widget only showing one decimal place
* Fix: Incorrect usage of edd_log_test_payment_stats filter
* Fix: Check for existence of country code in zip/postal code regex
* Fix: Variable pricing didn't follow currency position
* Fix: Invalid foreach error with [downloads_discounts] short code
* Fix: [purchase_collection] short code broken
* Fix: Customers not always receiving purchase receipt


= 1.6.4: June 24, 2013 =

* Fix: Semicolon instead of comma
* Fix: Duplicate foreach keys
* Fix: Default fallthrough on switch statement
* Fix: Undefined variable $requested_file during file downloads
* Fix: Incorrect redirect when clicking Next during checkout with permalinks set to default
* Fix: Incorrect currency code for Malaysian Ringgits
* Fix: Non-unique element IDs on checkout
* Fix: Incorrect status check in edd_process_paypal_web_accept_and_cart
* Fix: Use current_time( 'timstamp' ) when checking for discount validity
* Fix: Tax settings display issue
* Fix: Email receipts not sending in Test Mode
* Fix: .htaccess rules not updated when changing download methods
* Fix: Downloads failing with Forced download method
* Fix: System Info not picking up network activated plugins
* Fix: Taxes rounded up incorrectly

* Tweak: Added $tax to the edd_cart_item_price filter
* Tweak: Hide discount code on 0.00 purchases
* Tweak: Sanitize subjects for email receipts
* Tweak: Allow 3 and 4 decimal tax rates
* Tweak: Changed "Download" to "Free Download" for 0.00 purchases

= 1.6.3: June 13, 2013 =

* Fix: Invalid parameter warning for [download_discounts]
* Fix: Problem with 100% discount codes going to PayPal
* Tweak: Updated German translation files
* Tweak: Improved the order of countries in the drop down menu

= 1.6.2: June 11, 2013 =

* Fix: Positive cart fees overwrote PayPal items after sending purchase to PayPal
* Fix: Hide tax billing fields if checkout amount is 0.00
* Fix: Fix equality operator in edd_get_download_files()
* Fix: X-Accel-Redirect needs relative path but gets absolute
* Fix: Wrong description for taxes on checkout
* Fix: Cannot delete all tax rates
* Fix: Spelling error on option to disable admin notifications
* Fix: Issue with edd_before/after_download_content hooks being added on pages that are not Downloads

* Tweak: Added minor tax rate option to make tax rate country wide
* Tweak: Change "Purchase to "Download" on checkout if cart total is 0.00

= 1.6.1: June 11, 2013 =

* Fix: Fatal error for users that had modified the checkout_cart.php template files
* Fix: Fatal memory error for some users when viewing the File Downloads logs
* Fix: Warning about urldecode() on some pages, including Dashboard Sales Summary widget

= 1.6: May 31, 2013 =

* New: Bundled products
* New: Download limits per-purchase
* New: Pending orders over 1-week old are automatically marked as Abandoned
* New: Added support for X-Sendfile, X-Lighttpd-Sendfile, and X-Accel-Redirect download methods
* New: Added Download Method option: Redirect or Forced
* New: Discounts API endpoint
* New: Global file download limit
* New: Added possible search methods to help tabs
* New: Payments amounts can be edited
* New: Introduced .min versions of all scripts / styles
* New: Ability to delete payment notes
* New: Improved Order Details screen
* New: SKU fields for Downloads
* New: Itemized purchase details for PayPal Standard
* New: Introduced state / province fields for 12 additional countries
* New: Introduced EDD_Cron class for scheduling routine events

* Tweak: File Name field not set by default
* Tweak: Improved file protection via better .htaccess rules
* Tweak: Export payment history by date
* Tweak: Show payment status in [purchase_history]
* Tweak: Show payment status in [edd_receipt]
* Tweak: Removed PressedTrends tracking
* Tweak: Improved cart widget
* Tweak: Added a class to the Empty Cart message
* Tweak: Allow opt-in use of PHP $_SESSION for data storage
* Tweak: Better error messages for File Download failures
* Tweak: Better default stats response in EDD_API
* Tweak: Better HTML helper functions

* Fix: Draft products could be added to the cart
* Fix: Insert Download icon screwed up
* Fix: Estimated stats incorrect
* Fix: "upload" field type in settings doesn't use WP 3.5 uploader
* Fix: Sample import data uses wrong short code
* Fix: Max product limit in PayPal Standard
* Fix: Incorrect parameter in shortcode-content-cart-button.php
* Fix: System Info: Page On Front and Page for Posts have same value
* Fix: Firt Name field not required for free downloads
* Fix: Download categories 404 on front end
* Fix: Blank credits page
* Fix: WP Super Cache 1.3.1 compatibility
* Fix: Incorrect URL to iPhone image in Payment History
* Fix: Editing Downloads in payment doesn't work fully
* Fix: Purchase History page used wrong short code
* Fix: Error bulk-deleting payments with some languages
* Fix: Prices not showing on purchase button
* Fix: Incorect path and URL constants when wp-content/plugins is symlinked
* Fix: SQL error with comments_clauses
* Fix: Non-object error
* Fix: Estimated earnings are sometimes incorrect
* Fix: Payment History and Reports not based on site's timezone
* Fix: Week Reports start day doesn't respect start day in general WordPress settings
* Fix: Multi-Option purchase mode: can add downloads to cart without checking a box
* Fix: White screen after checkout when on multi-site

= 1.5.2.3: May 23, 2013 =

* Fix: An uninstall error

= 1.5.2.2: May 9, 2013 =

* Fix: A bug that caused prices to not show on purchase buttons

= 1.5.2.1: April 23, 2013 =

* Fix: A bug that caused taxes to be calculated incorrectly
* FIx: A bug that caused purchase receipts to not respect an edited email address

= 1.5.2: April 13, 2013 =

* New: Discount codes now automatically removed from cart when the required cart items are removed
* New: Added PHP safe_mode indicator to System Info
* New: The price option purchased is now shown in [edd_receipt]
* New: Added get_output() method to the EDD_API
* New: Added new "upgraded from" option to better help with support issues
* New: Added symlinks on/off to System Info
* New: Added a link to the EDD iOS sales / earnings tracker
* New: Added ability to export file download history by date
* New: Added category filtering to Downloads > Reports > Downloads
* New: Added option to disable admin sales notices
* Tweaked: Better options to disable the price in the [purchase_link] short code
* Tweaked: Improved the checkout error fields
* Fix: Issue with purchase receipt CSS
* Fix: SQL error with comments_clauses
* Fix: EDD_API retrieved pending sales when it shouldn't
* Fix: Default currency now set
* Fix: Issue with edd_show_added_to_cart_messages() showing on incorrect pages
* Fix: Force redirect when adding items to the cart from the checkout page
* Fix: EDD_API &number=-1 returned null
* Fix: Product price formatting screws up when saving products without a thousands separator set
* Fix: Not all products shown in the drop down for Discount Code Requirements
* Fix: "Total sales for period shown" displayed as $0.00
* Fix: Issue with cart fees not being taxed

= 1.5.1: March 21, 2013 =

* Fix: Tags / Categories couldn't be assigned by anyone except shop_manager and admins
* Fix: Improved memory usage by removing file download log meta box
* Fix: Couldn't change the email associated with purchases
* Fix: Comment feeds showed payment notes
* Fix: Corrected some filters for text outputs
* Fix: Raw HTML displayed on checkout after opting into taxes
* Fix: Total shown twice on the checkout page
* New: Added link to File Download Log from Edit download screen
* New: Made file download symlinks disabled by default
* New: Added hour::minute::second to payment history export
* New: Improved CSS for payment method select
* New: Allowed store vendors to see sales / earnings for their own products
* New: Added new hooks to the export page

= 1.5: March 13, 2013 =

* New: Added [EDD_API class](https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues/857) to provide a fully RESTful API to retrieve sales and earnings stats
* New: Dramatically improved layout, design, and UX for the checkout page
* New: Changed payment method select to radio buttons
* New: Added option to define a default payment method
* New: Added option to export all payments of a specific status
* New: Added an option to export all buyers of specific products
* New: Added per-product discount codes
* New: Added option to enable/disable one-use-per cusomter discount codes
* New: Added estimated monthly earnings / sales to Reports
* New: Added product microdata for Schema.org
* New: Added ability to edit a payment's user ID
* New: Added option to send a test purchase receipt
* New: Added new template files for the shopping cart and shopping cart widget
* New: Added improved file download delivery to better support large files
* New: Added improved session management with WP_Session and removed reliance on PHP $_SESSION
* New: Added [arbitrary cart fees class](https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues/418)
* New: Added option to edit purchased price options in the edit payment screen
* New: Added option to view purchase receipts in the browser
* New: Dramatically improved tax options

* Fixed: A critical bug that made it possible to find download files via Google
* Fixed: Prices lose decimal points when saving if thousands / decimal separators are left blank
* Fixed: Payment History layout bug when viewing from small (mobile) screens
* Fixed: Updating payment record removes buyer's email address
* Fixed: Non-object notice during uninstall
* Fixed: Problem with downloading files after purchasing multipe price options for the same product
* Fixed: Issue with India and zip code validation
* Fixed: PayPal purchases marked as complete more than once
* Fixed: csv_cols_out() didn't correctly apply_filters()
* Fixed: Bug with SSL and ajax
* Fixed: Report times were out of sync
* Fixed: No Permission to Download error when purchasing products with multiple files
* Fixed: Gateway redirect sometimes fails with ajax
* Fixed: Multiple price options mode doesn't save
* Fixed: Missing parameter in edd_log_user_in()
* Fixed: Undefined index error on checkout
* Fixed: shop_vendor role can't assign categories
* Fixed: Products can't be removed from edit payment screen
* Fixed: Sorry, Trouble retrieving payment receipt error
* Fixed: Issue with Show Price with Taxes bug


= 1.4.4.3: February 25, 2013 =

* Fixed: error with discount codes and PayPal

= 1.4.4.2: February 15, 2013 =

* URGENT: Fixed a crucial security bug. PLEASE UPDATE.

= 1.4.4.1: February 10, 2013 =

* Fix: Fixed an issue with the ajax add to cart introduced in 1.4.4
* Fix: re-enabled the multi-option purchase mode removed by accident in 1.4.4

= 1.4.4: February 9, 2013 =

* New: Added new EDD_Export class to more flexible export system
* New: Pages are auto created and saved to the EDD options on activation
* New: Added excerpt support to download post type
* New: Added new filter for [downloads] short code HTML
* New: Added dashboard alert to payment history when in Test Mode
* New: Added dashboard alert if the checkout page is deleted
* New: Show price range for variable priced products in Downloads list
* New: Introduced edd_get_lowest_price_option() and edd_get_highest_price_option()
* New: Added support for bulk editing product prices
* New: Add new shop management user roles
* New: Validate zip codes during purchase based on country code
* Fix: Missing DIV tag in Dashboard Summary widget
* Fix: HTML encoding on total amount returned after applying discount
* Fix: Discounts on prices over 1000 failed
* Fix: Set post_date_gmt when creating payments
* Fix: Japanese YEN decimal display
* Fix: "All" view in Payment History didn't count custom statuses
* Fix: Purchase receipt sent when changing payment status
* Fix: First name required but not enforced
* Fix: File URLs didn't save when file name wasn't provided

= 1.4.3.1: February 3, 2013 =

* Fix: Securtity Check Failed message when logging in during purchase
* Fix: Added missing alt tag to fix HTML validation
* New: Added new edd_show_has_purchased_item_message filter

= 1.4.3: February 1, 2013 =

* New: PayPal refunds are now automatically detected
* New: Removed jQuery Validation option
* New: Added {payment_id} tag to email receipt
* New: Added $price_id parameter to all file download links
* New: Added new payment status transition notes for recording when a payment changes statuses
* New: Added the ability to set a payment status to "revoked"
* New: Improved System Info to better help support technicians
* New: Added improved compatibility with the popular Responsive theme
* New: Added dynamic-cached-content tags for WP Super Cache
* New: Added product notes to the purchase confirmation
* New: Added an uninstall method
* Fix: Deleting pending purchase deducts earnings / sale count
* Fix: Undefined notice for a currency option
* Fix: Nonce field added to the delete discount links
* Fix: Fixed an issue with duplicate products getting added when buying variable priced products
* Fix: Fixed a bug with retrieving the purchase receipt on the confirmation page
* Fix: Corrected some post type labels

= 1.4.2.1: January 28, 2013 =

* Fix: Purchase receipts were getting sent when payments were marked as "failed"

= 1.4.2: January 25, 2013 =

* New: Added sample product import xml file in easy-digital-downloads/assets/
* New: Variable price purchased now displayed in admin sale notifications
* New: Checkout submission now done via ajax for improved user experience
* New: Improved discount code UI during checkout
* New: Checkout fields now saved (if ajax enabled) when an error is present
* New: Currency-specific decimal point formatting
* New: Multiple variations of the same product can now be purchased at one time
* New: Added option for enabling "multi option purchase mode" for products with variable prices
* New: Added new sample import file
* New: Variable price purchased now displayed in purchase history
* New: Added Today, This Week, and Last Week views to Reports
* New: Added option to redirect users straight to checkout (works with and without ajax)
* New: Added new action hooks to discount add/edit pages
* Fix: Accepted Payment Method icon display issues
* Fix: Registration during checkout incorrectly required
* Fix: Admin gateway label was showing on the [edd_receipt] instead of the front end label
* Fix: Discount codes set to 100% didn't work
* Fix: PayPal UK VAT problems that caused purchases to not get completed
* Fix: jQuery validation didn't work with multiple payment methods enabled
* Fix: Prices over 1000 resulted in a price of 1
* Fix: Incorrect label attribute
* Fix: Conflict with cart quantities when using custom cart areas
* Fix: Settings arrays didn't have keys

= 1.4.1.1: January 14, 2013 =

* Fix: Discounts weren't getting carried over to PayPal
* Fix: Added missing {username} tag for purchase receipts

= 1.4.1: January 13, 2013 =

* New: Added PayPal Page Style Support
* New: Added .apk support (props @chriscct7)
* New: Added debug_backtrace to deprecated functions (props @chriscct7)
* New: Store Discount ID in Payment Meta
* New: Upgrade [download_discounts] for new CPT
* New: Show Payment Notes on View Order Details
* New: Made Discount Edit & Add screens extensible
* New: Store Discounted Amount in Cart Details via Ajax
* New: Ability to set own error class/classes in edd_print_errors() function
* New: Add support for .apk (props @chriscct7)
* Tweak: Use AJAX & session with 'local residents only'
* Tweak: Ajax Local Tax Opt-In
* Tweak: Refractor edd_process_profile_editor_updates()
* Tweak: Updated Manual Travis instructions (props @chriscct7)
* Tweak: Better error reporting for usernames with uppercase letters.
* Tweak: Post save/update messages now can be translated (props @chriscct7)
* Tweak: Changelogs cleaned up (props @chriscct7)
* Tweak: Spaces in Download File Names May Cause 404
* Tweak: Remove Bullets from Default Email Template
* Tweak: Paginate Payment / Download History Short Codes
* Tweak: Convert Discount Admin Page to WP List Table
* Tweak: Moved the new edit profile form into templates folder
* Tweak: Removed cache_results query arg from sales widget
* Tweak: Change "Enter title here" field to "Enter download title here" in add/edit download page
* Tweak: Don't Show Discount if None was Used on [edd_receipt]
* Tweak: Remove Subtotal and Taxes if Taxes Disabled  [edd_receipt]
* Tweak: Payment Notes Showing Up in Comment Streams
* Fix: Pagination Not Working Fully on File Download Logs
* Fix: New option to make Supercache compatible with EDD (props @chriscct7)
* Fix: Flat Rate Discounts Not Working Correctly
* Fix: Discount Start Dates Defaulting to Current Day
* Fix: Download System Info button added
* Fix: Pagination of [purchase_history] and [download_history] (props @chriscct7)
* Fix: Number format error when no price entered
* Fix: Last Month Dashboard Widget Incorrect For January
* Fix: Calculate the tax price in edd_get_cart_content_details() when tax inclusive
* Fix: Validate Checkout
* Fix: File Download Count for Customer Reports is Failing
* Fix: Double Click Required for Purchase
* Fix: PayPal Post giving wrong URL
* Fix: Issue with new Payment History
* Fix: PHP warnings and notices on individual download page
* Fix: Tax Calculation Doesn't Respect Discounts
* Fix: Whitescreen after checkout
* Fix: An issue with the checkout page on sites with HTTPS and PayPal Standard

= 1.4.0.4: January 3, 2013 =

* Fix: File missing that makes the profile editor shortcode work (props @chriscct7)

= 1.4.0.3: January 2, 2013 =

* New: Travis now autoloads all of EDD (props @chriscct7)
* Fix: Double Click Required JS issue (props @chriscct7)
* Fix: Problem with pending purchases showing in user's purchase history
* Fix: Error with the dashboard summary widget for previous month (if current month is Jan)
* Fix: Issue with guests and discount codes
* Tweak: WP_Sessions removed temporarily (props @chriscct7)

= 1.4.0.2: December 28, 2012 =

* Fix: An issue with the checkout page on sites with HTTPS and PayPal Standard

= 1.4.0.1: December 27, 2012 =

* Fix: An issue with purchase receipts sending
* Fix: Issue with registration / login forms not showing on checkout
* Fix: An undefined index on the discounts page

= 1.4: December 27, 2012 =

* New: Converted coupons to a custom post type
* New: Dummy XML File
* New: System Info (props @chriscct7)
* New: Contextual Help
* New: Receipt shortcode
* New: Filter on Default Customer User Role
* New: Live Credit Card Verification
* New: Travis-CI Integration (props @chriscct7)
* New: Column to Customers Reports to Show File Download Count
* New: edd_send_back_to_checkout()
* New: Brand new Logs UI
* New: Support for WP 3.5 Button
* New: Serious Optomizations
* New: Optimized png's losslessly
* New: Payment Notes
* New: More efficient AJAX selector
* New: New Helper Function for "Transaction ID"
* New: "failed" payment status
* New: Profile Editor
* New: Over 100 new MIME-Types allowed for download
* Fix: Conflict with Jetpack
* Fix: Issue with exporting lots of customers
* Fix: Download Icon missing
* Fix: Bulk Delete Payments
* Fix: Payments functions
* Fix: Retina images
* Fix: Added support for uploading .psd files
* Tweak: Updated edd_get_user_purchases()
* Tweak: Made some UI tweaks, and bug fixes for Logs
* Tweak: Made updates to edd_process_download()
* Tweak: Reordered the inclusion of payment gateways
* Tweak: Restructured file organization
* Tweak: mproved payment-functions.php file
* Tweak: Stripped whitespace + normalize
* Tweak: Converted Discount Admin Page to WP List Table
* Tweak: Rewrote main plugin file to use a singleton OOP approach

= 1.3.4.3: December 06, 2012 =

* Fix: Fatal error in PayPal

= 1.3.4.2: December 06, 2012 =

* New: {fullname} email template tag
* Fix: a potential issue with jQuery validation of the checkout form
* Tweak: Improved CSS for the ajax cart loader
* Tweak: download taxonomy rewrites hierarchical
* Tweak: Updated Italian language files
* Tweak: Made a JS file only load on the checkout page instead of all pages
* Tweak: Reverted back to $_SESSION based storage as WP_Session isn't quite ready for use yet

= 1.3.4.1: December 1, 2012 =

* Fix: Major bug in PayPal standard gateway introduced in 1.3.4
* Tweak: Updated French langauge files

= 1.3.4: December 1, 2012 =

* New: Option for defining the emails that receive admin sale notifications
* New: edd_item_in_cart filter
* New: Added prices to the [purchase_link] short code so that the product price is shown on the button
* New: Added payment history search
* New: Added exclude_category and exclude_tags parameters to the [downloads] short code
* New: Added date parameters to edd_get_payments() to allow payments of specific dates to be queried
* Fix: A problem with $0 purchases
* Fix: Problem with display the buyer's first name in purchase receipts
* Fix: Problem with category/tag query parameters in the [downloads] short code
* Fix: Problem with PayPal purchases when item names have HTML entities
* Fix: Problem with prices over 1,000 on checkout
* Fix: Path to custom edd.css
* Fix: Problem with some payments not having meta data for the total amount recorded
* Tweak: Improved contextual help tabs
* Tweak: Made the edd_log_type taxonomy private
* Tweak: Updated category/tag slugs to respect EDD_SLUG constant (if defined)
* Tweak: Updated Italian language files
* Tweak: Updated French language files
* Tweak: Removed the "required" class from the local tax opt-in checkbox
* Tweak: Improved the function that retrieves the total earnings amount
* Tweak: Updated customer CSV export to include the number of purchases and total amount spent
* Tweak: Updated purchase details to include tax information
* Tweak: Made the email address in View Details for purchase history clickable
* Tweak: Improved some internationalization with date functions
* Tweak: Improved edd_get_ajax_url() to fix problems with sites that use SSl
* Tweak: Improved the way language files are loaded to permit users to place custom language files in wp-content/languages/edd/
* Tweak: Improved PayPal IPN processing with new do_action() hooks for each transaction type
* Tweak: Rebuilt Payment History page to use better core UI standards

= 1.3.3: November 15, 2012 =

* New: Tax system for calculating simple taxes on purchases
* New: Added error / payment failure logging to PayPal standard gateway
* New: Added new edd_file_download_has_access filter
* Fix: Issue with payment method select when ajax is disabled
* Fix: Problem with a stray file upload button in IE and Firefox
* Fix: Problem with improperly formatted amounts after applying a flat rate discount
* Fix: two conflicting filter names
* Fix: A pagination bug with the [downloads] short code
* Tweak: Improved the error logging system
* Tweak: Improved the Payment History export to CSV option
* Tweak: Removed old, out of date PayPal payment gateway
* Tweak: Improved markup for the [edd_price] short code
* Tweak: Updated Dutch translation files
* Tweak: Improved front-end CSS for variable price options
* Tweak: Improved logic for determing the lower price on variable priced downloads
* Tweak: Improved stylesheet loading

= 1.3.2.1: November 06, 2012 =

* New: Added basic pagination to the [downloads] short code
* New: Added new "edd_checkout_form_bottom" hook
* New: Added version numbers to scripts and styles to ensure proper display on upgrades
* New: Improved the checkout template to make it easier to customize
* New: Added new edd_ajax_url filter
* New: Added new edd_cart_total() function for showing fully formatted cart amount
* Fix: Problem with discount code amount formatting
* Fix: Bug with PressTrends integration
* Fix: Price formats in the admin sales notification
* Fix: Problem with upgrade routines
* Fix: Bug with edd_get_sales_by_date()
* Tweak: Moved user info (email, first / last name) fields to a function connected via a hook to allow them to be changed
* Tweak: Updated French language files
* Tweak: Updated login/register ajax actions to use do_action() instead of calling functions directly
* Tweak: Updated checkout login/register fields to be attached via actions
* Tweak: Upgraded Colorbox to v1.3.20

= 1.3.2: October 31, 2012 =

* New: Added Total Earnings For Period Shown to Reports page
* New: Added ability to filter payments by username
* New: Added new edd_get_purchase_id_by_key() function, props Yoast
* New: Added Recent Purchases to the Dashboard widget
* New: Added new edd_add_to_cart_item filter for modifying the item info when adding items to the cart
* New: Added version numbers to all scripts and stylesheets to help prevent caching issues on updates
* New: Added option to export file download history
* New: Integrated Opt-In PressTrends tracking
* New: Added new edd_price_field action to the download meta box
* New: Added Lifetime Best Selling into the Dashboard Sales widget
* Fix: Problem with the [download_discounts] short code
* Fix: Problem with the file download limit feature
* Fix: Problem with amount formatting in the purchase receipts
* Fix: Problem with the Apply Discount link when not logged-in
* Fix: Formatting issue with prices in the email template preview
* Fix: Problem with saving prices when they contain a thousands separator
* Fix: Some UTF8 decoding problems with the PDF reports
* Fix: Problem with the download Tags slug and archive views for the taxonomy
* Tweak: Improved efficiency of downloads list table
* Tweak: Improved the checkout template to be more modular
* Tweak: Updated post updated messages with "View Download" link
* Tweak: Moved all template files and CSS to /templates folder instead of the includes/ folder
* Tweak: Updated the checkout form to load the payment forms automatically when selecting a payment method
* Tweak: Updated French language files

= 1.3.1: October 22, 2012 =

* New: Added new file download limit option to limit the number of times buyers can download files
* New: Added upgrade routine for converting old file download and purchase logs to the new EDD_Logging class
* New: Added new upgrade routine for handling database upgrades
* New: Added a new EDD_Logging class for logging events
* New: Added support for custom reporting views
* New: Added new graceful failure for missing callback functions for settings fields
* New: Added dozens of new filters for function returns
* New: Added a new function for tracking deprecated function calls
* New: Added a check to ensure items in the cart are of post_type "download"
* Fix: Bug with creating the blank index.php in wp-content/uploads/edd/
* Fix: Bug with an HTML class name in edd_get_purchase_link()
* Fix: Some text strings that were missing localization
* Tweak: Updated German translation files
* Tweak: Removed unnecessary parameters for register_post_type()
* Tweak: Code formatting improvements

= 1.3: October 11, 2012 =

* New: edd_before_download_content hook
* New: edd_purchase_history_files hook
* New: filter for edd_is_checkout
* New: Introduced several new functions for calculating average sales / earnings for individual products
* New: Introduced several new functions for counting number of purchases and amount spent for customers
* New: EDD_VERSION constant
* New: Completely rewrote the Reports page with new graphs and Downloads / Customers view
* New: Introduced new CSS styles for purchase buttons
* New: Contextual help menu to the Discounts page
* New: Contextual help menu to the edit Download page
* New: jQuery UI styles that better match core WordPress style
* New: Filter to remove product titles in purchase receipts
* New: New Polish translation files
* Fix: Problem with the add-ons page
* Fix: Problem with thousands separator and price formatting
* Fix: jQuery UI conflict
* Fix: Problem with adding items to the cart via ajax when admin/front end http/s protocals are miss matched
* Fix: The upload field settings field callback JS
* Fix: Missing item description in PayPal checkout
* Fix: Problem with the total earnings widget
* Tweak: Replaced date() with date_i18n() for improved internationalization
* Tweak: Improved data validation throughout the plugin
* Tweak: Updated French translation files and default language files
* Tweak: Significant cleanup of code formatting and adherence of WordPress coding standards

= 1.2.2: September 25, 2012 =

* New: Added a check to prevent users from deleting all price/download files in download configuration
* New: Added WPML config file for more WPML compatibility
* New: Added new Arabic language files
* New: Added a Sales Summary dashboard widget
* New: Added cache flush for user purchase history when payments are created
* New: Added new default button color/style options to Settings > Styles
* New: Added new default add-to-cart button text option in Settings > Misc
* New: Added a new query filter to block direct access to attachments of downloads
* Fix: Bug with undefined index error with the metabox nonce
* Fix: Problem with sorting downloads by price and added compatibility for Post Types Order plugin
* Fix: Bug with percentage based discount codes
* Tweak: Improved file organization
* Tweak: Dramatically improved admin javascript functions to be more extendable
* Tweak: Updated French language files
* Tweak: Updated edd_email_template_tags with $payment_id
* Tweak: Updated download configuration with brand new UI and simplified options
* Tweak: Removed button text / style from Download Configuration

= 1.2.1.1: September 19, 2012 =

* New: Added a new filter for edd_receipt_attachments
* Fix: Bug with the earnings per day graph
* Fix: Minor CSS conflict with purchase buttons
* Fix: Security exploit that made it possible for malicious users to purchase variable priced items for free
* Tweak: Improved extendability of payment form

= 1.2.1: September 17, 2012 =

* New: Added new filters to the taxonomy args for download categories and tags
* New: Added a new "Product Notes" meta box to the Edit Download page
* New: Added some missing text domains for strings
* Fix: Incorrect help text for the start/end date of discount codes
* Fix: Couple of typos
* Fix: Problem with manually completing purchases
* Fix: Some problems with international number formatting
* Tweak: Updated German translation

= 1.2: September 15, 2012 =

* New: Added reset styles to default fieldsets to account for themes without fieldset styling
* New: Added new Date and Time to the View Details purchase popup
* New: Added a missing closing anchor tag
* New: Added an error notice on download pages if no checkout page is set
* New: Added labels to the checkboxes in the Download Configuration meta box to make fields easier to click on
* New: Added new filter to the EDD languages directory
* New: Added new CSS for improved styling of checkout error messages
* New: Added new filter to edd_get_checkout_uri
* New: Added huge new templating system to [download_history] and [purchase_history] short codes
* New: Added huge new templating system for [downloads] short code
* New: Created new global checkout fields and validation methods for use by payment gateways
* New: Added new "Purchase History" widget
* New: Added new classes/div to the purchase history widget
* New: Added new "Total Earnings" stat to the bottom of Payment History
* New: Added CSS styles specific to Twenty Twelve
* New: Added support for absolute file paths for download files
* New: Added a lot of new helper functions for developers
* New: Added dozens of new content types to the download processing function
* New: Added a new edd_get_payments_args filter
* New: Added the ability to sort payments by their total price
* New: Added new edd_payments_page_date_format filter to allow date format in Payment History to be changed
* New: Added a new meta key for payment total so that payments can be sorted by amount
* New: Added a new option to export all customer emails from Payment History
* New: Added new edd_download_post_type_args filter
* Fix: Problem with the auto-generated short code on the All Downloads page
* Fix: Problem with new downloads not being able to add download files
* Fix: Incorrect variable name in register-settings.php
* Fix: Problem with checkout ajax when permalinks are not enabled
* Fix: Few small typos in labels
* Fix: Deveral undefined index errors
* Fix: Discrepancy with the sales per month graph
* Fix: Bug with radio button toggling in Download Configuration
* Fix: Bug in the email template preview
* Tweak: Improved the edd_append_purchase_link() function
* Tweak: Removed "Deleted" from the payment hsitory filter options
* Tweak: Made improvements to script loading
* Tweak: Minor improvements to the add-ons page
* Tweak: Improvements to add/remove to/from cart functions with ajax
* Tweak: Updated default language files
* Tweak: Improved data sanitization in many files
* Tweak: Improved code formatting in many files
* Tweak: Changed the Earnings Per Day graph to show the latest 30 days, instead of the current month
* Tweak: Improved the way files are downloaded, especially for large files
* Tweak: Improved the UI of Download Configuration meta box
* Tweak: Improved number formatting for prices
* Tweak: Updated Italian language files
* Tweak: Updated German language files
* Tweak: Replaced hard-coded instance of "Downloads" with plural label function
* Tweak: Updated French translation
* Tweak: Updated [purchase_collection] to support custom link text
* Tweak: Improved the edd_delete_purchase() function

= 1.1.8: September 13, 2012 =

* Fix: a major bug with discount codes not being accepted
* Fix: Bin the PDF reports
* Added a new "Earnings per day" graph on the Reports page
* Improved URL > path conversion for locally stored download files
* Improved organization of email templating functions

= 1.1.7: August 29, 2012 =

* New: Added option to set minimum purchase amount required before discount can be applied
* New: Added filters to all discount validation functions for developers
* Fix: Major bug with processing file downloads
* Tweak: Removed price check from PayPal purchase verification temporarily
* Tweak: Improved data sanitization to discount creation / edit forms
* Tweak: Removed the "type" column from the discounts page

= 1.1.6: August 28, 2012 =

* New: Added the name of the buyer to the admin purchase notifications
* New: Added a new setting for "Complete Purchase" button text
* New: Added pre_ and post_ actions to the add to cart function
* New: Added a new edd_download_price filter to the edd_price() function
* New: Added new actions to top and bottom of payment history page
* New: Added class names to all table rows and cells in the checkout template
* Fix: Misnamed class on the empty cart element
* Fix: Bug with button colors when inserting a short code
* Fix: Spelling error in Downloads > Settings > Payment Gateways
* Fix: Major bug with discount codes that caused the "uses" value to get erased when updated a code
* Fix: Bug with download sales/earnings stats and variable priced downloads
* Fix: Incorrect check for missing directory and creation of /uploads/edd
* Tweak: Escaped attributes and improved code formating in template-functions.php
* Tweak: Removed ini_set error display
* Tweak: Escaped attributes and improved code formating in download-functions.php
* Tweak: Updated Dutch language files
* Tweak: Escaped values of settings field callbacks
* Tweak: Removed an old and unused add_meta_box() call
* Tweak: Updated French translation files
* Tweak: Removed call by reference in edd_scan_folders()

= 1.1.5.2: August 22, 2012 =

* Fix: Call-by-reference error
* Fix: Problem with zero-byte downloads

= 1.1.5.1: August 20, 2012 =

* Fix: Bug with file downloads

= 1.1.5: August 20, 2012 =

* New: Added new edd_get_current_page_url() function
* New: Added a new option for showing download links on the success page after completing a payment
* New: Added item prices to the cart widget
* New: Added support for the Iranian Rial currency. Make sure your gateway supports it before using it
* Fix: Couple of undefined index errors
* Fix: Problem with serving download files
* Fix: Bug that caused images to break when uploaded to download products
* Tweak: Made significant security improvements for protecting files against unauthorized downloads
* Tweak: Updated discounts so taht users can only use a discount code once
* Tweak: Download titles are now decoded for html entities in payment history
* Tweak: Updated payment history to fix an error notice when a user isn't found
* Tweak: Updated default language files
* Tweak: Changed "Purchase Page" label to "Checkout Page" in settings
* Tweak: Updated the edd_remove_item_url() to use the current page URL instead of the home URL
* Tweak: Made the edd_payment post type not public
* Tweak: Updated French language files

= 1.1.4.1: August 07, 2012 =

* New: Added "order" and "orderby" parameters to the [downloads] short code
* New: Added support for .mobi files
* New: Add a "No Download Found" message to the PDF reports for when there are no products
* Fix: Bug with the source file download processing
* Fix: Error notice warning
* Fix: Rendering issue with purchase receipts in Outlook
* Fix: Some errors with aposthrophe encoding
* Tweak: Removed a conditional check for the jQuery library as it was causing problems with jQuery not loading
* Tweak: Removed deprecated get_magic_quotes_runtime()

= 1.1.4.0: July 31, 2012 =

* New: Added Quick Edit ability to the Download Price option
* New: Added a new PDF Report generation feature for Sales and Earnings, thanks to SunnyRatilal
* New: Added a new [edd_price] short code
* New: Added new edd_cart_contents filter
* New: Added a check to existing jQuery libraries before enqueing
* New: Added is_array() check to the price options name function to fix a potential error
* New: Added an php_ini check for safe mode
* Fix: Bug with the purchase receipt templates
* Fix: Bug with the discount code field on the checkout page
* Fix: Encoded bug with the purchase receipts
* Fix: Bug with the way the currency sign was displayed in the meta box price field
* Fix: Bug where flat rate discounts could result in negative checkout values
* Fix: Missing currency sign in the email {price} template tag
* Fix: Bug with + signs in email addresses
* Fix: Bug with prices not saving when set to 0
* Fix: Miss spelled FOR attribute on a checkout label
* Tweak: Updated default language files with a lot of new strings
* Tweak: Replaced Thickbox with Colorbox for email template previews
* Tweak: Updated the charset from ISO-8859-1 to utf-8 for the purchase receipts
* Tweak: Update the date in purchase receipts to reflect the date_format setting in WordPress
* Tweak: Improved the formatting of country names

= 1.1.3.2: July 20, 2012 =

* New: Added two new action hooks to the reports page
* Fix: Minor bug with the PayPal IPN listener
* Fix: Minor bug with the function that checks for a valid discount

= 1.1.3.1: July 18, 2012 =

* Fix: Bug that caused complete CC fields to show when only one gateway was enabled

= 1.1.3: July 18, 2012 =

* New: Added a new filter to the PayPal redirect arguments array
* New: Added a check to the download processing function to ensure the purchase has been marked as complete
* Fix: Bug with free downloads that happened when no payment gateway was selected
* Fix: Padding bug on the checkout form
* Fix: Bug that prevented large files from being able to be downloaded
* Fix: Error that showed up when purchasing a download without any downloadable files
* Fix: Bug with the PayPal Standard gateway that was present when allow_url_fopen wasn't enabled
* Tweak: Removed the edd_payment post type from the WP Nav Menus
* Tweak: Separated First and Last name fields in the payment's CSV export
* Tweak: Improved the countries drop down field in the default CC form for payment gateways

= 1.1.2: July 16, 2012 =

* New: Added new payment export system, thanks to MadeByMike
* New: Added a legend to the user info fieldset
* New: Added a new "class" parameter to the [purchas_link} short code
* New: Added new edd_is_checkout() conditional function
* Fix: Bug with the ajax function that adds items to the cart - it did not show the price option name until page was refreshed
* Fix: Bug in the purchase receipt that caused it to include all source file links, not just the ones set to the price option purchase
* Tweak: Moved the discount code fieldset inside of the user info fieldset on the checkout form
* Tweak: Improved the markup of the default CC fields
* Tweak: Updated Spanish language files

= 1.1.1: July 10, 2012 =

* New: Added a couple of new filters to the file download processing function
* New: Added Japanese language files
* Fix: a couple of undefined index errors
* Fix: Bug with the "All" filter in the Payment History page
* Fix: an amount comparision error in the PayPal IPN processer

= 1.1.0: July 07, 2012 =

* New: Added new French translation files, thanks for Boddhi
* New: Added a new "upload" callback for settings field types
* New: Added a new hook, edd_process_verified_download, to the download processing function
* New: Added new {receipt_id} template tag for purchase receipts
* New: Added payment "status" filters to the payment history page
* New: Added an option to filter the payment history page by user/buyer
* New: Added a "Price" column to the Downloads page
* New: Added a missing text domain to the Settings Updated notice
* Fix: Bug with the add-ons cache that caused them to never refresh
* Fix: Bug with duplicate "Settings Updated" notices
* Tweak: The width of the "Email" column in the payment history page
* Tweak: Improved CSS for the checkout page
* Tweak: Improved CSS for the payment method icons
* Tweak: Minor improvements to the email templating system
* Tweak: Minor improvements to the View Order Details pop up
* Tweak: Updated edd_sert_payment() to apply the date of the payment to the post_date field
* Tweak: Updated default language files

= 1.0.9: July 03, 2012 =

* New: Added labels above the file name and file URL fields to help users using browsers without placeholder support
* New: Added the ability to register custom payment method icons
* New: Added unique IDs to P tags on the checkout form
* New: Added an option to disable the PayPal IPN verification
* New: Added a new feature that allows source files to be restricted to specific price options
* New: Added an option in Settings > Misc to define the expiration length for download links - default is 24 hours
* New: Added a new filter, edd_download_file_url_args,  for changing the arguments passed to the function that generages download URLs
* New: Added a new filter to allow developers to change the redirect URL for the edd_login form
* Fix: Bug with the EDD_READ_FILE_MODE constant
* Fix: Bug with the file upload meta box fields
* Tweak: Updated the "View Purchase Details" modal to include the price option purchased, if any
* Tweak: Updated the purchase/download history short codes to only show files for the price options the user has purchased
* Tweak: Made improvements to the checkout registration form layout
* Tweak: Updated the [purchase_link] short code in the Download Configuration meta box to reflect the chosen button color
* Tweak: Updated the "Short Code" column in the list table to include the correct button color option
* Tweak: Improved some file / function organization

= 1.0.8.5: June 28, 2012 =

* New: Added {payment_method} to the list of email template tags for showing the method of payment used for a purchase
* Fix: Bug with the page options in settings
* Fix: Bug with the function that checks if a user has purchased a specific download
* Fix: Potential bug with the "settings updated" notice that could have caused duplicate messages to be shown
* Fix: Bug with the [downloads] short code
* Tweak: Enhanced the function for checking if a user has purchased a download to add support for checking for specific price options
* Tweak: Removed the menu_position attribute from the "download" post type to help prevent menu conflicts
* Tweak: Updated the edd_read_file() function to convert local URLs to absolute file paths

= 1.0.8.4: June 24, 2012 =

* New: Added a few new action hooks
* New: Added "Settings Updated" notification when saving plugin settings
* New: Add a parameter to the [downloads] short code for showing the complete content
* New: Added options for linking the download titles in the [downloads] short code
* New: Added a "price" parameter to the [downloads] short code
* Fix: Bug with free downloads
* Fix: Bug with download sale/earning stats going negative when reversing purchases
* Tweak: Improved the CSS on the variable price option forms
* Tweak: Moved the function that triggers the purchase receipt to its own function/hook so that it can be modified more easily
* Tweak: Made some improvements to the default purchase receipt email template
* Tweak: Renamed the "Manual Payment" gateway to "Test"
* Tweak: Updated Spanish language files
* Tweak: Removed some blank form action attributes that caused the HTML to invalidate
* Tweak: Removed the "You have already purchased this" message from the purchase link short code / template

= 1.0.8.3: June 15, 2012 =

* New: Added a default purchase receipt email that is used if no custom email has been defined
* New: Added new constant EDD_READ_FILE_MODE for defining how download files are delivered
* New: Added auto creation for .htaccess files in the uploads directory for EDD to help protect unauthorized file downloads
* New: Added Turkish language files
* New: Added detection for php.ini variables important to PayPal payment verification
* New: Added a new short code for showing a list of active discounts:** [download_discounts]
* New: Added pagination to the download/sale log on download Edit screens
* New: Added new "edd_default_downloads_name" filter for changing the default singular and plural "download" labels used globally throughout the plugin
* New: Adding new span.edd-cart-item-separator to the cart widget and short code
* New: Added more support for the [downloads] short code, used to display a list or grid of digital products
* New: Added option to send purchase receipt when manually marked a payment as complete
* New: Added new "edd_success_page_redirect" filter to the function that redirects a buyer to the success page
* New: Added "Payment Method" to the "View Order Details" popup
* Fix: Bug with the discount codes and their usage counts not getting recorded correctly
* Fix: Bug with the install script
* Fix: Problem with apostrophe encoding in the purchase summary sent to PayPal
* Fix: Couple of undefined index errors
* Tweak: Moved load_plugin_textdomain to an "init" hook in order to work better with translation plugins
* Tweak: Changed the default charset in the PayPal standard gateway to that of the website
* Tweak: Made ajax enabled by default
* Tweak: Reorganized the edd_complete_purchase() function to be more extensible

= 1.0.8.2: May 31, 2012 =

* New: Added a number_format() check to the PayPal standard gateway
* New: Added the Turkish Lira to supported currencies
* New: Added new edd_hook_callback() function for settings field type callbacks
* New: Added edd_get_ip() and updated the user IP detection. It previously failed if the server was running SSL
* New: Added missing class name to the download history table
* New: Added a new conditional called edd_no_redownload() that theme devs can use to check if redownloading of files is permitted
* Fix: Problem with improper encoding of apostrphes in purchase receipt emails
* Fix: A misnamed class in the purchase history table
* Tweak: Updated purchase and download history to now show download links if redownload is disabled
* Tweak: Dramatically improved the default PayPal gateway, which should help prevent payments not getting verified
* Tweak: Updated default language files with new strings for translation

= 1.0.8.1: May 28, 2012 =

* New: Added a new option for marking a payment as "refunded". The refund process must be done through the payment gateway still. When payments are marked as "refunded", the sales and earnings stats will be adjusted accordingly.
* New: Added an alert message to the "Delete Payment" link
* New: Added get_post_class() to the payments history page so that payment rows can be styled based on their status, post type, etc.
* New: Added new filter called "edd_payment_statuses", which can be used to register custom statuses
* Fix: Translation domains on the login forms
* Fix: Problem with user emails not being recorded for guest purchases
* Tweak: Updated es_ES translation files
* Tweak: Lots of code documentation improvements
* Tweak: Completely rewrote the purchase processing functions to fix a couple of bugs and make the entire thing easier to debug and improve
* Tweak: Improved the performance of the add-ons page with transients
* Tweak: Reorganized some functions into more appropriate files
* Tweak: Updated admin CSS to add custom background color to refunded payments
* Tweak: Updated French language files

= 1.0.8: May 22, 2012 =

* New: Added the [purchase_history] shortcode for showing a detailed list of user's purchases
* New: Added the edd_get_checkout_uri() function for use by themes
* Fix: Incorrectly named parameter in the edd_after_download_content hook
* Fix: CSS bug with the Add Ons page
* Fix: Couple of bugs with the login/register checkout forms
* Tweak: Dramatically improved code documentation
* Tweak: Improved the names of the widgets

= 1.0.7.2: May 17, 2012 =

* New: Added a new EDD Categories / Tags widget
* New: Added an enhancement to the cart widget that causes the "Purchase" button to reset when removing an item from the cart
* New: Added user's IP address to payment meta
* New: Added localization to the default page titles created during install
* Fix: Major bug that made it impossible to safely update orders
* Tweak: Removed old stripe.js code that is no longer used
* Tweak: Removed duplicated code from payments history page

= 1.0.7.1: May 11, 2012 =

* New: Added a second instance do_action('edd_purchase_form_user_info') to the checkout registration form
* New: Added a wrapper div.edd-cart-ajax-alert around the message that shows when an item has been added to the cart
* Fix: Bug with the discount code form on checkout. It now only shows if there is at least one active discount. Props to Sksmatt
* Fix: Bug with the Media Uploader when adding media to the content of a Download. Props to Sksmatt
* Fix: Small error notice present in the checkout form short code. Props to Sksmatt
* Fix: Small bug wit the edd_remove_item_url() present when on a 404 error page. Props to Sksmatt
* Tweak: Updated the edd_purchase_link() function to automatically detect chosen link styles and colors

= 1.0.7: May 08, 2012 =

* New: edd_has_variable_prices() function
* New: Added missing "required" classes to the checkout login form
* New: Added the ability to update the email address associated with payments
* New: Added a new [edd_login] short code for showing a basic login form
* New: Added new Dutch language translation files
* New: Added an $id parameter to the edd_cart_item filter
* Tweak: Updated French language files
* Tweak: Improved the edd_price() function to take into account products with variable prices

= 1.0.6: May 06, 2012 =

*** NOTE:** if you have modified the checkout_cart.php template via your theme, please consider updating it with the new version as many things have changed.
* New: Added missing element classes to the cart widget, checkout cart, and more
* New: Added the edd_price() function for use in themes
* New: Added new a new filter that allows for the jQuery validation rules to be modified for the checkout page
* New: Added filters that allow for post type and taxonomy labels to be modified via the theme
* New: Added filters that allow for the post type "supports" attributes to be modified
* New: Added extra mimetypes to the function that processes file downloads
* Fix: Bug that allowed for the same download to be added to the cart twice.
* Fix: Bug with the empty cart message not being displayed on the checkout page
* Fix: Bug with the in-checkout registration /login form
* Fix: Bug in the "Edit Payment" page caused by the variable price system
* Fix: Bug with plugin pages being duplicate on reactivation of EDD
* Tweak: Variable price descriptions can now contain HTMl
* Tweak: Payments in the Payment History page can now be sorted by ID, Status, and Date.
* Tweak: Improved the layout of the in-checkout register / login forms
* Tweak: Updated the edd_payment_meta filter with a second parameter for $payment_data
* Tweak: Updated the "Insert Download" icon in the "Insert Media" section to match the main post type icon
* Tweak: Dramatically improved the CSS of the checkout page.
* Tweak: When purchasing a product with variable prices, the selected price option name is now shown on the checkout page

= 1.0.5: May 01, 2012 =

* New: Variable pricing option for downloads
* New: Added new {price} template tag for emails
* New: Added support for free downloads
* New: Added a check for whether the current theme supports post thumbnails
* New: Icon to the Downloads post type
* Fix: Improperly named filter for "edd_payment_meta"
* Fix: Some bugs with the email formatting
* Fix: Small bug with the ajax add to cart system
* Fix: Few undefined index errors
* Tweak: Updated Spanish language files
* Tweak: Updated some advanced query URLs to be more efficient
* Tweak: Updated the German language files
* Tweak: Updated default.po/mo
* Tweak: Improved the download metabox layout
* Tweak: Updated the French language files

= 1.0.4.1: April 27, 2012 =

* New: Download post type icon
* Fix: Missing add-ons.php file

= 1.0.4: April 26, 2012 =

* New: "Add Ons" page for viewing all available add-ons for the plugin
* New: Two new filters for currencies that allow developers to add their own currencies
* Tweak: Meta box field loading that allows add-ons to add / remove fields
* Tweak: Added language files for Spanish
* Tweak: Improvements to the "empty cart" message. It can now be customized via a filter

= 1.0.3: April 21, 2012 =

* New: Added first and last name fields to the checkout registration form.
* New: Option to include an "Agree to terms" to the checkout.
* New: An option for the checkout cart template to be customized via the theme.
* New: Add .epub files to accepted mime types.
* Fix: backwards compatibility for WP versions < 3.3. The rich editors in the settings pages could not be rendered in < 3.3.
* Fix: Potential bug with file downloads.
* Fix: Bug with a missing email field when using add-on gateways.
* Tweak: Improved country list formatting.
* Tweak: Improved the price input field to make it more clear and help prevent improper price formats.

= 1.0.2: April 19, 2012 =

* New: An option to delete payments
* New: Featured thumbnails to checkout cart
* New: Forced file downloads and hidden file URLs
* Fix: Bug with duplicate purchase receipts
* Fix: A bug with the discount code system
* Tweak: Updated language files
* Tweak: "Already purchased" message now shows option to checkout when purchasing again.
* Tweak: Improved checkout CSS to help prevent conflicts
* Tweak: Moved payment action links to beneath the payment email to better match WordPress core

= 1.0.1.4: April 17, 2012 =

* New: The Italian language files, thanks to Marco.
* Fix: A bug with the "Add New" button for download source files.

= 1.0.1.3: Early April =

* Fix: A bug with the checkout login / register forms

= 1.0.1.2: Early April =

* New: German translation, thanks to David Decker.
* New: Partial European Portuguese translation, thanks to Takssista.
* Fix: A bug with the manual payment gateway.
* Fix: A bug where sales / earnings counts were increased before a purchase was confirmed.
* Fix: A bug with the checkout registration / login forms.

= 1.0.1.1: Early April =

* New: Inclusion of INR as an available currency.
* Fix: Updates to the default.po file for missing strings.

= 1.0: Early April =

* First offical release!
