Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 1, 2026

Updates the requirements on django-anymail to permit the latest version.

Release notes

Sourced from django-anymail's releases.

v14.0

This release improves handling of Unicode characters everywhere email messages allow them, based on extensive testing on all supported ESPs. See International email in the docs for more information. There are several new workarounds for ESP bugs with non-ASCII characters, plus a handful of new errors to help you avoid Unicode bugs Anymail can't work around.

This release also includes support for Django 6.0 and adds the much-requested ESP Mailtrap.

See the Changelog for breaking changes and a full list of other features and fixes.

Changelog

Sourced from django-anymail's changelog.

v14.0

2025-12-17

This release improves handling of Unicode characters everywhere email messages allow them, based on extensive testing on all supported ESPs. See International email <https://anymail.dev/en/stable/tips/international_email/#idna>_ in the docs for more information. There are several new workarounds for ESP bugs with non-ASCII characters, plus a handful of new errors to help you avoid Unicode bugs Anymail can't work around.

This release also includes support for Django 6.0 (earlier versions worked, but provoked deprecation warnings) and adds the much-requested ESP Mailtrap.

Breaking changes


(These changes don't affect the vast majority of Anymail users.)
  • International domain names: When sending email to a non-ASCII domain name,
    use IDNA 2008 with UTS-46 pre-processing rather than obsolete IDNA 2003
    encoding. This ensures email can be sent to newer domains enabled by IDNA 2008.

    This change should make no difference for virtually all real-world email
    addresses that worked with earlier Anymail releases. But trying to send to
    emoji domains or others no longer allowed by IDNA 2008 will now raise an
    AnymailInvalidAddress error.

    To restore the old behavior or select a different encoding, use the new
    IDNA_ENCODER setting. See
    Domains (IDNA) &lt;https://anymail.dev/en/stable/tips/international_email/#idna&gt;_
    in the docs.

    As part of this change, Anymail now has a direct dependency on the idna
    package. (It was already being installed as a sub-dependency of requests.)

  • Brevo: Raise an error if metadata or custom header values include Unicode
    characters. This avoids a Brevo API bug that sends unencoded 8-bit headers,
    which can cause bounces or dropped messages.

  • Mailgun: Raise an error if the from_email uses EAI (has a Unicode
    local part). This avoids a Mailgun API bug that generates undeliverable
    messages.

  • Resend: Raise an error if an attachment's filename has an extension that
    doesn't match its content type. This tries to help you avoid a Resend API bug
    that can silently drop sent messages.

  • Scaleway TEM: Raise an error if any address field uses EAI (has a Unicode
    </tr></table>

... (truncated)

Commits
  • e0f50c2 Release 14.0
  • a575bfc Docs: update some outdated examples
  • d6e8374 CI/CD: reduce permissions to GitHub workflows
  • 5ee1e0d Thank contributors and sponsors in readme
  • 793617c Mailtrap: new ESP
  • ee96317 Postmark: Avoid KeyError in tracking webhook for bounce/unsubscribe payload
  • ab2e85f Amazon SES (docs): show TenantName and EndpointId examples
  • f57bdc7 Exempt webhooks from Django's LoginRequiredMiddleware
  • 643f46f Support Django 6.0
  • 131b1c1 Improve handling of non-ASCII characters in attachments
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [django-anymail](https://github.com/anymail/django-anymail) to permit the latest version.
- [Release notes](https://github.com/anymail/django-anymail/releases)
- [Changelog](https://github.com/anymail/django-anymail/blob/main/CHANGELOG.rst)
- [Commits](anymail/django-anymail@v13.0...v14.0)

---
updated-dependencies:
- dependency-name: django-anymail
  dependency-version: '14.0'
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jan 1, 2026
@github-actions github-actions bot merged commit 880e503 into main Jan 1, 2026
2 checks passed
@github-actions github-actions bot deleted the dependabot/pip/django-anymail-gte-13.0-and-lt-15.0 branch January 1, 2026 04:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant