Recent Releases of babel

babel - 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!


The changelog below is auto-generated by GitHub.

Please see CHANGELOG.rst for additional details.


What's Changed

  • Fix deprecation warnings for datetime.utcnow() by @tomasr8 in https://github.com/python-babel/babel/pull/1119
  • Enclose white spaces in references by @Dunedan in https://github.com/python-babel/babel/pull/1105
  • Replace str.index with str.find by @tomasr8 in https://github.com/python-babel/babel/pull/1130
  • Replace more alternate characters in format_skeleton by @tomasr8 in https://github.com/python-babel/babel/pull/1122
  • Fix extracted lineno with nested calls by @dylankiss in https://github.com/python-babel/babel/pull/1126
  • "Deleted duplicate code in test" by @mattdiaz007 in https://github.com/python-babel/babel/pull/1138
  • Fix of list index out of range error in PoFileParser.add_message when translations is empty by @gabe-sherman in https://github.com/python-babel/babel/pull/1135
  • Make seconds optional in parse_time time formats by @tomasr8 in https://github.com/python-babel/babel/pull/1141
  • Mark wraptext deprecated; use TextWrapper directly in write_po by @akx in https://github.com/python-babel/babel/pull/1140
  • Fix the way obsolete messages are stored by @tomasr8 in https://github.com/python-babel/babel/pull/1132
  • Replace OrderedDict with just dict by @tomasr8 in https://github.com/python-babel/babel/pull/1149
  • Use CLDR 46 by @tomasr8 in https://github.com/python-babel/babel/pull/1145
  • Update CI to use python 3.13 and Ubuntu 24.04 by @tomasr8 in https://github.com/python-babel/babel/pull/1153
  • Adjust docs/conf.py to add compatibility with sphinx 8 by @hrnciar in https://github.com/python-babel/babel/pull/1155
  • Allow specifying an explicit format in parsedate/parsetime by @tomasr8 in https://github.com/python-babel/babel/pull/1131
  • Simplify read_mo logic regarding catalog.charset by @tomasr8 in https://github.com/python-babel/babel/pull/1148
  • Bump CI/tool versions by @akx in https://github.com/python-babel/babel/pull/1160
  • fix: checkandcallextractfile uses the first matching method and options, instead of the first matching method and last matching options by @jpmckinney in https://github.com/python-babel/babel/pull/1121
  • Prevent wrapping file locations containing white space by @tomasr8 in https://github.com/python-babel/babel/pull/1120
  • Add tzdata as dev dependency and sync with tox.ini by @wandrew004 in https://github.com/python-babel/babel/pull/1159
  • Support short and narrow formats for formattimedelta when using `adddirection` by @akx in https://github.com/python-babel/babel/pull/1163
  • Improve handling for locale=None by @akx in https://github.com/python-babel/babel/pull/1164
  • Use pytest.raises(match=...) by @akx in https://github.com/python-babel/babel/pull/1166
  • Strip extra leading slashes in /etc/localtime by @akx in https://github.com/python-babel/babel/pull/1165
  • Remove redundant assignment in Catalog.__setitem__ by @tomasr8 in https://github.com/python-babel/babel/pull/1167
  • Small cleanups by @akx in https://github.com/python-babel/babel/pull/1170
  • Small test cleanup by @akx in https://github.com/python-babel/babel/pull/1172
  • Add Message.python_brace_format by @tomasr8 in https://github.com/python-babel/babel/pull/1169
  • Import Literal from the typing module by @tomasr8 in https://github.com/python-babel/babel/pull/1175
  • Prefer LC_MONETARY when formatting currencies by @akx in https://github.com/python-babel/babel/pull/1173
  • Fix dates formatting Y, w and W symbols for week-numbering by @jun66j5 in https://github.com/python-babel/babel/pull/1179
  • Increase test coverage of the python_format checker by @tomasr8 in https://github.com/python-babel/babel/pull/1176
  • Prepare for 2.17.0 by @akx in https://github.com/python-babel/babel/pull/1182

New Contributors

  • @Dunedan made their first contribution in https://github.com/python-babel/babel/pull/1105
  • @dylankiss made their first contribution in https://github.com/python-babel/babel/pull/1126
  • @mattdiaz007 made their first contribution in https://github.com/python-babel/babel/pull/1138
  • @gabe-sherman made their first contribution in https://github.com/python-babel/babel/pull/1135
  • @hrnciar made their first contribution in https://github.com/python-babel/babel/pull/1155
  • @jpmckinney made their first contribution in https://github.com/python-babel/babel/pull/1121
  • @wandrew004 made their first contribution in https://github.com/python-babel/babel/pull/1159

Full Changelog: https://github.com/python-babel/babel/compare/v2.16.0...v2.17.0

- Python
Published by akx about 1 year ago

babel - Version 2.16.0

The changelog below is auto-generated by GitHub.

Please see CHANGELOG.rst for additional details.

