### 4.1.0 | 2025-03-10 - Updated the API wrapper to return WP_Errors instead of throwing Exceptions. - Fixed code placement to be consistent with the WordPress coding standards. - AF: Updated process_feed() return value for compatibility with Gravity Forms 2.9.4, so the framework can save the feed status to the entry meta. ### 4.0.0 | 2023-12-20 - Fixed the PHP 8.2 creation of dynamic property deprecation notice that occurs on the settings page. - Added support for async (background) feed processing to improve form submission performance. ### 3.9 | 2020-09-21 - Added support for Gravity Forms 2.5. ### 3.8 | 2020-03-10 - Added support for feed duplication. - Added translations for Hebrew, Hindi, Japanese, and Turkish. - Updated the API Key setting description. - Fixed an issue where the Campaign Monitor API could ignore values passed from Multi Select fields. ### 3.7 | 2018-04-02 - Added security enhancements. - Added logging statement. - Added License GPL to plugin header. - Updated Plugin URI and Author URI to use https. ### 3.6 | 2018-01-05 - Fixed the string replacement for the Contact List tooltip. ### 3.5 | 2017-05-23 - Fixed a fatal error which could occur with PHP 7.1 when preparing the checkbox field value. - Fixed a fatal error with PHP < 5.5. - Fixed strings for translations. - Updated API library to work with PHP 7+. ### 3.4 | 2015-08-07 - Added form specific version of the *gform_campaignmonitor_override_blank_custom_fields* filter. - Added form specific version of the *gform_campaignmonitor_override_subscriber* filter. - Added form and field specific versions of the *gform_campaignmonitor_field_value* filter. - Updated minimum Gravity Forms version to 1.9.3. - Updated 'Opt-In Condition' setting label to 'Conditional Logic'. - Updated feed processing to use get_field_value() when retrieving mapped field values, enabling support for GF_Field::get_value_export with GF 1.9.12.4 and later. - Updated 'API Client ID' label on plugin settings page to 'Client API Key' so it's consistent with the wording used by Campaign Monitor. - Fixed an issue with the feed list page if the API key not valid. - Fixed a PHP notice if no clients are configured in the Campaign Monitor account. - Fixed an issue with the upgrade routine which caused it run even if a pre-framework version hadn't been installed. ### 3.3 | 2015-04-20 - Added support for the middle name input when preparing Name field values. - Updated logging statements. - Fixed a low severity security vulnerability in the admin area which could be exploited by authenticated users with form administration permissions. - Fixed issues with multi-select fields not sending data in the expected format - Fixed issue where client list was displayed even when API Client ID was entered. ### 3.2 | 2014-11-21 - Added *gform_campaignmonitor_override_subscriber* filter to allow users to modify or add subscriber parameters sent to the Campaign Monitor API. - Fixed issue where email address mapping was not being required. - Fixed issue during upgrade that prevented data from being transfered to new structure under certain situations. ### 3.1 | 2014-11-04 - Fixed issue during upgrade that prevented data from being transfered to new structure under certain situations. ### 3.0 | 2014-10-27 - Added Add-on Framework integration. - Added function *gf_campaignmonitor* to easily get a Campaign Monitor instance. - Added missing *gform_campaignmonitor_override_blank_custom_fields* hook. - Added *gform_campaignmonitor_field_value* filter to allow add-ons to modify values sent to the Campaign Monitor API. - Added text domain/path to header. - Updated Campaign Monitor API to version 4.0.0 to fix some conflicts with other active plugins using Campaign Monitor. - Updated required version of Gravity Forms to 1.8.17. - Updated POT file. - Fixed notices. ### 2.3 - Fixed bug that threw a javascript error in TruncateMiddle function when text was undefined (this could happen in some instances when a label was not specified for a field). - Fixed headers already sent issue by removing blank lines at the end of files. ### 2.2 - Updated Campaign Monitor API to version 2.5.2. - Updated "Resubscribe" UI to use a label so clicking the text also checks the corresponding checkbox. ### 2.1 | 2013-02-08 - Updated AJAX URL to resolve conflict when site is running under SSL. - Updated marking the entry as subscribed to only be when the optin condition is met. - Fixed issue with special characters in Campaign Monitor field names causing items to not map. - Removed extraneous call to non-existant function: $api->listMergeVars(). - Fixed issue where serialisation function not checked if already exists. ### 2.0 | 2012-06-27 - Added logging support. - Added support for Manage WP. - Added new conditional logic options (greater than, less than, contains starts with, ends with) and support for other conditional fields. - Fixed notices. - Fixed issue where product name was overriding full name for subscribers. - Added integration with PayPal so that subscribers can be added only when payment is received. - Fixed localization issue with some strings. - Fixed issue where RG_CURRENT_PAGE constant was not available when Gravity Forms was deactivated. ### 1.9 | 2011-11-01 - Fixed issue with broken function_exist conditional in API. ### 1.8.1 - Wrapped all API classes in class_exists() conditional for compatibility with other plugins using the same API. ### 1.8 | 2011-06-23 - Updated API wrapper so that it is compatible with v.3 of the Create Send API. - Removed blank strings from POT file. ### 1.7 | 2011-06-21 - Added ability to map checkbox fields. - Removing price from Product fields (drop down and radio field types), so that only the Product name is sent to Campaign Monitor. - Cleaned up debug Notice messages. ### 1.6 | 2011-04-25 - Fixed issue when using condition on a field with multiple single quote in its label. ### 1.5 | 2011-04-13 - Fixed issue when creating a feed using forms with HTML markup in field labels. - Added logic to prevent Campaign Monitor API classes from being loaded if it is already loaded by another plugin. - Third Party Modification: Check if Services_JSON class exists (line 3, apiclassesserialisation.php). - Added "Cancel" button to Edit page and updated "Save" and "Update" button verbiage. ### 1.4 | 2010-12-15 - Upgraded to Campaign Monitor API v3. - Added API Client ID option in settings to limit the Add-On to the specified client. ### 1.3 | 2010-12-15 - Fixed issue with name fields (when cofigured with "Simple" type) from being exported. ### 1.2 | 2010-12-15 - Fixed automatic upgrade issue with WP 3.0. ### 1.1 | 2010-12-15 - Fixed issue with client drop down when there was only one client configured in Campaign Monitor. ### 1.0 | 2010-12-15 - Updated POT file. ### 0.2 | 2010-12-15 - Adding Campaign Monitor capabilities to admin role upon plugin activation. - Fixed bug with condition when drop down item did not have the value property set. ### 0.1 | 2010-12-15 - Initial.