Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Sep 7, 2019

This PR updates django-anymail[mailgun] from 4.3 to 7.0.0.

Changelog

7.0

----

*2019-09-07*

Breaking changes
~~~~~~~~~~~~~~~~

* **SendinBlue templates:** Support Sendinblue's new (ESP stored) Django templates and
new API for template sending. This removes most of the odd limitations in the older
(now-deprecated) SendinBlue template send API, but involves two breaking changes:

* You *must* `convert <https://help.sendinblue.com/hc/en-us/articles/360000991960>`_
 each old Sendinblue template to the new language as you upgrade to Anymail v7.0, or
 certain features may be silently ignored on template sends (notably `reply_to` and
 recipient display names).

* Sendinblue's API no longer supports sending attachments when using templates.

Ordinary, non-template sending is not affected by these changes. See
`docs <https://anymail.readthedocs.io/en/stable/esps/sendinblue/batch-sending-merge-and-esp-templates>`_
for more info and alternatives. (Thanks `Thorbenl`_.)

Features
~~~~~~~~

* **Mailgun:** Support Mailgun's new (ESP stored) handlebars templates via `template_id`.
See `docs <https://anymail.readthedocs.io/en/stable/esps/mailgun/batch-sending-merge-and-esp-templates>`__.
(Thanks `anstosa`_.)

* **SendinBlue:** Support multiple `tags`. (Thanks `Thorbenl`_.)


Other
~~~~~

* **Mailgun:** Disable Anymail's workaround for a Requests/urllib3 issue with non-ASCII
attachment filenames when a newer version of urllib3--which fixes the problem--is
installed. (Workaround was added in Anymail v4.3; fix appears in urllib3 v1.25.)

6.1

----

*2019-07-07*

Features
~~~~~~~~

* **Mailgun:** Add new `MAILGUN_WEBHOOK_SIGNING_KEY` setting for verifying tracking and
inbound webhook calls. Mailgun's webhook signing key can become different from your
`MAILGUN_API_KEY` if you have ever rotated either key.
See `docs <https://anymail.readthedocs.io/en/stable/esps/mailgun/std:setting-ANYMAIL_MAILGUN_WEBHOOK_SIGNING_KEY>`__.
(More in `153`_. Thanks to `dominik-lekse`_ for reporting the problem and Mailgun's
`mbk-ok`_ for identifying the cause.)

6.0.1

------

*2019-05-19*

Fixes
~~~~~

* Support using `AnymailMessage` with django-mailer and similar packages that pickle
messages. (See `147`_. Thanks to `ewingrj`_ for identifying the problem.)

* Fix UnicodeEncodeError error while reporting invalid email address on Python 2.7.
(See `148`_. Thanks to `fdemmer`_ for reporting the problem.)

6.0

----

*2019-02-23*

Breaking changes
~~~~~~~~~~~~~~~~

* **Postmark:** Anymail's `message.anymail_status.recipients[email]` no longer
lowercases the recipient's email address. For consistency with other ESPs, it now
uses the recipient email with whatever case was used in the sent message. If your
code is doing something like `message.anymail_status.recipients[email.lower()]`,
you should remove the `.lower()`

* **SendGrid:** In batch sends, Anymail's SendGrid backend now assigns a separate
`message_id` for each "to" recipient, rather than sharing a single id for all
recipients. This improves accuracy of tracking and statistics (and matches the
behavior of many other ESPs).

If your code uses batch sending (merge_data with multiple to-addresses) and checks
`message.anymail_status.message_id` after sending, that value will now be a *set* of
ids. You can obtain each recipient's individual message_id with
`message.anymail_status.recipients[to_email].message_id`.
See `docs <https://anymail.readthedocs.io/en/stable/esps/sendgrid/sendgrid-message-id>`__.

Features
~~~~~~~~

* Add new `merge_metadata` option for providing per-recipient metadata in batch
sends. Available for all supported ESPs *except* Amazon SES and SendinBlue.
See `docs <https://anymail.readthedocs.io/en/stable/sending/anymail_additions/anymail.message.AnymailMessage.merge_metadata>`__.
(Thanks `janneThoft`_ for the idea and SendGrid implementation.)

* **Mailjet:** Remove limitation on using `cc` or `bcc` together with `merge_data`.


Fixes
~~~~~

* **Mailgun:** Better error message for invalid sender domains (that caused a cryptic
"Mailgun API response 200: OK Mailgun Magnificent API" error in earlier releases).

* **Postmark:** Don't error if a message is sent with only Cc and/or Bcc recipients
(but no To addresses). Also, `message.anymail_status.recipients[email]` now includes
send status for Cc and Bcc recipients. (Thanks to `ailionx`_ for reporting the error.)

* **SendGrid:** With legacy templates, stop (ab)using "sections" for merge_global_data.
This avoids potential conflicts with a template's own use of SendGrid section tags.

5.0

----

*2018-11-07*

Breaking changes
~~~~~~~~~~~~~~~~

* **Mailgun:** Anymail's status tracking webhooks now report Mailgun "temporary failure"
events as Anymail's normalized "deferred" `event_type`. (Previously they were reported
as "bounced", lumping them in with permanent failures.) The new behavior is consistent
with how Anymail handles other ESP's tracking notifications. In the unlikely case your
code depended on "temporary failure" showing up as "bounced" you will need to update it.
(Thanks `costela`_.)

Features
~~~~~~~~

* **Postmark:** Allow either template alias (string) or numeric template id for
Anymail's `template_id` when sending with Postmark templates.

Fixes
~~~~~

* **Mailgun:** Improve error reporting when an inbound route is accidentally pointed
at Anymail's tracking webhook url or vice versa.
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants