Skip to content

Update babel to 2.17.0 #642

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Feb 1, 2025

This PR updates babel from 2.13.1 to 2.17.0.

Changelog

2.17.0

--------------

Happy 2025! This release is being made from FOSDEM 2025, in Brussels, Belgium.

Thank you to all contributors, new and old,
and here's to another great year of internationalization and localization!

Features
~~~~~~~~

* CLDR: Babel now uses CLDR 46, by tomasr8 in :gh:`1145`
* Dates: Allow specifying an explicit format in parse_date/parse_time by tomasr8 in :gh:`1131`
* Dates: More alternate characters are now supported by `format_skeleton`. By tomasr8 in :gh:`1122`
* Dates: Support short and narrow formats for format_timedelta when using `add_direction`, by akx in :gh:`1163`
* Messages: .po files now enclose white spaces in filenames like GNU gettext does. By Dunedan in :gh:`1105`, and tomasr8 in :gh:`1120`
* Messages: Initial support for `Message.python_brace_format`, by tomasr8 in :gh:`1169`
* Numbers: LC_MONETARY is now preferred when formatting currencies, by akx in :gh:`1173`

Bugfixes
~~~~~~~~

* Dates: Make seconds optional in `parse_time` time formats by tomasr8 in :gh:`1141`
* Dates: Replace `str.index` with `str.find` by tomasr8 in :gh:`1130`
* Dates: Strip extra leading slashes in `/etc/localtime` by akx in :gh:`1165`
* Dates: Week numbering and formatting of dates with week numbers was repaired by jun66j5 in :gh:`1179`
* General: Improve handling for `locale=None` by akx in :gh:`1164`
* General: Remove redundant assignment in `Catalog.__setitem__` by tomasr8 in :gh:`1167`
* Messages: Fix extracted lineno with nested calls, by dylankiss in :gh:`1126`
* Messages: Fix of list index out of range when translations is empty, by gabe-sherman in :gh:`1135`
* Messages: Fix the way obsolete messages are stored by tomasr8 in :gh:`1132`
* Messages: Simplify `read_mo` logic regarding `catalog.charset` by tomasr8 in :gh:`1148`
* Messages: Use the first matching method & options, rather than first matching method & last options, by jpmckinney in :gh:`1121`

Deprecation and compatibility
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Dates: Fix deprecation warnings for `datetime.utcnow()` by tomasr8 in :gh:`1119`
* Docs: Adjust docs/conf.py to add compatibility with sphinx 8 by hrnciar in :gh:`1155`
* General: Import `Literal` from the typing module by tomasr8 in :gh:`1175`
* General: Replace `OrderedDict` with just `dict` by tomasr8 in :gh:`1149`
* Messages: Mark `wraptext` deprecated; use `TextWrapper` directly in `write_po` by akx in :gh:`1140`

Infrastructure
~~~~~~~~~~~~~~

* Add tzdata as dev dependency and sync with tox.ini by wandrew004 in :gh:`1159`
* Duplicate test code was deleted by mattdiaz007 in :gh:`1138`
* Increase test coverage of the `python_format` checker by tomasr8 in :gh:`1176`
* Small cleanups by akx in :gh:`1160`, :gh:`1166`, :gh:`1170` and :gh:`1172`
* Update CI to use python 3.13 and Ubuntu 24.04 by tomasr8 in :gh:`1153`

2.16.0

--------------

Features
~~~~~~~~

* CLDR: Upgrade to CLDR 45 by tomasr8 in :gh:`1077`
* Lists: Support list format fallbacks by akx in :gh:`1099`
* Messages: Initial support for reading mapping configuration as TOML by akx in :gh:`1108`

Bugfixes
~~~~~~~~

* CLDR: Do not allow substituting alternates or drafts in derived locales by akx in :gh:`1113`
* Core: Allow falling back to modifier-less locale data by akx in :gh:`1104`
* Core: Allow use of importlib.metadata for finding entrypoints by akx in :gh:`1102`
* Dates: Avoid crashing on importing localtime when TZ is malformed by akx in :gh:`1100`
* Messages: Allow parsing .po files that have an extant but empty Language header by akx in :gh:`1101`
* Messages: Fix ``--ignore-dirs`` being incorrectly read (1094) by john-psina and Edwin18 in :gh:`1052` and :gh:`1095`
* Messages: Make pgettext search plurals when translation is not found by tomasr8 in :gh:`1085`

Infrastructure
~~~~~~~~~~~~~~

* Replace deprecated `ast.Str` with `ast.Constant` by tomasr8 in :gh:`1083`
* CI fixes by akx in :gh:`1080`, :gh:`1097`, :gh:`1103`, :gh:`1107`
* Test on Python 3.13 beta releases by akx in
* Normalize package name to lower-case in setup.py by akx in :gh:`1110`

Documentation
~~~~~~~~~~~~~

* Add a mention to the docs that `format_skeleton(..., fuzzy=True)` may raise by tomasr8 in :gh:`1106`
* Two hyperlinks (to CLDR) and some typos by buhtz in :gh:`1115`

2.15.0

--------------

Python version support
~~~~~~~~~~~~~~~~~~~~~~

* Babel 2.15.0 will require Python 3.8 or newer. (:gh:`1048`)

Features
~~~~~~~~

* CLDR: Upgrade to CLDR 44 (:gh:`1071`) (akx)
* Dates: Support for the "fall back to short format" logic for time delta formatting (:gh:`1075`) (akx)
* Message: More versatile .po IO functions (:gh:`1068`) (akx)
* Numbers: Improved support for alternate spaces when parsing numbers (:gh:`1007`) (ronnix's first contribution)

Infrastructure
~~~~~~~~~~~~~~

* Upgrade GitHub Actions (:gh:`1054`) (cclauss's first contribution)
* The Unicode license is now included in `locale-data` and in the documentation (:gh:`1074`) (akx)

2.14.0

--------------

Upcoming deprecation
~~~~~~~~~~~~~~~~~~~~

* This version, Babel 2.14, is the last version of Babel to support Python 3.7.
Babel 2.15 will require Python 3.8 or newer.
* We had previously announced Babel 2.13 to have been the last version to support
Python 3.7, but being able to use CLDR 43 with Python 3.7 was deemed important
enough to keep supporting the EOL Python version for one more release.

Possibly backwards incompatible changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* ``Locale.number_symbols`` will now have first-level keys for each numbering system.
Since the implicit default numbering system still is ``"latn"``, what had previously
been e.g. ``Locale.number_symbols['decimal']`` is now ``Locale.number_symbols['latn']['decimal']``.
* Babel no longer directly depends on either ``distutils`` or ``setuptools``; if you had been
using the Babel setuptools command extensions, you would need to explicitly depend on ``setuptools`` –
though given you're running ``setup.py`` you probably already do.

Features
~~~~~~~~

* CLDR/Numbers: Add support of local numbering systems for number symbols by kajte in :gh:`1036`
* CLDR: Upgrade to CLDR 43 by rix0rrr in :gh:`1043`
* Frontend: Allow last_translator to be passed as an option to extract_message by AivGitHub in :gh:`1044`
* Frontend: Decouple `pybabel` CLI frontend from distutils/setuptools by akx in :gh:`1041`
* Numbers: Improve parsing of malformed decimals by Olunusib and akx in :gh:`1042`

Infrastructure
~~~~~~~~~~~~~~

* Enforce trailing commas (enable Ruff COM rule and autofix) by akx in :gh:`1045`
* CI: use GitHub output formats by akx in :gh:`1046`
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant