Welcome to the new Pootle 2.5.1

Released on 24 January 2014

Yes, we did miss our 6 month release cycle! Many changes have gone into Pootle 2.5.1 which follows on from 2.5.0 released in May.

Pootle 2.5.1 has been in production for a number of users, so although it is a new official release, we’ve had many people running their production Pootle server off this code. This includes Mozilla and Evernote. So you are in good company.

For those who can’t wait you might be interested to know what we’ve got planned on our roadmap for Pootle 2.5.2.

Changes in Requirements

  • Django >= 1.4.10 (note that Django 1.5 and 1.6 are not yet supported)
  • Translate Toolkit >= 1.11.0
  • Python >= 2.6

Installation and Upgrade

Major Changes

These are by no means exhaustive, check the git log for more details.

  • Tags – You can now tag and filter translation projects, making it easy to focus on a set of languages.
  • Goals – you can now group files within a project to ensure that translators focus on the most important tasks first.
  • Extension Actions – you can create custom actions using Python scripts. These are displayed with current actions and allow you to extend Pootle’s functionality.
  • API – an initial Pootle API is in place (disabled by default).

Important server admin changes

  • The minimum required Python version is now 2.6.x. While Django 1.4.x supports Python 2.5, it is no longer supported by the Python Foundation neither by several third party apps.
  • The database schema upgrade procedure has been redefined:
    • The updatedb management command has been phased out in favor of South’s own migrate command.
    • Post schema upgrade actions have been moved to the upgrade command.
    • The automatic update has been removed.
  • The setup management command was added to hide the complexities in the altering of the DB when installing or upgrading Pootle.
  • Fabric deployment scripts have been improved to make deployment easier.
  • Security fixes identified by a Mozilla security audit have been implemented.
  • Optimisations of asset caching such as Expires headers have been enabled.
  • LDAP authentication backend moved to pootle.core.auth.ldap_backend.LdapBackend and received various fixes.
  • Static pages can now be used to track the acceptance of terms of use.
  • The quality check for spell checking has been globally disabled. It wasn’t properly advertised nor documented, and it didn’t perform well enough to be considered useful.
  • css/custom/custom.css is now served as part of the common bundle.

Visual Changes

  • User contribution are displayed in the users profile page.
  • Breadcrumbs now follow the way a translator would interact with Pootle and are unified across all views of the project.
  • Global search allows you to search across all projects and all languages.
  • Last activity messages show quickly what last change was made to the translations.
  • The export view allows for easier proofreading by translators.
  • Various RTL fixes.

…and lots of refactoring, upgrades of upstream code, cleanups to remove Django 1.3 specifics, missing documentation and of course, loads of bugs were fixed


The following people have made Pootle 2.5.1 possible:

Julen Ruiz Aizpuru, Leandro Regueiro, Dwayne Bailey, Alexander Dupuy, Khaled Hosny, Arky, Fabio Pirola, Christian Hitz, Taras Semenenko, Chris Oelmueller, Peter Bengtsson, Yasunori Mahata, Denis Parchenko, Henrik Saari, Hakan Bayindir, Edmund Huber, Dmitry Rozhkov & Darío Hereñú