Skip to content

Update dependency django-anymail to v10

David Burke requested to merge renovate/django-anymail-10.x-lockfile into master

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

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports