===============================
Welcome to the new Pootle 2.5.0
===============================

*Released on 18 May 2013*

Finally! Translate has a new baby and we're pretty proud of her. Many changes
have gone into 2.5.0 which follows on from 2.1.6 released more then two years
ago. So many changes that it's quite hard to list them all.

Why so long? Well we had the `Egyptian revolution
<https://www.google.co.uk/search?q=%23freealaa&tbm=isch>`_, a complete change
in UI, and a load of features we wanted you to have.  It took much longer to
stabilise it for you to enjoy.

Pootle 2.5.0 has been in production with many users, so although it is a new
official release, we've had many people running their production server off
this code.  This includes `LibreOffice
<https://translations.documentfoundation.org/>`_, `Mozilla
<http://mozilla.locamotion.org/>`_ and `Evernote
<http://translate.evernote.com/pootle/>`_. So you are in good company.

Requirements
============
- Django 1.3 or 1.4
- `Translate Toolkit <http://toolkit.translatehouse.org/download.html>`_ >=
  1.10.0
- lxml (now a runtime requirement)

Installation and Upgrade
========================
- `Installation
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/installation.html>`_
- `Upgrade
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/upgrading.html>`_

Changes
=======

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

2.5.0 vs 2.5.0-rc1
------------------
Changes from 2.5.0 RC1 to 2.5.0 final release:

- Correct all Right-to-Left rendering issues
- Minor fixes: update translations, fixes to lightbox and some documentation
  corrections

User Experience
---------------
We undertook a major UI rework – we now have a clean new translation interface,
and overview page.

In the editor:

- We follow a new approach when you edit translations, you will see a list of
  units that meet some criterion.
- Translation Memory is displayed for the current unit – results are from
  Translate's public `Amagama <http://amagama.translatehouse.org/>`_ server.
- Filters are easily accessible while you translate, so you can quickly change
  these within the translation interface.
- Context rows are provided in the translation interface when you are filtering
  and these can be hidden or expanded.
- A timeline is provided for a unit. This provides a history of the changes in
  translation text, state changes, translator and dates of changes.
- Gravatars give credit to translators and suggesters.

In the overview page:

- Several features from translation projects have been merged into the
  *Overview* tab, including quality check failures and directory- and
  file-level actions. As a consequence the *Review* tab has been dropped and
  the *Translate* tab serves solely to display the actual translation
  editor.
- The overview page allows you to drill down into certain types of units
  matching a translation state or with an error.
- It is now easier to see what work needs attentions, as we highlight next
  actions for your project.
- With editable project and language descriptions you can supply description
  for projects. These are editable using Markdown, reStructuredText or HTML.
- News alerts can now be sent via email to project participants.
- The overview page provides an expanded checks page that highlights all
  failing checks.
- Checks are classified into categories so that more urgent ones are
  highlighted to translators


Version Control
---------------
- Update the whole project at once avoiding slow file by file updates
- A separate `VCS_DIRECTORY
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/settings.html#std:setting-VCS_DIRECTORY>`_
  for VCS checkout is where Pootle now does all VC related work -- this ensures
  that we can work well with DVCS like Git.
- Detect new and removed files after a VCS update
- Management commands for VCS actions [Stuart Prescott]
- Add new files to VCS after updating from templates

Commands
--------
New and changed commands:

- `list_languages
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/commands.html#list-languages>`_
- `list_projects
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/commands.html#list-projects>`_
- `latest_change_id
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/commands.html#latest-change-id>`_
- :setting:`--modified-since` flag for `update_stores
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/commands.html#update-stores>`_
  and `sync_stores
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/commands.html#sync-stores>`_
- `commit_to_vcs
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/commands.html#commit-to-vcs>`_
- `update_from_vcs
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/commands.html#update-from-vcs>`_
- ``update_from_templates`` has been renamed to `update_against_templates
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/commands.html#update-against-templates>`_


Important server admin changes
------------------------------

- Static files are now handled by the ``django.contrib.staticfiles`` module.
  This means you will need to run the ``pootle collectstatic`` command on
  production and serve the *pootle/assets/* directory from your webserver at
  */assets/*. If you are upgrading from a previous version, you will need to
  replace the occurrences of *static* with *assets* within your web server
  configuration.

- Static files are bundled into assets by using `django-assets
  <http://elsdoerfer.name/docs/django-assets/>`_.

- Settings have been migrated from *localsettings.py* into *settings/\*.conf*
  files. Your customizations now go in a :ref:`separate configuration file
  <settings#customizing>` (or in *settings/90-local.conf* if running from a
  repository clone).

- The ``PootleServer`` script has been phased out in favor of a ``pootle``
  runner script.

- If you will be using Pootle with Django 1.3, you *have* to keep the timezone
  on ``UTC``, unless you are using PostgreSQL. Users of PostgreSQL or Django
  1.4 or later are free to set the time zone as they prefer.
- Make sure to use the minimum required South version when performing
  database upgrades.


Infrastructure
--------------
- All documentation is now on `Read The Docs
  <http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/>`_
- We have a `new website <http://pootle.translatehouse.org/>`_ for Pootle
- We're using Travis for `Continuous Integration
  <https://travis-ci.org/translate/pootle>`_
- All our `code <https://github.com/translate/pootle>`_ is now on Github

...and of course, loads of bugs were fixed

Credits
=======
The following people have made Pootle 2.5.0 possible:

Julen Ruiz Aizpuru, Friedel Wolff, Alaa Abd el Fattah, Igor Afanasyev,
Dwayne Bailey, Leandro Regueiro, Claude Paroz, Chris Oelmueller,
Taras Semenenko, Kevin Scannell, Christian Hitz, Thomas Kinnen,
Alexander Dupuy, khagaroth, dvinella, Stuart Prescott, Roman Imankulov,
Peter Bengtsson, Nagy Akos, Michael Tänzer, Gregory Oschwaldi & Andy Nicholson.
