Releases: python-babel/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 #1048
- Upgrade GitHub Actions by @cclauss in #1054
- Improve .po IO by @akx in #1068
- Use CLDR 44 by @akx in #1071
- Allow alternative space characters as group separator when parsing numbers by @ronnix in #1007
- Include Unicode license in
locale-data
and in documentation by @akx in #1074 - Encode support for the "fall back to short format" logic for time delta formatting by @akx in #1075
- Prepare for 2.15.0 release by @akx in #1079
New Contributors
Full Changelog: v2.14.0...v2.15.0
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.
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 #1043
- Decouple
pybabel
frontend from distutils/setuptools; remove dependency by @akx in #1041 - Enforce trailing commas (enable Ruff COM rule and autofix) by @akx in #1045
- CI: use GitHub output formats by @akx in #1046
- Allow last_translator to be passed as an option to extract_message by @AivGitHub in #1044
- Add support of local numbering systems for number symbols by @kajte in #1036
- fix(numbers): correctly determine malformed decimals by @olunusib in #1042
- Prepare for 2.14.0 release by @akx in #1047
New Contributors
- @rix0rrr made their first contribution in #1043
- @AivGitHub made their first contribution in #1044
- @kajte made their first contribution in #1036
- @olunusib made their first contribution in #1042
Full Changelog: v2.13.1...v2.14.0
Version 2.13.1
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 #979
- Note that
Locale.parse()
does not acceptNone
by @akx in #978 - Misc. mypy-discovered fixes by @akx in #981
- babel.messages.catalog: deduplicate _to_fuzzy_match_key logic by @akx in #980
- Improve type annotation for
babel.support.Translations.load
by @akx in #983 - Improve contributing instructions by @akx in #986
- Freeze format_time() tests to a specific date to fix test failures by @mgorny in #998
- Spelling and grammar fixes by @scop in #1008
- Renovate lint tools by @akx in #1017
- Use SPDX license identifier by @vargenau in #994
- Use aware UTC datetimes internally by @scop in #1009
- Add flag to ignore POT-Creation-Date for updates by @joeportela in #999
- Support 't' specifier in keywords by @jeanas in #1015
- Add f-string parsing for Python 3.12 (PEP 701) by @encukou in #1027
- Renovate CI & tools by @akx in #1028
- Prepare for 2.13.0 release by @akx in #1029
New Contributors
- @mgorny made their first contribution in #998
- @vargenau made their first contribution in #994
- @joeportela made their first contribution in #999
- @encukou made their first contribution in #1027
Full Changelog: v2.12.1...v2.13.0
v2.12.1
Tiny packaging bugfix: py.typed
wasn't included.
What's Changed
- Include
py.typed
file in wheels by @AlexWaygood in #975 - Become 2.12.1 by @akx in #976
New Contributors
- @AlexWaygood made their first contribution in #975
Full Changelog: v2.12.0...v2.12.1
Version 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 #922
- Update docs build configuration by @akx in #924
- feat: Adds
Format.compact_decimal
utility by @DenverCoder1 in #921 - Remove vestigial Python 2
long
check by @akx in #925 - feat: Support for short compact currency formats by @DenverCoder1 in #926
- Drop support for EOL Python 3.6 by @akx in #919
- Cast number to Decimal in _get_compact_format by @DenverCoder1 in #930
- Replace %/.format/concatenation with f-strings where feasible by @akx in #927
- ci: Fix testing dependencies by @DenverCoder1 in #936
- javascript extract improvements by @johanneswilm in #939
- Fix compact singular formats and patterns with no numbers by @DenverCoder1 in #932
- fix typo by @uniontech-lilinjie in #941
- Enable pre-commit by @akx in #943
- Added inline type annotations to Babel by @DenverCoder1 in #934
- Implement zoneinfo support and make pytz optional by @ds-cbo in #940
- Unify datetime imports by @akx in #945
- Minor cleanups by @akx in #948
- Renovate formatting in test_checkers and test_frontend by @akx in #950
- Add ruff for linting by @akx in #949
- Upgrade to CLDR 42 by @akx in #951
- Update test dependencies (tox v4) by @DenverCoder1 in #953
- Remove redundant tests for babel.support by @akx in #954
- Support for formatting NaN, Infinity by @DenverCoder1 in #955
- Clean up babel.localtime by @akx in #952
- Use standard library UTC by @akx in #957
- Fix unbound
exc
in babel.dates by @akx in #959 - Finally remove get_next_timezone_transition by @akx in #958
- More fixes and modernization by @akx in #960
- Keep @modifiers when parsing locales by @madduck in #947
- Add two new options in cmdline.rst docs by @m-aciek in #963
- Numbers and core type fixes by @DenverCoder1 in #966
- Use lru_cache where suitable by @akx in #967
- Fix two issues with fuzzy matching by @jeanas in #970
- Renovate CI tools a bit by @akx in #972
- Tox: also test with pytz installed by @akx in #974
- Become 2.12.0 by @akx in #973
New Contributors
- @johanneswilm made their first contribution in #939
- @uniontech-lilinjie made their first contribution in #941
- @ds-cbo made their first contribution in #940
- @madduck made their first contribution in #947
- @m-aciek made their first contribution in #963
- @jeanas made their first contribution in #970
Full Changelog: v2.11.0...v2.12.0
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 #875
- Use email.Message for pofile header parsing by @akx in #876
- Become 2.10.2 by @akx in #884
- Build packages in CI by @akx in #888
- Become 2.10.3 by @akx in #889
- Small downloader improvements by @akx in #894
- Update Python versions in dev docs by @rnestler in #898
- Remove
__nonzero__
methods by @sobolevn in #896 - Remove superfluous
__unicode__
declarations by @lukasjuhrich in #905 - align license with OSI template by @lsmith77 in #912
- Support for hex escapes in JavaScript strings by @codepainters in #877
- Remove determining time zone via systemsetup on macOS by @akx in #914
- Add support for compact decimal formats by @DenverCoder1 in #909
- Adapt parse_date to handle ISO dates by @ericzolf in #842
- Use
ast
instead ofeval
for string extraction by @akx in #915 - Python 3.11 compatibility by @akx in #913
- Quiesce pytest warnings by @akx in #916
- Become 2.11.0 by @akx in #917
New Contributors
- @rnestler made their first contribution in #898
- @sobolevn made their first contribution in #896
- @lukasjuhrich made their first contribution in #905
- @lsmith77 made their first contribution in #912
- @codepainters made their first contribution in #877
- @DenverCoder1 made their first contribution in #909
- @ericzolf made their first contribution in #842
Full Changelog: v2.10.3...v2.11.0
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 #864
- Fallback count="other" format in format_currency() by @jun66j5 in #872
- Fix get_period_id() with
dayPeriodRule
across 0:00 by @jun66j5 in #871 - Fix up some Python2-isms using pyupgrade by @akx in #874
- Add support for
b
andB
period symbols in time format by @jun66j5 in #869
New Contributors
- @doublethefish made their first contribution in #864
Full Changelog: v2.10.1...v2.10.2
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 #859
New Contributors
- @nehaljwani made their first contribution in #859
Full Changelog: v2.10.0...v2.10.1
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: v2.9.0...v2.10.0
What's Changed
- CI: Switch to GitHub Actions by @akx in #754
- Clean locale identifiers before loading from file by @akx in #782
- Become 2.9.1 by @akx in #783
- Implement
--init-missing
option forpybabel update
by @RuRo in #785 - Remove redundant _compat.py by @hugovk in #808
- Add support for Python 3.10 by @hugovk in #809
- Add Github issue template by @mondeja in #800
- Fix CI, bump year to 2022 by @akx in #828
- Date intervals: allow using
other
as fallback form by @akx in #827 - Documentation fixes by @akx in #830
- parse_locale(): upper-case variant tag to match file system by @akx in #829
- Fix Codecov by @akx in #833
- Implement directory filter for extract by @akx in #832
- Improve date/time parsing by @akx in #834
- fix maltese plurals by @Findus23 in #796
- Parse string date times indepentent of time zone by @rachele-collin in #701
- Don't use the deprecated format_number function internally or in tests by @akx in #839
- add GitHub URL for PyPi by @andriyor in #846
- Fix duplicate locations when writing without lineno by @ljodal in #837
- Prefer setuptools imports to distutils imports by @akx in #843
- Gettext deprecation fixes (for Python 3.11 compatibility) by @akx in #835
- Plural-Forms: Fix missing trailing semicolon by @farhan5900 in #848
- CI: update OS versions + PyPy baseline to 3.7 by @akx in #851
- CLDR 40 by @akx in #826
- Fix output of --list-locales to not use bytes reprs by @morganwahl in #845
- Provide a way of checking if the catalogs are up-to-date by @kjagiello in #831
- Deprecate get_next_timezone_transition() by @akx in #852
- CLDR 41 by @akx in #853
- allow header_comment to be passed as an option to extract_message by @muhamed-hafez in #720
- Add test for issue #798 by @akx in #855
- Prepare for 2.10 by @akx in #856
New Contributors
- @RuRo made their first contribution in #785
- @Findus23 made their first contribution in #796
- @rachele-collin made their first contribution in #701
- @andriyor made their first contribution in #846
- @ljodal made their first contribution in #837
- @farhan5900 made their first contribution in #848
- @morganwahl made their first contribution in #845
- @kjagiello made their first contribution in #831
- @muhamed-hafez made their first contribution in #720