You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Layout templates: TemplateType and LayoutTemplate on templates.create, validate and all, LayoutTemplate on templates.edit, and templates.push to copy templates between servers.
on_exception signal exported from postmarker.django, next to pre_send and post_send. #213
Servers API for the account: servers.all, get, create, edit and delete, and PostmarkClient with only an account token.
ConfirmationPersonalNote on senders.create and senders.edit.
Support for Django 5.2, 6.0 and 6.1.
Message Streams API: message_streams.all, get, create, edit, archive and unarchive.
Message clicks: messages.outbound.clicks.all and get, OutboundMessage.clicks(), and a link click webhook wrapper. #169
Support for email.message.EmailMessage (the modern email API) wherever MIME messages are accepted.
Suppressions API: suppressions.all, create and delete per message stream. #197
Spam complaint and subscription change webhook wrappers: bounces.SpamComplaint and suppressions.SubscriptionChange. #215
Type annotations and py.typed marker.
Changed
Attachment content from MIME parts sent as single-line base64, without MIME line breaks.
Django email backend raising ClientError with Postmark's error_code (the first failure's for batches) instead of a plain PostmarkerException. #177
Removed
Support for Python 3.6–3.9.
Fixed
postmark_request.return_value incorrectly being an internal sentinel on Python 3.11+ (it should be a configurable mock).
send_batch and send_template_batch incorrectly raising an empty ValueError for a list of emails (it should explain to pass them as separate arguments). #212
Django email backend incorrectly failing with ValueError on Django 6.0+. #221
Text attachments from MIME messages, including the Django backend, incorrectly sent without base64 encoding, which Postmark rejects. #189
all() for bounces, messages and opens incorrectly requesting past Postmark's limit of 10,000 for count + offset, which Postmark rejects (it should stop at the limit). #194
Django email backend incorrectly emitting RemovedInDjango2028Warning for fail_silently on Django 6.1+.
Django email backend incorrectly dropping the MAILERS alias on Django 6.1+, which hid unknown OPTIONS.
Email and EmailTemplate string representation incorrectly showing None (it should show the sender and recipients). #211
call on API managers incorrectly ignoring an explicit token_type (it should only default to the manager's token type).
Security
Spam check requests incorrectly sending email content over plain HTTP (they should use HTTPS).