Skip to content

Releases: python-babel/babel

Version 2.9.1

28 Apr 19:37
@akx akx
Compare
Choose a tag to compare

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

03 Dec 09:30
@akx akx
Compare
Choose a tag to compare

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

11 Nov 11:56
@akx akx
Compare
Choose a tag to compare

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

Version 2.8.0

31 Dec 12:43
@akx akx
d45b2d3
Compare
Choose a tag to compare

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

27 May 12:51
@akx akx
8b684d5
Compare
Choose a tag to compare

🎉 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: 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

28 May 14:38
@akx akx
Compare
Choose a tag to compare

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)

Version 2.5.3

15 Jan 17:16
@akx akx
Compare
Choose a tag to compare

This is a maintenance release that reverts undesired API-breaking changes that slipped into 2.5.2
(see #550).

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

Version 2.5.2

15 Jan 12:07
@akx akx
Compare
Choose a tag to compare
Version 2.5.2 Pre-release
Pre-release

❗️ 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)

Version 2.5.1

14 Sep 10:12
@akx akx
Compare
Choose a tag to compare

Bugfix release.

Minor Improvements and bugfixes

Version 2.5.0

18 Aug 09:07
@akx akx
Compare
Choose a tag to compare

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)