All Versions
Latest Version
Avg Release Cycle
153 days
Latest Release

Changelog History
Page 1

  • v2.10.1 Changes

    πŸ›  This is a bugfix release for Babel 2.10.0.

    • Messages: Fix distutils import. Regressed in :gh:843. (:gh:852) - Nehal J Wani
    • πŸ‘ The wheel file is no longer marked as universal, since Babel only supports Python 3.
  • v2.10.0 Changes

    πŸ—„ Upcoming deprecation

    * The ``get_next_timezone_transition()`` function is marked deprecated in this version and will be removed
      likely as soon as Babel 2.11.  No replacement for this function is planned; based on discussion in
      :gh:`716`, it's likely the function is not used in any real code. (:gh:`852`) - Aarni Koskela, Paul Ganssle
    πŸ‘Œ Improvements
    * ⬆️ CLDR: Upgrade to CLDR 41.0. (:gh:`853`) - Aarni Koskela
       * The ``c`` and ``e`` plural form operands introduced in CLDR 40 are parsed, but otherwise unsupported. (:gh:`826`)
       * Non-nominative forms of units are currently ignored.
    * ⚑️ Messages: Implement ``--init-missing`` option for ``pybabel update`` (:gh:`785`) - ruro
    * Messages: For ``extract``, you can now replace the built-in ``.*`` / ``_*`` ignored directory patterns
      with ones of your own. (:gh:`832`) - Aarni Koskela, Kinshuk Dua
    * πŸ”Š Messages: Add ``--check`` to verify if catalogs are up-to-date (:gh:`831`) - Krzysztof JagieΕ‚Ε‚o
    * 0️⃣ Messages: Add ``--header-comment`` to override default header comment (:gh:`720`) - Mohamed Hafez Morsy, Aarni Koskela
    * πŸ“œ Dates: ``parse_time`` now supports 12-hour clock, and is better at parsing partial times.
      (:gh:`834`) - Aarni Koskela, David Bauer, Arthur Jovart
    * πŸ“œ Dates: ``parse_date`` and ``parse_time`` now raise ``ParseError``, a subclass of ``ValueError``, in certain cases.
      (:gh:`834`) - Aarni Koskela
    * πŸ“œ Dates: ``parse_date`` and ``parse_time`` now accept the ``format`` parameter.
      (:gh:`834`) - Juliette Monsel, Aarni Koskela
    * The internal ``babel/`` module is no more (:gh:`808`) - Hugo van Kemenade
    * πŸ‘ Python 3.10 is officially supported (:gh:`809`) - Hugo van Kemenade
    * There's now a friendly GitHub issue template. (:gh:`800`) – Álvaro MondΓ©jar Rubio
    * βœ… Don't use the deprecated format_number function internally or in tests - Aarni Koskela
    * βž• Add GitHub URL for PyPi (:gh:`846`) - Andrii Oriekhov
    * Python 3.12 compatibility: Prefer setuptools imports to distutils imports (:gh:`843`) - Aarni Koskela
    * πŸ—„ Python 3.11 compatibility: Add deprecations to l*gettext variants (:gh:`835`) - Aarni Koskela
    * βœ… CI: Babel is now tested with PyPy 3.7. (:gh:`851`) - Aarni Koskela
    πŸ›  Bugfixes
    * Date formatting: Allow using ``other`` as fallback form (:gh:`827`) - Aarni Koskela
    * πŸ“œ Locales: ``Locale.parse()`` normalizes variant tags to upper case (:gh:`829`) - Aarni Koskela
    * πŸ›  A typo in the plural format for Maltese is fixed. (:gh:`796`) - Lukas Winkler
    * πŸ“œ Messages: Catalog date parsing is now timezone independent. (:gh:`701`) - rachele-collin
    * Messages: Fix duplicate locations when writing without lineno (:gh:`837`) - Sigurd LjΓΈdal
    * Messages: Fix missing trailing semicolon in plural form headers (:gh:`848`) - farhan5900
    * CLI: Fix output of ``--list-locales`` to not be a bytes repr (:gh:`845`) - Morgan Wahl
    πŸ“š Documentation
    * πŸ“š Documentation is now correctly built again, and up to date (:gh:`830`) - Aarni Koskela
  • v2.9.1 Changes

    πŸ›  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!
  • v2.9.0 Changes

    December 03, 2020

    πŸ‘ 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 "" – 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
  • v2.8.1 Changes

    November 11, 2020

    πŸš€ This is solely a patch release to make running tests on Py.test 6+ possible.

    πŸ›  Bugfixes

    * πŸ‘Œ Support Py.test 6 - Aarni Koskela (:gh:`747`, :gh:`750`, :gh:`752`)
  • v2.8.0 Changes

    December 31, 2019

    πŸ‘Œ 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
  • v2.7.0 Changes

    May 27, 2019

    🍱 πŸŽ‰ 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 URLs to - 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 is deprecated. - Julien Palard (#609)
    • βœ… Tests: Fix compatibility with pytest 4.3 - Miro Hrončok (#635)
    • ⚑️ Tests: Update pytest and pytest-cov - Miro Hrončok (#635)
  • v2.6.0 Changes

    May 28, 2018

    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)
  • v2.5.3 Changes

    January 15, 2018

    πŸš€ 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.

  • v2.5.2 Changes

    January 15, 2018

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