<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>dnspython</title>
    <link>https://www.dnspython.org/</link>
    <description>Recent content on dnspython</description>
    <generator>Hugo -- 0.149.1</generator>
    <language>en-US</language>
    <copyright>Copyright Dnspython Contributors</copyright>
    <lastBuildDate>Sun, 07 Sep 2025 12:15:00 -0700</lastBuildDate>
    <atom:link href="https://www.dnspython.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>2.8.0</title>
      <link>https://www.dnspython.org/news/2.8.0/</link>
      <pubDate>Sun, 07 Sep 2025 12:15:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.8.0/</guid>
      <description>&lt;p&gt;Dnspython 2.8.0 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.8.0/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.&lt;/p&gt;
&lt;p&gt;Dnspython 2.8.0 requires Python 3.10 or later.&lt;/p&gt;
&lt;p&gt;This release was published to PyPI using Trusted Publishing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.8.0rc1</title>
      <link>https://www.dnspython.org/news/2.8.0rc1/</link>
      <pubDate>Mon, 01 Sep 2025 17:00:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.8.0rc1/</guid>
      <description>&lt;p&gt;Dnspython 2.8.0rc1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.8.0rc1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first release candidate for dnspython 2.8.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;We anticipate the final release in about a week.&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release.&lt;/p&gt;
&lt;p&gt;Dnspython 2.8.0 requires Python 3.10 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.7.0</title>
      <link>https://www.dnspython.org/news/2.7.0/</link>
      <pubDate>Sat, 05 Oct 2024 13:15:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.7.0/</guid>
      <description>&lt;p&gt;Dnspython 2.7.0 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.7.0/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.&lt;/p&gt;
&lt;p&gt;Dnspython 2.7.0 requires Python 3.9 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.7.0rc1</title>
      <link>https://www.dnspython.org/news/2.7.0rc1/</link>
      <pubDate>Sat, 21 Sep 2024 10:00:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.7.0rc1/</guid>
      <description>&lt;p&gt;Dnspython 2.7.0rc1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.7.0rc1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first release candidate for dnspython 2.7.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;We anticipate the final release in about a week.&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release.&lt;/p&gt;
&lt;p&gt;Dnspython 2.7.0 requires Python 3.9 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.6.1</title>
      <link>https://www.dnspython.org/news/2.6.1/</link>
      <pubDate>Sun, 18 Feb 2024 10:35:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.6.1/</guid>
      <description>&lt;p&gt;Dnspython 2.6.1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.6.1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;This is a bug fix release for 2.6.0 where the &amp;ldquo;TuDoor&amp;rdquo; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.&lt;/p&gt;
&lt;p&gt;This release addresses the potential DoS issue discussed in the
&amp;ldquo;TuDoor&amp;rdquo; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.6.0</title>
      <link>https://www.dnspython.org/news/2.6.0/</link>
      <pubDate>Fri, 16 Feb 2024 12:15:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.6.0/</guid>
      <description>&lt;p&gt;Dnspython 2.6.0 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.6.0/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;This release addresses the potential DoS issue discussed in the
&amp;ldquo;TuDoor&amp;rdquo; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.6.0rc1</title>
      <link>https://www.dnspython.org/news/2.6.0rc1/</link>
      <pubDate>Sat, 10 Feb 2024 06:00:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.6.0rc1/</guid>
      <description>&lt;p&gt;Dnspython 2.6.0rc1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.6.0rc1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first release candidate for dnspython 2.6.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;This release addresses the potential DoS issue discussed in the
&amp;ldquo;TuDoor&amp;rdquo; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About dnspython</title>
      <link>https://www.dnspython.org/about/</link>
      <pubDate>Fri, 09 Feb 2024 05:25:00 -0800</pubDate>
      <guid>https://www.dnspython.org/about/</guid>
      <description>&lt;p&gt;Dnspython is a DNS toolkit for Python.  It can be used for queries,
zone transfers, dynamic updates, nameserver testing, and many other
things.&lt;/p&gt;
&lt;p&gt;Dnspython provides both high and low level access to the DNS. The high
level classes perform queries for data of a given name, type, and
class, and return an answer set. The low level classes allow direct
manipulation of DNS zones, messages, names, and records.  Almost all
RR types are supported.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.5.0</title>
      <link>https://www.dnspython.org/news/2.5.0/</link>
      <pubDate>Sat, 20 Jan 2024 05:00:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.5.0/</guid>
      <description>&lt;p&gt;Dnspython 2.5.0 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.5.0/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.&lt;/p&gt;
