Update dependency django-anymail to v10
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
django-anymail (changelog) | dependencies | major |
8.6 -> 10.0
|
Release Notes
anymail/django-anymail
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.