MailChimp API Change log

Want to know when we make changes?? If so, subscribe to our API Announcement Google Group

Below is a general overview of changes made to the API over time. This is not meant to be a svn or cvs commit log, rather a straightforward description of the overall changes you will notice when working with our API as we make updates.

2013-01-09 (Wed, 09 Jan 2013)
====================================================
* mod: v1.3: added MC_LANGUAGE special merge var to support setting list member languages
* mod: v1.2, v1.3: added "mc_language" segmenting option
* mod: v1.3: listMemberInfo, searchMembers both return the "notes" field
* rem: all: "mobile" is no longer a valid EMAIL_FORMAT option. Will be ignored/set to HTML

2012-12-05 (Wed, 05 Dec 2012)
====================================================
* new: v1.3: searchMembers provides more generic searching across a list or full account for list members
* new: v1.3: searchCampaigns provides generic searching across campaign content
* new: v1.3: campaignScheduleBatch allows scheduling campaigns to be sent in batches
* new: v1.3: listMergeVarReset enables clearing out the data for a particular merge var for all list members.
* mod: v1.3: getAccountDetails now allows excluding certain data so the call can be more performant
* mod: v1.3: listMembers now allows sort direction to be provided
* mod: v1.3: lists now allows sorting on create date and the order in the web app along with specifying a direction
* mod: v1.3: campaignCreate and campaignUpdate accept "days" for RSS and Autoresponders as well as various new event
             setups for Autoresponders
* mod: v1.3: campaigns will return a parent_id and allows filtering on parent_ids, both for better RSS campaign 
             parent/child access
* mod: Export: lists and campaignSubscriberActivity will now accept urlencoded JSON objects in POST requests just
               like the standard API

2012-10-02 (Tue, 02 Oct 2012)
====================================================
* mod: v1.3: add settings to enable CRM tracking options to be set for campaignCreate and campaignUpdate

2012-07-09 (Mon, 07 Jul 2012)
====================================================
* new: v1.3: added getVerifiedDomains

2011-05-03 (Tue, 03 May 2011)
====================================================
* mod: v1.2, v1.3: campaignShareReport "secure", "theme" options removed due to in app co-branding changes. New "theme_id"
                   param supports using co-branding themes.

2011-04-26 (Tue, 26 Apr 2011)
====================================================
* mod: Webhooks: "unsub" webhooks now return an "action" parameter describing whether it was via a delete or actual unsub
* mod: v1.3: campaignCreate now accepts an "auto_fb_post" option to allow posting to Facebook Pages after a campaign is sent
* fix: v1.3: campaignCreate/campaignUpdate were not actually allowing base and gallery template ids to be used

2011-04-08 (Fri, 08 Apr 2011)
====================================================
* fix: Webhooks: "profile" and "upemail" Webhooks were updated to try to send the data in a more logical order

2011-02-24 (Thu, 24 Feb 2011)
====================================================
* fix: v1.0, v1.1, v1.2, v1.3: listMemberUpdate allowed changing an email address to one that already existed on the
                               list causing the existing data to be overwritten. Now it doesn't.

2011-02-22 (Tue, 22 Feb 2011)
====================================================
* mod: v1.3: changed listSubscribe to accept OPTIN_TIME and change default ip to OPTIN_IP. OPTINIP still supported for
             backwards compatibility

2011-02-21 (Mon, 21 Feb 2011)
====================================================
* fix: v1.1, v1.2, v1.3: the apikey* method were not properly comparing user/pass and api key thus causing people to
                         attempt to use them in an invalid manner.

2011-02-09 (Wed, 09 Feb 2011)
====================================================
* mod: v1.2, v1.3: chimpChatter - Chimp Chatter was completely changed on the backend requiring many non-backwards 
                   compatible changes to the method
* fix: v1.3: listMemberInfo was not returning the proper client name or icon_url
* fix: v1.3: listClients now returns a proper icon_url


