Welcome to the new Pootle 2.6.0-rc1

Released on 11 July 2014

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

Changes in Requirements

  • Django >= 1.5.8 < 1.7
  • Translate Toolkit >= 1.12.0-rc1
  • Python >= 2.6
  • Raven 5.0.0 or higher is now recommended for Sentry support on production setups. While older versions should still work, they may encounter problems in newer versions of Django or Python.

Major Changes

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

  • Upgrade:
    • Direct upgrade is now only possible from 2.1.1 and later.
    • Fixed failing direct upgrade from 2.1.6 and older that required to perform an intermediate upgrade step to 2.5.0.
  • The default caching in database has been replaced by local-memory caching. Using memcached is still highly recommended.
  • The registration and authentication layer is now handled by django-allauth. This gives Pootle implicit support for OpenID, OAuth, OAuth2 and Persona sign-in protocols.
  • Local live cross project Translation Memory (TM) augments the already available amaGama TM by delivering TM results from the projects hosted on the Pootle server. Images stored in PODIRECTORY $project/.pootle/icon.png provide an icon to the TM result.
  • Added a new management command to populate the local TM.
  • The view permission is now project-centric, it can be set server-wide or for projects, but not for individual language-project combinations.
  • Dropped code for several external apps from Pootle codebase. Also upgraded to newer versions of those apps.
  • The contact form has been converted to an AJAX form.
  • The report target for reporting string errors has been dropped in favor of a report email address. The report is now sent using an automatically pre-filled contact form. If the project doesn’t have a report email then the reports are sent to POOTLE_REPORT_STRING_ERRORS_EMAIL.
  • Some changes in the API.
  • New management command to assign permissions to a user.
  • Using dumpdata and loaddata to move between databases is no longer supported. If you need to move, please use proper SQL scripts instead.
  • Added a new system user to attribute to changes done by the management commands.
  • The update_translation_projects management command no longer removes projects when using the --cleanup option. This was an undocumented behavior.
  • Dropped support for old web browsers. Despite that Pootle might work on such browsers. More on Supported Browsers.
  • Changed the format of the files accepted by the add_project_goals management command.
  • Added improved logging of actions inside Pootle.
  • Big revamp of UI:
    • We now have a wide stats table that shows the same data in the different levels. This affects several features which are now relocated in a sidebar: actions, instructions or current goal.
    • New navigation scheme using dropdowns.
    • Removed zoom feature. Now users should rely on their browsers.
  • Editor changes:
    • Added keyboard shortcuts help.
    • Several minor improvements.
    • Placeables are used to highlight parts of the source text and easily insert them into the translation.

Removed features

We have dropped some legacy features we kept around for allowing a swift upgrade in the past.

The removal of some of these feature required extensive changes on the upgrading code, which resulted in that upgrading directly from ancient versions is no longer possible. In case you are trying to upgrade from Pootle 2.1.0 or older you must first upgrade to 2.1.6 before upgrading to this version.

These are the features we got rid of:

  • .pending and .tm files support: Not necessary since the updatetm tool was removed in Pootle 2.5.0.
  • Live translation: Rarely enabled, and it was discouraged to use it.
  • Autosync: It was recommended to never use it. The files can now be synced instead using the appropriate management commands.

The voting feature for terminology suggestions has also been removed, due to its low popularity and high maintenance cost. In order to save existing voting data, make a backup of the voting_vote table before upgrading.

...and lots of refactoring, upgrades of upstream code, cleanups to remove Django 1.4 specifics, improved documentation and of course, loads of bugs were fixed.

Credits

This release was made possible thanks to the contributions of Julen Ruiz Aizpuru, Leandro Regueiro, Jerome Leclanche, Igor Afanasyev, Taras Semenenko, Khaled Hosny, Dwayne Bailey, Arky, Peter Bengtsson, Miha Vrhovnik, Henrik Saari and Folkert van Heusden