1- .. :changelog:
1+ # History
22
3- History
4- -------
5-
6- 3.14 (2026-05-10)
7- +++++++++++++++++
3+ ## 3.14 (2026-05-10)
84
95- Removed opportunity to process long inputs into quadratic
106 time by rejecting oversize inputs up-front. Closes a bypass
117 of the CVE-2024 -3651 mitigation. [ CVE-2026 -45409]
128
139Thanks to Stan Ulbrych for reporting the issue.
1410
15- 3.13 (2026-04-22)
16- +++++++++++++++++
11+ ## 3.13 (2026-04-22)
1712
1813- Correct classification error for codepoint U+A7F1
1914
20- 3.12 (2026-04-21)
21- +++++++++++++++++
15+ ## 3.12 (2026-04-21)
2216
2317- Update to Unicode 17.0.0.
2418- Issue a deprecation warning for the transitional argument.
@@ -28,32 +22,28 @@ Thanks to Stan Ulbrych for reporting the issue.
2822
2923Thanks to Rodrigo Nogueira for contributions to this release.
3024
31- 3.11 (2025-10-12)
32- +++++++++++++++++
25+ ## 3.11 (2025-10-12)
3326
3427- Update to Unicode 16.0.0, including significant changes to UTS46
3528 processing. As a result of Unicode ending support for it, transitional
3629 processing no longer has an effect and returns the same result.
3730- Add support for Python 3.14, lowest supported version is Python 3.8.
3831- Various updates to packaging, including PEP 740 support.
3932
40- 3.10 (2024-09-15)
41- +++++++++++++++++
33+ ## 3.10 (2024-09-15)
4234
4335- Reverted to Unicode 15.1.0 data. Unicode 16 has some significant changes
4436 to UTS46 processing that will require more work to properly implement.
4537
46- 3.9 (2024-09-13)
47- ++++++++++++++++
38+ ## 3.9 (2024-09-13)
4839
4940- Update to Unicode 16.0.0
5041- Deprecate setup.cfg in favour of pyproject.toml
5142- Use ruff for code formatting
5243
5344Thanks to Waket Zheng for contributions to this release.
5445
55- 3.8 (2024-08-23)
56- ++++++++++++++++
46+ ## 3.8 (2024-08-23)
5747
5848- Fix regression where IDNAError exception was not being produced for
5949 certain inputs.
@@ -64,21 +54,18 @@ Thanks to Waket Zheng for contributions to this release.
6454
6555Thanks to Hugo van Kemenade for contributions to this release.
6656
67- 3.7 (2024-04-11)
68- ++++++++++++++++
57+ ## 3.7 (2024-04-11)
6958
7059- Fix issue where specially crafted inputs to encode() could
7160 take exceptionally long amount of time to process. [ CVE-2024 -3651]
7261
7362Thanks to Guido Vranken for reporting the issue.
7463
75- 3.6 (2023-11-25)
76- ++++++++++++++++
64+ ## 3.6 (2023-11-25)
7765
7866- Fix regression to include tests in source distribution.
7967
80- 3.5 (2023-11-24)
81- ++++++++++++++++
68+ ## 3.5 (2023-11-24)
8269
8370- Update to Unicode 15.1.0
8471- String codec name is now "idna2008" as overriding the system codec
@@ -94,8 +81,7 @@ Thanks to Guido Vranken for reporting the issue.
9481Thanks Jon Ribbens, Diogo Teles Sant'Anna, Wu Tingfeng for contributions
9582to this release.
9683
97- 3.4 (2022-09-14)
98- ++++++++++++++++
84+ ## 3.4 (2022-09-14)
9985
10086- Update to Unicode 15.0.0
10187- Migrate to pyproject.toml for build information (PEP 621)
@@ -106,8 +92,7 @@ to this release.
10692
10793Thanks to Seth Michael Larson for contributions to this release.
10894
109- 3.3 (2021-10-13)
110- ++++++++++++++++
95+ ## 3.3 (2021-10-13)
11196
11297- Update to Unicode 14.0.0
11398- Update to in-line type annotations
@@ -120,58 +105,50 @@ Thanks to Jon Defresne, Hugo van Kemenade, Seth Michael Larson,
120105Patrick Ventuzelo and Boris Verhovsky for contributions to this
121106release.
122107
123- 3.2 (2021-05-29)
124- ++++++++++++++++
108+ ## 3.2 (2021-05-29)
125109
126110- Add type hints (Thanks, Seth Michael Larson!)
127111- Remove support for Python 3.4
128112
129- 3.1 (2021-01-04)
130- ++++++++++++++++
113+ ## 3.1 (2021-01-04)
131114
132115- Ensure license is included in package (Thanks, Julien Schueller)
133116- No longer mark wheel has universal (Thanks, Matthieu Darbois)
134117- Test on PowerPC using Travis CI
135118
136- 3.0 (2021-01-01)
137- ++++++++++++++++
119+ ## 3.0 (2021-01-01)
138120
139121- Python 2 is no longer supported (the 2.x branch supports Python 2,
140122 use "idna<3" in your requirements file if you need Python 2 support)
141123- Support for V2 UTS 46 test vectors.
142124
143- 2.10 (2020-06-27)
144- +++++++++++++++++
125+ ## 2.10 (2020-06-27)
145126
146127- Update to Unicode 13.0.0.
147128- Throws a more specific exception if "xn--" is provided as a label.
148129- This is expected to be the last version that supports Python 2.
149130
150- 2.9 (2020-02-16)
151- ++++++++++++++++
131+ ## 2.9 (2020-02-16)
152132
153133- Update to Unicode 12.1.0.
154134- Prohibit A-labels ending with a hyphen (Thanks, Julien Bernard!)
155135- Future-proofing: Test on Python 3.7 and 3.8, don't immediately
156136 fail should Python 4 come along.
157137- Made BSD 3-clause license clearer
158138
159- 2.8 (2018-12-04)
160- ++++++++++++++++
139+ ## 2.8 (2018-12-04)
161140
162141- Update to Unicode 11.0.0.
163142- Provide more specific exceptions for some malformed labels.
164143
165- 2.7 (2018-06-10)
166- ++++++++++++++++
144+ ## 2.7 (2018-06-10)
167145
168146- Update to Unicode 10.0.0.
169147- No longer accepts dot-prefixed domains (e.g. ".example") as valid.
170148 This is to be more conformant with the UTS 46 spec. Users should
171149 strip dot prefixes from domains before processing.
172150
173- 2.6 (2017-08-08)
174- ++++++++++++++++
151+ ## 2.6 (2017-08-08)
175152
176153- Allows generation of IDNA and UTS 46 table data for different
177154 versions of Unicode, by deriving properties directly from
@@ -184,35 +161,30 @@ release.
184161 idna.uts46data.__ version__ to report Unicode version of
185162 underlying IDNA and UTS 46 data respectively.
186163
187- 2.5 (2017-03-07)
188- ++++++++++++++++
164+ ## 2.5 (2017-03-07)
189165
190166- Fix bug with Katakana middle dot context-rule (Thanks, Greg
191167 Shikhman.)
192168
193- 2.4 (2017-03-01)
194- ++++++++++++++++
169+ ## 2.4 (2017-03-01)
195170
196171- Restore IDNAError to be a subclass of UnicodeError, as some users of
197172 this library are only looking for the latter to catch invalid strings.
198173
199- 2.3 (2017-02-28)
200- ++++++++++++++++
174+ ## 2.3 (2017-02-28)
201175
202176- Fix bugs relating to deriving IDNAError from UnicodeError.
203177- More memory footprint improvements (Thanks, Alex Gaynor)
204178
205- 2.2 (2016-12-21)
206- ++++++++++++++++
179+ ## 2.2 (2016-12-21)
207180
208181- Made some changes to the UTS 46 data that should allow Jython to get around
209182 64kb Java class limits. (Thanks, John A. Booth and Marcin Płonka.)
210183- In Python 2.6, skip two tests that rely on data not present in that
211184 Python version's unicodedata module.
212185- Use relative imports to help downstream users.
213186
214- 2.1 (2016-03-20)
215- ++++++++++++++++
187+ ## 2.1 (2016-03-20)
216188
217189- Memory consumption optimizations. The library should consume significantly
218190 less memory through smarter data structures being used to represent
@@ -223,77 +195,65 @@ release.
223195 Buchholz)
224196- Better affix all Unicode codepoint properties to a specific version.
225197
226- 2.0 (2015-05-18)
227- ++++++++++++++++
198+ ## 2.0 (2015-05-18)
228199
229200- Added support for Unicode IDNA Compatibility Processing (aka Unicode
230201 Technical Standard #46 ). Big thanks to Jon Ribbens who contributed this
231202 functionality.
232203
233- 1.1 (2015-01-27)
234- ++++++++++++++++
204+ ## 1.1 (2015-01-27)
235205
236206- Use IDNA properties from Unicode 6.3.0. Internet Architecture Board (IAB)
237207 issued statement recommending against the use of Unicode 7.0.0 until
238208 issues relating to U+08A1 codepoint are resolved. See http://goo.gl/Ed1n0K
239209- Identify some cases when label would be too longer to be a legal DNS name
240210 and raise an exception. (Thanks, Ed Lewis)
241211
242- 1.0 (2014-10-12)
243- ++++++++++++++++
212+ ## 1.0 (2014-10-12)
244213
245214- Update IDNA properties for Unicode 7.0.0.
246215
247- 0.9 (2014-07-18)
248- ++++++++++++++++
216+ ## 0.9 (2014-07-18)
249217
250218- Fix issue with non-UTF-8 environments reading the README file
251219 now that it contains non-ASCII. (Thanks, Tom Prince)
252220- Codec functions are useful, so they are separated into their own
253221 module, rather than just existing for compatibility reasons.
254222- Add LICENSE file.
255223
256- 0.8 (2014-07-09)
257- ++++++++++++++++
224+ ## 0.8 (2014-07-09)
258225
259226- Added MANIFEST.in for correct source distribution compilation.
260227
261- 0.7 (2014-07-09)
262- ++++++++++++++++
228+ ## 0.7 (2014-07-09)
263229
264230- Filled out missing tests for various functions.
265231- Fix bug in CONTEXTO validation for Greek lower numeral sign (U+0375)
266232- Fix bug in CONTEXTO validation for Japanese middle dot (U+30FB)
267233- Improved documentation
268234- Move designation to Stable
269235
270- 0.6 (2014-04-29)
271- ++++++++++++++++
236+ ## 0.6 (2014-04-29)
272237
273238- Minor improvements to Python 3 support, tests (Thanks, Derek Wilson)
274239
275- 0.5 (2014-02-05)
276- ++++++++++++++++
240+ ## 0.5 (2014-02-05)
277241
278242- Update IDNA properties for Unicode 6.3.0.
279243
280- 0.4 (2014-01-07)
281- ++++++++++++++++
244+ ## 0.4 (2014-01-07)
282245
283246- Fix trove classifier for Python 3. (Thanks, Hynek Schlawack)
284247
285- 0.3 (2013-07-18)
286- ++++++++++++++++
248+ ## 0.3 (2013-07-18)
287249
288250- Ported to Python 3.
289251
290- 0.2 (2013-07-16)
291- ++++++++++++++++
252+ ## 0.2 (2013-07-16)
292253
293254- Improve packaging.
294255- More conformant, passes all relevant tests in the Unicode TR46 test suite.
295256
296- 0.1 (2013-05-27)
297- ++++++++++++++++
257+ ## 0.1 (2013-05-27)
298258
299259- First proof-of-concept version.
0 commit comments