Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 38 additions & 78 deletions HISTORY.rst → HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,18 @@
.. :changelog:
# History

History
-------

3.14 (2026-05-10)
+++++++++++++++++
## 3.14 (2026-05-10)

- Removed opportunity to process long inputs into quadratic
time by rejecting oversize inputs up-front. Closes a bypass
of the CVE-2024-3651 mitigation. [CVE-2026-45409]

Thanks to Stan Ulbrych for reporting the issue.

3.13 (2026-04-22)
+++++++++++++++++
## 3.13 (2026-04-22)

- Correct classification error for codepoint U+A7F1

3.12 (2026-04-21)
+++++++++++++++++
## 3.12 (2026-04-21)

- Update to Unicode 17.0.0.
- Issue a deprecation warning for the transitional argument.
Expand All @@ -28,32 +22,28 @@ Thanks to Stan Ulbrych for reporting the issue.

Thanks to Rodrigo Nogueira for contributions to this release.

3.11 (2025-10-12)
+++++++++++++++++
## 3.11 (2025-10-12)

- Update to Unicode 16.0.0, including significant changes to UTS46
processing. As a result of Unicode ending support for it, transitional
processing no longer has an effect and returns the same result.
- Add support for Python 3.14, lowest supported version is Python 3.8.
- Various updates to packaging, including PEP 740 support.

3.10 (2024-09-15)
+++++++++++++++++
## 3.10 (2024-09-15)

- Reverted to Unicode 15.1.0 data. Unicode 16 has some significant changes
to UTS46 processing that will require more work to properly implement.

3.9 (2024-09-13)
++++++++++++++++
## 3.9 (2024-09-13)

- Update to Unicode 16.0.0
- Deprecate setup.cfg in favour of pyproject.toml
- Use ruff for code formatting

Thanks to Waket Zheng for contributions to this release.

3.8 (2024-08-23)
++++++++++++++++
## 3.8 (2024-08-23)

- Fix regression where IDNAError exception was not being produced for
certain inputs.
Expand All @@ -64,21 +54,18 @@ Thanks to Waket Zheng for contributions to this release.

Thanks to Hugo van Kemenade for contributions to this release.

3.7 (2024-04-11)
++++++++++++++++
## 3.7 (2024-04-11)

- Fix issue where specially crafted inputs to encode() could
take exceptionally long amount of time to process. [CVE-2024-3651]

Thanks to Guido Vranken for reporting the issue.

3.6 (2023-11-25)
++++++++++++++++
## 3.6 (2023-11-25)

- Fix regression to include tests in source distribution.

3.5 (2023-11-24)
++++++++++++++++
## 3.5 (2023-11-24)

- Update to Unicode 15.1.0
- String codec name is now "idna2008" as overriding the system codec
Expand All @@ -94,8 +81,7 @@ Thanks to Guido Vranken for reporting the issue.
Thanks Jon Ribbens, Diogo Teles Sant'Anna, Wu Tingfeng for contributions
to this release.

3.4 (2022-09-14)
++++++++++++++++
## 3.4 (2022-09-14)

- Update to Unicode 15.0.0
- Migrate to pyproject.toml for build information (PEP 621)
Expand All @@ -106,8 +92,7 @@ to this release.

Thanks to Seth Michael Larson for contributions to this release.

3.3 (2021-10-13)
++++++++++++++++
## 3.3 (2021-10-13)

- Update to Unicode 14.0.0
- Update to in-line type annotations
Expand All @@ -120,58 +105,50 @@ Thanks to Jon Defresne, Hugo van Kemenade, Seth Michael Larson,
Patrick Ventuzelo and Boris Verhovsky for contributions to this
release.

3.2 (2021-05-29)
++++++++++++++++
## 3.2 (2021-05-29)

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

3.1 (2021-01-04)
++++++++++++++++
## 3.1 (2021-01-04)

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

3.0 (2021-01-01)
++++++++++++++++
## 3.0 (2021-01-01)

- 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.

2.10 (2020-06-27)
+++++++++++++++++
## 2.10 (2020-06-27)

- 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.

2.9 (2020-02-16)
++++++++++++++++
## 2.9 (2020-02-16)

- 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

2.8 (2018-12-04)
++++++++++++++++
## 2.8 (2018-12-04)

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

2.7 (2018-06-10)
++++++++++++++++
## 2.7 (2018-06-10)

- 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.

2.6 (2017-08-08)
++++++++++++++++
## 2.6 (2017-08-08)

- Allows generation of IDNA and UTS 46 table data for different
versions of Unicode, by deriving properties directly from
Expand All @@ -184,35 +161,30 @@ release.
idna.uts46data.__version__ to report Unicode version of
underlying IDNA and UTS 46 data respectively.

2.5 (2017-03-07)
++++++++++++++++
## 2.5 (2017-03-07)

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

2.4 (2017-03-01)
++++++++++++++++
## 2.4 (2017-03-01)

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

2.3 (2017-02-28)
++++++++++++++++
## 2.3 (2017-02-28)

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

2.2 (2016-12-21)
++++++++++++++++
## 2.2 (2016-12-21)

- 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.

2.1 (2016-03-20)
++++++++++++++++
## 2.1 (2016-03-20)

- Memory consumption optimizations. The library should consume significantly
less memory through smarter data structures being used to represent
Expand All @@ -223,77 +195,65 @@ release.
Buchholz)
- Better affix all Unicode codepoint properties to a specific version.

2.0 (2015-05-18)
++++++++++++++++
## 2.0 (2015-05-18)

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

1.1 (2015-01-27)
++++++++++++++++
## 1.1 (2015-01-27)

- 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 http://goo.gl/Ed1n0K
- Identify some cases when label would be too longer to be a legal DNS name
and raise an exception. (Thanks, Ed Lewis)

1.0 (2014-10-12)
++++++++++++++++
## 1.0 (2014-10-12)

- Update IDNA properties for Unicode 7.0.0.

0.9 (2014-07-18)
++++++++++++++++
## 0.9 (2014-07-18)

- 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.

0.8 (2014-07-09)
++++++++++++++++
## 0.8 (2014-07-09)

- Added MANIFEST.in for correct source distribution compilation.

0.7 (2014-07-09)
++++++++++++++++
## 0.7 (2014-07-09)

- 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

0.6 (2014-04-29)
++++++++++++++++
## 0.6 (2014-04-29)

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

0.5 (2014-02-05)
++++++++++++++++
## 0.5 (2014-02-05)

- Update IDNA properties for Unicode 6.3.0.

0.4 (2014-01-07)
++++++++++++++++
## 0.4 (2014-01-07)

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

0.3 (2013-07-18)
++++++++++++++++
## 0.3 (2013-07-18)

- Ported to Python 3.

0.2 (2013-07-16)
++++++++++++++++
## 0.2 (2013-07-16)

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

0.1 (2013-05-27)
++++++++++++++++
## 0.1 (2013-05-27)

- First proof-of-concept version.
Loading
Loading