build(deps): update dependency babel to v2.18.0 (hotfix/1.5)
Metadata
Current evaluation
Renovate's Babel 2.15.0-to-2.18.0 hotfix update was closed unmerged after test and linter failures, then abandoned.
Resolution: closed stale
Reason: PR #1228 never received a resolving commit and was closed with multiple Ubuntu and Windows test jobs plus linters failing. It then remained inactive for 121 days.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [Babel](https://babel.pocoo.org/) ([source](https://redirect.github.com/python-babel/babel)) | `==2.15.0` β `==2.18.0` |  |  |
---
### Release Notes
<details>
<summary>python-babel/babel (Babel)</summary>
### [`v2.18.0`](https://redirect.github.com/python-babel/babel/blob/HEAD/CHANGES.rst#Version-2180)
[Compare Source](https://redirect.github.com/python-babel/babel/compare/v2.17.0...v2.18.0)
Happy 2026! This release is, coincidentally, also being made from FOSDEM.
We will aspire for a slightly less glacial release cadence in this year;
there are interesting features in the pipeline.
Features
```
* Core: Add `babel.core.get_cldr_version()` by @​akx in :gh:`1242`
* Core: Use CLDR 47 by @​tomasr8 in :gh:`1210`
* Core: Use canonical IANA zone names in zone_territories by @​akx in :gh:`1220`
* Messages: Improve extract performance via ignoring directories early during os.walk by @​akx in :gh:`968`
* Messages: Merge in per-format keywords and auto_comments by @​akx in :gh:`1243`
* Messages: Update keywords for extraction of dpgettext and dnpgettext by @​mardiros in :gh:`1235`
* Messages: Validate all plurals in Python format checker by @​tomasr8 in :gh:`1188`
* Time: Use standard library `timezone` instead of `FixedOffsetTimezone` by @​akx in :gh:`1203`
Bugfixes
```
- Core: Fix formatting for "Empty locale identifier" exception added in [#​1164](https://redirect.github.com/python-babel/babel/issues/1164) by [@​akx](https://redirect.github.com/akx) in :gh:`1184`
- Core: Improve handling of no-inheritance-marker in timezone data by [@​akx](https://redirect.github.com/akx) in :gh:`1194`
- Core: Make the number pattern regular expression more efficient by [@​akx](https://redirect.github.com/akx) in :gh:`1213`
- Messages: Keep translator comments next to the translation function call by [@​akx](https://redirect.github.com/akx) in :gh:`1196`
- Numbers: Fix KeyError that occurred when formatting compact currencies of exactly one thousand in several locales by [@​bartbroere](https://redirect.github.com/bartbroere) in :gh:`1246`
Other improvements
```
* Core: Avoid unnecessary uses of `map()` by @​akx in :gh:`1180`
* Messages: Have init-catalog create directories too by @​akx in :gh:`1244`
* Messages: Optimizations for read_po by @​akx in :gh:`1200`
* Messages: Use pathlib.Path() in catalog frontend; improve test coverage by @​akx in :gh:`1204`
Infrastructure and documentation
```
- CI: Renovate CI & lint tools by [@​akx](https://redirect.github.com/akx) in :gh:`1228`
- CI: Tighten up CI with Zizmor by [@​akx](https://redirect.github.com/akx) in :gh:`1230`
- CI: make job permissions explicit by [@​akx](https://redirect.github.com/akx) in :gh:`1227`
- Docs: Add SECURITY.md by [@​akx](https://redirect.github.com/akx) in :gh:`1229`
- Docs: Remove u string prefix from docs by [@​verhovsky](https://redirect.github.com/verhovsky) in :gh:`1174`
- Docs: Update dates.rst with current unicode.org tr35 link by [@​clach04](https://redirect.github.com/clach04) in :gh:`1189`
- General: Add some PyPI classifiers by [@​tomasr8](https://redirect.github.com/tomasr8) in :gh:`1186`
- General: Apply reformatting by hand and with Ruff by [@​akx](https://redirect.github.com/akx) in :gh:`1202`
- General: Test on and declare support for Python 3.14 by [@​akx](https://redirect.github.com/akx) in :gh:`1233`
- Tests: Convert Unittest testcases with setup/teardown to fixtures by [@​akx](https://redirect.github.com/akx) in :gh:`1240`
- Tests: Mark PyPy CI flake as xfail by [@​akx](https://redirect.github.com/akx) in :gh:`1197`
- Tests: Move pytest config to `pyproject.toml` by [@​tomasr8](https://redirect.github.com/tomasr8) in :gh:`1187`
- Tests: Unwrap most `unittest` test cases to bare functions by [@​akx](https://redirect.github.com/akx) in :gh:`1241`
### [`v2.17.0`](https://redirect.github.com/python-babel/babel/blob/HEAD/CHANGES.rst#Version-2170)
[Compare Source](https://redirect.github.com/python-babel/babel/compare/v2.16.0...v2.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](https://redirect.github.com/tomasr8) in :gh:`1141`
- Dates: Replace `str.index` with `str.find` by [@​tomasr8](https://redirect.github.com/tomasr8) in :gh:`1130`
- Dates: Strip extra leading slashes in `/etc/localtime` by [@​akx](https://redirect.github.com/akx) in :gh:`1165`
- Dates: Week numbering and formatting of dates with week numbers was repaired by [@​jun66j5](https://redirect.github.com/jun66j5) in :gh:`1179`
- General: Improve handling for `locale=None` by [@​akx](https://redirect.github.com/akx) in :gh:`1164`
- General: Remove redundant assignment in `Catalog.__setitem__` by [@​tomasr8](https://redirect.github.com/tomasr8) in :gh:`1167`
- Messages: Fix extracted lineno with nested calls, by [@​dylankiss](https://redirect.github.com/dylankiss) in :gh:`1126`
- Messages: Fix of list index out of range when translations is empty, by [@​gabe-sherman](https://redirect.github.com/gabe-sherman) in :gh:`1135`
- Messages: Fix the way obsolete messages are stored by [@​tomasr8](https://redirect.github.com/tomasr8) in :gh:`1132`
- Messages: Simplify `read_mo` logic regarding `catalog.charset` by [@​tomasr8](https://redirect.github.com/tomasr8) in :gh:`1148`
- Messages: Use the first matching method & options, rather than first matching method & last options, by [@​jpmckinney](https://redirect.github.com/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`
Version 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`
Version 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)
Version 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](https://redirect.github.com/akx) in :gh:`1045`
- CI: use GitHub output formats by [@​akx](https://redirect.github.com/akx) in :gh:`1046`
### [`v2.16.0`](https://redirect.github.com/python-babel/babel/blob/HEAD/CHANGES.rst#Version-2160)
[Compare Source](https://redirect.github.com/python-babel/babel/compare/v2.15.0...v2.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](https://redirect.github.com/akx) in :gh:`1113`
- Core: Allow falling back to modifier-less locale data by [@​akx](https://redirect.github.com/akx) in :gh:`1104`
- Core: Allow use of importlib.metadata for finding entrypoints by [@​akx](https://redirect.github.com/akx) in :gh:`1102`
- Dates: Avoid crashing on importing localtime when TZ is malformed by [@​akx](https://redirect.github.com/akx) in :gh:`1100`
- Messages: Allow parsing .po files that have an extant but empty Language header by [@​akx](https://redirect.github.com/akx) in :gh:`1101`
- Messages: Fix `--ignore-dirs` being incorrectly read ([#​1094](https://redirect.github.com/python-babel/babel/issues/1094)) by [@​john-psina](https://redirect.github.com/john-psina) and [@​Edwin18](https://redirect.github.com/Edwin18) in :gh:`1052` and :gh:`1095`
- Messages: Make pgettext search plurals when translation is not found by [@​tomasr8](https://redirect.github.com/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`
```
</details>
---
### Configuration
π
**Schedule**: (in timezone Etc/UTC)
- Branch creation
- "every weekend"
- Automerge
- At any time (no schedule defined)
π¦ **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
β» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/canonical/rockcraft).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS4wIiwidGFyZ2V0QnJhbmNoIjoiaG90Zml4LzEuNSIsImxhYmVscyI6WyJQUjogRGVwZW5kZW5jaWVzIl19-->
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | β | closed stale | Renovate's Babel 2.15.0-to-2.18.0 hotfix update was closed unmerged after test and linter failures, then abandoned. | |
| stealth/space-bunny-alpha | β | closed stale | Renovateβs Babel 2.15.0β2.18.0 update for hotfix/1.5 was closed unmerged; the 2-file dependency PR was abandoned after CI failures. | |
| qwen/qwen3.6-35b-a3b | β | β | Closed without merging. The Renovate dependency update for babel to v2.18.0 on the hotfix/1.5 branch was abandoned, likely due to failing CI tests and linters. No manual merge or resolution occurred. | |
| qwen3.6-35b-a3b-mtp-q6 | β | β | Merged to the hotfix/1.5 branch, updating the Babel dependency from v2.15.0 to v2.18.0. The automated dependency update was successfully integrated. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #861 build(deps): update bugfixes (hotfix/2.1) | craft-providers | closed | Renovate's hotfix/2.1 dependency updates were closed unmerged after Linux and macOS integration tests failed; no resolving commit was found. | |
| #5295 build(deps): update dependency babel to v2.17.0 (main) | snapcraft | merged | Renovate updated Babel from 2.11.0 to 2.17.0; PR #5295 was approved and merged into main as commit 8f7bd56a4. | |
| #875 build(deps): update bugfixes (hotfix/2.1) | craft-providers | closed | Renovate's hotfix/2.1 dependency bump was closed unmerged after 291 days of inactivity, with Linux and macOS integration checks failing and no recorded explanation. | |
| #202 build(deps): update bugfixes (hotfix/2.0) | craft-archives | closed | Renovate's pytest 7.4.4 and python-gnupg 0.5.5 update for hotfix/2.0 was closed unmerged after Ubuntu CI failures; maintainers proposed deleting the obsolete branch. | |
| #1227 build(deps): update dependency astroid to v3.3.11 (hotfix/1.5) | rockcraft | closed | Renovate's astroid 3.3.11 update for hotfix/1.5 was closed unmerged after tests and linters failed; no replacement PR was recorded. | |
| #1231 build(deps): update dependency bracex to v2.6 (hotfix/1.5) | rockcraft | closed | Renovate's bracex 2.6 update for hotfix/1.5 was closed unmerged after 49 days of inactivity; no resolving commit was recorded. | |
| #761 build(deps): update dependency pytest-xdist to v3.8.0 (hotfix/1.20) | craft-providers | closed | pytest-xdist 3.8.0 update was closed unmerged; Renovate will ignore it until a newer version is available. | |
| #1238 build(deps): update dependency craft-archives to v1.2.0 (hotfix/1.5) | rockcraft | closed | Renovate's craft-archives 1.1.3 to 1.2.0 bump for hotfix/1.5 was closed unmerged after ~4 months: review pending, automerge disabled, and tests/linters failing. | |
| #891 build(deps): update bugfixes (hotfix/2.1) | craft-providers | closed | Closed unmerged after failing integration checks; later Renovate PRs #928 and #920 landed newer dependency updates, superseding this hotfix/2.1 batch. | |
| #273 build(deps): update bugfixes (main) | craft-store | closed | Renovate's bugfix dependency batch was closed unmerged after prolonged inactivity; no approval, CI result, merge commit, or maintainer explanation was recorded. |