unstale

pypi / postmarker

postmarker

What changed in postmarker 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-12.

3 breaking1 security27 new APIs and options1 behavior and defaults1 tooling11 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.3.0 on npm

postmarker 244 changes

Breaking changes 3

  • Raises ClientError with Postmark's error_code instead of a plain PostmarkerException; batches use the first failure's error_code.

    2.0release notes

  • Attachment content from MIME parts is sent as single-line base64 without MIME line breaks.

    2.0release notes

  • Support for Python 3.6–3.9 has been removed.

    2.0release notes

Security 1

  • Spam check requests now use HTTPS instead of sending email content over plain HTTP.

    2.0release notes

New APIs and options 27

Behavior and default changes 1

  • Accepts the modern EmailMessage API wherever MIME messages are accepted.

    2.0release notes

Tooling 1

Fixes and other changes 11

  • Stops pagination at Postmark's 10,000 limit for count plus offset.

    2.0release notes

  • API manager calls now honor an explicitly supplied token_type and only default to the manager's token type when it is not explicit.

    2.0release notes

  • Django 5.2, 6.0 and 6.1 are supported.

    2.0release notes

  • Fixes a ValueError that caused the backend to fail on Django 6.0+.

    2.0release notes

  • Stops emitting RemovedInDjango2028Warning for fail_silently on Django 6.1+.

    2.0release notes

  • Preserves the MAILERS alias on Django 6.1+ so unknown OPTIONS are not hidden.

    2.0release notes

  • String representations now show the sender and recipients instead of None.

    2.0release notes

  • Text attachments from MIME messages, including through the Django backend, are now base64 encoded as required by Postmark.

    2.0release notes

  • On Python 3.11+, return_value is now a configurable mock rather than an internal sentinel.

    2.0release notes

  • Python 3.11–3.15 are supported.

    2.0release notes

  • A list of emails now produces an explanatory ValueError directing callers to pass them as separate arguments.

    2.0release notes