&lt;p&gt;Dnspython 2.5.0 requires Python 3.8 or later.  Python 3.8 goes into
end-of-life state in October of 2024, and dnspython will drop support
for it at that time and require 3.9 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.5.0rc1</title>
      <link>https://www.dnspython.org/news/2.5.0rc1/</link>
      <pubDate>Sat, 06 Jan 2024 08:50:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.5.0rc1/</guid>
      <description>&lt;p&gt;Dnspython 2.5.0rc1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.5.0rc1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first release candidate for dnspython 2.5.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release.&lt;/p&gt;
&lt;p&gt;Dnspython 2.5.0 requires Python 3.8 or later.  Python 3.8 goes into
end-of-life state in October of 2024, and dnspython will drop support
for it at that time and require 3.9 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.4.2</title>
      <link>https://www.dnspython.org/news/2.4.2/</link>
      <pubDate>Wed, 09 Aug 2023 07:00:00 -0655</pubDate>
      <guid>https://www.dnspython.org/news/2.4.2/</guid>
      <description>&lt;p&gt;Dnspython 2.4.2 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.4.2/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is a bug fix release, see &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for the details.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.4.1</title>
      <link>https://www.dnspython.org/news/2.4.1/</link>
      <pubDate>Wed, 26 Jul 2023 07:00:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.4.1/</guid>
      <description>&lt;p&gt;Dnspython 2.4.1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.4.1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is a bug fix release, see &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for the details.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.4.0</title>
      <link>https://www.dnspython.org/news/2.4.0/</link>
      <pubDate>Sat, 15 Jul 2023 08:45:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.4.0/</guid>
      <description>&lt;p&gt;Dnspython 2.4.0 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.4.0/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release.  Special thanks
to Jakob Schlyter for writing zone signing code and also refactoring the
DNSSEC code to allow new algorithms to be added more easily.&lt;/p&gt;
&lt;p&gt;Dnspython 2.4.0 requires Python 3.8 or later.  Also note that this release
drops support for curio and requests (DoH is now done exclusively with httpx).&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.4.0rc1</title>
      <link>https://www.dnspython.org/news/2.4.0rc1/</link>
      <pubDate>Tue, 04 Jul 2023 13:30:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.4.0rc1/</guid>
      <description>&lt;p&gt;Dnspython 2.4.0rc1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.4.0rc1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first release candidate for dnspython 2.4.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release.  Special thanks
to Jakob Schlyter for writing zone signing code and also refactoring the
DNSSEC code to allow new algorithms to be added more easily.&lt;/p&gt;
&lt;p&gt;Dnspython 2.4.0 requires Python 3.8 or later.  Also note that this release
drops support for curio and requests (DoH is now done exclusively with httpx).&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.3.0</title>
      <link>https://www.dnspython.org/news/2.3.0/</link>
      <pubDate>Sun, 15 Jan 2023 09:15:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.3.0/</guid>
      <description>&lt;p&gt;Dnspython 2.3.0 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.3.0/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for the details!&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release, and special thanks
to Jakob Schlyter for writing code to make DNSSEC signatures and help
with DS, CDS, and CDNSKEY management.&lt;/p&gt;
&lt;p&gt;Dnspython 2.3.0 requires Python 3.7 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.3.0rc1</title>
      <link>https://www.dnspython.org/news/2.3.0rc1/</link>
      <pubDate>Tue, 27 Dec 2022 12:15:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.3.0rc1/</guid>
      <description>&lt;p&gt;Dnspython 2.3.0rc1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.3.0rc1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first release candidate for dnspython 2.3.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release, and special thanks
to Jakob Schlyter for writing code to make DNSSEC signatures and help
with DS, CDS, and CDNSKEY management.&lt;/p&gt;
&lt;p&gt;Dnspython 2.3.0 requires Python 3.7 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.2.1</title>
      <link>https://www.dnspython.org/news/2.2.1/</link>
      <pubDate>Sun, 06 Mar 2022 15:30:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.2.1/</guid>
      <description>&lt;p&gt;Dnspython 2.2.1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.2.1/&#34;&gt;PyPI&lt;/a&gt;.
There are no new features, this is just a bug fix release.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for
all the fixes.&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release.&lt;/p&gt;
&lt;p&gt;Python 2.x support ended with 1.16.0. Dnspython 2.2.1 requires
Python 3.6 or later.&lt;/p&gt;
&lt;p&gt;Note that when dnspython 2.3 is released, the minimum Python
version will be 3.7.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.2.0</title>
      <link>https://www.dnspython.org/news/2.2.0/</link>
      <pubDate>Tue, 18 Jan 2022 05:45:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.2.0/</guid>
      <description>&lt;p&gt;Dnspython 2.2.0 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.2.0/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt; for
