= 4.5.0 =
* Feature: Added full support for the Gravity Wiz Conditional Logic Date Plugin
* Feature: Added full support for the Slim Image Cropper for Gravity Forms Plugin
* Dev Feature: Added additional actions that run before and after PDFs are generated.

= 4.4.0 =
* Feature: Add native support for Gravity Forms Chained Select
* Feature: Include Gravity Forms add-on conditional logic in PDF Conditional Logic selector
* Feature: When the "Show Page Names" PDF setting is enabled, the `pagebreak` CSS class can now be used on Named Pagebreak fields (except the very first one)
* Feature: PDF Rich Text fields now utilize the full width of the editor
* Dev Feature: Add $form_data API endpoint
* Dev Feature: Add the $form and $this variables to the `gfpdf_field_value` filter
* Dev Feature: Add `gfpdf_form_data_key_order` filter to allow the re-ordering of the $form_data array
* Dev Feature: Add filter `gfpdf_container_disable_faux_columns` to allow faux columns to be toggled off (useful when using a lot of conditional logic with CSS Ready Classes)
* Housekeeping: Update Monolog to latest version
* Housekeeping: Instead of generic error, display `You do not have permission to view this PDF` when user failed PDF security checks
* Housekeeping: Tweak the Help page to provide more relevant information.
* Housekeeping: Reduce the Gravity PDF log file bloat, and add more specific log messages.
* Housekeeping: Recursively clean-up the PDF temporary directory
* Housekeeping: Limit the registration of PDF settings on Gravity PDF pages, and the admin options.php page
* Bug: Prevent multiple calls running when a new template is installed/deleted and then selected
* Bug: Pre-process any mergetags for the Checkbox, HTML, Post Content, Radio, Section, Textarea and Terms of Service Gravity Form fields
* Bug: Fix individual quantity field $form_data
* Bug: Ensure individual product fields (Product, Discount, Shipping, Subtotal, Tax and Total) display an empty value in the $form_data array, when necessary
* Bug: Fix PDF Template Manager display issues for WordPress 4.8+
* Bug: Adjust Logged out timeout default to 20 minutes to match documentation
* Bug: Fix PHP notice when pre-procesing the template settings
* Bug: Fix Survey $form_data['survey']['score'] key
* Bug: Fix the Gravity Perks E-Commerce Subtotal value in the $form_data array
* Bug: Prevent TinyMCE error when selecting a new template and other plugins define a custom TinyMCE plugin
* Bug: Adjust PDF Template Upload limit from 5MB to 10MB
* Bug: Fix Product field background color issue
* Bug: Right-align prices in the product table
* Bug: Fix PHP fatal error when PDF cannot be correctly saved to disk

= 4.3.2 =
* Bug: Reverse pricing issue bug fix in 4.3.1 (under some circumstances it cause the incorrect Unit Price to be displayed in product table)
* Bug: Fix Unit Price currency issue in the product table when using the Gravity Forms Multi Currency plugin
* Bug: Fix empty line-items in the Product table when using the Gravity Wiz E-Commerce add-on with conditional logic

