Changes
- Breaking change: Python 3.3 is no longer supported (see #99).
- Mailjet: Fix tracking webhooks to work correctly when Mailjet "group events" option is disabled (see #106).
- SendGrid: Fix a problem where Anymail's status tracking webhooks didn't always receive the same
event.message_id
as the sentmessage.anymail_status.message_id
, due to unpredictable behavior by SendGrid's API. Anymail now generates a UUID for each sent message and attaches it as a SendGrid custom arg named anymail_id. For most users, this change should be transparent. But it could be a breaking change if you are relying on a specific message_id format, or relying on message_id matching the Message-ID mail header or SendGrid's "smtp-id" event field. (More details in the docs; also see #108.) Thanks to @joshkersey for the report and the fix. - Support Django 2.1 prerelease.
Deprecations
- This will be the last Anymail release to support Django 1.8, 1.9, and 1.10 (see #110).
- This will be the last Anymail release to support the legacy SendGrid v2 EmailBackend (see #111). (SendGrid's newer v3 API has been the default since Anymail v0.8.)
- Anymail v3.x will receive security updates and fixes for any breaking ESP API changes through at least April, 2019.
- If these deprecations affect you and you cannot upgrade, set your requirements to
django-anymail~=3.0
(a "compatible release" specifier, equivalent to>=3.0,==3.*
).