===================================
Welcome to the new Pootle 2.5.1-rc1
===================================

*Released on 1 December 2013*

We almost missed our :ref:`6 month release cycle <release-process_principles>`!
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
<http://mozilla.locamotion.org/>`_ and `Evernote
<https://translate.evernote.com/>`_. 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 :ref:`roadmap <roadmap>` for Pootle 2.5.2.

Changes in Requirements
=======================
- Django >= 1.4.10
- `Translate Toolkit <http://toolkit.translatehouse.org/download.html>`_ >=
  1.11.0-rc1
- Python >= 2.6

Installation and Upgrade
========================
- :doc:`Installation </server/installation>`
- :doc:`Upgrade </server/upgrading>`

Major Changes
=============

These are by no means exhaustive, check the `git log
<https://github.com/translate/pootle/compare/stable%2F2.5.0...2.5.1-rc1>`_
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
    <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.1/server/commands.html#updatedb>`_
    management command has been phased out in favor of South's own
    `migrate <http://south.readthedocs.org/en/latest/commands.html#migrate>`_
    command.
  - Post schema upgrade actions have been moved to the `upgrade
    <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.1/server/commands.html#upgrade>`_
    command.
  - The automatic update has been removed.

- The `setup
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.1/server/commands.html#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.


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

Credits
=======
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ñú
