Release Notes
Information¶
Releases use the following numbering system: {major}.{minor}.{incremental}
- major: Major refactoring or rewrite - make sure you read and test very carefully!
- minor: Breaking change in some circumstances, or a new feature. Read carefully and make sure you understand the impact of the change.
- incremental: A "safe" change / improvement. Should always be safe to upgrade.
[BC]: Items marked with [BC] indicate a breaking change that will require updates to your code if you are using that code in your extension.
Release 1.4.1 (2026-08-06)¶
- !27 Fix bounce/complaint handling for sub-addressed (plus-addressed) recipients -
verify_email_address()was stripping everything up to the last+, so e.g.user+tag@example.orgmatched against the wrong contact or failed to match the queue row at all. - !28 Fix webhook fataling on SNS notifications that carry no
mailpayload (e.g. the "Successfully validated SNS topic" notification sent when pointing an identity's Bounce/Complaint feedback at a topic) - these are now logged and ignored instead of causing a fatal and a 5xx response that SNS retries forever.
Release 1.4.0 (2026-08-04)¶
- !19 Harden SNS webhook signature verification against SSRF - only fetch the signing cert from a fixed AWS-owned host and verify the TopicArn matches before trusting a notification.
- Add a full PHPUnit test suite covering the webhook, suppression list and mail sending code.
- Fix complaint handling to opt out all complained recipients, not just a single (undefined) email address.
- Fix SES throttling retry logic so retries are actually exhausted (giving a
PEAR_Error) instead of retrying forever. - !24 Fix fatal error recovering the VERP from the
X-CiviMail-Bounceheader fallback (SES sendsmail.headersas a list of objects, not associative arrays). - Set up documentation publishing to docs.civicrm.org.
Release 1.3.16 (2026-08-03)¶
- Use SES APIv2 for larger message size limits.
- Add account-level suppression list removal when contacts are taken off hold.
- Bump minimum CiviCRM version to 6.14 and declare PHP 8.1-8.5 compatibility.
- Fix coding standards issues.
Release 1.3.15 (2026-02-19)¶
Release 1.3.14 (2025-12-03)¶
- !14 Deal with possibility of the reuturnPath key being set in the bounce account and always try to put complaint email address contacts on hold even if no verp items found.
- !13 Resolve #8 in similar way to #6 given that the format of the complaint email address may be a full name and email not just the email address.
Release 1.3.13 (2025-08-29)¶
- Add check for raw message delivery on subscription (it needs to be disabled otherwise signature verification will fail).
- Don't fatal error if you try to load webhook page via browser (return empty doc instead).
Releaes 1.3.12 (2025-08-25)¶
- Improve docs, add extra logging on error.
Release 1.3.11 (2025-08-12)¶
- !12 Fix SES throttling handling.
Release 1.3.10 (2025-08-07)¶
Release 1.3.9 (2025-08-02)¶
- !9 Allow Extension to install when CiviMail Extension/Component has been disabled.
Release 1.3.8 (2025-07-22)¶
- Fix menu permission (Amazon SES menu item did not appear on Standalone).
Release 1.3.7 (2025-06-10)¶
- #6 Fix for the fix.
Release 1.3.6 (2025-06-10)¶
- #6 Filter for Email Address in Webhook. If the email address contains displayname we need to remove that before matching on email in CiviCRM.
Release 1.3.5 (2025-03-17)¶
- !5 Retry and delay delivery when SES sending rate exceeded.
Release 1.3.4 (2025-02-26)¶
- !4 Use singleton SesClient class for performance improvements.
Release 1.3.3 (2025-02-10)¶
- Improve log message when transactional email info could not be added.
- Fix email comparison for bounces. Add in testEmail context for transactional.
Release 1.3.2 (2025-02-10)¶
- Add "SES" mail protocol so that you can set the bounce processing mailbox to protocol=SES. It does not actually make any difference but it means you can select a "correct" option instead of a fake option like "IMAP".
- Improve some log messages.
Release 1.3.1 (2025-02-07)¶
- Multiple fixes for transactional email bounces and bug fixes.
Release 1.3.0 (2025-01-30)¶
- Record bounces for transactional mail.
- Fix sending Bcc email when sending via SES API.
Release 1.2.8 (2024-11-01)¶
- Fix "Send test email" crash in CiviCRM 5.78+
Release 1.2.7 (2024-02-09)¶
- Use setting_admin mixin for settings.
Release 1.2.6 (2024-02-09)¶
Do not use - use 1.2.7 instead There was a bug in the mgd file which caused a crash on cache clear.
- Remove code to handle multi-domain in navigation menu managed entity. It was causing problems with classloader on some sites.
Release 1.2.5 (2024-01-29)¶
- Return expected PEAR_Error on failure.
Release 1.2.4 (2024-01-20)¶
- Fix CIVICRM_MAIL_LOG.
Release 1.2.3 (2024-01-11)¶
- Fix PHP notice.
Release 1.2.2 (2023-01-10)¶
- Fallback to mail() if SES not configured for API sending.
Release 1.2.1 (2023-01-10)¶
- Fix issues with composer dependencies causing 500 error on some sites.
Release 1.2 (2023-01-08)¶
- Support SES API for sending email.