NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #2544 most downloaded on Packagist
A php library which implements the complete functionality of the Campaign Monitor API.
Last release 1 years ago
18 Jun 2025
Ships fairly regularly
a new release about every 10 months
Nearly every release is documented
notes for 29 of 30 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
30 releases · first in 2012
Removed now redundant parameter `MarkupOnDesignSpamTest` from client.set_payg_billing
MarkupOnDesignSpamTest from client.set_payg_billingUpdate simpletest/simpletest package to verison 1.2.0
One column per quarter.
Upgrades to Createsend API v3.3 which includes new breaking changes
Increase default timeout to 120secs. Minor updates.
Increase default timeout to 120secs.
Minor updates.
* Add PHP 7.4 Support
Added support for Journeys API
Nothing published for this version
Updated to use standard agent string prefix format.
Updated to use standard agent string prefix format.
Updated to use Campaign Monitor API v3.2 This contains breaking changes, see https://www.campaignmonitor.com/api/ for further details and check the HI…
Updated to use Campaign Monitor API v3.2
This contains breaking changes, see https://www.campaignmonitor.com/api/ for further details and check the HISTORY.md file
Changed local API timeout from 10 sec to 20 sec
Added support for Behavioral Event data
Prevent definition re-declarations
Changed the fatal error thrown when unable to communicate with the API into a catchable Exception
* Added PHP7 support
Fixed the transactional smart email call for get_list() so it now passes the client id
Added support for Transactional Email
Updated constant definitions so PHP Notices aren't raised
Updated the class_exists check to no longer call __autoload
Added support for new segments structure
Segment now includes a new RuleGroups member, instead of a Rules member.
So for example, when you _previously_ would have created a segment like so:
```php
$result = $wrap->create('Segments List ID', array(
'Title' => 'Segment Title',
'Rules' => array(
array(
'Subject' => 'EmailAddress',
'Clauses' => array(
'CONTAINS example.com'
)
) ,
array(
'Subject' => '[customfield]',
'Clauses' => array(
'PROVIDED',
'EQUALS 1'
)
)
)
));
```
You would _now_ do this:
```php
$result = $wrap->create('Segments List ID', array(
'Title' => 'Segment Title',
'RuleGroups' => array(
array(
'Rules' => array(
array(
'RuleType' => 'EmailAddress',
'Clause' => 'CONTAINS example.com'
)
)
) ,
array(
'Rules' => array(
array(
'RuleType' => '[customfield]',
'Clause' => 'PROVIDED'
) ,
array(
'RuleType' => '[customfield]',
'Clause' => 'EQUALS 1'
)
)
)
)
));
The Add Rule call is now Add Rule Group, taking a ruleGroup argument instead of a rule argument.
function CS_REST_Segments->add_rulegroup($rulegroup)
So for example, when you previously would have added a rule like so:
$wrap = new CS_REST_Segments('Segment ID', $auth);
$result = $wrap->add_rule(array(
'Subject' => 'EmailAddress',
'Clauses' => array('CONTAINS example.com')
));
You would now do this:
$wrap = new CS_REST_Segments('Segment ID', $auth);
$result = $wrap->add_rulegroup(array(
'Rules' => array(
array(
'RuleType' => 'EmailAddress',
'Clause' => 'CONTAINS example.com'
)
)
));
Fixed a notice that was raised when unscheduling a campaign.
Only set the `CURLOPT_CAINFO` option if not already set globally via the ini system.
CURLOPT_CAINFO option if not already set globally via the ini system.Made it harder to accidentally email your subscribers when using the example code
Added support for single sign on which allows initiation of external login sessions to Campaign Monitor.
Added support for authenticating using OAuth. See the README for full usage instructions.
This introduces some changes to how you authenticate using this library. You now authenticate by passing an $auth array as the first argument when creating instances of any classes which inherit from the CS_REST_Wrapper_Base class.
So in existing code, when you previously would have authenticated using an API key as follows:
$wrap = new CS_REST_General('Your API Key');
$result = $wrap->get_clients();
If you want to authenticate using an API key, you should now do this:
$wrap = new CS_REST_General(array('api_key' => 'Your API Key'));
$result = $wrap->get_clients();
Removed simpletest source files, and added simpletest as a dev dependency.
Use CURLOPT_TIMEOUT and CURLOPT_CONNECTTIMEOUT constants instead of CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS.
Added support for including from name, from email, and reply to email in drafts, scheduled, and sent campaigns.
Added CS_REST_Campaigns.get_email_client_usage().
Fixed timeout issue by setting CS_REST_SOCKET_TIMEOUT to 10 seconds.
Fixed #13. Load services_json.php only if Services_JSON class doesn't already exist.
Your coding agent can read these notes before it upgrades. Set up the MCP server →