Changelogs » Idna

PyUp Safety actively tracks 382,903 Python packages for vulnerabilities and notifies you when to upgrade.



  - Update to Unicode 14.0.0
  - Update to in-line type annotations
  - Throw IDNAError exception correctly for some malformed input
  - Advertise support for Python 3.10
  - Improve testing regime on Github
  - Fix Russian typo in documentation
  Thanks to Jon Defresne, Hugo van Kemenade, Seth Michael Larson,
  Patrick Ventuzelo and Boris Verhovsky for contributions to this


  - Add type hints (Thanks, Seth Michael Larson!)
  - Remove support for Python 3.4


  - Ensure license is included in package (Thanks, Julien Schueller)
  - No longer mark wheel has universal (Thanks, Matthieu Darbois)
  - Test on PowerPC using Travis CI


  - Python 2 is no longer supported (the 2.x branch supports Python 2,
  use "idna<3" in your requirements file if you need Python 2 support)
  - Support for V2 UTS 46 test vectors.


  - Update to Unicode 13.0.0.
  - Throws a more specific exception if "xn--" is provided as a label.
  - This is expected to be the last version that supports Python 2.


  - Update to Unicode 12.1.0.
  - Prohibit A-labels ending with a hyphen (Thanks, Julien Bernard!)
  - Future-proofing: Test on Python 3.7 and 3.8, don't immediately
  fail should Python 4 come along.
  - Made BSD 3-clause license clearer


  - Update to Unicode 11.0.0.
  - Provide more specific exceptions for some malformed labels.


  - Update to Unicode 10.0.0.
  - No longer accepts dot-prefixed domains (e.g. ".example") as valid.
  This is to be more conformant with the UTS 46 spec. Users should
  strip dot prefixes from domains before processing.


  - Allows generation of IDNA and UTS 46 table data for different
  versions of Unicode, by deriving properties directly from
  Unicode data.
  - Ability to generate RFC 5892/IANA-style table data
  - Diagnostic output of IDNA-related Unicode properties and
  derived calculations for a given codepoint
  - Support for idna.__version__ to report version
  - Support for idna.idnadata.__version__ and
  idna.uts46data.__version__ to report Unicode version of
  underlying IDNA and UTS 46 data respectively.


  - Fix bug with Katakana middle dot context-rule (Thanks, Greg


  - Restore IDNAError to be a subclass of UnicodeError, as some users of
  this library are only looking for the latter to catch invalid strings.


  - Fix bugs relating to deriving IDNAError from UnicodeError.
  - More memory footprint improvements (Thanks, Alex Gaynor)


  - Made some changes to the UTS 46 data that should allow Jython to get around
  64kb Java class limits. (Thanks, John A. Booth and Marcin PÅ‚onka.)
  - In Python 2.6, skip two tests that rely on data not present in that
  Python version's unicodedata module.
  - Use relative imports to help downstream users.


  - Memory consumption optimizations. The library should consume significantly
  less memory through smarter data structures being used to represent
  relevant Unicode properties. Many thanks to Shivaram Lingamneni for this
  - Patches to make library work better with Python 2.6. The core library
  currently works however the unit testing does not. (Thanks, Robert
  - Better affix all Unicode codepoint properties to a specific version.


  - Added support for Unicode IDNA Compatibility Processing (aka Unicode
  Technical Standard 46). Big thanks to Jon Ribbens who contributed this


  - Use IDNA properties from Unicode 6.3.0. Internet Architecture Board (IAB)
  issued statement recommending against the use of Unicode 7.0.0 until
  issues relating to U+08A1 codepoint are resolved. See
  - Identify some cases when label would be too longer to be a legal DNS name
  and raise an exception. (Thanks, Ed Lewis)


  - Update IDNA properties for Unicode 7.0.0.


  - Fix issue with non-UTF-8 environments reading the README file
  now that it contains non-ASCII. (Thanks, Tom Prince)
  - Codec functions are useful, so they are separated into their own
  module, rather than just existing for compatibility reasons.
  - Add LICENSE file.


  - Added for correct source distribution compilation.


  - Filled out missing tests for various functions.
  - Fix bug in CONTEXTO validation for Greek lower numeral sign (U+0375)
  - Fix bug in CONTEXTO validation for Japanese middle dot (U+30FB)
  - Improved documentation
  - Move designation to Stable


  - Minor improvements to Python 3 support, tests (Thanks, Derek Wilson)


  - Update IDNA properties for Unicode 6.3.0.


  - Fix trove classifier for Python 3. (Thanks, Hynek Schlawack)


  - Ported to Python 3.


  - Improve packaging.
  - More conformant, passes all relevant tests in the Unicode TR46 test suite.


  - First proof-of-concept version.