What's Changed

  • Upgrade GitHub Actions versions to avoid deprecation warnings by @akx in https://github.com/python-babel/babel/pull/1080
  • Replace deprecated ast.Str with ast.Constant by @tomasr8 in https://github.com/python-babel/babel/pull/1083
  • Fix #1094 by @john-psina in https://github.com/python-babel/babel/pull/1095
  • CI fixes by @akx in https://github.com/python-babel/babel/pull/1097
  • Upgrade to CLDR 45 by @tomasr8 in https://github.com/python-babel/babel/pull/1077
  • Make pgettext search plurals when translation is not found by @tomasr8 in https://github.com/python-babel/babel/pull/1085
  • Fix for #832 by @Edwin18 in https://github.com/python-babel/babel/pull/1052
  • Support list format fallbacks by @akx in https://github.com/python-babel/babel/pull/1099
  • Improve Codecov configuration by @akx in https://github.com/python-babel/babel/pull/1103
  • Avoid crashing on importing localtime when TZ is malformed by @akx in https://github.com/python-babel/babel/pull/1100
  • Allow parsing .po files that have an extant but empty Language header by @akx in https://github.com/python-babel/babel/pull/1101
  • Add a mention to the docs that format_skeleton(..., fuzzy=True) may raise by @tomasr8 in https://github.com/python-babel/babel/pull/1106
  • Allow falling back to modifier-less locale data by @akx in https://github.com/python-babel/babel/pull/1104
  • Allow use of importlib.metadata for finding entrypoints by @akx in https://github.com/python-babel/babel/pull/1102
  • Test on Python 3.13 beta releases by @akx in https://github.com/python-babel/babel/pull/1107
  • Normalize package name to lower-case in setup.py by @akx in https://github.com/python-babel/babel/pull/1110
  • Do not allow substituting alternates or drafts in derived locales by @akx in https://github.com/python-babel/babel/pull/1113
  • Two hyperlinks (to CLDR) and some typos by @buhtz in https://github.com/python-babel/babel/pull/1115
  • Initial support for reading mapping configuration as TOML by @akx in https://github.com/python-babel/babel/pull/1108
  • Prepare for 2.16.0 release by @akx in https://github.com/python-babel/babel/pull/1116

New Contributors

  • @tomasr8 made their first contribution in https://github.com/python-babel/babel/pull/1083
  • @john-psina made their first contribution in https://github.com/python-babel/babel/pull/1095
  • @Edwin18 made their first contribution in https://github.com/python-babel/babel/pull/1052
  • @buhtz made their first contribution in https://github.com/python-babel/babel/pull/1115

Full Changelog: https://github.com/python-babel/babel/compare/v2.15.0...v2.16.0

- Python
Published by akx over 1 year ago

babel - v2.15.0

The changelog below is auto-generated by GitHub.

The binary artifacts attached to this GitHub release were generated by the GitHub Actions workflow.

Please see CHANGELOG.rst for additional details.


What's Changed

  • Drop support for Python 3.7 (EOL since June 2023) by @akx in https://github.com/python-babel/babel/pull/1048
  • Upgrade GitHub Actions by @cclauss in https://github.com/python-babel/babel/pull/1054
  • Improve .po IO by @akx in https://github.com/python-babel/babel/pull/1068
  • Use CLDR 44 by @akx in https://github.com/python-babel/babel/pull/1071
  • Allow alternative space characters as group separator when parsing numbers by @ronnix in https://github.com/python-babel/babel/pull/1007
  • Include Unicode license in locale-data and in documentation by @akx in https://github.com/python-babel/babel/pull/1074
  • Encode support for the "fall back to short format" logic for time delta formatting by @akx in https://github.com/python-babel/babel/pull/1075
  • Prepare for 2.15.0 release by @akx in https://github.com/python-babel/babel/pull/1079

New Contributors

  • @cclauss made their first contribution in https://github.com/python-babel/babel/pull/1054
  • @ronnix made their first contribution in https://github.com/python-babel/babel/pull/1007

Full Changelog: https://github.com/python-babel/babel/compare/v2.14.0...v2.15.0

- Python
Published by akx almost 2 years ago