2011-01-06 (Thu, 06 Jan 2011)
====================================================
* mod: v1.3: listMemberInfo will now also return members in a "pending" status (ie, hasn't clicked the confirm link)

2010-11-22 (Mon, 22 Nov 2010)
====================================================
* mod: v1.3: The paging documentation for campaignEmailStatsAIMAll() was incorrect - fixed method to be consistent with
             it and other methods that page.


2010-11-15 (Mon, 15 Nov 2010)
====================================================
* MailChimp API v.1.1.x and prior are considered fully deprecated and resources relating to them (aside from the endpoints) 
                        will start being removed

* MailChimp API v.1.2.x and prior are frozen aside from any bug fixes that may be required
* mod: v1.2, v1.3: listInterstGroup Add/Del/Update management methods should not have been deprecated - as such, the 
                   tag has been removed

* MailChimp API v.1.3.0 release (yes, finally)
* new: v1.3: Input Parameters can now be sent as JSON objects!
* new: v1.3: add proper paging support for any method which needed it. We now return the records for the page AND
              a count of the total matching records. Methods changed include:
                campaigns(), campaignAbuseReports(), campaignBounceMessages(), campaignEcommOrders(),
                campaignOpenedAIM(), campaignNotOpenedAIM(), campaignClickDetailAIM(), campaignEmailStatsAIMAll(),
                lists(), listMembers(), listAbuseReports(), ecommOrders()

* new: v1.3: add listActivity() to return daily stats (sub/unsub/bounce, etc) we've collected for a list
* new: v1.3: add listLocations() to return the summary geo-data we have for a list 
* new: v1.3: add listClients() to return mobile and desktop email clients we've seen being used on a list
* new: v1.3: add listMemberActivity() which returns recent click/open/unsub/etc data for an email


* new: v1.3: add campaignMembers() which allows pulling all/sent/hard(bounce)/soft(bounce) emails for a campaign
* new: v1.3: add campaignBounceMessage() to allow easily returning the bounce message given a campaign and email
* new: v1.3: add campaignTemplateContent() method to facilitate pulling specific content sections for editing
* new: v1.3: add campaignsForEmail() which will return all campaign ids a particular email address received.

* new: v1.3: add templateAdd(), templateUpdate(), templateDel(), templateUndel() methods to support basic template
             management capabilities
* new: v1.3: add templateInfo() to allow pulling very specific template details (used to be returned in templates())

* new: v1.3: add folderDel(), folderUpdate() to support folder management (including Autoresponder folders)

* new: v1.3: add ecommOrders() and ecommOrderDel() methods for better Ecomm360 support

* mod: v1.3: renamed a bunch of methods for consistency (and closer REST-ish style):
                * campaignEcommAddOrder() is now campaignEcommOrderAdd()
                * listAddStaticSegment() is now listStaticSegmentAdd()
                * listResetStaticSegment() is now listStaticSegmentReset()
                * listDelStaticSegment() is now listStaticSegmentDel()
                * listStaticSegmentAddMembers() is now listStaticSegmentMembersAdd()
                * listStaticSegmentDelMembers() is now listStaticSegmentMembersDel()
                * createFolder() is now folderAdd()
                * ecommAddOrder() is now ecommOrderAdd()

* mod: v1.3: lists() - several changes:
                * now behaves similar to campaigns(), including accepting filters and paging
                * returns installed modules (SocialPro style)
                * stats (member_count, etc) were moved into a "stats" array in the returned data
* mod: v1.3: listBatchSubscribe() now:
                * returns separated add_count, update_count, and error_count
                * ONLY returns the failed email address, not all submitted data
* mod: v1.3: listMemberInfo() and campaignEmailStatsAIM() now will accept an array of upto 50 email addresses to retrieve 
             data for
                * both also now return "error", "success", and "data" parameters
* mod: v1.3: listMemberInfo() added much more returned data:
                * Static Segments a member is a part of
                * geo data
                * email clients
                * member language
* mod: v1.3: listMemberInfo() remove some obsolete/unnecessary data:
                * generic MERGEx versions of the merge vars
                * remove INTERESTS parameter (GROUPINGS supercedes it)                
* mod: v1.3: listSubscribe() and listUpdateMembers() allow setting a geo-location for use segmenting and for Timewarp
* mod: v1.3: listMergeVarAdd() "req" parameter has been fully changed to a proper "options" array param

* mod: v1.3: campaignCreate() "to_email" parameter was renamed to "to_name" to prevent confusion with what it does
* mod: v1.3: campaignUpdate() will now allow the "folder_id" to be changed for "sent" campaigns
* mod: v1.3: campaignStats() now includes AB Split and Timewarp stat aggregate data
* mod: v1.3: add unsubscribe reason data to campaignUnsubscribes(), listMembers() [unsubscribed status only]
* mod: v1.3: campaignTemplates() was renamed to templates() for consistency as we further expose templates
                * templates() returns less data - follow-up calls to the new templateInfo() will expose that again
* mod: v1.3: campaignFolders() was renamed to folders() for consistency as we further expose folder management
                * folders() now also allows retrieving Autoresponder folders


* mod: v1.3: campaigns() now:
                * takes more filters as well as multiples of some
                * returns a "content_type", "template_id", "type_opts" parameter
                * "inline_css" was forced to be a bool as documented
* mod: v1.3: getAccountDetails() in the "rewards" array, renamed "referals_this_month" to "referrals_this_month"
* mod: v1.3: campaignUnschedule() when the campaign is in a bad status, return Campaign_InvalidStatus instead 
             of User_CannotSendCampaign 

* del: v1.3: deprectated methods removed:
            * getAffiliateInfo() - see getAccountDetails() instead
            * listInterestGroups - see listInterestGroupings()


2010-07-13 (Tue, 13 Jul 2010)
====================================================
* MailChimp API v.1.2.7 release
* new: v1.2: new Static Segments feature which allows you to define and manage segments independant of or in addition
             to using other segment options
* mod: v1.2: new SocialPro segment options supported for campaignCreate() and campaignSegmentTest()
* mod: v1.2: Timewarp campaigns are now supported using campaignCreate() and campaignSchedule() for sending 
* bug fix: v1.2: The store order id for ecommAddOrder() and campaignEcommAddOrder() now correctly accepts a varchar/string
* bug fix: v1.2: Allow 0 dollar/free orders with ecommAddOrder() and campaignEcommAddOrder()

2010-05-06 (Thu, 06 May 2010)
====================================================
* MailChimp API v.1.2.6 release
* new: v1.2: add listInterestGroupingAdd(), listInterestGroupingUpdate(), and listInterestGroupingDel() methods to support
             the new groupings introduced 4/26 in app proper v5.1 release

2010-05-03 (Mon, 03 May 2010)
====================================================
* mod: v1.2: add web_id field to listMemberInfo() and to all Wbhook

2010-04-26 (Mon, 26 Apr 2010)
====================================================
* new: v1.2: add listInterestGroupings() method

2010-04-25 (Sun, 25 Apr 2010)
====================================================
* mod: v1.2: add phone and fax fields to getAccountDetails() return data

2010-04-19 (Mon, 19 Apr 2010)
====================================================
* mod: v1.2: add info_changed field to listMemberInfo() return data

2010-02-01 (Mon, 1 Feb 2010)
====================================================
* MailChimp API v.1.2.5 release
* new: v1.2: add ecommAddOrder() to allow sending order data that isn't linked to a campaign
* new: v1.2: add listsForEmail() to make checking an email address across an entire account easier
* new: v1.2: add campaignEepUrlStats() method to expose the twitter/eepurl stats collected for a campaign
* new: v1.2: add campaignGeoOpens() and campaignGeoOpensForCountry() to enable pulling geo-opens data for campaigns
* new: v1.2: add chimpChatter() helper method
* mod: v1.2: add "list_rating" and "since last send" counts to lists() for subscribes, unsubscribes, and cleaned counts
* mod: v1.2: include detailed rewards data in getAccountDetails()

2010-01-29 (Fri, 29 Jan 2010)
====================================================
* bug fix: v1.2: make archive imports via campaignCreate work again
* bug fix: v1.2: fix rating segmentation options in campaignCreate/campaignUpdate

2009-12-28 (Mon, 28 Dec 2009)
====================================================
* mod: v1.2: add the preview image to campaignTemplates and don't return non-active (deleted) templates
* bug fix: v1.2: make the tag passed into listMergeVarUpdate not be case-sensitive

2009-12-22 (Tue, 22 Dec 2009)
====================================================
* mod: v1.2: add "member_rating" field to listMemberInfo()

2009-11-24 (Tue, 24 Nov 2009)
====================================================
* MailChimp API v.1.2.4 release
** mod: v1.2: listUpdateMember, listMemberInfo, listUnsubscribe, and campaignEmailStatsAIM all accept the email "id"
              in place of the email address. The "id" is easy to access in Campaigns and is returned by Webhooks
              and the listMemberInfo functions.
** mod: v1.2: if the list member unsubscribed from a campaign, listMemberInfo will now return that campaign_id
* Webhooks:   if the list member unsubscribed from a campaign, the "unsubscribe" Webhook will now include that.

2009-10-26 (Mon, 26 Oct 2009)
====================================================
* MailChimp API v.1.2.3 release
** new: v1.2: add campaignShareReport() method to facilitate sharing our brandable Campaign Reports
** mod: v1.2: add granular RSS scheduling options to campaignCreate() and campaignUpdate() - by day/week/month with hour 
              options
** mod: v1.2: campaigns() : add a "status" filter option and start returning a plain English version of the segment used 
              as "segment_text"
** mod: v1.2: add Ecommerce and Member Rating segmentation options for campaignCreate(), campaignSegmentTest()
** mod: v1.2: add a -98/Request_TimedOut exception - not returned via the API, but defined for clients/wrappers to 
              implement if they'd like

2009-10-02 (Fri, 02 Oct 2009)
====================================================
* mod: v1.2: add Geolocation segmentation option for campaignCreate(), campaignSegmentTest()

2009-08-21 (Fri, 21 Aug 2009)
====================================================
* bug fix: v1.2: fix getAbuseReports(), getEcommOrders() to use the full date and time

2009-08-20 (Thu, 20 Aug 2009)
====================================================
* mod: v1.2: add listInterestGroupUpdate() to allow changing interest groups in place.
* bug fix: v1.2: campaignSendNow() would sometimes erroneously return an error when sending actually completed successfully.
* bug fix: v1.2: listInterestGroupDel() incorrectly turned off Interest Groups but didn't destroy anything it shouldn't
* mod: v1.2, v1.1: the API is now datacenter aware.
* mod: v1.2, v1.1: login() method is now officially deprecated and will be removed in future versions

2009-08-18 (Tue, 18 Aug 2009)
====================================================
* bug fix: v1.2, v1.1: listBatchSubscribe() is now less whiny about required merge vars when update_existing is on and the 
                       address already exists
* bug fix: v1.2: listSubscribe() is now less whiny about required merge vars when update_existing is on and the address 
                 already exists
* bug fix: v1.2: campaignCreate() now correctly allows text to be submitted when a URL is used

2009-08-17 (Mon, 17 Aug 2009)
====================================================
* Webhooks: "cleaned" entries now have a "reason" field - either "hard" for a bounce or "abuse" for an abuse report. 
            Previously abuse reports were not being returned

* MailChimp API v.1.2.2 release
** new: v1.2: added getAccountDetails() which returns payments made, plan info, some account stats, installed modules,
              contact info, and more. No private information like Credit Card numbers is available.
** dep: v1.2: getAffiliateInfo() deprecated in favor of getAccountDetails() - will be removed in future version
** mod: v1.2: campaignCreate() 
    -- now allows you to create AutoResponders
    -- campaignCreate() "archive" option allows sending a base64 encoded binary archive file (zip, tar.gz, etc) that
       includes all content, images, css, etc. for a campaign
    -- "url" content option now sucks in content and all media (image, etc) just like the app does
** mod: v1.2: campaignUpdate() now supports necessary updating AutoResponder campaigns
** mod: v1.2: campaigns()
    -- can now be filtered by campaign "type" (plain, rss, auto, etc.)
    -- now includes: analytics settings, tracking options, and segment details for each campaign returned
** mod: v1.2: lists() now includes: email_type_option, default_from_name, default_from_email, default_subject, 
              default_language for each list returned
** mod: v1.2: Campaign Stats - all methods rechecked to better allow stats to be returned for Trans and Auto campaigns when
              they are and should be available
** mod: v1.2: listMergeVarAdd()
    -- "req" parameter will now except either a bool for "required" or an array of advanced options
    -- options array allows configuring: field_type, required, public, show, default_value, and choices
** new: v1.2: added listMergeVarUpdate() - allows changing most merge var options except "field_type"
** bug fix: v1.1, v1.2: fix cases when campaignSendNow() would not properly reports some errors, such as a campaign
                        not sending due to lack of credits
** bug fix v1.2: campaignSchedule() and campaignUnschedule() - we will now proprely complain when used with improper
                 campaign types like Auto and Trans
** mod: v1.2: listInterestGroupAdd() and listInterestGroupDel() - now properly turn on/off the List's "interest groups" 
              settings when the first group is added or last group is removed

2009-07-13 (Mon, 13 Jul 2009)
====================================================
* mod: v1.2: Add the "send_welcome" flag to listSubscribe() which allows you to have your list's Welcome Email sent

2009-07-02 (Thu, 02 Jul 2009)
====================================================
* bug fix: v1.1, v1.2: listUnsubscribe() would not always interpret various boolean values it would receive for the send_goodbye
                       parameter
* mod: v1.1, v1.2: if Trans campaigns are in a "sending" state for over 10 minutes, assume they've hung and reset them
* mod: start returning full member details on unsubscribes calls

2009-07-01 (Wed, 01 Jul 2009)
====================================================
* bug fix: v1.2: listMemberInfo would only return one list the member is subscribed to and documentation was missing for that 
                 return parameter - both have been fixed.

2009-06-29 (Mon, 29 Jun 2009)
====================================================
* mod: v1.1, v1.2: remove AIM module restriction on campaignOpenedAIM since it was removed in the app

2009-06-23 (Tues, 23 Jun 2009)
====================================================
* bug fix: v1.2: "since" parameter in campaignAbuseReports did not work

2009-06-16 (Tues, 16 Jun 2009)
====================================================
* mod: v1.1, v1.2: allow campaignStats to return stats for autoresponders

2009-06-10 (Wed, 10 Jun 2009)
====================================================
* mod: v1.1, v1.2: allow setting the to_email (actually the to_name) in campaignCreate() and campaignUpdate()

2009-06-08 (Mon, 08 Jun 2009)
====================================================
* Webhooks: start including the list_id for every callback
* MailChimp API v.1.2.1 release
** add the listWebhooks(), listWebhookAdd(), and listWebhookDel() methods to the API


2009-06-01 (Mon, 01 Jun 2009)
====================================================
* bug fix: v1.2: listSubscribe() update_existing option was throwing an invalid error, result of 5/27 update

2009-05-27 (Wed, 07 Mar 2009)
====================================================
* mod: v1.2: make 200% sure we are picking up any bool-ish value for "for_archive" in campaignContent()
* bug fix: v1.2, v1.1: required merge fields that are not passed to listSubscribe() must always cause exceptions to be thrown
* change: v1.2, v1.1: support to accept XML-RPC datetime objects in our various date fields

2009-05-08 (Fri, 08 Mar 2009)
====================================================
* change: v1.2, v1.1: when using campaignCreate(), allow campaigns to be created with segments that currently have no members
* bug fix: v1.2, v1.1: fix issue with lists() not always returning actual member count values

2009-05-05 (Tue, 05 Mar 2009)
====================================================
* bug fix: v1.2: correct a bug that caused the "exact" filter in campaigns() to not work correctly

2009-03-29 (Sun, 29 Mar 2009)
====================================================
* Add generic callbacks/webhooks accessible and configurable via the web app

* MailChimp API v.1.2.0 release
** make listSubscribe() take an "update_existing" parameter like listBatchSubscribe() - means you pretty much don't need to run 
   listUpdateMember() ever
** add unsubscribe_count and cleaned_count to the returned fields in the array for the lists() function.
** modify all methods to return GMT-only dates in YYYY-MM-DD HH:II:SS format
** make listMemberInfo() returns list_ids that user is a member of with their status
** campaigns() - rewritten so filters are passed as large hash/array so it is easier to use
** listMembers() - allow retrieving list members by status using a time delta
** also all the changes listed below for v1.1.3 release

** Numerous new Reporting methods:
*** listAbuseReports(lid, start, limit, since) - access to Abuse Reports by List, allow pulling them using a time delta
*** listGrowthHistory(lid, start, limit) - access to the per-month Growth History for a List
*** campaignAbuseReports(cid, start, limit, since) - add "date" and "type" fields, allow pulling them using a time delta
*** campaignAnalytics(cid) - access to the Google Analytics stats collected for a campaign
*** campaignBounceMessages(cid, start, limit, since) - return the full bounce messages by Campaign, allows access using time
                                                       delta
*** campaignEcommOrders(cid, start, limit, since) - access to ecomm order details tracked from stores
*** campaignAdvice(cid) - access to the text we now spit out in your Campaign Summary reports
*** campaignEmailDomainPerformance(cid) - like on Campaign Summary reports, the top 5 email domains and delivery stats that 
                                          go with them


* MailChimp API v.1.1.3 release
** add createFolder() method
** make campaignUpdate() take a folder_id to move a campaign to 
** make campaignCreate() take a folder_id to store a campaign in
** add option to campaignContent() to return either content formatted for the Archive or the Raw content 
   (defaults to Archive for backwards compatibility)
** when accounts are under Maintenance, throw a distinct User_UnderMaintenance/105 error to indicate being temporary 
   unavailable

2008-11-21 (Fri, 21 Nov 2008)
====================================================
* MailChimp API v.1.1.2 release
* add campaignDelete(), campaignReplicate() functions
* make lists() and campaigns() return the "web_id", too
    - allows integrators to provide direct web links
* modify XML output to return array/struct keys as necessary

2008-11-09 (Sun, 09 Nov 2008)
====================================================
* Add Connection Limiting and Rate Throttling to the API. Details here:
    http://campaign-archive.com/?u=f7b9ee22124ff6454424dc10c&id=22d313322f
* add proper documentation for campaignEcommAddOrder() function
* update some exceptions that were not returning proper codes:
    Campaign_StatsNotAvailable
    Campaign_InvalidSegment
    Invalid_PagingStart
    Invalid_PagingLimit

2008-10-10 (Fri, 10 Oct 2008)
====================================================
* MailChimp API v.1.1.1 release 
* no existing methods were changed, so upgrade is automatic
* limited campaignSendTest() to a total of 25 sends due to abuse.
* added pseudo transactional campaign support - see docs for campaignCreate()
* added campaignEmailStatsAIMAll(), which is just like campaignEmailStatsAIM() except it allows you 
to pull bulk stat history on all of the members who received a campaign. Note the paging options.
* added campaignEcommAddOrder() beta function. Not fully documented or intended for mass consumption.

2008-09-15 (Mon, 9 Sep 2008)
====================================================
* Permanently closed security hole across all active API accounts. Logging in with old User Id is 
no longer supported.
  Check the login() and apikeys()/apikeyAdd() functions for more information.

2008-08-08 (Fri, 8 Aug 2008)
====================================================
* MailChimp API v.1.1.0 release 

* PATCHED A SECURITY HOLE FOR 1.0 - YOU NEED TO READ THE DOCS FOR closeOneOhSecurityHole()
    - does not require an upgrade to 1.1
    - the method is a quick, one time fix for your account
    - any new API users will not be affected

* Significant changes to be aware of when upgrading to v1.1
    - The campaignCreate() method was completely overhauled and changed from the initial 1.0 
      version released. Read the docs on it before making the jump
    - API Keys were introduced. 
        - If you login() everytime and use the Key returned by login(), this will not affect you
        - If you have hardcoded the previous API Key returned, it will no longer work. We are 
          not backporting this and will not make old API Keys work with v.1.1
    - Error Codes/Messages were revamped. What you have now *should* work, but the recommended way
      now will be to check the numerical code we return and act on it

* Significant additions in v1.1 (detailed in changes below):
    - API Keys allow you to create/expire new keys to be used whereever
    - Much improved Error Code/Exception handling and return values w/ documentation
    - campaignCreate() supports Segmentation (up to 10 criteria), A/B Split Campaigns, and RSS
      campaigns
    - campaignUpdate() allows you to update Draft campaigns
    - List Merge Var and Interest Group management (add/delete)
    - 3 new tools for content using the campaignCreate()/campaignUpdate() methods
        - inlineCss() will update the HTML passed in and move/copy any CSS Styles to be inline 
          options on elements
            - also a Helper to test with/against
        - generateText() will allow you to auto generate Text Content from passed in HTML content
            - also a Helper to test with/against
        - contentFromUrl() allows you to "upload" your content from a URL

2008-07-31 (Thu, 31 Jul 2008)
====================================================
* add apikeys() method to allow retrieving a list of your API Keys
* add apikeysAdd() method to allow adding new API Keys
* add apikeysExpire() method to allow expiring/deactivating API Keys
* add closeOneOhSecurityHole() method to fix security hole for 1.0 users

2008-07-28 (Mon, 28 Jul 2008)
====================================================
* major updates to API documentation, examples, and the general API "web presence"

2008-07-16 (Wed, 16 Jul 2008)
====================================================
* add campaignUpdate() method to allow updating Draft Campaigns before they are sent
* add campaignPause() method to allow Pausing the sending of RSS campaigns
* add campaignResume() method to allow Resuming a paused RSS campaigns

2008-07-15 (Tue, 15 Jul 2008)
====================================================
* recode campaignCreate() method to support: Segmentation, A/B Split test campaigns, RSS campaigns
* update campaignSchedule() to support scheduling an A/B "Split on schedule" campaign
* allow campaignCreate() to pull HTML content from a URL
* List Merge Var management: add listMergeVarAdd() and listMergeVarDel() to allow adding/removing 
  merge variables
* List Interest Group management: add listInterestGroupAdd() and listInterestGroupDel() to allow 
  adding/removing interest groups

2008-07-11 (Fri, 11 Jul 2008)
====================================================
* add campaignSegmentTest() helper as a pre-cursor to adding Segmentation to API

2008-07-08 (Tue, 8 Jul 2008)
====================================================
* added generateText as a Text Content option for campaignCreate()
* added separate helper method generateText() to allow testing what your content looks like 
  when the Text is generated from your HTML

2008-07-07 (Mon, 7 Jul 2008)
====================================================
* add in completely revamped Error/Exception handling systems throughout the API
* added CSS inlining as an option for content in campaignCreate()
* added separate helper method inlineCss() to allow testing what CSS inlining will return for
your content

2008-07-01 (Tue, 1 Jul 2008)
====================================================
* change authentication methods to allow for multiple API Keys that can be expired and otherwise 
  managed as required
  - note that this *does not* break the login() and related usage for other methods, upgrade path 
    is clean

------------------------------------------------------------------------
API 1.0 frozen, work on API 1.1 begins
------------------------------------------------------------------------

2008-06-20 (Fri, 20 Jun 2008)
====================================================
* added list_id and folder_id to campaigns method return value

2008-05-19 (Mon, 19 May 2008)
====================================================
* v.1.0.1 release - No significant changes were made to function calls that worked in v1.0
* add Injector methods for creating and sending campaigns via the API :
	- campaignCreate()
	- campaignTemplates()
	- campaignSendTest()
	- campaignSendNow()
	- campaignSchedule()
* deprecated campaignBounces(), added replacements:
	- campaignHardBounces()
	- campaignSoftBounces() to replace campaignBounces()

* added paging with lower default sizes and hard upper limits to avoid errors when attempting 
  to handle very large data sets to:
	- listMembers()
	- campaignOpenedAIM()
	- campaignNotOpenedAIM()
	- campaignClickDetailAIM()
	- campaignAbuseReports()
	- campaignUnsubscribes() 
* Added support for Serialized plain XML
* updated MCAPI.class.php file released to support additions.
* retooled online documentation system

2008-01-28 (Mon, 28 Jan 2008)
====================================================
* bugfix: updating existing members in the batch subscribe API function was broken
* bugfix: call issue with the campaign history function

2007-11-14  (Wed, 14 Nov 2007)
====================================================
* v.1.0 release
* getLists() changed to lists()
* getCampaigns() changed to campaigns()
* rest of related functions namespaced and standardized into list**() and campaign**()

2007-11-09 (Fri, 09 Nov 2007)
====================================================
* prep for v1.0 release
* Added Campaign related functions :
	- getCampaigns()
	- campaignFolders() 
	- campaignUnsubscribes()
	- getCampaignStats()
	- campaignAbuseReports()
	- campaignBounces()
	- campaignClickStats()
	- campaignOpens()
	- campaignNotOpened()
	- campaignClickDetail()
	- campaignEmailStats()
* Added List related functions 
	- listInterestGroups()
	- listMergeVars()
	- updateMember()
	- batchSubscribe()
	- batchUnsubscribe()
	- memberInfo()

2007-03-20 (Tues, 20 Mar 2007)
====================================================
* Initial API release - listSubscribe() and listUnsubscribe() functions added
* Supports XML-RPC, Serialiazed formats for PHP and JSON