= 4.3.1 =
* Bug: Restrict Gravity PDF JavaScript to the correct PDF pages (GH#693)
* Bug: Fix PHP5.2 activation error (GH#697)
* Bug: Fix RTL issue with Chosen Select library (GH#698)
* Bug: Fix PDF Product table pricing issue by using the pre-calculated price field for the unit price (GH#699)

= 4.3.0 =
* Feature: Add support for Gravity Perks E-Commerce Add-on (GH#671)
* Dev Feature: Add GPDFAPI::get_pdf_fonts() method
* Dev Feature: Add 'gfpdf_pdf_generator_pre_processing' filter
* Dev Feature: Add 'gfpdf_entry_pre_form_data' filter
* Dev Feature: Add Helper_Trait_Logger class to make it easier to inject our logger into new classes (GH#677)
* Dev Enhancement: Include the current object as a 5th parameter to 'gfpdf_pdf_field_content' filter
* Dev Enhancement: Include update message / additonal link helper functions for registered Gravity PDF add-ons (GH#673)
* Dev Enhancement: Update Easy Digital Download Licensing class to version 1.6.14
* Future Feature: After plugin updates, copy shipped Mpdf fonts to PDF Working Directory (preparation for removal of all fonts in future release) (GH#676)
* Bug: Strip URL parameters from home_url(), if any, when building PDF URL (GH#674)
* Bug: Load the correct PDF Template Configuration file when using 'template' helper param (GH#675)

= 4.2.2 =
* Bug: Fix empty Master Sassword regression introduced in 4.2 (GH#664)
* Bug: Fix Javascript errors when plugin translation files used (GH#667)
* Bug: Fix PDF Conditional Logic saving problem when using 'Less than' (GH#668)
* Bug: Fix PHP Notices when using custom font (GH#669)
* Bug: Merge Mpdf upstream patches (includes Chrome Viewer Yellow hover fix)

= 4.2.1 =
* Bug: Fix fatal DateTimeZone error for older versions of PHP (GH#654)

= 4.2.0 =
* Feature: Merge tags and shortcodes are displayed in the PDF for any administrative fields (GH#633)
* Feature: New field class 'pagebreak' forces a pagebreak in the PDF (GH#634)
* Feature: Instead of the field not showing at all, Gravity Perks Terms of Conditions field now shows the text "Not accepted"
when user hasn't agreed to terms (GH#636)

* Dev Feature: Add premium add-on and licensing infrastructure (GH#619)
* Dev Feature: [gravitypdf] shortcode debug messages can be toggled on and off for users with the 'gravityforms_view_entries' capability (GH#627)
* Dev Feature: Add filter 'gfpdf_field_label' to modify the PDF field labels (GH#621)
* Dev Feature: Add filter 'gfpdf_pdf_field_content' to modify the field markup before content is wrapped in the PDF markup (GH#620)
* Dev Feature: Add filters 'gfpdf_get_pdf_display_list', 'gfpdf_get_pdf_url', 'gfpdf_get_active_pdfs', 'gfpdf_override_pdf_bypass',
'gfpdf_maybe_attach_to_notification', 'gfpdf_maybe_always_save_pdf', 'gfpdf_form_data' and 'gfpdf_preprocess_template_arguments' for
greater control over the core PDF functionality. (GH#622)
* Dev Feature: Fix master password being overridden on PDF save after v3 to v4 migration (GH#624)
* Dev Feature: Allow master password field to be shown in the UI with the 'gfpdf_enable_master_password_field' fitler (GH#624)
* Dev Feature: Swapped 'error' log to 'warning' log when template config file not found (GH#613)
* Dev Feature: Upgrade all NPM modules to latest versions. PDF Template Manager now renders faster (GH#631)
* Dev Feature: Remove hard dependancy on the Helper_Interface_Config interface for the template configuration file (GH#632)
* Dev Feature: Added 'gfpdf_field_middleware' filter to control when a field should be displayed in the core PDF templates (GH#635)
* Dev Feature: Greater access to the Field_Product class internals (GH#642)

* Bug: Correctly exit the script when the PDF is downloaded / sent to the browser (GH#610)
* Bug: Don't auto-redirect to welcome / update screen on plugin install or upgrade which resolves a cached redirect issue (GH#612)
* Bug: Register two PDF endpoints to support both pretty and almost pretty permalinks at the same time (GH#614)
* Bug: Fix [gravitypdf] shortcode display error in GravityView when wrapped in another shortcode (GH#628)
* Bug: Add support for Gravity Forms 2.3 Merge Tags (GH#643)
* Bug: Fix background image relative paths (GH#645)
* Bug: Fix GravityView display issue when view is used on the front page (GH#639)
* Bug: Don't show selected product options in the product field when not grouping products together in PDF (GH#646)
* Bug: Fix edge case that caused PDF settings to be overridden when the form is updated (GH#648)

= 4.1.1 =
* Bug: Add check to see if headers are already sent before trying to redirect to the welcome / update page (GH#601)
* Bug: Fixed issue accessing the Advanced Template Manager in Safari browser (GH#603)
* Bug: Ensure the Advanced Template Manager notice and error messages have the correct styles in the Form PDF Settings pages (GH#604)
* Bug: Fix PDF generation problem using the legacy v3 URL structure (GH#605)

= 4.1.0 =
* Feature: Advanced PDF Template Manager. Upload, View, Select and Delete PDF templates with ease (GH#486)
* Feature: Add PDF Mergetags which output PDF URLs and compliment the [gravitypdf] shortcode which output HTML links (GH#404)
* Feature: Add four-column CSS Ready Class support to core PDFs. Note: if you have run "Setup Custom Templates" you will need to re-run it to take advantage of this feature (GH#461)
* Feature: Added support for the WP External Links plugin (GH#386)
* Feature: Added filter to show radio, checkbox, select, multiselect and product field values in core PDF templates (GH#600)
* Enhancement: Gravity PDF Review Notice now only shows up on Gravity Forms pages (#528)
* Enhancement: Convert all strings to American format so they can be correctly translated using Glotpress (GH#525)
* Enhancement: Added Australian, New Zealand and UK language packs (GH#525)
* Enhancement: Add support for Gravity Forms 2.2 Logging Module (GH#596)
* Dev Feature: Added 'Author URI' and 'Tags' headers to PDF template files which get displayed in the Advanced Template Manager (GH#558)
* Dev Feature: Include $this as eighth parameter in 'gfpdf_field_html_value' filter (GH#549)
* Dev Feature: Add 'gfpdf_field_section_break_html' filter to returned Section Field HTML for the PDF (GH#548)
* Dev Feature: Add actions before and after the core template HTML is generated; 'gfpdf_pre_html_fields' and 'gfpdf_post_html_fields' respectively (GH#546)
* Dev Feature: Template PHP Configuration files can impliment setUp and TearDown interfaces which fire when templates are installed or deleted through the Advanced Template Manager (GH#545)
* Dev Feature: Added Font Create and Delete endpoints to API – GPDFAPI::add_pdf_font() and GPDFAPI::delete_pdf_font() (GH#541)
* Dev Feature: Allow Rich Text Editor height to be controlled through the 'size' property when used in template config (GH#540)
* Dev Feature: Allow images in radio buttons using the new `'class' => 'image-radio-buttons'` property when used in template config (GH#539)
* Dev Changes: Use Gravity Forms copy of Chosen JS (GH#563)
* Dev Changes: All production CSS and JS saved to /dest/ directory as part of Advanced Template Manager update
* Dev Changes: Standardized all AJAX Authentication so Nonce and Capability checks are easily checked (GH#538)
* Dev Changes: Rename all instances of "depreciated" with "deprecated" in our files and classes (GH#535)
* Dev Changes: Contact our localized JS data to camelCase (GH#532)
* Dev Changes: Utilized PHP5.4 array syntax in code (GH#521)
* Bug: Reset Gravity Forms Merge Tag JS when PDF template changes (GH#551)
* Bug: Fix incorrect variable reference to $include_list_styles which uses 'gfpdf_include_list_styles' to change the behaviour (GH#547)
* Bug: Fix PHP notice in PDF when no products selected in form (GH#523)
* Bug: Fix issue with Gravity PDF update screen showing and not showing at incorrect times (GH#514)
* Bug: Fix false positive when checking if the PDF tmp directory is readable (GH#519)
* Bug: Fix error when using GLOB_BRACE flag in glob() function (GH#562)
* Bug: Remove OTF fonts from being uploaded due to poor support in Mpdf (GH#569)
* Bug: Additional PHP7.1 fixes merged from upstream Mpdf package
* Bug: Allow TTF file mime type to be correctly detected in WordPress 4.7.3 (GH#571)
* Bug: Ensure PDF Delete dialog shows up after being previously 'canceled' (GH#588)
* Bug: Ensure duplicate mergetags aren't included after PDF template change (GH#589)
* Bug: Fix PHP Notice if there's no active capabilities for a role (GH#590)

= 4.0.6 =
* Correctly register our PDF link with the WP Rewrite API when "Almost Pretty" permalinks are active (GH#502)
* Correctly process mergetags in password field for Tier 2 PDF templates (GH#503)
* Allow mergetags to be saved in HTML attributes in our Header / Footer settings - DEV NOTE: all Rich Text Editor settings fields should be output with `wp_kses_post( $html )` (GH#492)
* Process mergetags before Header / Footer settings get passed to wp_kses_post() on output (GH#512)
* Renamed `check_wordpress()` method to `is_compatible_wordpress_version()` to prevent false positive using ConfigServer eXploit Scanner (GH#500)
* Explicitly set a forward slash after the home_url() when building PDF links (GH#511)
* Resolve incorrect page numbering in Mpdf's Table of Contents
* Change Helper_Misc->get_contrast() to choose white in more cases (GH#506)

= 4.0.5 =
* Add support for "Almost Pretty" permalinks for web servers that don't support Mod Rewrite (IIS) (GH#488)
* Add PHP 7.1 support – resolves two string-to-array issues (GH#495)
* Add <p> and <br> tags to Rich Text Paragraph field in PDF – using wpautop() (GH#490)
* Disable product table when enabling the 'individual_products' option in core templates (GH#493)

= 4.0.4 =
* Prevent Finder (Mac) and Ghostscript viewing / processing password-protected PDFs without a password (GH#467)
* Fix Font Manager display issues for users running a version of WP lower than 4.5 (GH#470)
* Ensure new lines in Header / Footer automatically convert to <p> or <br> tags using wpautop() (GH#472)
* Fix issue in $form_data where Radio / Checkbox fields wouldn't display site-owner entered HTML (GH#415)
* Fixed conflict with Enhanced Media Library plugin (GH#433)
* Fixed issue with encoded characters in saved PDF filename (GH#475)
* Fixed issue where PDF settings would always set to "active" when saved (GH#477)
* Fixed depreciation notice for multisites using WordPress 4.6 (GH#479)
* Apply esc_html() and esc_url() to PDF name and URL in admin area (GH#484)

= 4.0.3 =
* Fix incorrect product calculations when using decimal comma format eg. 1.000,50 (GH#442)
* Rename $config variable to $html_config in core templates (GH#451)
* Don't chain CSS in our default setters or set fixed font size in templates (GH#446)
* Fix display issues for certain characters with DejaVu Sans font family in PDFs (GH#456)
* Ensure QueryPath produces valid UTF-8 data after processing (GH#452)
* Re-running the Custom Template Setup will override working directory templates with same name (GH#457)
* Fixed legacy Name field PHP warnings (GH#448)
* Replace translations with their escaped function counterparts (GH#463)
* Duplicating PDFs will now be inactive by default (GH#458)
* Tweaked the "Show Page Names" field description (GH#449)

= 4.0.2 =
* Fixes issue displaying address fields in v4 PDFs (GH#429)
* Fixes internal logging issues and added Gravity Forms 1.1 support (GF#428)
* Fixes notice when form pagination information is not available (GH#437)
* Fixes notice when using GPDFAPI::product_table() on form that had no products (GH#438)
* Fixes caching issue with GravityView Enable Notifications plugin that caused PDF attachment not to be updated (GH#436)

= 4.0.1 =
* Fixes PHP notice when viewing PDF and Category field is empty (GH#419)
* Fixes PHP notice when viewing PDF and custom font directory is empty (GH#416)
* Fixes Font Manager / Help Search features due to Underscore.js conflict when PHP's deprecated ASP Tags enabled (GH#417)
* Allows radio and checkbox values to show HTML in PDFs (GH#415)
* Fixes PDF letter spacing issue with upper and lower case characters (GH#418)
* Fixes character display problems using core Arial font in PDFs (GH#420)
* Fixes documentation search error on PDF Help tab (GH#424)
* Add additional check when cleaning up TMP directory (GH#427)

= 4.0 =
* Minimum PHP version changed from PHP 5.2 to PHP 5.4. ENSURE YOUR WEB SERVER IS COMPATIBLE BEFORE UPDATING (Forms -> Settings -> PDF -> System Status)
* Minimum WordPress version changed from 3.9 to 4.2. ENSURE YOU ARE RUNNING THE MINIMUM VERISON OF WP BEFORE UPDATING (Forms -> Settings -> PDF -> System Status)
* Minimum Gravity Forms version changed from 1.8 to 1.9. ENSURE YOU ARE RUNNING THE MINIMUM VERISON OF GRAVITY FORMS BEFORE UPDATING (Forms -> Settings -> PDF -> System Status)
* Maintained backwards compatibility with v3 for 80% of users. Review our migration guide for additional information (https://gravitypdf.com/documentation/v4/v3-to-v4-migration/)
* Created full user interface for managing plugin settings. All settings are now stored in the database
* Overhaul PDF designs that ship with software. Now comes with 4 completely free templates (two are all-new and two are enhanced v3 favorites)
* Added CSS Ready class support in PDFs. Two and three column classes now work in PDF
* Users can apply conditional logic to PDFs via new UI
* Control font, size and color via new UI
* Control paper size of generated PDF via new UI
* Control advanced security settings via new UI
* Control customisable PDF template options via new UI
* Control PDF header / footers via UI
* Control PDF background via UI
* Change PDF format (PDF/A-1b or PDF/X-1a) via UI
* Password Protect PDF via UI and change end-user privilages
* Added [gravitypdf] shortcode to allow users to display PDF links on confirmation pages, notifications, or anywhere else
* Allow user to change the action of the PDF link view in admin area (view or download)
* Added timeout parameter when unauthenticated user who submitted the form (matched by IP) attempts to access PDF. Defaults to 20 minutes
* Added ability to make a PDF "public". This disabled all security precautions on PDF. Use with caution.
* Deprecated configuration.php and created a migration feature which users can run if that file is detected. Removes /output/ directory during migration (where v3 stored PDFs saved to disk).
* Duplicating Gravity Form will also duplicate Gravity PDF settings assigned to that form. Importing / Exporting forms will also include PDF settings
* Better installation and upgrade experience for users with automated redirect to landing page after install / major update (can be disabled in settings)
* Created a font manager so users have a user interface to install and use their favorite fonts. Support for TTF and certain OTF font files
* Allow users to enable Right to Left language support from UI
* Created uninstaller which removes all trace of plugin from website
* Help tab allows users to live search our documentation
* Remove need to initialize the plugin when first installed
* Remove need to initialize fonts when uploaded to our /fonts/ directory
* Cleanup PDFs from disk when finished with them (also cleans up any stay files every 24 hours)
* Detect if our /tmp/ directory is accessible by browser and suggest ways to fix
* Allow all directories in /PDF_EXTENDED_TEMPLATES/ directory to be moved / renamed via filters (including the base directory)
* Create GPDFAPI class to allow devs to easily build ontop of plugin
* Cleaned up PDF template markup so developers can focus soley on their template code without any extra overhead. See our documentation for more details (https://gravitypdf.com/documentation/v4/developer-start-customising/)
* Enhanced PDF templates by allowing an image and configuration class
* Added large number of new actions and filters and provided documentation and examples for them on our website
* Allow developers to add or remove individual security layers via filters
* Updated mPDF from 5.7 to 6.1
* Added support for Gravity Forms Logging plugin
* Added better product data to $form_data['field']
* Added PHPDocs to all classes / methods / functions
* Fix PDF_EXTENDED_TEMPLATES location in legacy Multisite networks (WP3.5 or lower)
* Automatically make $field array available to PDF templates (array of current form fields accessible by field ID)
* Automatically make $settings array available to PDF templates (the current PDF configuration settigns)
* Automatically make $config array available to PDF templates (the initialized template config class - if any)
* Automatically make $form, $entry and $form_data available to PDF templates
* Automatically make $gfpdf object available to PDF templates (the main Gravity PDF object containing all our helper classes)

= 3.7.7 =
* Bug - Ensure 'gfpdf_post_pdf_save' action gets triggered for all PDFs when resending notifications
* Housekeeping - Remove compress.php from mPDF package (unneeded)

= 3.7.6 =
* Bug - Added full support for all Gravity Forms notification events (includes Payment Complete, Payment Refund, Payment Failed, Payment Pending ect)
* Bug - Resolve mPDF PHP7 image parsing error due to a change in variable order parsing.

= 3.7.5 =
* Housekeeping - Tweak mPDF package to be PHP7 compatible.

= 3.7.4 =
* Housekeeping - Revert patch made in last update as Gravity Forms 1.9.9 fixes the issue internally.

= 3.7.3 =
* Bug - Gravity Forms 1.9 didn't automatically nl2br paragraph text mergetags. Fixed this issue in custom PDF templates.

= 3.7.2 =
* Bug - Updated $form_data['date_created'], $form_data['date_created_usa'], $form_data['misc']['date_time'], $form_data['misc']['time_24hr'] and $form_data['misc']['time_12hr'] to factor in the website's timezone settings.

= 3.7.1 =
* Housekeeping - Allow control over signature width in default template using the 'gfpdfe_signature_width' filter
* Housekeeping - Add better error checking when migrating PDF template folder
* Housekeeping - Add unit testing to the directory migration function
* Bug - Fixed backwards-compatiiblity PHP error when viewing custom PDF templates on Gravity Forms 1.8.3 or below.
* Bug - Ensure checkbox field names are included in the $form_data array

= 3.7.0 =
* Feature - Added 'default-show-section-content' configuration option. You can now display the section break content in the default template. Note: if this option is enabled and the section break is empty it will still be displayed on the PDF.
* Feature - Added hooks 'gfpdfe_template_location' and 'gfpdfe_template_location_uri' to change PDF template location
* Housekeeping - Migrate your template and configuration files. As of Gravity PDF 3.7 we'll be dropping the 'site_name' folder for single WordPress installs and changing the multisite install directory to the site ID.
* Housekeeping - Added $form_data['html_id'] key which has the HTML fields added by their ID (much like the signature_details_id key).
* Housekeeping - Add large number of unit tests
* Housekeeping - Derestrict certain pages software loads on.
* Housekeeping - Split up PDF viewing security components into smaller chunks (easier to unit test)
* Housekeeping - Remove CLI-checking override in RAM settings
* Housekeeping - Included directory paths by default on the system status page
* Housekeeping - Updated configuration.php examples to include new default config option and refined the copy
* Bug - Fixed issue initializing plugin when memory limit was set to -1 (unlimited)
* Bug - Fix Multisite migration problem where if an error was thrown for one of the sub sites it caused all of the sites to show an error (even if they were successful)
* Bug - Fix typo in example-template.php file
* Bug - Fix up notices in custom templates when using poll/survey/quiz add ons.
* Bug - Fix up notice in custom template when the form description is empty
* Bug - Fix up notices in mPDF template when using headers/footers
* Bug - Fix up error in PDF when signature field wasn't filled in

= 3.6.0 =
* Feature - Added support for Gravity Form's sub-field middle name  (1.9Beta)
* Feature - Patch mPDF with full :nth-child support on TD and TR table cells
* Feature - Added $form_data[products_totals][subtotal] key (total price without shipping costs added)
* Feature - Added formated money to all product fields in the $form_data array
* Feature - Default templates: only show fields who's conditional logic is true. Perfect when used with default-show-html
* Housekeeping - Move PDF_EXTENDED_TEMPLATES folder to the /wp-content/upload/ directory. Get more info about the move (see http://developer.gravitypdf.com/news/migrating-template-directory-means/)
* Housekeeping - Refined when admin resources are loaded
* Housekeeping - Fixed typo during initial initialization
* Housekeeping - Switched icons back to FontAwesome which is shipped by default with Gravity Forms
* Housekeeping - Display full path to mPDF tmp directory when there are issues writing to it
* Housekeeping - Modified font installation message.
* Housekeeping - Update example-header-and-footer_06.php and example-advanced-headers_07.php to better reflect current mPDF features
* Bug - Fixed issue pulling the correct configuration when multiple nodes were assigned to multiple forms
* Bug - Fixed number field formatting issue which always rounded to two decimal places
* Bug - Fixed JS namespace issue with WordPress Leads plugin
* Bug - Fixed error initializing fonts / backing up PDF_EXTENDED_TEMPLATES directory when using the glob() function
* Bug - Fix issue with PHP 5.0 and 5.1 array_replace_recursive function when used with an array inside the $gf_pdf_config array
* Bug - Fixed fatal error when logged in user attempts to view PDF they don't have access to
* Bug - Fixed issue in $form_data array where single-column list items where being returned as an array and not a HTML list.
* Bug - Prevent unauthorized users auto-initializing the software or migrating the templates folder
* Bug - Fixed up incorrect formatting issue when using custom font name
* Bug - Fixed issue displaying Times New Roman in PDF templates

= 3.5.11.1 =
* Bug - Fix issue saving and sending blank PDFs due to security fix

= 3.5.11 =
* Bug - Fix security issue which gave unauthorized users access to Gravity Form entires

= 3.5.10 =
* Housekeeping - Include individual scoring for Gravity Form Survey Likert field in the $form_data['survey'] array
* Bug - Fix fatal error when Gravity Forms isn't activated, but Gravity PDF is.

= 3.5.9 =
* Bug - Rollback recent changes that introduced the GFAPI as introduces errors for older versions of Gravity Forms. Will reintroduce in next major release and increase the minimum Gravity Forms version.

= 3.5.8 =
* Bug - Fixed issue affected some users where a depreciated function was causing a fatal error

= 3.5.7 =
* Bug - Fixed issue where the PDF settings page was blank for some users

= 3.5.6 =
* Bug - Fixed issue with last release that affected checks to see if Gravity Forms has submitting
* Bug - Fixed fatal error with servers using PHP5.2 or lower
* Bug - Fixed E_NOTICE for replacement array_replace_recursive() function in PHP5.2 or lower
* Bug - Fixed issue with AJAX spinner showing when submitting support request

= 3.5.5 =
* Housekeeping - Include French translation (thanks to Marie-Aude Koiransky-Ballouk)
* Housekeeping - Wrap 'Initialize Fonts' text in translation ready _e() function
* Housekeeping - Tidy up System Status CSS styles to accomidate translation text lengths
* Housekeeping - Fix E_NOTICE when viewing entry details page when form has no PDF configuration
* Bug - Fixed load_plugin_textdomain which was incorrectly called.
* Bug - Correctly check if the plugin is loaded correctly before letting the PDF class fully load

= 3.5.4 =
* Bug - Fixed issue with incorrect PDF name showing on the entry details page
* Bug - Fixed issue with custom fonts being inaccessible without manually reinstalling after upgrading.
* Housekeeping - Added in two new filters to modify the $mpdf object. 'gfpdfe_mpdf_class' and 'gfpdfe_mpdf_class_pre_render' (replaces the gfpdfe_pre_render_pdf filter).

= 3.5.3 =
* Bug - Mergetags braces ({}) were being encoded before conversion
* Bug - Fixed issue with empty string being passed to array filter
* Housekeeping - Enabled mergetag usage in the pdf_password and pdf_master_password configuration options
* Housekeeping - Correctly call $wpdb->prepare so the variables in are in the second argument

= 3.5.2 =
* Bug - Initialization folder .htaccess file was preventing template.css from being loaded by the default templates.

= 3.5.1 =
* Bug - Fixed issue with core fonts Arial/Helvetica, Times/Times New Roman and Courier not displaying in the PDF.
* Bug - Fixed display issues for multiple PDFs on the details admin entry page
* Housekeeping - Made the details entry page PDF view consistent for single or multiple PDFs
* Housekeeping - Ensured all javascript files are minified and are correctly being used
* Housekeeping - Remove legacy notices from mPDF package

= 3.5.0 =
* Feature - No longer need to reinitialize every time the software is updated.
* Feature - Add auto-initializer on initial installation for sites that have direct write access to their server files
* Feature - Add auto-initializer on initial installation across entire multisite network for sites who have direct write access to their server files.
* Feature - Add auto-PDF_EXTENDED_TEMPLATES theme syncer for sites that have direct write access to their server files
* Feature - Correctly added language support. The .PO file is located in the /language/ folder if anyone would like to do a translation.

* Housekeeping - Restrict initialization process to 64MB or greater to counter problems with users reporting a 'white screen' when running in a low-RAM environment.
* Housekeeping - Refractor the admin notices code
* Housekeeping - Create responsive PDF settings page
* Housekeeping - Minify CSS and Javascript files
* Housekeeping - Remove FontAwesome fonts from package and use Wordpress' build-in 'dashicons'
* Housekeeping - Refine action and error messages
* Housekeeping - Update initialization tab copy for both pre- and post- initialization
* Housekeeping - Use Gravity Forms get_ip() function instead of custom function
* Housekeeping - The in-built support form uses SSL once again (disabled in the past due to some servers being unable to verify the certificate).

* Bug - When testing write permissions, file_exist() is throwing false positives for some users which would generate a warning when unlink() is called. Hide warning using '@'.

= 3.4.1 =
* Bug - Fix typo that effected sites running PHP5.2 or below.

= 3.4.0.3 =
* Bug - Define array_replace_recursive() if it doesn't exist, as it is PHP 5.3 only.

= 3.4.0.2 =
* Housekeeping - Wrapped the View PDF and Download buttons in correct language functions - _e()
* Bug - Fix problem displaying the signature field
* Bug - Fix notice errors with new 'save' PDF hook

= 3.4.0.1 =
* Housekeeping - Add commas on the last line of every config node in the configuration.php file
* Housekeeping - Fix up initialization error messages
* Bug - Fix up mPDF bugs - soft hyphens, watermarks over SVG images, inline CSS bug

= 3.4.0 =
* Feature - Added auto-print prompt ability when you add &print=1 to the PDF URL (see https://developer.gravitypdf.com/documentation/display-pdf-in-browser/ for details)
* Feature - Added ability to rotate absolute positioned text 180 degrees (previously only 90 and -90). Note: feature in beta
* Feature - Backup all template files that are overridden when initializing to a folder inside PDF_EXTENDED_TEMPLATES
* Feature - Added SSH initialization support
* Feature - Allow MERGETAGS to be used in all PDF templates, including default template (but only in the HTML field).
* Feature - Updated mPDF to 3.7.1
* Feature - Enable text/image watermark support. Added new example template example-watermark09.php showing off its usage (see http://gravitypdf.com/documentation-v3-x-x/templates/watermarks/)
* Feature - Added full survey, poll and quiz support to both the default template and $form_data (see https://developer.gravitypdf.com/documentation/accessing-survey-poll-quiz-data/)
* Feature - Shortcodes will now be processed in all templates, including default template (but only in the HTML field).
* Feature - Added 'save' configuration option so PDFs are saved to the local disk when 'notifications' aren't enabled.
* Feature - Added 'dpi' configuration option to modify the PDF image DPI. Default 96dpi. Use 300dpi for printing.
* Feature - Added PDF/A1-b compliance option. Enable with 'pdfa1b' => true. See http://mpdf1.com/manual/index.php?tid=420&searchstring=pdf/a1-b for more details.
* Feature - Added PDF/X1-a compliance option. Enable with 'pdfx1a' => true. See http://mpdf1.com/manual/index.php?tid=481&searchstring=pdf/x-1a for more details.
* Feature - Added new constant option 'PDF_REPACK_FONT' which when enabled may improve function with some PostScript printers (disabled by default). Existing sites will need to add  define('PDF_REPACK_FONT', true); to the bottom of their configuration.php file.
* Feature - Added a sleuth of new hooks and filters for developers. See https://developer.gravitypdf.com/documentation/filters-and-hooks/ for examples.
* Feature - Added $form_data['form_description'] key to $form_data array
* Feature - Update $form_data['products'] array key to field ID
* Feature - Added survey Likert output function for custom templates (much like the product table function). It can be used with the following command 'echo GFPDFEntryDetails::get_likert($form, $lead, $field_id);' where $field_id is substituted for the form field ID.
* Feature - Added field descriptions to the $form_data array under the $form_data['field_descriptions'] key.
* Feature - Added pre and post PDF generation filters and actions to pdf-render.php. These include gfpdfe_pre_render_pdf, gfpdfe_pdf_output_type, gfpdfe_pdf_filename and gfpdf_post_pdf_save.
* Feature: $form_data['signature'] et al. keys now contain the signature width and height attributes

* Housekeeping - Ensure the form and lead IDs are correctly passed throughout the render functions.
* Housekeeping - Update settings page link to match new Gravity Forms URL structure
* Housekeeping - Check if $lead['gfsurvey_score'] exists before assigning to $form_data array
* Housekeeping - Removed table and font checksum debugging from mPDF when WP_DEBUG enabled as they produced inaccurate results.
* Housekeeping - Fixed up mPDF logging location when WP_DEBUG enabled. Files now stored in wp-content/themes/Active_Theme_Folder/PDF_EXTENDED_TEMPLATES/output/ folder.
* Housekeeping - Removed API logging locally when WP_DEBUG is enabled.
* Housekeeping - Increase API timeout interval as some overseas users reported timeout issues
* Housekeeping - Modified mPDF functions Image() and purify_utf8_text() to validate the input data so we don't have to do it every time through the template.
* Housekeeping - Added ability to not re-deploy every update (not enabled this release as template files were all updated)
* Housekeeping - Additional checks on load to see if any of the required file/folder structure is missing. If so, re-initialize.
* Housekeeping - Save resources and turn off automatic rtl identification. Users must set the RTL option when configuring form
* Housekeeping - Turn off mPDFs packTableData setting, decreasing processing time when working with large tables.
* Housekeeping - $gf_pdf_default_configuration options now merge down into existing PDF nodes, instead of applying to only unassigned forms. $gf_pdf_config settings override any in $gf_pdf_default_configuration
* Housekeeping - Center aligned Survey Likery field results
* Housekeeping - Partially refactored the pdf-entry-detail.php code
* Housekeeping - All default and example templates have been tidied. This won't affect custom templates.
* Housekeeping - Set the gform_notification order number to 100 which will prevent other functions (example snippets from Gravity Forms, for instance) from overridding the attached PDF.
* Housekeeping - Fix spelling mistake on initializing fonts
* Housekeeping - Remove wpautop() function from Gravity Form HTML output, which was applied before rendering and was messing up the HTML markup.
* Housekeeping - Remove empty list rows from the $form_data['list'] array in single and multi-column lists.
* Housekeeping - Apply same CSS styles (padding, border and line height) to HTML fields as done to form values in default templates
* Housekeeping - Replaced arbitrary wrapper IDs in the default templates with the actual field ID

* Bug - Fixed signature rendering issue when custom signature size was being used
* Bug - Fixed static error types in helper/install-update-manager.php file.
* Bug - Fixed redeployment error message which wasn't showing correctly
* Bug - Fixed issue with PDF not attaching to notification using Paypal's delayed notification feature
* Bug - Fixed strict standard warning about calling GFPDF_Settings::settings_page();
* Bug - Fixed strict standard warning about calling GFPDFEntryDetail::pdf_get_lead_field_display();
* Bug - Fixed issue with Gravity Form Post Category field causing fatal error generating PDF
* Bug - Fixed number field formatting issue when displaying on PDF.
* Bug - Do additional check for PHP's MB_String regex functions before initializing to prevent errors after initializing
* Bug - Fixed problem with multiple nodes assigned to a form using the same template
* Bug - Fixed path to fallback templates when not found
* Bug - Fixed problem with master password setting to user password


= 3.3.4 =
* Bug - Fixed issue linking to PDF from front end
* Housekeeping - Removed autoredirect to initialization page

= 3.3.3 =
* Bug - Correctly call javascript to control admin area 'View PDFs' drop down
* Bug - Some users still reported incorrect RAM. Convert MB/KB/GB values to M/K/G as per the PHP documentation.
* Housekeeping - Show initilisation prompt on all admin area pages instead of only on the Gravity Forms pages

= 3.3.2.1 =
* Bug - Incorrectly showing assigned RAM to website

= 3.3.2 =
* Bug - Some hosts reported SSL certificate errors when using the support API. Disabled HTTPS for further investigation. Using hash-based verification for authentication.
* Housekeeping - Forgot to disable API debug feature after completing beta

= 3.3.1 =
* Bug - $form_data['list'] was mapped using an incremental key instead of via the field ID

= 3.3.0 =
* Feature - Overhauled the initialization process so that the software better reviews the host for potential problems before initialization. This should help debug issues and make users aware there could be a problem before they begin using the software.
* Feature - Overhauled the settings page to make it easier to access features of the software
* Feature - Added a Support tab to the settings page which allows users to securely (over HTTPS) submit a support ticket to the Gravity PDF support desk
* Feature - Changed select, multiselect and radio fields so that the default templates use the name rather than the value. $form_data now also includes the name and values for all these fields.
* Feature - $form_data now includes all miscellaneous lead information in the $form_data['misc'] array.
* Feature - $form_data now contains 24 and 12 hour time of entry submission.
* Feature - Added localisation support
* Compatibility - Added new multi-upload support which was added in Gravity Forms 1.8.
* Bug - Added 'aid' parametre to the PDF url when multiple configuration nodes present on a single form
* Bug - Fixed issue when Gravity Forms in No Conflict Mode
* Bug - Font config.php's array keys now in lower case
* Housekeeping - Moved all initialization files to a folder called 'initialization'.
* Housekeeping - Renamed the configuration.php file in the plugin folder to configuration.php.example to alleviate confusion for developers who unwittingly modify the plugin configuration file instead of the file in their active theme's PDF_EXTENDED_TEMPLATES folder.
* Housekeeping - Updated the plugin file system to a more MVC-style approach, with model and view folders.
* Housekeeping - Removed ability to directly access default and example template files.
* Housekeeping - Fixed PHP notices in default templates related to the default template-only configuration options
* Housekeeping - Update core styles to match Wordpress 3.8/Gravity Forms 1.8.
* Housekeeping - Updated header/footer examples to use @page in example.

= 3.2.0 =
* Feature - Can now view multiple PDFs assigned to a single form via the admin area. Note: You must provide a unique 'filename' parameter in configuration.php for multiple PDFs assigned to a single form.
* Feature - You can exclude a field from the default templates using the class name 'exclude'. See our [FAQ topic](https://gravitypdf.com/#faqs) for more details.
* Bug - Fixed issue viewing own PDF entry when logged in as anything lower than editor.
* Bug - Fixed data return bug in pdf-entry-details.php that was preventing all data returning correctly.
* Bug - Fixed PHP Warning when using products with no options
* Bug - Fixed issue with invalid characters being added to the PDF filename. Most notably the date mergetag.
* Bug - Limit filename length to 150 characters which should work on the majority of web servers.
* Bug - Fixed problem sending duplicate PDF when using mass resend notification feature
* Deprecated - Removed GF_FORM_ID and GF_LEAD_ID constants which were used in v2.x.x of the software. Ensure you follow [v2.x.x upgrade guide](https://developer.gravitypdf.com/news/version-2-3-migration-guide/) to your templates before upgrading.

= 3.1.4 =
* Bug - Fixed issue with plugin breaking website's when the Gravity Forms plugin wasn't activated.
* Housekeeping - The plugin now only supports Gravity Forms 1.7 or higher and Wordpress 3.5 or higher.
* Housekeeping - PDF template files can no longer be accessed directly. Instead, add &amp;html=1 to the end of your URL when viewing a PDF.
* Extension - Added additional filters to allow the lead ID and notifications to be overridden.

= 3.1.3 =
* Feature - Added signature_details_id to $form_data array which maps a signatures field ID to the array.
* Extension - Added pre-PDF generator filter for use with extensions.
* Bug - Fixed issue with quotes in entry data breaking custom templates.
* Bug - Fixed issue with the plugin not correctly using the new default configuration template, if set.
* Bug - Fixed issue with signature not being removed correctly when only testing with file_exists(). Added second is_dir() test.
* Bug - Fixed issue with empty signature field not displaying when option 'default-show-empty' is set.
* Bug - Fixed initialization prompt issue when the MPDF package wasn't unpacked.

= 3.1.2 =
* Feature - Added list array, file path, form ID and lead ID to $form_data array in custom templates
* Bug - Fixed initialization prompt issue when updating plugin
* Bug - Fixed window.open issue which prevented a new window from opening when viewing a PDF in the admin area
* Bug - Fixed issue with product dropdown and radio button data showing the value instead of the name field.
* Bug - Fixed incorrect URL pointing to signature in $form_data

= 3.1.1 =
* Bug - Users whose server only supports FTP file manipulation using the WP_Filesystem API moved the files into the wrong directory due to FTP usually being rooted to the Wordpress home directory. To fix this the plugin attempts to determine the FTP directory, otherwise assumes it is the WP base directory.
* Bug - Initialization error message was being called but the success message was also showing.

= 3.1.0 =
* Feature - Added defaults to configuration.php which allows users to define the default PDF settings for all Gravity Forms. See the [installation and configuration documentation](https://developer.gravitypdf.com/documentation/getting-started-with-gravity-pdf-configuration/) for more details.
* Feature - Added three new configuration options 'default-show-html', 'default-show-empty' and 'default-show-page-names' which allow different display options to the three default templates. See the [installation and configuration documentation](http://gravitypdf.com/documentation-v3-x-x/installation-and-configuration/#default-template) for more details.
* Feature - Added filter hooks 'gfpdfe_pdf_name' and 'gfpdfe_template' which allows developers to further modify a PDF name and template file, respectively, outside of the configuration.php. This is useful if you have a special case naming convention based on user input. See [https://developer.gravitypdf.com/documentation/filters-and-hooks/](https://developer.gravitypdf.com/documentation/filters-and-hooks/) for more details about using these filters.
* Feature - Custom font support. Any .ttf font file added to the PDF_EXTENDED_TEMPLATES/fonts/ folder will be automatically installed once the plugin has been initialized. Users also have the option to just initialize the fonts via the settings page. See the [font/language documentation ](https://developer.gravitypdf.com/documentation/language-support/#install-custom-fonts) for details.
* Compatability - Use Gravity Forms get_upload_root() and get_upload_url_root() instead of hard coding the signature upload directory in pdf-entry-detail.php
* Compatability - Changed deprecated functions get_themes() and get_theme() to wp_get_theme() (added in Wordpress v3.4).
* Compatability - The plugin now needs to be initialized on fresh installation and upgrade. This allows us to use the WP_Filesystem API for file manipulation.
* Compatability - Automatic copying of PDF_EXTENDED_TEMPLATES folder on a theme change was removed in favour of a user prompt. This allows us to take advantage of the WP_Filesystem API.
* Compatability - Added Wordpress compatibility checker (minimum now 3.4 or higher).
* Bug - Removed ZipArchive in favour of Wordpress's WP_Filesystem API unzip_file() command. Some users reported the plugin would stop their entire website working if this extension wasn't installed.
* Bug - Fixed Gravity Forms compatibility checker which wouldn't return the correct response.
* Bug - Fixed minor bug in pdf.php when using static call 'self' in add_filter hook. Changed to class name.
* Bug - Removed PHP notice about $even variable not being defined in pdf-entry-detail.php
* Bug - Prevent code from continuing to excecute after sending header redirect.

= 3.0.2 =
* Backwards Compatibility - While PHP 5.3 has was released a number of years ago it seems a number of hosts do not currently offer this version to their clients. In the interest of backwards compatibility we've re-written the plugin to again work with PHP 5+.
* Signature / Image Display Bug - All URLs have been converted to a path so images should now display correctly in PDF.

= 3.0.1 =
* Bug - Fixed issue that caused website to become unresponsive when Gravity Forms was disabled or upgraded
* Bug - New HTML fields weren't being displayed in $form_data array
* Feature - Options for default templates to disable HTML fields or empty fields (or both)

= 3.0.0 =
As of Gravity PDF v3.0.0 we have removed the DOMPDF package from our plugin and integrated the more advanced mPDF system. Along with a new HTML to PDF generator, we've rewritten the entire plugin's base code to make it more user friendly to both hobbyists and rock star web developers. Configuration time is cut in half and advanced features like adding security features is now accessible to users who have little experience with PHP.

New Features include:

* Language Support - almost all languages are supported including RTL (right to left) languages like Arabic and Hebrew and CJK languages - Chinese, Japanese and Korean.
* HTML Page Numbering
* Odd and even paging with mirrored margins (most commonly used in printing).
* Nested Tables
* Text-justification and hyphenation
* Table of Contents
* Index
* Bookmarks
* Watermarks
* Password protection
* UTF-8 encoded HTML
* Better system resource handling

A new HTML to PDF package wasn't the only change to this edition of the software. We have rewritten the entire configuration system and made it super easy to get the software up and running.

Users will no longer place code in their active theme's functions.php file. Instead, configuration will happen in a new file called configuration.php, inside the PDF_EXTENDED_TEMPLATES folder (in your active theme).

Other changes include
* Improved security - further restrictions were placed on non-administrators viewing template files.
* $form_data array tidied up - images won't be wrapped in anchor tags.

For more details [view the 3.x.x online documentation](https://developer.gravitypdf.com/).

= 2.2.3 =
* Bug - Fixed mb_string error in the updated DOMPDF package.

= 2.2.2 =
* DOMPDF - We updated to the latest version of DOMPDF - DOMPDF 0.6.0 beta 3.
* DOMPDF - We've enabled font subsetting by default which should help limit the increased PDF size when using DejaVu Sans (or any other font).

= 2.2.1 =
* Bug - Fixed HTML error which caused list items to distort on PDF

= 2.2.0 =
* Compatibility - Ensure compatibility with Gravity Forms 1.7. We've updated the functions.php code and remove gform_user_notification_attachments and gform_admin_notification_attachments hooks which are now deprecated. Functions gform_pdf_create and gform_add_attachment have been removed and replaced with gfpdfe_create_and_attach_pdf(). See upgrade documentation for details.
* Enhancement - Added deployment code switch so the template redeployment feature can be turned on and off. This release doesn't require redeployment.
* Enhancement - PDF_Generator() variables were getting long and complex so the third variable is now an array which will pass all the optional arguments. The new 1.7 compatible functions.php code includes this method by default. For backwards compatibility the function will still work with the variable structure prior to 2.2.0.
* Bug - Fixed error generated by legacy code in the function PDF_processing() which is located in render_to_pdf.php.
* Bug - Images and stylesheets will now try and be accessed with a local path instead of a URL. It fixes problem where some hosts were preventing read access from a URL. No template changes are required.

= 2.1.1 =
* Bug - Signatures stopped displaying after 2.1.0 update. Fixed issue.
* Bug - First time install code now won't execute if already have configuration variables in database

= 2.1.0 =

* Feature - Product table can now be accessed directly through custom templates by running GFPDFEntryDetail::product_table($form, $lead);. See documentation for more details.
* Feature - Update screen will ask you if you want to deploy new template files, instead of overriding your modified versions.
* Feature - Product subtotal, shipping and total have been added to $form_data['field'] array to make it easier to work with product details in the custom template.
* Feature - Added two new default template files. One displays field and name in two rows (like you see when viewing an entry in the admin area) and the other removes all styling. See documentation on use.
* Security - Tightened PDF template security so that custom templates couldn't be automatically generated by just anyone. Now only logged in users with the correct privileges and the user who submitted the form (matched against IP) can auto generate a PDF. See documentation on usage.
* Deprecated - Removed form data that was added directly to the $form_data array instead of $form_data['field'] array. Users upgrading will need to update their custom templates if not using field data from the $form_data[�field'] array. If using $form_data['field'] in your custom template this won't affect you.
* Bug - Fixed problem with default template not showing and displaying a timeout error. Removed table tags and replaced with divs that are styled appropriately.
* Bug - The new plugin theme folder will successfully create when upgrading. You won't have to deactivate and reactivate to get it working.
* Bug - some installs had plugins that included the function mb_string which is also included in DOMPDF. DOMPDF will now check if the function exists before creating it.
* Bug - Remove empty signature field from the default template.
* Bug - fixed problem with redirecting to login screen even when logged in while accessing template file through the browser window directly.
* Bug - fixed error where sample template would reimport itself automatically even after deleting it. Will now only reimport if any important changes to template need to be viewed straight after an update.
* Bug - Moved render_to_pdf.php constants to pdf.php so we can use the constants in the core files. Was previously generating an error.
* Housekeeping - Cleaned up core template files, moved functions into classes and added more in-file documentation.
* Housekeeping - moved install/upgrade code from pdf.php to installation-update-manager.php
* Housekeeping - changed pdf-entry-detail.php class name from GFEntryDetail to GFPDFEntryDetail to remove compatibility problems with Gravity Forms.
* Housekeeping - created pdf-settings.php file to house the settings page code.

= 2.0.1 =
* Fixed Signature bug when checking if image file exists using URL instead of filesystem path
* Fixed PHP Constants Notice

= 2.0.0 =
* Moved templates to active theme folder to prevent custom themes being removed on upgrade
* Allow PDFs to be saved using a custom name
* Fixed WP_Error bug when image/css file cannot be found
* Upgraded to latest version of DOMPDF
* Removed auto-load form bug which would see multiple instances of the example form loaded
* Created a number of constants to allow easier developer modification
* Plugin/Support moved to dedicated website.
* Pro/Business package offers the ability to write fields on an existing PDF.

= 1.2.3 =
* Fixed $wpdb->prepare error

= 1.2.2 =
* Fixed bug with tempalte shipping method MERGETAGS
* Fixed bug where attachment wasn't being sent
* Fixed problem when all_url_fopen was turned off on server and failed to retreive remote images. Now uses WP_HTTP class.

= 1.2.1 =
* Fixed path to custom css file included in PDF template

= 1.2.0 =
* Template files moved to the plugin's template folder
* Sample Form installed so developers have a working example to modify
* Fixed bug when using WordPress in another directory to the site

= 1.1.0 =
* Now compatible with Gravity Forms Signature Add-On
* Moved the field data functions out side of the Gravity Forms core so users can freely style their form information (located in pdf-entry-detail.php)
* Simplified the field data output
* Fixed bug when using product information

= 1.0.0 =
* First release.
