Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted Names 10.2.0 (2010-11-29)
=================================

Features
--------
 - twisted.names.server can now serve SPF resource records using
   twisted.names.dns.Record_SPF.  twisted.names.client can query for
   them using lookupSenderPolicy.   (#3928)

Bugfixes
--------
 - twisted.names.common.extractRecords doesn't try to close the
   transport anymore in case of recursion, as it's done by the
   Resolver itself now. (#3998)

Improved Documentation
----------------------
 - Tidied up the Twisted Names documentation for easier conversion.
   (#4573)


Twisted Names 10.1.0 (2010-06-27)
=================================

Features
--------
 - twisted.names.dns.Message now uses a specially constructed
   dictionary for looking up record types.  This yields a significant
   performance improvement on PyPy. (#4283)


Twisted Names 10.0.0 (2010-03-01)
=================================

Bugfixes
--------
 - twisted.names.root.Resolver no longer leaks UDP sockets while
   resolving names. (#970)

Deprecations and Removals
-------------------------
 - Several top-level functions in twisted.names.root are now
   deprecated. (#970)

Other
-----
 - #4066


Twisted Names 9.0.0 (2009-11-24)
================================

Deprecations and Removals
-------------------------
 - client.ThreadedResolver is deprecated in favor of
   twisted.internet.base.ThreadedResolver (#3710)

Other
-----
 - #3540, #3560, #3712, #3750, #3990


Names 8.2.0 (2008-12-16)
========================

Features
--------
 - The NAPTR record type is now supported (#2276)

Fixes
-----
 - Make client.Resolver less vulnerable to the Birthday Paradox attack by
   avoiding sending duplicate queries when it's not necessary (#3347)
 - client.Resolver now uses a random source port for each DNS request (#3342)
 - client.Resolver now uses a full 16 bits of randomness for message IDs,
   instead of 10 which it previously used (#3342)
 - All record types now have value-based equality and a string representation
   (#2935)

Other
-----
 - #1622, #3424


8.1.0 (2008-05-18)
==================

Fixes
-----
 - The deprecated mktap API is no longer used (#3127)


8.0.0 (2008-03-17)
==================

Fixes
-----

 - Refactor DNSDatagramProtocol and DNSProtocol to use same base class (#2414)
 - Change Resolver to query specified nameservers in specified order, instead
   of reverse order. (#2290)
 - Make SRVConnector work with bad results and NXDOMAIN responses.
   (#1908, #2777)
 - Handle write errors happening in dns queries, to have correct deferred
   failures. (#2492)
 - Fix the value of OP_NOTIFY and add a definition for OP_UPDATE. (#2945)

Misc
----
 - #2685, #2936, #2581, #2847


0.4.0 (2007-01-06)
==================

Features
--------

 - In the twisted.names client, DNS responses which represent errors
   are now translated to informative exception objects, rather than
   empty lists. This means that client requests which fail will now
   errback their Deferreds (#2248)

Fixes
-----
 - A major DoS vulnerability in the UDP DNS server was fixed (#1708)

Misc
----
 - #1799, #1636, #2149, #2181


0.3.0 (2006-05-21)
==================

Features
--------
 - Some docstring improvements

Fixes
-----
 - Fix a problem where the response for the first query with a
   newly-created Resolver object would be dropped.(#1447)
 - Misc: #1581, #1583


0.2.0
=====
 - Fix occassional TCP connection leak in gethostbyname()
 - Fix TCP connection leak in recursive lookups
 - Remove deprecated use of Deferred.setTimeout
 - Improved test coverage for zone transfers

0.1.0
=====
 - Fix TCP connection leak in zone transfers
 - Handle empty or missing resolv.conf as if 127.0.0.1 was specified
 - Don't use blocking kernel entropy sources
 - Retry logic now properly tries all specified servers.
