- update to 2.2.0:
* Email addresses with internationalized local parts could,
with rare Unicode characters, be returned as valid but
actually be invalid in their normalized form (returned in the
`normalized` field). Local parts now re-validated after
Unicode NFC normalization to ensure that invalid characters
cannot be injected into the normalized address and that
characters with length-increasing NFC normalizations cannot
cause a local part to exceed the maximum length after
normalization.
* The length check for email addresses with internationalized
local parts is now also applied to the original address
string prior to Unicode NFC normalization, which may be
longer and could exceed the maximum email address length, to
protect callers who do not use the returned normalized
address.
* Improved error message for IDNA domains that are too long or
have invalid characters after Unicode normalization.
* A new option to parse `My Name <address@domain>` strings,
i.e. a display name plus an email address in angle brackets,
is now available. It is off by default.
* Improvements to Python typing.
* Some additional tests added.
OBS-URL: https://build.opensuse.org/request/show/1184005
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-email-validator?expand=0&rev=9
* Email addresses with internationalized local parts could,
with rare Unicode characters, be returned as valid but
actually be invalid in their normalized form (returned in the
`normalized` field). Local parts now re-validated after
Unicode NFC normalization to ensure that invalid characters
cannot be injected into the normalized address and that
characters with length-increasing NFC normalizations cannot
cause a local part to exceed the maximum length after
normalization.
* The length check for email addresses with internationalized
local parts is now also applied to the original address
string prior to Unicode NFC normalization, which may be
longer and could exceed the maximum email address length, to
protect callers who do not use the returned normalized
address.
* Improved error message for IDNA domains that are too long or
have invalid characters after Unicode normalization.
* A new option to parse `My Name <address@domain>` strings,
i.e. a display name plus an email address in angle brackets,
is now available. It is off by default.
* Improvements to Python typing.
* Some additional tests added.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-email-validator?expand=0&rev=20
- update to 2.1.2:
* The domain name length limit is corrected from 255 to 253
IDNA ASCII characters. I misread the RFCs.
* When a domain name has no MX record but does have an A or
AAAA record, if none of the IP addresses in the response are
globally reachable (i.e. not Private-Use, Loopback, etc.),
the response is treated as if there was no A/AAAA response
and the email address will fail the deliverability check.
* When a domain name has no MX record but does have an A or
AAAA record, the mx field in the object returned by
validate_email incorrectly held the IP addresses rather than
the domain itself.
* Fixes in tests.
OBS-URL: https://build.opensuse.org/request/show/1181682
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-email-validator?expand=0&rev=8
* The domain name length limit is corrected from 255 to 253
IDNA ASCII characters. I misread the RFCs.
* When a domain name has no MX record but does have an A or
AAAA record, if none of the IP addresses in the response are
globally reachable (i.e. not Private-Use, Loopback, etc.),
the response is treated as if there was no A/AAAA response
and the email address will fail the deliverability check.
* When a domain name has no MX record but does have an A or
AAAA record, the mx field in the object returned by
validate_email incorrectly held the IP addresses rather than
the domain itself.
* Fixes in tests.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-email-validator?expand=0&rev=18
- update to 2.1.1:
* Fixed typo 'marking' instead of 'marketing' in case-
insensitive mailbox name list.
* When DNS-based deliverability checks fail, in some cases
exceptions are now thrown with `raise ... from` for better
nested exception tracking.
* Fixed tests to work when no local resolver can be configured.
* This project is now licensed under the Unlicense (instead of
CC0).
* Minor improvements to tests.
* Minor improvements to code style.
- drop dont-require-resolv-tests.patch: obsolete
* Ignore warning as error from requests-toolbelt via dnspython.
OBS-URL: https://build.opensuse.org/request/show/1178915
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-email-validator?expand=0&rev=7
* Fixed typo 'marking' instead of 'marketing' in case-
insensitive mailbox name list.
* When DNS-based deliverability checks fail, in some cases
exceptions are now thrown with `raise ... from` for better
nested exception tracking.
* Fixed tests to work when no local resolver can be configured.
* This project is now licensed under the Unlicense (instead of
CC0).
* Minor improvements to tests.
* Minor improvements to code style.
- drop dont-require-resolv-tests.patch: obsolete
* Ignore warning as error from requests-toolbelt via dnspython.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-email-validator?expand=0&rev=16
* Python 3.8+ is now required (support for Python 3.7 was
dropped).
* The old `email` field on the returned `ValidatedEmail`
object, which in the previous version was superseded by
`normalized`, will now raise a deprecation warning if used.
See https://stackoverflow.com/q/879173 for strategies to
suppress the DeprecationWarning.
* A `__version__` module attribute is added.
* The email address argument to validate_email is now marked as
positional-only to better reflect the documented usage using
the new Python 3.8 feature.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-email-validator?expand=0&rev=14
- Add dont-require-resolv-tests.patch to make tests run without an
existing /etc/resolv.conf file
- Update to 2.0.0:
This is a major update to the library, but since email address specs
haven't changed there should be no significant changes to which
email addresses are considered valid or invalid with default
options. There are new options for accepting unusual email addresses
that were previously always rejected, some changes to how DNS errors
are handled, many changes in error message text, and major internal
improvements including the addition of type annotations. Python 3.7+
is now required. Details follow:
* Python 2.x and 3.x versions through 3.6, and dnspython 1.x, are no
longer supported. Python 3.7+ with dnspython 2.x are now required.
* The dnspython package is no longer required if DNS checks are not
used, although it will install automatically.
* NoNameservers and NXDOMAIN DNS errors are now handled differently:
NoNameservers no longer fails validation, and NXDOMAIN now skips
checking for an A/AAAA fallback and goes straight to failing
validation.
* Some syntax error messages have changed because they are now
checked explicitly rather than as a part of other checks.
* The quoted-string local part syntax (e.g. multiple @-signs,
spaces, etc. if surrounded by quotes) and domain-literal addresses
(e.g. @[192.XXX...] or @[IPv6:...]) are now parsed but not
considered valid by default. Better error messages are now given
for these addresses since it can be confusing for a technically
valid address to be rejected, and new allow_quoted_local and
allow_domain_literal options are added to allow these addresses if
you really need them.
* Some other error messages have changed to not repeat the email
address in the error message.
* The email field on the returned ValidatedEmail object has been
renamed to normalized to be clearer about its importance, but
access via .email is also still supported.
* Some mailbox names like postmaster are now normalized to lowercase
per RFC 2142.
* The library has been reorganized internally into smaller modules.
* The tests have been reorganized and expanded. Deliverability tests
now mostly use captured DNS responses so they can be run off-line.
* The main tool now reads options to validate_email from environment
variables.
* Type annotations have been added to the exported methods and the
ValidatedEmail class and some internal methods.
* The old dict-like pattern for the return value of validate_email
is deprecated.
Versions 2.0.0.post1 and 2.0.0.post2 corrected some packaging
issues. 2.0.0.post2 also added a check for an invalid combination of
arguments.
- add sle15_python_module_pythons (jsc#PED-68)
OBS-URL: https://build.opensuse.org/request/show/1088992
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-email-validator?expand=0&rev=5
existing /etc/resolv.conf file
- Update to 2.0.0:
This is a major update to the library, but since email address specs
haven't changed there should be no significant changes to which
email addresses are considered valid or invalid with default
options. There are new options for accepting unusual email addresses
that were previously always rejected, some changes to how DNS errors
are handled, many changes in error message text, and major internal
improvements including the addition of type annotations. Python 3.7+
is now required. Details follow:
* Python 2.x and 3.x versions through 3.6, and dnspython 1.x, are no
longer supported. Python 3.7+ with dnspython 2.x are now required.
* The dnspython package is no longer required if DNS checks are not
used, although it will install automatically.
* NoNameservers and NXDOMAIN DNS errors are now handled differently:
NoNameservers no longer fails validation, and NXDOMAIN now skips
checking for an A/AAAA fallback and goes straight to failing
validation.
* Some syntax error messages have changed because they are now
checked explicitly rather than as a part of other checks.
* The quoted-string local part syntax (e.g. multiple @-signs,
spaces, etc. if surrounded by quotes) and domain-literal addresses
(e.g. @[192.XXX...] or @[IPv6:...]) are now parsed but not
considered valid by default. Better error messages are now given
for these addresses since it can be confusing for a technically
valid address to be rejected, and new allow_quoted_local and
allow_domain_literal options are added to allow these addresses if
you really need them.
* Some other error messages have changed to not repeat the email
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-email-validator?expand=0&rev=11
- Update to 1.3.0:
* Deliverability checks now check for 'v=spf1 -all' SPF records as a way to reject more bad domains.
* Special use domain names now raise EmailSyntaxError instead of EmailUndeliverableError since they are performed even if check_deliverability is off.
* New module-level attributes are added to override the default values of the keyword arguments and the special-use domains list.
* The keyword arguments of the public methods are now marked as keyword-only.
* pyIsEmail's test cases are added to the tests.
* Recommend that check_deliverability be set to False for validation on login pages.
* Added an undocumented globally_deliverable option.
OBS-URL: https://build.opensuse.org/request/show/1007824
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-email-validator?expand=0&rev=3
* Deliverability checks now check for 'v=spf1 -all' SPF records as a way to reject more bad domains.
* Special use domain names now raise EmailSyntaxError instead of EmailUndeliverableError since they are performed even if check_deliverability is off.
* New module-level attributes are added to override the default values of the keyword arguments and the special-use domains list.
* The keyword arguments of the public methods are now marked as keyword-only.
* pyIsEmail's test cases are added to the tests.
* Recommend that check_deliverability be set to False for validation on login pages.
* Added an undocumented globally_deliverable option.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-email-validator?expand=0&rev=6
- Update to 1.2.1:
* Rejecting domains with NULL MX records (when deliverability checks are
turned on).
* Rejecting unsafe unicode characters. (Some of these checks you should be
doing on all of your user inputs already!)
* Rejecting most special-use reserved domain names. A new test_environment
option is added for using @*.test domains.
* example and example.com/net/org are removed from the special-use domains
list.
* SPECIAL_USE_DOMAIN_NAMES is now a documented part of the API (and it is a
list instead of a tuple)
* New module-level attributes ALLOW_SMTPUTF8, CHECK_DELIVERABILITY,
TEST_ENVIRONMENT, and DEFAULT_TIMEOUT can be used to change the default
values of the keyword arguments.
- Add patch ignore-urllib3-pyopenssl-warning.patch:
* Ignore warning as error from requests-toolbelt via dnspython.
OBS-URL: https://build.opensuse.org/request/show/1001873
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-email-validator?expand=0&rev=2
* Rejecting domains with NULL MX records (when deliverability checks are
turned on).
* Rejecting unsafe unicode characters. (Some of these checks you should be
doing on all of your user inputs already!)
* Rejecting most special-use reserved domain names. A new test_environment
option is added for using @*.test domains.
* example and example.com/net/org are removed from the special-use domains
list.
* SPECIAL_USE_DOMAIN_NAMES is now a documented part of the API (and it is a
list instead of a tuple)
* New module-level attributes ALLOW_SMTPUTF8, CHECK_DELIVERABILITY,
TEST_ENVIRONMENT, and DEFAULT_TIMEOUT can be used to change the default
values of the keyword arguments.
- Add patch ignore-urllib3-pyopenssl-warning.patch:
* Ignore warning as error from requests-toolbelt via dnspython.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-email-validator?expand=0&rev=4