chore(deps): update dependency django-anymail to v10
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
django-anymail (changelog) | dependencies | major |
8.6 -> 10.1
|
Release Notes
anymail/django-anymail (django-anymail)
v10.1
2023-07-31
Features
* **Inbound:** Improve `AnymailInboundMessage`'s handling of inline content:
* Rename `inline_attachments` to `content_id_map`, more accurately reflecting its function.
* Add new `inlines` property that provides a complete list of inline content,
whether or not it includes a *Content-ID*. This is helpful for accessing
inline images that appear directly in a *multipart/mixed* body, such as those
created by the Apple Mail app.
* Rename `is_inline_attachment()` to just `is_inline()`.
The renamed items are still available, but deprecated, under their old names.
See `docs <http://anymail.dev/en/stable/inbound/#anymail.inbound.AnymailInboundMessage>`__.
(Thanks to `@martinezleoml`_.)
* **Inbound:** `AnymailInboundMessage` now derives from Python's
`email.message.EmailMessage`, which provides improved compatibility with
email standards. (Thanks to `@martinezleoml`_.)
* **Brevo (Sendinblue):** Sendinblue has rebranded to "Brevo." Change default
API endpoint to ``api.brevo.com``, and update docs to reflect new name. Anymail
still uses ``sendinblue`` in the backend name, for settings, etc., so there
should be no impact on your code. (Thanks to `@sblondon`_.)
* **Brevo (Sendinblue):** Add support for inbound email. (See
`docs <https://anymail.dev/en/stable/esps/sendinblue/#sendinblue-inbound>`_.)
* **SendGrid:** Support multiple ``reply_to`` addresses.
(Thanks to `@gdvalderrama`_ for pointing out the new API.)
Deprecations
-
Inbound:
AnymailInboundMessage.inline_attachments
and.is_inline_attachment()
have been renamed---see above.
v10.0
2023-05-07
Breaking changes
* **Amazon SES:** The Amazon SES backend now sends using the SES v2 API.
Most projects should not require code changes, but you may need to update
your IAM permissions. See
`Migrating to the SES v2 API <https://anymail.dev/en/stable/esps/amazon_ses/#amazon-ses-v2>`__.
If you were using SES v2 under Anymail 9.1 or 9.2, change your
``EMAIL_BACKEND`` setting from ``amazon_sesv2`` to just ``amazon_ses``.
(If you are not ready to migrate to SES v2, an ``amazon_sesv1`` EmailBackend
is available. But Anymail will drop support for that later this year. See
`Using SES v1 (deprecated) <https://anymail.dev/en/stable/esps/amazon_ses/#amazon-ses-v1>`__.)
* **Amazon SES:** The "extra name" for installation must now be spelled with
a hyphen rather than an underscore: ``django-anymail[amazon-ses]``.
Be sure to update any dependencies specification (pip install, requirements.txt,
etc.) that had been using ``[amazon_ses]``. (This change is due to
package name normalization rules enforced by modern Python packaging tools.)
* **Mandrill:** Remove support for Mandrill-specific message attributes left over
from Djrill. These attributes have raised DeprecationWarnings since Anymail 0.3
(in 2016), but are now silently ignored. See
`Migrating from Djrill <https://anymail.dev/en/v10.0/esps/mandrill/#djrill-message-attributes>`__.
* Require Python 3.7 or later.
* Require urllib3 1.25 or later. (Drop a workaround for older urllib3 releases.
urllib3 is a requests dependency; version 1.25 was released 2019-04-29. Unless
you are pinning an earlier urllib3, this change should have no impact.)
Features
~~~~~~~~
* **Postmark inbound:**
* Handle Postmark's "Include raw email content in JSON payload"
inbound option. We recommend enabling this in Postmark's dashboard
to get the most accurate representation of received email.
* Obtain ``envelope_sender`` from *Return-Path* Postmark now provides.
(Replaces potentially faulty *Received-SPF* header parsing.)
* Add *Bcc* header to inbound message if provided. Postmark adds bcc
when the delivered-to address does not appear in the *To* header.
Other
~~~~~
* Modernize packaging. (Change from setup.py and setuptools
to pyproject.toml and hatchling.) Other than the ``amazon-ses``
naming normalization noted above, the new packaging should have
no impact. If you have trouble installing django-anymail v10 where
v9 worked, please report an issue including the exact install
command and pip version you are using.
v9.2
2023-05-02
Fixes
* Fix misleading error messages when sending with ``fail_silently=True``
and session creation fails (e.g., with Amazon SES backend and missing
credentials). (Thanks to `@technolingo`_.)
* **Postmark inbound:** Fix spurious AnymailInvalidAddress in ``message.cc``
when inbound message has no Cc recipients. (Thanks to `@Ecno92`_.)
* **Postmark inbound:** Add workaround for malformed test data sent by
Postmark's inbound webhook "Check" button. (See `#304`_. Thanks to `@Ecno92`_.)
Deprecations
- This will be the last Anymail release to support Python 3.6 (which reached end-of-life on 2021-12-23).
Other
* Test against Django 4.2 release.
v9.1
2023-03-11
Features
* **Amazon SES:** Add support for sending through the Amazon SES v2 API
(not yet enabled by default; see Deprecations below;
`docs <https://anymail.dev/en/stable/esps/amazon_ses/#amazon-ses-v2>`__).
* **MailerSend:** Add support for this ESP
(`docs <https://anymail.dev/en/stable/esps/mailersend/>`__).
Deprecations
-
Amazon SES: Anymail will be switching to the Amazon SES v2 API.
Support for the original SES v1 API is now deprecated, and will be dropped in a
future Anymail release (likely in late 2023). Many projects will not
require code changes, but you may need to update your IAM permissions. See
Migrating to the SES v2 API <https://anymail.dev/en/stable/esps/amazon_ses/#amazon-ses-v2>
__.
Other
* Test against Django 4.2 prerelease, Python 3.11 (with Django 4.2),
and PyPy 3.9.
* Use black, isort and doc8 to format code,
enforced via pre-commit. (Thanks to `@tim-schilling`_.)
v9.0
2022-12-18
Breaking changes
* Require **Django 3.0 or later** and Python 3.6 or later. (For compatibility
with Django 2.x or Python 3.5, stay on the Anymail `v8.6 LTS`_ extended support
branch by setting your requirements to `django-anymail~=8.6`.)
Features
~~~~~~~~
* **Sendinblue:** Support delayed sending using Anymail's `send_at` option.
(Thanks to `@dimitrisor`_ for noting Sendinblue's public beta release
of this capability.)
* Support customizing the requests.Session for requests-based backends,
and document how this can be used to mount an adapter that simplifies
automatic retry logic. (Thanks to `@dgilmanAIDENTIFIED`_.)
* Confirm support for Django 4.1 and resolve deprecation warning regarding
``django.utils.timezone.utc``. (Thanks to `@tim-schilling`_.)
Fixes
~~~~~
* **Postmark:** Handle Postmark's SubscriptionChange events as Anymail
unsubscribe, subscribe, or bounce tracking events, rather than "unknown".
(Thanks to `@puru02`_ for the fix.)
* **Sendinblue:** Work around recent (unannounced) Sendinblue API change
that caused "Invalid headers" API error with non-string custom header
values. Anymail now converts int and float header values to strings.
Other
~~~~~
* Test on Python 3.11 with Django development (Django 4.2) branch.
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.