- Contacts can now be subscribed to and unsubscribed from mailing lists when in a draft state (#343).
- The email field now outputs a link to a contact if one already exists with the same email address during validation (#343).
- Improved the performance of report pages (#340).
- Changed the webhook controller action responses to ensure that correct status codes are sent (❤️@brandonkelly).
- Test requests from Mailgun now return a success response.
- Fixed a bug in which the Mailgun webhook controller action was not processing requests correctly (#341).
- Fixed a bug in which the webhook controller actions could fail for singular sendouts.
- Fixed a bug in which some information was missing from reports.
- Added the ability to use
{% html %}
,{% css %}
and{% js %}
tags in campaign templates.
- Fixed a bug in which Yii block comments could be unintentionally left over in rendered campaign templates (#337).
- Fixed a bug in which the unsubscribe webhook action could throw an exception (#339).
- Fixed all remaining uninitialized typed properties, as a precaution.
- Fixed a missed uninitialized typed property that was causing verification links to fail (#338).
- Fixed a bug in which typed properties were being accessed before initialization, caused by a breaking change in Yii 2.0.46.
- Fixed a bug in which typed properties were being accessed before initialization.
- Fixed a bug in which an exception was thrown when viewing recurring sendouts (#336).
- Fixed a bug in which inconsistencies could occur in campaign reports and added a migration to sync campaign report data (#232, #285).
- Fixed a bug in which saving sendout settings was throwing an exception when one or more of the fields were left blank (#334).
- Fixed a bug in which blocked contacts were being considered as pending contacts, meaning that sendouts could hang during sending (#324).
- Fixed a caching issue when applying project config changes to campaign types and mailing list types (#332).
- Fixed a bug in which the edit action was available for sendouts that were no longer modifiable (#328).
- Fixed a bug in which an exception was thrown when previewing a sendout in which the campaign no longer exists (#329).
- Fixed a bug in which sending test emails of campaigns only worked for campaigns in the default site (#327).
- Fixed an error that could be thrown if the
set_time_limit()
function was undefined (#322).
- Fixed a bug that prevented the mailer transport defined in the Campaign email settings from overriding the Craft email settings (#319).
- Fixed an error that occurred when creating contacts in the control panel.
- Fixed a bug when subscribing users via front-end forms.
- Added a
fieldValues
parameter to theFormsService::createAndSubscribeContact
method.
- Added a
createAndSubscribeContact
method toFormsService
for easier integration from other plugins and modules.
- Fixed a bug in which an exception could be thrown if the user agent was unavailable when detecting device type.
- Tweaked plugin icon to fit better in control panel.
- Fixed subscription status translations.
- Removed the pruning of deleted fields according to the precedent set in craftcms/cms#11054.
- Fixed an issue with viewing sendouts that have been sent in Craft 4.0.4 and above (#316).
- Fixed an issue with the contact index page when database tables contained a prefix.
- Fixed the unique email validation when saving contacts.
- Improved the UI of sendout previews.
- Made the
matomo/device-detector
package requirement more flexible.
{warning} Support for reCAPTCHA version 2 has been removed, use version 3 instead. The
subscribeVerificationSuccessTemplate
setting has been removed, use thesubscribeSuccessTemplate
setting instead.
- Added compatibility with Craft 4.
- Added a new "Singular" sendout type to the Pro edition, for sending campaigns to individual contacts (#263).
- Added a condition builder field to the sendout schedule for automated and recurring sendout types (#305).
- Added the field layout designer to campaign types, mailing list types and contact layouts (#163, #198, #269).
- Added autosaving drafts to campaigns, contacts, mailing lists, segments and sendouts.
- Added revisions to campaigns (#301).
- Added a "Duplicate" action to campaigns, mailing lists, segments and sendouts (#292).
- Added condition settings to the campaigns, contacts and mailing lists relation fields.
- Added user group permissions for campaign types and mailing list types.
- Added the ability to view disabled campaigns using a token URL.
- Added a contact condition builder to regular segment types, that should be used going forward since
legacy
andtemplate
segment types will be removed in Campaign 3. - Added a "Campaign Activity" condition rule for segmenting by contacts who have opened or clicked a link in any or a specific campaign (#244).
- Added a "Default Notification Contacts" field to sendout settings.
- Added an "Export to CSV" button to all datatables in reports (#245).
- Added the
enableAnonymousTracking
setting, which prevents tracking of contact interactions (#115). - Added the
campaign/reports/anonymize
console controller that anonymizes all previously collected personal data. - Added a list of failed contacts to sendouts that have failures (#311).
- Added a link to view all contacts from the mailing list edit page (#282).
- Improved the UI and security of links to external sites.
- Exports now include all contacts in the selected mailing lists, as well as columns for mailing list, subscription status and subscribed date (#302).
- Verification emails are now sent in HTML and plaintext format (#303).
- Renamed
regular
segment types tolegacy
segment types, which are being maintained because they provide functionality that the contact condition builder does not yet provide, but which will be removed in Campaign 3. - Renamed the
maxSendFailsAllowed
config setting tomaxSendFailuresAllowed
. - Replaced the
Log To File
helper package with a custom Monolog log target. - Replaced all instances of
AdminTable
withVueAdminTable
. - Removed the
SettingsService
class. Use theSettingsHelper
class instead.
- Removed support for reCAPTCHA version 2, leaving support for version 3 only.
- Removed the
subscribeVerificationSuccessTemplate
setting from the mailing list type settings page. Use thesubscribeSuccessTemplate
setting instead.