What's Changed
- Updated dependencies to allow cryptography 46 to be used by @matthiasn-cdgnm in #187
- fix: dynamically select timeout method to avoid PicklingError on macOS (#185) by @sbarbett in #186
- Rewrite of the SPF module by @seanthegeek in #190
- Remove return statement from the finally block by @anze3db in #188
- Retry DNS queries if they time out by @seanthegeek in #193
- Rename caught exception value in spf parsing by @gudjonragnar in #192
- Create and use Docker image by @lbiemans in #194
- bug fixes by @seanthegeek in #201
- Validate DMARC sp tag like p tag (fixes #207) by @aharpour in #208
- 211 spf void lookup miscount by @aharpour in #212
- Reject SPF records with concatenated 'all' mechanisms without whitesp… by @aharpour in #210
- 5.12.27 by @seanthegeek in #214
- Fix uncaught ValueError and incorrect PTR void lookup handling by @aharpour in #216
- Add comprehensive type hints with TypedDict definitions by @Copilot in #219
- Revert "Add comprehensive type hints with TypedDict definitions" by @seanthegeek in #221
- Add comprehensive typing to dmarc.py using TypedDicts and overloads by @Copilot in #223
- Convert dict() calls to literals and improve typing with TypedDicts by @Copilot in #224
- Correctly handle and validate SPF macros in mechanisms and modifiers by @aharpour in #218
- Finalize typing improvements for spf.py and bimi.by by @seanthegeek in #226
New Contributors
- @matthiasn-cdgnm made their first contribution in #187
- @sbarbett made their first contribution in #186
- @anze3db made their first contribution in #188
- @gudjonragnar made their first contribution in #192
- @lbiemans made their first contribution in #194
- @Copilot made their first contribution in #219
Full Changelog: 5.10.12...5.13.0