NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1137 most downloaded on PyPI
Resend Python SDK
Last release 2 days ago
03 Oct 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
79 releases · first in 2023
One column per quarter.
fix(webhooks): raise ValueError for non-ASCII signature in Webhooks.verify by @RaphaelFakhri in #290
Full Changelog: v2.49.0...v2.49.1
feat(webhooks): add support for topic and contact.topics.updated events by @joaopcm in #291
feat(usage): add support for the GET /usage endpoint by @dielduarte in #289
Full Changelog: v2.47.0...v2.48.0
feat(webhooks): add support for suppression.added/removed events by @dielduarte in #287
Full Changelog: v2.46.0...v2.47.0
ci: run lint, mypy and tests on Python 3.12 to 3.14 by @felipefreitag in #285
Full Changelog: v2.45.1...v2.46.0
chore: publish releases from GitHub Actions with PyPI trusted publishing by @felipefreitag in #281
Full Changelog: v2.45.0...v2.45.1
feat(broadcasts): add duplicate endpoint by @gabrielmfern in #279
Full Changelog: v2.44.0...v2.45.0
feat(webhooks): add signing secret rotation endpoint by @gabrielmfern in #277
Full Changelog: v2.43.0...v2.44.0
Signed-off-by: Gabriel Miranda gabriel@resend.com
Signed-off-by: Gabriel Miranda gabriel@resend.com
Full Changelog: v2.42.0...v2.43.0
feat(webhooks): add event listing endpoints by @gabrielmfern in #268
Full Changelog: v2.41.0...v2.42.0
feat: add update/update_async for renaming a segment by @dielduarte in #270
Full Changelog: v2.40.2...v2.41.0
fix(api-keys): rename the update params key to id by @felipefreitag in #269
Full Changelog: v2.40.1...v2.40.2
fix(contacts): properties response shape by @gabrielmfern in #254
Full Changelog: v2.40.0...v2.40.1
feat: add broadcasts.clicked_links() method by @dielduarte in #263
Full Changelog: v2.39.0...v2.40.0
feat: add Emails.share() and share_async() by @dielduarte in #257
Full Changelog: v2.38.0...v2.39.0
feat: add update/update_async for renaming an api key by @dielduarte in #258
Full Changelog: v2.37.0...v2.38.0
chore(deps): update actions/checkout digest to d23441a by @renovate [bot] in #245
Full Changelog: v2.36.0...v2.37.0
chore: use the API timestamp format in fixtures and docstrings by @felipefreitag in #249
Full Changelog: v2.35.0...v2.36.0
chore(deps): update actions/setup-python action to v7 by @renovate [bot] in #244
Full Changelog: v2.34.0...v2.35.0
chore: update sync_prs_to_linear action hash to a54e4298f0 by @dielduarte in #239
Full Changelog: v2.33.0...v2.34.0
feat: add received_for to ReceivedEmail type by @lucasfcosta in #226
Full Changelog: v2.32.2...v2.33.0
fix: use Contacts.Imports nested class for consistent type namespacing by @drish in #223
Full Changelog: v2.32.1...v2.32.2
fix: contact imports segments typing by @drish in #222
Full Changelog: v2.32.0...v2.32.1
feat: add contact imports endpoints by @drish in #220
Full Changelog: v2.31.0...v2.32.0
chore: add sync-prs-to-linear action by @dielduarte in https://github.com/resend/resend-python/pull/207
Full Changelog: https://github.com/resend/resend-python/compare/v2.30.1...v2.31.0
chore: GH Actions hardening — pin actions to SHA, add permissions and timeouts by @dielduarte in https://github.com/resend/resend-python/pull/204
Full Changelog: https://github.com/resend/resend-python/compare/v2.30.0...v2.30.1
feat(contacts): add segment_id support to Contacts.list by @drish in https://github.com/resend/resend-python/pull/202
Full Changelog: https://github.com/resend/resend-python/compare/v2.29.0...v2.30.0
feat(domains): add click_tracking and open_tracking to CreateParams by @rehanvdm in https://github.com/resend/resend-python/pull/200
Full Changelog: https://github.com/resend/resend-python/compare/v2.28.1...v2.29.0
feat(domains): add TrackingCAA record support by @rehanvdm in https://github.com/resend/resend-python/pull/199
Full Changelog: https://github.com/resend/resend-python/compare/v2.28.0...v2.28.1
feat(domains): add custom click tracking support by @drish in https://github.com/resend/resend-python/pull/195
Full Changelog: https://github.com/resend/resend-python/compare/v2.27.0...v2.28.0
feat(domains): add custom click tracking support by @drish in https://github.com/resend/resend-python/pull/195
Full Changelog: https://github.com/resend/resend-python/compare/v2.27.0...v2.28.0a1
chore(deps): update codecov/codecov-action action to v6 by @renovate[bot] in https://github.com/resend/resend-python/pull/193
Full Changelog: https://github.com/resend/resend-python/compare/v2.26.0...v2.27.0
feat: Async Support with httpx 🔥 by @drish in https://github.com/resend/resend-python/pull/149
Full Changelog: https://github.com/resend/resend-python/compare/v2.25.0...v2.26.0
headers to return mime data, and http_headers returns API data (ie: rate limit) - to avoid collision by @drish in https://github.com/resend/resend-pyt
headers to return mime data, and http_headers returns API data (ie: rate limit) - to avoid collision by @drish in https://github.com/resend/resend-python/pull/192Full Changelog: https://github.com/resend/resend-python/compare/v2.24.0...v2.25.0
feat(api-keys): add last_used_at field to API key response by @drish in https://github.com/resend/resend-python/pull/190
Full Changelog: https://github.com/resend/resend-python/compare/v2.23.0...v2.24.0
feat: add headers to all responses + ResendError by @drish in https://github.com/resend/resend-python/pull/179
Full Changelog: https://github.com/resend/resend-python/compare/v2.22.0...v2.23.0
chore(deps): update python docker tag to v3.14.3 by @renovate[bot] in https://github.com/resend/resend-python/pull/183
Full Changelog: https://github.com/resend/resend-python/compare/v2.21.0...v2.22.0
feat: add rate limit error class by @drish in https://github.com/resend/resend-python/pull/178
Full Changelog: https://github.com/resend/resend-python/compare/v2.19.0...v2.21.0
feat: Implement the beta Topics API by @drish in https://github.com/resend/resend-python/pull/172
Full Changelog: https://github.com/resend/resend-python/compare/v2.17.0...v2.19.0
- Webhooks Support (https://github.com/resend/resend-python/pull/173) Full Changelog: https://github.com/resend/resend-python/compare/v2.17.0...v2.18.
Full Changelog: https://github.com/resend/resend-python/compare/v2.17.0...v2.18.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
chore(deps): update actions/checkout action to v5 by @renovate[bot] in https://github.com/resend/resend-python/pull/156
Full Changelog: https://github.com/resend/resend-python/compare/v2.16.0...v2.17.0
feat: Add emails list method with pagination by @drish in https://github.com/resend/resend-python/pull/162
Full Changelog: https://github.com/resend/resend-python/compare/v2.14.0...v2.16.0
feat: Optional pagination list methods Full Changelog: https://github.com/resend/resend-python/compare/v2.14.0...v2.15.0
feat: Batch validation mode by @drish in https://github.com/resend/resend-python/pull/163
Full Changelog: https://github.com/resend/resend-python/compare/v2.13.1...v2.14.0
example: rm inline_content_id ref by @drish in https://github.com/resend/resend-python/pull/157
Full Changelog: https://github.com/resend/resend-python/compare/v2.13.0...v2.13.1
feat: Prefer content_id instead of inline_content_id by @drish in https://github.com/resend/resend-python/pull/154
Full Changelog: https://github.com/resend/resend-python/compare/v2.12.0...v2.13.0
feat: Inline attachment support by @drish in https://github.com/resend/resend-python/pull/152
Full Changelog: https://github.com/resend/resend-python/compare/v2.11.0...v2.12.0
chore(deps): update python docker tag to v3.13.4 by @renovate in https://github.com/resend/resend-python/pull/147
Full Changelog: https://github.com/resend/resend-python/compare/v2.10.0...v2.11.0
feat: Idempotency key support for batch send by @drish in https://github.com/resend/resend-python/pull/142
Full Changelog: https://github.com/resend/resend-python/compare/v2.9.0...v2.10.0
feat: Get contact by email by @drish in https://github.com/resend/resend-python/pull/140
Full Changelog: https://github.com/resend/resend-python/compare/v2.8.0...v2.9.0
chore(deps): update python docker tag to v3.13.3 by @renovate in https://github.com/resend/resend-python/pull/137
Full Changelog: https://github.com/resend/resend-python/compare/v2.7.0...v2.8.0
chore(deps): update python docker tag to v3.13.2 by @renovate in https://github.com/resend/resend-python/pull/133
Full Changelog: https://github.com/resend/resend-python/compare/v2.6.0...v2.7.0
feat: Update contact by email or id by @drish in https://github.com/resend/resend-python/pull/131
Full Changelog: https://github.com/resend/resend-python/compare/v2.5.1...v2.6.0
fix: Wrong broadcast pkg init file by @drish in https://github.com/resend/resend-python/pull/130
Full Changelog: https://github.com/resend/resend-python/compare/v2.5.0...v2.5.1
feat: Scheduled emails, cancel and update by @drish in https://github.com/resend/resend-python/pull/118
https://pypi.org/project/resend/2.4.0/
Full Changelog: https://github.com/resend/resend-python/compare/v2.3.0...v2.4.0
fix: gracefully handle non json responses by @drish in https://github.com/resend/resend-python/pull/112
Full Changelog: https://github.com/resend/resend-python/compare/v2.2.0...v2.3.0
feat: add content_type attribute to Attachment by @drish in https://github.com/resend/resend-python/pull/113
Full Changelog: https://github.com/resend/resend-python/compare/v2.1.0...v2.2.0
Your coding agent can read these notes before it upgrades. Set up the MCP server →