Releases: python-babel/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)
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 unicode_literals 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)
2.3.4
2.3.2
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 (#311)
- PyPy3 is supported (#343)
Features
- CLDR: Add an API for territory language data (#315)
- Core: Character order and measurement system data is imported and exposed (#368)
- Dates: Add an API for time interval formatting (#316)
- Dates: More pattern formats and lengths are supported (#347)
- Dates: Period IDs are imported and exposed (#349)
- Dates: Support for date-time skeleton formats has been added (#265)
- Dates: Timezone formatting has been improved (#338)
- Messages: JavaScript extraction now supports dotted names, ES6 template strings and JSX tags (#332)
- Messages: npgettext is recognized by default (#341)
- Messages: The CLI learned to accept multiple domains (#335)
- Messages: The extraction commands now accept filenames in addition to directories (#324)
- Units: A new API for unit formatting is implemented (#369)
Bugfixes
- Core: Mixed-case locale IDs work more reliably (#361)
- Dates: S...S formats work correctly now (#360)
- Messages: All messages are now sorted correctly if sorting has been specified (#300)
- Messages: Fix the unexpected behavior caused by catalog header updating (e0e7ef1) (#320)
- Messages: Gettext operands are now generated correctly (#295)
- Messages: Message extraction has been taught to detect encodings better (#274)
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)
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.)