py3-validate-email/CHANGELOG.txt

119 lines
4.2 KiB
Plaintext

1.0.0:
- New major release with breaking changes! They are:
- Ambiguous results, and the possibility of more of them:
- The validate_email_or_fail() function will now raise an SMTPTemporaryError() on an ambiguous result. That is, greylisting or no servers providing a definitive negative or positive.
- A server that bails out with a 4xx code at any part of the SMTP conversation, will be marked as ambiguous, just like the way most implementations treat email delivery.
- The validate_email_or_fail() function will now raise an SMTPCommunicationError() on a denied email address but will keep trying other MX hosts for validation. If all other servers are ambiguous, the validation will fail nonetheless.
- Both of the aforementioned exceptions will contain the occurred communication results in their error_messages class variables.
- Internal API changes (refactorings)
- Check results are now logged with info level, instead of emitting warnings when debug is turned on.
- Props to @reinhard-mueller for coming up with the new proposals and helping in refining the idea.
0.2.16:
- Workaround for a bug in the built-in python 3.8 smtp library: https://github.com/karolyi/py3-validate-email/issues/50
0.2.15:
- Added a `skip_smtp` option to optionally skip the SMTP protocol check after the DNS level checks, by @SergeyKons
0.2.14:
- More improvements, courtesy of Reinhard Müller: https://github.com/karolyi/py3-validate-email/pull/48
0.2.13:
- Fix 5xx errors not getting through in the exception parameters on the RCPT TO
handling. (#45)
0.2.12:
- Fixed a TLS error where the MX hostname mismatched the actual hostname due
to MX records resolving to hostnames with dots at the end. Yahoo lookups
resulted in SSL errors, providing false negatives.
0.2.11:
- Make emitting logs off per default, observer the passed `debug` parameter
- Set updater log level to debug
0.2.10:
- Adding STARTTLS handling
- Use EHLO instead of HELO
- Refactorings to handle errors during EHLO and MAIL FROM commands
- Updated dependencies
0.2.9:
- Adding debug command to validate_email for debugging
0.2.8:
- Fixing windows installation error.
0.2.7:
- Increase consistency at handling domain literals
- Clean up initial blacklist download on install
- All improvements made by @reinhard-mueller.
0.2.6:
- Introducing an EmailAddress class, thx to @reinhard-mueller
- Added a test for making sure there's a data directory with blacklist
files on install.
0.2.5:
- Python distutils/setuptools is a mess. Fix data dir creation on
install.
0.2.4:
- Fixed built-in datadir creation again.
0.2.3:
- Fixed https://github.com/karolyi/py3-validate-email/issues/13
0.2.2:
- Fixed the automatic download of the validate_email/data directory on
package install time. The source distribution MUST NOT include the
data directory, local installs have to fetch them when they are
executed.
0.2.1:
- Added a validate_email_or_fail function that will raise an exception
(base class validate_email.exceptions.EmailValidationError) when the
passed email check fails, while logging a warning with the validation
result.
- The blacklist updater can now use a separate thread and writable temp
paths to download and store its data, while logs about the update
process on DEBUG.
- Exposed a `validate_email.updater.update_builtin_blacklist` to update
the built-in blacklists while running.
0.2.0:
- Added automatic auto-updater for updating built-in blacklists.
0.1.12:
- Blacklist/whitelist domains checking is now independent of regex checking.
0.1.11:
- Handling IDNA errors
0.1.10:
- Handling the NoNameservers exception
0.1.9:
- Handling DNS timeout + YXDOMAIN
0.1.8:
- Added IDNA domain handling. (might need adjustment when
https://bugs.python.org/issue20083 gets fixed)
0.1.7:
- Handle the SMTPServerDisconnected exception throughout all the SMTP
connection. Try to contact all MXes for a successful probe.
0.1.6:
- Fixed a rare case where aol.co returns '.' in MX that causes an
exception for the SMTP module, with added tests.
0.1.5:
- Handle socket errors (https://docs.python.org/3/library/
socket.html#exceptions)
0.1.4:
- Handle 'No MX record' exception
0.1.3:
- Added ambiguous (4xx) response code handling