|
1 | 1 | Babel Changelog |
2 | 2 | =============== |
3 | 3 |
|
| 4 | +Version 2.18.0 |
| 5 | +-------------- |
| 6 | + |
| 7 | +Happy 2026! This release is, coincidentally, also being made from FOSDEM. |
| 8 | + |
| 9 | +We will aspire for a slightly less glacial release cadence in this year; |
| 10 | +there are interesting features in the pipeline. |
| 11 | + |
| 12 | +Features |
| 13 | +~~~~~~~~ |
| 14 | + |
| 15 | +* Core: Add `babel.core.get_cldr_version()` by @akx in :gh:`1242` |
| 16 | +* Core: Use CLDR 47 by @tomasr8 in :gh:`1210` |
| 17 | +* Core: Use canonical IANA zone names in zone_territories by @akx in :gh:`1220` |
| 18 | +* Messages: Improve extract performance via ignoring directories early during os.walk by @akx in :gh:`968` |
| 19 | +* Messages: Merge in per-format keywords and auto_comments by @akx in :gh:`1243` |
| 20 | +* Messages: Update keywords for extraction of dpgettext and dnpgettext by @mardiros in :gh:`1235` |
| 21 | +* Messages: Validate all plurals in Python format checker by @tomasr8 in :gh:`1188` |
| 22 | +* Time: Use standard library `timezone` instead of `FixedOffsetTimezone` by @akx in :gh:`1203` |
| 23 | + |
| 24 | +Bugfixes |
| 25 | +~~~~~~~~ |
| 26 | + |
| 27 | +* Core: Fix formatting for "Empty locale identifier" exception added in #1164 by @akx in :gh:`1184` |
| 28 | +* Core: Improve handling of no-inheritance-marker in timezone data by @akx in :gh:`1194` |
| 29 | +* Core: Make the number pattern regular expression more efficient by @akx in :gh:`1213` |
| 30 | +* Messages: Keep translator comments next to the translation function call by @akx in :gh:`1196` |
| 31 | +* Numbers: Fix KeyError that occurred when formatting compact currencies of exactly one thousand in several locales by @bartbroere in :gh:`1246` |
| 32 | + |
| 33 | +Other improvements |
| 34 | +~~~~~~~~~~~~~~~~~~ |
| 35 | + |
| 36 | +* Core: Avoid unnecessary uses of `map()` by @akx in :gh:`1180` |
| 37 | +* Messages: Have init-catalog create directories too by @akx in :gh:`1244` |
| 38 | +* Messages: Optimizations for read_po by @akx in :gh:`1200` |
| 39 | +* Messages: Use pathlib.Path() in catalog frontend; improve test coverage by @akx in :gh:`1204` |
| 40 | + |
| 41 | + |
| 42 | +Infrastructure and documentation |
| 43 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 44 | + |
| 45 | +* CI: Renovate CI & lint tools by @akx in :gh:`1228` |
| 46 | +* CI: Tighten up CI with Zizmor by @akx in :gh:`1230` |
| 47 | +* CI: make job permissions explicit by @akx in :gh:`1227` |
| 48 | +* Docs: Add SECURITY.md by @akx in :gh:`1229` |
| 49 | +* Docs: Remove u string prefix from docs by @verhovsky in :gh:`1174` |
| 50 | +* Docs: Update dates.rst with current unicode.org tr35 link by @clach04 in :gh:`1189` |
| 51 | +* General: Add some PyPI classifiers by @tomasr8 in :gh:`1186` |
| 52 | +* General: Apply reformatting by hand and with Ruff by @akx in :gh:`1202` |
| 53 | +* General: Test on and declare support for Python 3.14 by @akx in :gh:`1233` |
| 54 | +* Tests: Convert Unittest testcases with setup/teardown to fixtures by @akx in :gh:`1240` |
| 55 | +* Tests: Mark PyPy CI flake as xfail by @akx in :gh:`1197` |
| 56 | +* Tests: Move pytest config to `pyproject.toml` by @tomasr8 in :gh:`1187` |
| 57 | +* Tests: Unwrap most `unittest` test cases to bare functions by @akx in :gh:`1241` |
| 58 | + |
4 | 59 | Version 2.17.0 |
5 | 60 | -------------- |
6 | 61 |
|
|
0 commit comments