babel - 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.numbersymbols 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.numbersymbols['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.

The changelog below is auto-generated by GitHub.

Please see CHANGELOG.rst for additional details.

What's Changed

  • Upgrade to CLDR 43 by @rix0rrr in https://github.com/python-babel/babel/pull/1043
  • Decouple pybabel frontend from distutils/setuptools; remove dependency by @akx in https://github.com/python-babel/babel/pull/1041
  • Enforce trailing commas (enable Ruff COM rule and autofix) by @akx in https://github.com/python-babel/babel/pull/1045
  • CI: use GitHub output formats by @akx in https://github.com/python-babel/babel/pull/1046
  • Allow lasttranslator to be passed as an option to extractmessage by @AivGitHub in https://github.com/python-babel/babel/pull/1044
  • Add support of local numbering systems for number symbols by @kajte in https://github.com/python-babel/babel/pull/1036
  • fix(numbers): correctly determine malformed decimals by @Olunusib in https://github.com/python-babel/babel/pull/1042
  • Prepare for 2.14.0 release by @akx in https://github.com/python-babel/babel/pull/1047

New Contributors

  • @rix0rrr made their first contribution in https://github.com/python-babel/babel/pull/1043
  • @AivGitHub made their first contribution in https://github.com/python-babel/babel/pull/1044
  • @kajte made their first contribution in https://github.com/python-babel/babel/pull/1036
  • @Olunusib made their first contribution in https://github.com/python-babel/babel/pull/1042

Full Changelog: https://github.com/python-babel/babel/compare/v2.13.1...v2.14.0

- Python
Published by akx about 2 years ago

babel - Version 2.13.1

What's Changed

  • Depend on setuptools since Python 3.12 by @oprypin in https://github.com/python-babel/babel/pull/1033
  • Fix localesto_names (Fix for #1037) by @DI84 in https://github.com/python-babel/babel/pull/1038

New Contributors

  • @oprypin made their first contribution in https://github.com/python-babel/babel/pull/1033
  • @DI84 made their first contribution in https://github.com/python-babel/babel/pull/1038

Full Changelog: https://github.com/python-babel/babel/compare/v2.13.0...v2.13.1


PyPI: https://pypi.org/project/Babel/2.13.1/

- Python
Published by akx over 2 years ago

babel - v2.13.0

PyPI: https://pypi.org/project/Babel/2.13.0/

Upcoming deprecation

  • This version, Babel 2.13, is the last version of Babel to support Python 3.7. Babel 2.14 will require Python 3.8 or newer.

(This changelog is auto-generated by GitHub; please see CHANGES.rst for a less verbose listing.)

What's Changed

  • Mypy fixes, prep by @akx in https://github.com/python-babel/babel/pull/979
  • Note that Locale.parse() does not accept None by @akx in https://github.com/python-babel/babel/pull/978
  • Misc. mypy-discovered fixes by @akx in https://github.com/python-babel/babel/pull/981
  • babel.messages.catalog: deduplicate tofuzzymatchkey logic by @akx in https://github.com/python-babel/babel/pull/980
  • Improve type annotation for babel.support.Translations.load by @akx in https://github.com/python-babel/babel/pull/983
  • Improve contributing instructions by @akx in https://github.com/python-babel/babel/pull/986
  • Freeze format_time() tests to a specific date to fix test failures by @mgorny in https://github.com/python-babel/babel/pull/998
  • Spelling and grammar fixes by @scop in https://github.com/python-babel/babel/pull/1008
  • Renovate lint tools by @akx in https://github.com/python-babel/babel/pull/1017
  • Use SPDX license identifier by @vargenau in https://github.com/python-babel/babel/pull/994
  • Use aware UTC datetimes internally by @scop in https://github.com/python-babel/babel/pull/1009
  • Add flag to ignore POT-Creation-Date for updates by @joeportela in https://github.com/python-babel/babel/pull/999
  • Support 't' specifier in keywords by @jeanas in https://github.com/python-babel/babel/pull/1015
  • Add f-string parsing for Python 3.12 (PEP 701) by @encukou in https://github.com/python-babel/babel/pull/1027
  • Renovate CI & tools by @akx in https://github.com/python-babel/babel/pull/1028
  • Prepare for 2.13.0 release by @akx in https://github.com/python-babel/babel/pull/1029

New Contributors

  • @mgorny made their first contribution in https://github.com/python-babel/babel/pull/998
  • @vargenau made their first contribution in https://github.com/python-babel/babel/pull/994
  • @joeportela made their first contribution in https://github.com/python-babel/babel/pull/999
  • @encukou made their first contribution in https://github.com/python-babel/babel/pull/1027

Full Changelog: https://github.com/python-babel/babel/compare/v2.12.1...v2.13.0

- Python
Published by akx over 2 years ago

babel - v2.12.1

Tiny packaging bugfix: py.typed wasn't included.

What's Changed

  • Include py.typed file in wheels by @AlexWaygood in https://github.com/python-babel/babel/pull/975
  • Become 2.12.1 by @akx in https://github.com/python-babel/babel/pull/976

New Contributors

  • @AlexWaygood made their first contribution in https://github.com/python-babel/babel/pull/975

Full Changelog: https://github.com/python-babel/babel/compare/v2.12.0...v2.12.1

- Python
Published by akx almost 3 years ago

babel - Version 2.12.0

  • PyPI: https://pypi.org/project/Babel/2.12.0/

The below release notes are auto-generated; please see CHANGES.rst for a human-crafted one.

Thank you to all contributors!

What's Changed

  • docs(changes): Fix broken issue links by @DenverCoder1 in https://github.com/python-babel/babel/pull/922
  • Update docs build configuration by @akx in https://github.com/python-babel/babel/pull/924
  • feat: Adds Format.compact_decimal utility by @DenverCoder1 in https://github.com/python-babel/babel/pull/921
  • Remove vestigial Python 2 long check by @akx in https://github.com/python-babel/babel/pull/925
  • feat: Support for short compact currency formats by @DenverCoder1 in https://github.com/python-babel/babel/pull/926
  • Drop support for EOL Python 3.6 by @akx in https://github.com/python-babel/babel/pull/919
  • Cast number to Decimal in getcompact_format by @DenverCoder1 in https://github.com/python-babel/babel/pull/930
  • Replace %/.format/concatenation with f-strings where feasible by @akx in https://github.com/python-babel/babel/pull/927
  • ci: Fix testing dependencies by @DenverCoder1 in https://github.com/python-babel/babel/pull/936
  • javascript extract improvements by @johanneswilm in https://github.com/python-babel/babel/pull/939
  • Fix compact singular formats and patterns with no numbers by @DenverCoder1 in https://github.com/python-babel/babel/pull/932
  • fix typo by @uniontech-lilinjie in https://github.com/python-babel/babel/pull/941
  • Enable pre-commit by @akx in https://github.com/python-babel/babel/pull/943
  • Added inline type annotations to Babel by @DenverCoder1 in https://github.com/python-babel/babel/pull/934
  • Implement zoneinfo support and make pytz optional by @ds-cbo in https://github.com/python-babel/babel/pull/940
  • Unify datetime imports by @akx in https://github.com/python-babel/babel/pull/945
  • Minor cleanups by @akx in https://github.com/python-babel/babel/pull/948
  • Renovate formatting in testcheckers and testfrontend by @akx in https://github.com/python-babel/babel/pull/950
  • Add ruff for linting by @akx in https://github.com/python-babel/babel/pull/949
  • Upgrade to CLDR 42 by @akx in https://github.com/python-babel/babel/pull/951
  • Update test dependencies (tox v4) by @DenverCoder1 in https://github.com/python-babel/babel/pull/953
  • Remove redundant tests for babel.support by @akx in https://github.com/python-babel/babel/pull/954
  • Support for formatting NaN, Infinity by @DenverCoder1 in https://github.com/python-babel/babel/pull/955
  • Clean up babel.localtime by @akx in https://github.com/python-babel/babel/pull/952
  • Use standard library UTC by @akx in https://github.com/python-babel/babel/pull/957
  • Fix unbound exc in babel.dates by @akx in https://github.com/python-babel/babel/pull/959
  • Finally remove getnexttimezone_transition by @akx in https://github.com/python-babel/babel/pull/958
  • More fixes and modernization by @akx in https://github.com/python-babel/babel/pull/960
  • Keep @modifiers when parsing locales by @madduck in https://github.com/python-babel/babel/pull/947
  • Add two new options in cmdline.rst docs by @m-aciek in https://github.com/python-babel/babel/pull/963
  • Numbers and core type fixes by @DenverCoder1 in https://github.com/python-babel/babel/pull/966
  • Use lru_cache where suitable by @akx in https://github.com/python-babel/babel/pull/967
  • Fix two issues with fuzzy matching by @jeanas in https://github.com/python-babel/babel/pull/970
  • Renovate CI tools a bit by @akx in https://github.com/python-babel/babel/pull/972
  • Tox: also test with pytz installed by @akx in https://github.com/python-babel/babel/pull/974
  • Become 2.12.0 by @akx in https://github.com/python-babel/babel/pull/973

New Contributors

  • @johanneswilm made their first contribution in https://github.com/python-babel/babel/pull/939
  • @uniontech-lilinjie made their first contribution in https://github.com/python-babel/babel/pull/941
  • @ds-cbo made their first contribution in https://github.com/python-babel/babel/pull/940
  • @madduck made their first contribution in https://github.com/python-babel/babel/pull/947
  • @m-aciek made their first contribution in https://github.com/python-babel/babel/pull/963
  • @jeanas made their first contribution in https://github.com/python-babel/babel/pull/970

Full Changelog: https://github.com/python-babel/babel/compare/v2.11.0...v2.12.0

- Python
Published by akx almost 3 years ago

babel - Version 2.11.0

The below release notes are auto-generated; please see CHANGES.rst for a human-crafted one.

Thank you to all contributors!

What's Changed

  • tests: Use bare asserts and pytest.raises by @akx in https://github.com/python-babel/babel/pull/875
  • Use email.Message for pofile header parsing by @akx in https://github.com/python-babel/babel/pull/876
  • Become 2.10.2 by @akx in https://github.com/python-babel/babel/pull/884
  • Build packages in CI by @akx in https://github.com/python-babel/babel/pull/888
  • Become 2.10.3 by @akx in https://github.com/python-babel/babel/pull/889
  • Small downloader improvements by @akx in https://github.com/python-babel/babel/pull/894
  • Update Python versions in dev docs by @rnestler in https://github.com/python-babel/babel/pull/898
  • Remove __nonzero__ methods by @sobolevn in https://github.com/python-babel/babel/pull/896
  • Remove superfluous __unicode__ declarations by @lukasjuhrich in https://github.com/python-babel/babel/pull/905
  • align license with OSI template by @lsmith77 in https://github.com/python-babel/babel/pull/912
  • Support for hex escapes in JavaScript strings by @codepainters in https://github.com/python-babel/babel/pull/877
  • Remove determining time zone via systemsetup on macOS by @akx in https://github.com/python-babel/babel/pull/914
  • Add support for compact decimal formats by @DenverCoder1 in https://github.com/python-babel/babel/pull/909
  • Adapt parse_date to handle ISO dates by @ericzolf in https://github.com/python-babel/babel/pull/842
  • Use ast instead of eval for string extraction by @akx in https://github.com/python-babel/babel/pull/915
  • Python 3.11 compatibility by @akx in https://github.com/python-babel/babel/pull/913
  • Quiesce pytest warnings by @akx in https://github.com/python-babel/babel/pull/916
  • Become 2.11.0 by @akx in https://github.com/python-babel/babel/pull/917

New Contributors

  • @rnestler made their first contribution in https://github.com/python-babel/babel/pull/898
  • @sobolevn made their first contribution in https://github.com/python-babel/babel/pull/896
  • @lukasjuhrich made their first contribution in https://github.com/python-babel/babel/pull/905
  • @lsmith77 made their first contribution in https://github.com/python-babel/babel/pull/912
  • @codepainters made their first contribution in https://github.com/python-babel/babel/pull/877
  • @DenverCoder1 made their first contribution in https://github.com/python-babel/babel/pull/909
  • @ericzolf made their first contribution in https://github.com/python-babel/babel/pull/842

Full Changelog: https://github.com/python-babel/babel/compare/v2.10.3...v2.11.0

- Python
Published by akx over 3 years ago

babel - v2.10.2

This is a bugfix release for Babel 2.10.1.

What's Changed

  • chore(docs/typo): Fixes a minor typo in a function comment by @doublethefish in https://github.com/python-babel/babel/pull/864
  • Fallback count="other" format in format_currency() by @jun66j5 in https://github.com/python-babel/babel/pull/872
  • Fix getperiodid() with dayPeriodRule across 0:00 by @jun66j5 in https://github.com/python-babel/babel/pull/871
  • Fix up some Python2-isms using pyupgrade by @akx in https://github.com/python-babel/babel/pull/874
  • Add support for b and B period symbols in time format by @jun66j5 in https://github.com/python-babel/babel/pull/869

New Contributors

  • @doublethefish made their first contribution in https://github.com/python-babel/babel/pull/864

Full Changelog: https://github.com/python-babel/babel/compare/v2.10.1...v2.10.2

- Python
Published by akx over 3 years ago

babel - Version 2.10.1

This is a bugfix release for 2.10.0 for a bug that only affects users who do not have setuptools installed.

What's Changed

  • Fix import statement in messages/frontend.py by @nehaljwani in https://github.com/python-babel/babel/pull/859

New Contributors

  • @nehaljwani made their first contribution in https://github.com/python-babel/babel/pull/859

Full Changelog: https://github.com/python-babel/babel/compare/v2.10.0...v2.10.1

- Python
Published by akx almost 4 years ago

babel - Version 2.10.0

This changelog has been created automatically by GitHub.

Please see https://github.com/python-babel/babel/blob/master/CHANGES.rst for a more condensed version. Full Changelog: https://github.com/python-babel/babel/compare/v2.9.0...v2.10.0

What's Changed

  • CI: Switch to GitHub Actions by @akx in https://github.com/python-babel/babel/pull/754
  • Clean locale identifiers before loading from file by @akx in https://github.com/python-babel/babel/pull/782
  • Become 2.9.1 by @akx in https://github.com/python-babel/babel/pull/783
  • Implement --init-missing option for pybabel update by @RuRo in https://github.com/python-babel/babel/pull/785
  • Remove redundant _compat.py by @hugovk in https://github.com/python-babel/babel/pull/808
  • Add support for Python 3.10 by @hugovk in https://github.com/python-babel/babel/pull/809
  • Add Github issue template by @mondeja in https://github.com/python-babel/babel/pull/800
  • Fix CI, bump year to 2022 by @akx in https://github.com/python-babel/babel/pull/828
  • Date intervals: allow using other as fallback form by @akx in https://github.com/python-babel/babel/pull/827
  • Documentation fixes by @akx in https://github.com/python-babel/babel/pull/830
  • parse_locale(): upper-case variant tag to match file system by @akx in https://github.com/python-babel/babel/pull/829
  • Fix Codecov by @akx in https://github.com/python-babel/babel/pull/833
  • Implement directory filter for extract by @akx in https://github.com/python-babel/babel/pull/832
  • Improve date/time parsing by @akx in https://github.com/python-babel/babel/pull/834
  • fix maltese plurals by @Findus23 in https://github.com/python-babel/babel/pull/796
  • Parse string date times indepentent of time zone by @rachele-collin in https://github.com/python-babel/babel/pull/701
  • Don't use the deprecated format_number function internally or in tests by @akx in https://github.com/python-babel/babel/pull/839
  • add GitHub URL for PyPi by @andriyor in https://github.com/python-babel/babel/pull/846
  • Fix duplicate locations when writing without lineno by @ljodal in https://github.com/python-babel/babel/pull/837
  • Prefer setuptools imports to distutils imports by @akx in https://github.com/python-babel/babel/pull/843
  • Gettext deprecation fixes (for Python 3.11 compatibility) by @akx in https://github.com/python-babel/babel/pull/835
  • Plural-Forms: Fix missing trailing semicolon by @farhan5900 in https://github.com/python-babel/babel/pull/848
  • CI: update OS versions + PyPy baseline to 3.7 by @akx in https://github.com/python-babel/babel/pull/851
  • CLDR 40 by @akx in https://github.com/python-babel/babel/pull/826
  • Fix output of --list-locales to not use bytes reprs by @morganwahl in https://github.com/python-babel/babel/pull/845
  • Provide a way of checking if the catalogs are up-to-date by @kjagiello in https://github.com/python-babel/babel/pull/831
  • Deprecate getnexttimezone_transition() by @akx in https://github.com/python-babel/babel/pull/852
  • CLDR 41 by @akx in https://github.com/python-babel/babel/pull/853
  • allow headercomment to be passed as an option to extractmessage by @muhamed-hafez in https://github.com/python-babel/babel/pull/720
  • Add test for issue #798 by @akx in https://github.com/python-babel/babel/pull/855
  • Prepare for 2.10 by @akx in https://github.com/python-babel/babel/pull/856

New Contributors

  • @RuRo made their first contribution in https://github.com/python-babel/babel/pull/785
  • @Findus23 made their first contribution in https://github.com/python-babel/babel/pull/796
  • @rachele-collin made their first contribution in https://github.com/python-babel/babel/pull/701
  • @andriyor made their first contribution in https://github.com/python-babel/babel/pull/846
  • @ljodal made their first contribution in https://github.com/python-babel/babel/pull/837
  • @farhan5900 made their first contribution in https://github.com/python-babel/babel/pull/848
  • @morganwahl made their first contribution in https://github.com/python-babel/babel/pull/845
  • @kjagiello made their first contribution in https://github.com/python-babel/babel/pull/831
  • @muhamed-hafez made their first contribution in https://github.com/python-babel/babel/pull/720

- Python
Published by akx almost 4 years ago

babel - Version 2.9.1

Bugfixes

  • The internal locale-data loading functions now validate the name of the locale file to be loaded and only allow files within Babel's data directory. Thank you to Chris Lyne of Tenable, Inc. for discovering the issue!

- Python
Published by akx almost 5 years ago

babel - Version 2.9.0

Upcoming version support changes

  • This version, Babel 2.9, is the last version of Babel to support Python 2.7, Python 3.4, and Python 3.5.

Improvements

  • CLDR: Use CLDR 37 – Aarni Koskela (#734)
  • Dates: Handle ZoneInfo objects in gettimezonelocation, gettimezonename - Alessio Bogon (#741)
  • Numbers: Add group_separator feature in number formatting - Abdullah Javed Nesar (#726)

Bugfixes

  • Dates: Correct default Format().timedelta format to 'long' to mute deprecation warnings – Aarni Koskela
  • Import: Simplify iteration code in "import_cldr.py" – Felix Schwarz
  • Import: Stop using deprecated ElementTree methods "getchildren()" and "getiterator()" – Felix Schwarz
  • Messages: Fix unicode printing error on Python 2 without TTY. – Niklas HambĂĽchen
  • Messages: Introduce invariant that invalidpofile() takes unicode line. – Niklas HambĂĽchen
  • Tests: fix tests when using Python 3.9 – Felix Schwarz
  • Tests: Remove deprecated 'sudo: false' from Travis configuration – Jon Dufresne
  • Tests: Support Py.test 6.x – Aarni Koskela
  • Utilities: LazyProxy: Handle AttributeError in specified func – Nikiforov Konstantin (#724)
  • Utilities: Replace usage of parser.suite with ast.parse – Miro HronÄŤok

Documentation

  • Update parse_number comments – Brad Martin (#708)
  • Add iter to Catalog documentation – @CyanNani123

- Python
Published by akx about 5 years ago

babel - Version 2.8.1

This patch version only differs from 2.8.0 in that it backports in #752.

- Python
Published by akx over 5 years ago

babel - Version 2.8.0

Improvements

  • CLDR: Upgrade to CLDR 36.0 - Aarni Koskela (#679)
  • Messages: Don't even open files with the "ignore" extraction method - @sebleblanc (#678)

Bugfixes

  • Numbers: Fix formatting very small decimals when quantization is disabled - Lev Lybin, @miluChen (#662)
  • Messages: Attempt to sort all messages – Mario Frasca (#651, #606)

Docs

  • Add years to changelog - Romuald Brunet
  • Note that installation requires pytz - Steve (Gadget) Barnes

- Python
Published by akx about 6 years ago

babel - Version 2.7.0

🎉 A new version, almost exactly a year since 2.6.0!

Possibly incompatible changes

These may be backward incompatible in some cases, as some more-or-less internal APIs have changed. Please feel free to file issues if you bump into anything strange and we'll try to help!

  • General: Internal uses of babel.util.odict have been replaced with collections.OrderedDict from The Python standard library.

Improvements

  • CLDR: Upgrade to CLDR 35.1 - Alberto Mardegan, Aarni Koskela (#626, #643)
  • General: allow anchoring path patterns to the start of a string - Brian Cappello (#600)
  • General: Bumped version requirement on pytz - @chrisbrake (#592)
  • Messages: pybabel compile: exit with code 1 if errors were encountered - Aarni Koskela (#647)
  • Messages: Add omit-header to update_catalog - CĂ©dric Krier (#633)
  • Messages: Catalog update: keep user comments from destination by default - Aarni Koskela (#648)
  • Messages: Skip empty message when writing mo file - CĂ©dric Krier (#564)
  • Messages: Small fixes to avoid crashes on badly formatted .po files - Bryn Truscott (#597)
  • Numbers: parse_decimal() strict argument and suggestions - Charly C (#590)
  • Numbers: don't repeat suggestions in parse_decimal strict - Serban Constantin (#599)
  • Numbers: implement currency formatting with long display names - Luke Plant (#585)
  • Numbers: parse_decimal(): assume spaces are equivalent to non-breaking spaces when not in strict mode - Aarni Koskela (#649)
  • Performance: Cache locale_identifiers() - Aarni Koskela (#644)

Bugfixes

  • CLDR: Skip alt=... for week data (minDays, firstDay, weekendStart, weekendEnd) - Aarni Koskela (#634)
  • Dates: Fix wrong weeknumber for 31.12.2018 - BT-sschmid (#621)
  • Locale: Avoid KeyError trying to get data on WindowsXP - mondeja (#604)
  • Locale: getdisplayname(): Don't attempt to concatenate variant information to None - Aarni Koskela (#645)
  • Messages: pofile: Add comparison operators to _NormalizedString - Aarni Koskela (#646)
  • Messages: pofile: don't crash when message.locations can't be sorted - Aarni Koskela (#646)

Tooling & docs

  • Docs: Remove all references to deprecated easy_install - Jon Dufresne (#610)
  • Docs: Switch print statement in docs to print function - NotAFile
  • Docs: Update all pypi.python.org URLs to pypi.org - Jon Dufresne (#587)
  • Docs: Use https URLs throughout project where available - Jon Dufresne (#588)
  • Support: Add testing and document support for Python 3.7 - Jon Dufresne (#611)
  • Support: Test on Python 3.8-dev - Aarni Koskela (#642)
  • Support: Using ABCs from collections instead of collections.abc is deprecated. - Julien Palard (#609)
  • Tests: Fix conftest.py compatibility with pytest 4.3 - Miro HronÄŤok (#635)
  • Tests: Update pytest and pytest-cov - Miro HronÄŤok (#635)

- Python
Published by akx over 6 years ago

babel - Version 2.6.0

Possibly incompatible changes

These may be backward incompatible in some cases, as some more-or-less internal APIs have changed. Please feel free to file issues if you bump into anything strange and we'll try to help!

  • Numbers: Refactor decimal handling code and allow bypass of decimal quantization. (@kdeldycke) (PR #538)
  • Messages: allow processing files that are in locales unknown to Babel (@akx) (PR #557)
  • General: Drop support for EOL Python 2.6 and 3.3 (@hugovk) (PR #546)

Other changes

  • CLDR: Use CLDR 33 (@akx) (PR #581)
  • Lists: Add support for various list styles other than the default (@akx) (#552)
  • Messages: Add new PoFileError exception (@Bedrock02) (PR #532)
  • Times: Simplify Linux distro specific explicit timezone setting search (@scop) (PR #528)

Bugfixes

  • CLDR: avoid importing alt=narrow currency symbols (@akx) (PR #558)
  • CLDR: ignore non-Latin numbering systems (@akx) (PR #579)
  • Docs: Fix improper example for date formatting (@PTrottier) (PR #574)
  • Tooling: Fix some deprecation warnings (@akx) (PR #580)

Tooling & docs

  • Add explicit signatures to some date autofunctions (@xmo-odoo) (PR #554)
  • Include license file in the generated wheel package (@jdufresne) (PR #539)
  • Python 3.6 invalid escape sequence deprecation fixes (@scop) (PR #528)
  • Test and document all supported Python versions (@jdufresne) (PR #540)
  • Update copyright header years and authors file (@akx) (PR #559)

- Python
Published by akx over 7 years ago

babel - Version 2.5.3

This is a maintenance release that reverts undesired API-breaking changes that slipped into 2.5.2 (see https://github.com/python-babel/babel/issues/550).

It is based on v2.5.1 (f29eccd) with commits 7cedb84, 29da2d2 and edfb518 cherry-picked on top.

- Python
Published by akx about 8 years ago

babel - Version 2.5.2

❗️ This version is accidentally not backwards compatible; please use 2.5.3! (#550)

Bugfixes

  • Revert the unnecessary PyInstaller fixes from 2.5.0 and 2.5.1 (#533) (@yagebu)

- Python
Published by akx about 8 years ago

babel - Version 2.5.1

Bugfix release.

Minor Improvements and bugfixes

  • Use a fixed datetime to avoid test failures (#520) (@narendravardi)
  • Parse multi-line future imports better (#519) (@akx)
  • Fix validate_currency docstring (#522)
  • Allow normalize_locale and exists to handle various unexpected inputs (#523) (@suhojm)
  • Make PyInstaller support more robust (#525, #526) (@thijstriemstra, @akx)

- Python
Published by akx over 8 years ago

babel - Version 2.5.0

New Features ~~~~~~~~~~~~

  • Numbers: Add currency utilities and helpers (#491) (@kdeldycke)
  • Support PyInstaller (#500, #505) (@wodo)

Minor Improvements and bugfixes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • Dates: Add str to DateTimePattern (#515) (@sfermigier)
  • Dates: Fix an invalid string to bytes comparison when parsing TZ files on Py3 (#498) (@rowillia)
  • Dates: Formatting zero-padded components of dates is faster (#517) (@akx)
  • Documentation: Fix "Good Commits" link in CONTRIBUTING.md (#511) (@naryanacharya6)
  • Documentation: Fix link to Python gettext module (#512) (@Linkid)
  • Messages: Allow both dash and underscore separated locale identifiers in pofiles (#489, #490) (@akx)
  • Messages: Extract Python messages in nested gettext calls (#488) (@sublee)
  • Messages: Fix in-place editing of dir list while iterating (#476, #492) (@MarcDufresne)
  • Messages: Stabilize sort order (#482) (@xavfernandez)
  • Time zones: Honor the no-inherit marker for metazone names (#405) (@akx)

- Python
Published by akx over 8 years ago

babel - Version 2.4.0

Version 2.4.0

New Features

Some of these changes might break your current code and/or tests.

  • CLDR: CLDR 29 is now used instead of CLDR 28 (#405) (@akx)
  • Messages: Add option 'add_location' for location line formatting (#438, #459) (@rrader, @alxpy)
  • Numbers: Allow full control of decimal behavior (#410) (@etanol)

Minor Improvements and bugfixes

  • Documentation: Improve Date Fields descriptions (#450) (@ldwoolley)
  • Documentation: Typo fixes and documentation improvements (#406, #412, #403, #440, #449, #463) (@zyegfryed, @adamchainz, @jwilk, @akx, @roramirez, @abhishekcs10)
  • Messages: Default to UTF-8 source encoding instead of ISO-8859-1 (#399) (@asottile)
  • Messages: Ensure messages are extracted in the order they were passed in (#424) (@ngrilly)
  • Messages: Message extraction for JSX files is improved (#392, #396, #425) (@karloskar, @georgschoelly)
  • Messages: PO file reading supports multi-line obsolete units (#429) (@mbirtwell)
  • Messages: Python message extractor respects unicodeliterals in _future__ (#427) (@sublee)
  • Messages: Roundtrip Language headers (#420) (@kruton)
  • Messages: units before obsolete units are no longer erroneously marked obsolete (#452) (@mbirtwell)
  • Numbers: parse_pattern now preserves the full original pattern (#414) (@jtwang)
  • Numbers: Fix float conversion in extract_operands (#435) (@akx)
  • Plurals: Fix plural forms for Czech and Slovak locales (#373) (@ykshatroff)
  • Plurals: More plural form fixes based on Mozilla and CLDR references (#431) (@mshenfield)

Internal improvements

  • Local times are constructed correctly in tests (#411) (@etanol)
  • Miscellaneous small improvements (#437) (@scop)
  • Regex flags are extracted from the regex strings (#462) (@singingwolfboy)
  • The PO file reader is now a class and has seen some refactoring (#429, #452) (@mbirtwell)

- Python
Published by akx almost 9 years ago

babel - 2.3.4

Bugfix release.

- Python
Published by akx almost 10 years ago

babel - 2.3.2

A bugfix release.

Bugfixes

  • Dates: Period (am/pm) formatting was broken in certain locales (namely zh_TW). Thanks to @jun66j5 for the bug report. (https://github.com/python-babel/babel/issues/378, https://github.com/python-babel/babel/issues/379)

- Python
Published by sils almost 10 years ago

babel - 2.3.1

This is the new wonderful and shiny 2.3 release featuring PyPy3 support, lots of new features and bugfixes. Many thanks go to @akx for serious and awesome work. We'd also like to thank students who have participated in the IndiaHacks hackathon with us as well as other contributors for their help. You can download the release from https://pypi.python.org/pypi/Babel.

(Note: A 2.3.0 release actually exists but is erroneous.)

Internal improvements

  • The CLI frontend and Distutils commands use a shared implementation (https://github.com/python-babel/babel/pull/311)
  • PyPy3 is supported (https://github.com/python-babel/babel/pull/343)

Features

  • CLDR: Add an API for territory language data (https://github.com/python-babel/babel/pull/315)
  • Core: Character order and measurement system data is imported and exposed (https://github.com/python-babel/babel/pull/368)
  • Dates: Add an API for time interval formatting (https://github.com/python-babel/babel/pull/316)
  • Dates: More pattern formats and lengths are supported (https://github.com/python-babel/babel/pull/347)
  • Dates: Period IDs are imported and exposed (https://github.com/python-babel/babel/pull/349)
  • Dates: Support for date-time skeleton formats has been added (https://github.com/python-babel/babel/pull/265)
  • Dates: Timezone formatting has been improved (https://github.com/python-babel/babel/pull/338)
  • Messages: JavaScript extraction now supports dotted names, ES6 template strings and JSX tags (https://github.com/python-babel/babel/pull/332)
  • Messages: npgettext is recognized by default (https://github.com/python-babel/babel/pull/341)
  • Messages: The CLI learned to accept multiple domains (https://github.com/python-babel/babel/pull/335)
  • Messages: The extraction commands now accept filenames in addition to directories (https://github.com/python-babel/babel/pull/324)
  • Units: A new API for unit formatting is implemented (https://github.com/python-babel/babel/pull/369)

Bugfixes

  • Core: Mixed-case locale IDs work more reliably (https://github.com/python-babel/babel/pull/361)
  • Dates: S...S formats work correctly now (https://github.com/python-babel/babel/pull/360)
  • Messages: All messages are now sorted correctly if sorting has been specified (https://github.com/python-babel/babel/pull/300)
  • Messages: Fix the unexpected behavior caused by catalog header updating (e0e7ef1) (https://github.com/python-babel/babel/pull/320)
  • Messages: Gettext operands are now generated correctly (https://github.com/python-babel/babel/pull/295)
  • Messages: Message extraction has been taught to detect encodings better (https://github.com/python-babel/babel/pull/274)

- Python
Published by sils almost 10 years ago

babel - 2.2.0

This is the wonderful 2.2.0 release! Many thanks for many serious contributions go to @etanol , @erickwilder , @benselme and @akx .

Release Notes

Bugfixes

  • General: Add __hash__ to Locale. (#303) (2aa8074)
  • General: Allow files with BOM if they're UTF-8 (#189) (da87edd)
  • General: localedata directory is now locale-data (#109) (2d1882e)
  • General: odict: Fix pop method (0a9e97e)
  • General: Removed uses of datetime.date class from *.dat files (#174) (94f6830)
  • Messages: Fix plural selection for chinese (531f666)
  • Messages: Fix typo and add semicolon in plural_forms (5784501)
  • Messages: Flatten NullTranslations.files into a list (ad11101)
  • Times: FixedOffsetTimezone: fix display of negative offsets (d816803)

Features

  • CLDR: Update to CLDR 28 (#292) (9f7f4d0)
  • General: Add __copy__ and __deepcopy__ to LazyProxy. (a1cc3f1)
  • General: Add official support for Python 3.4 and 3.5
  • General: Improve odict performance by making key search O(1) (6822b7f)
  • Locale: Add an ordinal_form property to Locale (#270) (b3f3430)
  • Locale: Add support for list formatting (37ce4fa, be6e23d)
  • Locale: Check inheritance exceptions first (3ef0d6d)
  • Messages: Allow file locations without line numbers (#279) (79bc781)
  • Messages: Allow passing a callable to extract() (#289) (3f58516)
  • Messages: Support 'Language' header field of PO files (#76) (3ce842b)
  • Messages: Update catalog headers from templates (e0e7ef1)
  • Numbers: Properly load and expose currency format types (#201) (df676ab)
  • Numbers: Use cdecimal by default when available (b6169be)
  • Numbers: Use the CLDR's suggested number of decimals for format_currency (#139) (201ed50)
  • Times: Add format_timedelta(format='narrow') support (edc5eb5)

- Python
Published by sils about 10 years ago

babel - 2.1.1

Please note that the preferred way to install Babel is using pip/pypi: https://pypi.python.org/pypi/Babel .

(A 2.1.0 release exists in a quantum state, i.e. it did exist for a few hours but because an ugly distribution error it had to be removed in order to avoid other people pulling the broken distribution. To distribute the fixed version to everyone, the 2.1.1 release was created.)

- Python
Published by sils over 10 years ago