## ABOUT THIS RELEASE
-This is dnspython 2.2.0.
+This is dnspython 2.2.1
Please read
[What's New](https://dnspython.readthedocs.io/en/stable/whatsnew.html) for
information about the changes in this release.
### Notices
-Python 2.x support ended with the release of 1.16.0. dnspython 2.0.0 and
-later only support Python 3.6 and later.
+Python 2.x support ended with the release of 1.16.0. Dnspython 2.0.0 through
+2.2.x support Python 3.6 and later. As of dnspython 2.3.0, the minimum
+supported Python version will be 3.7. We plan to align future support with the
+lifetime of the Python 3 versions.
Documentation has moved to
[dnspython.readthedocs.io](https://dnspython.readthedocs.io).
| Version | Supported |
| -------- | ------------------ |
-| 2.0.x | :white_check_mark: |
+| 2.2.x | :white_check_mark: |
| 1.16.x | :white_check_mark: |
| < 1.16.0 | :x: |
+For older version 2 releases, the normal security upgrade path would
+be to upgrade to the latest version 2 release. Selective backports to
+older 2.x versions may be considered on a case-by-case basis.
+
## Reporting a Vulnerability
Send email to security@dnspython.org. For confidentiality, use the following public key:
* dns.zone.from_text failed if relativize was False and an origin was
specified in the parameters.
-* A number of types permitted an empty "rest of the rdata"
+* A number of types permitted an empty "rest of the rdata".
* L32, L64, LP, and NID were missing from dns/rdtypes/ANY/__init__.py
* The type definition for a number of asynchronous query routines was
missing the default of None for the backend parameter.
-* dns/tsigkeyring.py didn't import dns.tsig
+* dns/tsigkeyring.py didn't import dns.tsig.
* A number of rdata types that have a "rest of the line" behavior for
the last field of the rdata erroneously permitted an empty string.