Releases: python-babel/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 #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
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!
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 get_timezone_location, get_timezone_name - 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 _invalid_pofile() 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
Version 2.8.1
This patch version only differs from 2.8.0 in that it backports in #752.
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
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 andsuggestions
- 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: get_display_name(): 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)
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)