all the features.&lt;/p&gt;
&lt;p&gt;Thank you to all the contributors to this release.&lt;/p&gt;
&lt;p&gt;Python 2.x support ended with 1.16.0. Dnspython 2.2.0 requires
Python 3.6 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.2.0rc1</title>
      <link>https://www.dnspython.org/news/2.2.0rc1/</link>
      <pubDate>Tue, 21 Dec 2021 08:15:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.2.0rc1/</guid>
      <description>&lt;p&gt;Dnspython 2.2.0rc1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.2.0rc1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first release candidate for dnspython 2.2.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.1.0</title>
      <link>https://www.dnspython.org/news/2.1.0/</link>
      <pubDate>Thu, 07 Jan 2021 08:30:00 -0800</pubDate>
      <guid>https://www.dnspython.org/news/2.1.0/</guid>
      <description>&lt;p&gt;Dnspython 2.1.0 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.1.0/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;&amp;ldquo;What&amp;rsquo;s New&amp;rdquo;&lt;/a&gt; for
all the features in this major release.&lt;/p&gt;
&lt;p&gt;Thanks to the many people who have contributed to this release!&lt;/p&gt;
&lt;p&gt;Python 2.x support ended with 1.16.0. Dnspython 2.1.0 requires
Python 3.6 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.1.0rc1</title>
      <link>https://www.dnspython.org/news/2.1.0rc1/</link>
      <pubDate>Fri, 30 Oct 2020 09:30:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.1.0rc1/</guid>
      <description>&lt;p&gt;Dnspython 2.1.0rc1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.1.0rc1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first release candidate for dnspython 2.1.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.0.0</title>
      <link>https://www.dnspython.org/news/2.0.0/</link>
      <pubDate>Fri, 17 Jul 2020 06:30:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.0.0/</guid>
      <description>&lt;p&gt;Dnspython 2.0.0 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.0.0/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://dnspython.readthedocs.io/en/stable/whatsnew.html&#34;&gt;&amp;ldquo;What&amp;rsquo;s New&amp;rdquo;&lt;/a&gt; for
all the features in this major release.&lt;/p&gt;
&lt;p&gt;Thanks to the many people who have contributed to this release!&lt;/p&gt;
&lt;p&gt;Python 2.x support ended with 1.16.0. Dnspython 2.0.0 requires
Python 3.6 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.0.0rc2</title>
      <link>https://www.dnspython.org/news/2.0.0rc2/</link>
      <pubDate>Sat, 04 Jul 2020 10:21:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.0.0rc2/</guid>
      <description>&lt;p&gt;Dnspython 2.0.0rc2 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.0.0rc2/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the second release candidate for dnspython 2.0.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;There was a substantial overhaul of the message class hierarchy and the rdata
encoding system in this RC, and dedicated classes were made for OPT and TSIG.&lt;/p&gt;</description>
    </item>
    <item>
      <title>2.0.0rc1</title>
      <link>https://www.dnspython.org/news/2.0.0rc1/</link>
      <pubDate>Sat, 20 Jun 2020 14:09:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/2.0.0rc1/</guid>
      <description>&lt;p&gt;Dnspython 2.0.0rc1 is now available on &lt;a href=&#34;https://pypi.org/project/dnspython/2.0.0rc1/&#34;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first release candidate for dnspython 2.0.0.  See
&lt;a href=&#34;https://dnspython.readthedocs.io/en/latest/whatsnew.html&#34;&gt;What&amp;rsquo;s New&lt;/a&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python support update</title>
      <link>https://www.dnspython.org/news/python/</link>
      <pubDate>Sat, 20 Jun 2020 10:21:00 -0700</pubDate>
      <guid>https://www.dnspython.org/news/python/</guid>
      <description>&lt;p&gt;Python 2.x support ended with 1.16.0.  Dnspython 2.0.0 will require Python 3.6
or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://www.dnspython.org/examples/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://www.dnspython.org/examples/</guid>
      <description>&lt;h1 id=&#34;examples&#34;&gt;Examples&lt;/h1&gt;
&lt;p&gt;Get the MX target and preference of a name:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import dns.resolver

answers = dns.resolver.resolve(&amp;#39;dnspython.org&amp;#39;, &amp;#39;MX&amp;#39;)
for rdata in answers:
    print(&amp;#39;Host&amp;#39;, rdata.exchange, &amp;#39;has preference&amp;#39;, rdata.preference)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Use DNS dynamic update to set the address of a host to a value
specified on the command line:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-import&#34; data-lang=&#34;import&#34;&gt;import dns.tsigkeyring
import dns.update
import sys

keyring = dns.tsigkeyring.from_text({
    &amp;#39;host-example.&amp;#39; : &amp;#39;XXXXXXXXXXXXXXXXXXXXXX==&amp;#39;
})

update = dns.update.UpdateMessage(&amp;#39;dyn.test.example&amp;#39;, keyring=keyring)
update.replace(&amp;#39;host&amp;#39;, 300, &amp;#39;a&amp;#39;, sys.argv[1])

response = dns.query.tcp(update, &amp;#39;10.0.0.1&amp;#39;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Manipulate domain names:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
