Commit bd6d1d9a authored by Jason Madden's avatar Jason Madden

Preparing release 20.5.0

parent e3d7128d
......@@ -6,6 +6,64 @@
.. towncrier release notes start
20.5.0 (2020-05-01)
===================
Features
--------
- Update bundled c-ares to version 1.16.0. `Changes <https://c-ares.haxx.se/changelog.html>`_.
See :issue:`1588`.
- Update all the bundled ``config.guess`` and ``config.sub`` scripts.
See :issue:`1589`.
- Update bundled libuv from 1.34.0 to 1.36.0.
See :issue:`1597`.
Bugfixes
--------
- Use ``ares_getaddrinfo`` instead of a manual lookup.
This requires c-ares 1.16.0.
Note that this may change the results, in particular their order.
As part of this, certain parts of the c-ares extension were adapted to
use modern Cython idioms.
A few minor errors and discrepancies were fixed as well, such as
``gethostbyaddr('localhost')`` working on Python 3 and failing on
Python 2. The DNSpython resolver now raises the expected TypeError in
more cases instead of an AttributeError.
See :issue:`1012`.
- The c-ares and DNSPython resolvers now raise exceptions much more
consistently with the standard resolver. Types and errnos are
substantially more likely to match what the standard library produces.
Depending on the system and configuration, results may not match
exactly, at least with DNSPython. There are still some rare cases
where the system resolver can raise ``herror`` but DNSPython will
raise ``gaierror`` or vice versa. There doesn't seem to be a
deterministic way to account for this. On PyPy, ``getnameinfo`` can
produce results when CPython raises ``socket.error``, and gevent's
DNSPython resolver also raises ``socket.error``.
In addition, several other small discrepancies were addressed,
including handling of localhost and broadcast host names.
.. note:: This has been tested on Linux (CentOS and Ubuntu), macOS,
and Windows. It hasn't been tested on other platforms, so
results are unknown for them. The c-ares support, in
particular, is using some additional socket functions and
defines. Please let the maintainers know if this introduces
issues.
See :issue:`1459`.
----
20.04.0 (2020-04-22)
====================
......
Use ``ares_getaddrinfo`` instead of a manual lookup.
This requires c-ares 1.16.0.
Note that this may change the results, in particular their order.
As part of this, certain parts of the c-ares extension were adapted to
use modern Cython idioms.
A few minor errors and discrepancies were fixed as well, such as
``gethostbyaddr('localhost')`` working on Python 3 and failing on
Python 2. The DNSpython resolver now raises the expected TypeError in
more cases instead of an AttributeError.
The c-ares and DNSPython resolvers now raise exceptions much more
consistently with the standard resolver. Types and errnos are
substantially more likely to match what the standard library produces.
Depending on the system and configuration, results may not match
exactly, at least with DNSPython. There are still some rare cases
where the system resolver can raise ``herror`` but DNSPython will
raise ``gaierror`` or vice versa. There doesn't seem to be a
deterministic way to account for this. On PyPy, ``getnameinfo`` can
produce results when CPython raises ``socket.error``, and gevent's
DNSPython resolver also raises ``socket.error``.
In addition, several other small discrepancies were addressed,
including handling of localhost and broadcast host names.
.. note:: This has been tested on Linux (CentOS and Ubuntu), macOS,
and Windows. It hasn't been tested on other platforms, so
results are unknown for them. The c-ares support, in
particular, is using some additional socket functions and
defines. Please let the maintainers know if this introduces
issues.
Update bundled c-ares to version 1.16.0. `Changes <https://c-ares.haxx.se/changelog.html>`_.
Update all the bundled ``config.guess`` and ``config.sub`` scripts.
Update bundled libuv from 1.34.0 to 1.36.0.
......@@ -27,7 +27,7 @@ version_info = _version_info(20, 0, 0, 'dev', 0) # XXX: Remove me
#: Use ``pkg_resources.parse_version(__version__)`` or
#: ``packaging.version.Version(__version__)`` to get a machine-usable
#: value.
__version__ = '20.04.1.dev0'
__version__ = '20.5.0'
__all__ = [
......
......@@ -106,11 +106,11 @@ class Resolver(AbstractResolver):
resolved <https://github.com/c-ares/c-ares/issues/196>`_ or even
sent to the DNS server.
.. versionchanged:: NEXT
.. versionchanged:: 20.5.0
``getaddrinfo`` is now implemented using the native c-ares function
from c-ares 1.16 or newer.
.. versionchanged:: NEXT
.. versionchanged:: 20.5.0
Now ``herror`` and ``gaierror`` are raised more consistently with
the standard library resolver, and have more consistent errno values.
......
......@@ -362,7 +362,7 @@ class Resolver(AbstractResolver):
.. versionadded:: 1.3a2
.. versionchanged:: NEXT
.. versionchanged:: 20.5.0
The errors raised are now much more consistent with those
raised by the standard library resolvers.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment