=================================
Welcome to the new Pootle 2.8.0b2
=================================

*Released on 22 July 2016*

This is the second beta of 2.8.0, our next major Pootle release.

If you want to try it, check one of the following:

- :doc:`Installation instructions </server/installation>`
- :doc:`Upgrading instructions </server/upgrading>`


2.8.0b2 vs 2.8.0b1
==================

- JavaScript fixes addressing performance and memory leaks in the editor
- Extensive review and fixes to RTL layout in the editor and browse views
- Browse pages:

  - Improvements to the statistics table for overly long filenames and smaller screens
  - Less intrusive and more helpful statistics refresh notice 

- Commands:

  - Rewrote :djadmin:`contributors` command
  - Added :djadmin:`init_fs_project`

- Upload:

  - Disabled upload for non-PO projects as conflict handling currently only works in PO
  - Admins can upload translations as another user

- Added zlib1g-dev to system requirements for correct building of lxml
- Addressed unlocalised parts of Pootle and updated translations


Changes in Requirements
=======================

- Django>=1.8.13,<1.9
- zlib1g-dev required for lxml


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

- Undertook a security audit
- Improved editor performance
- Added pluggable search backend
- Pootle FS


Below we provide much more detail.  These are by no means exhaustive, view the
`git log
<https://github.com/translate/pootle/compare/2.7.6...2.8.0b2>`_ for complete
information.


Details of changes
==================

- Undertook a security audit
- Improved editor performance
- Added pluggable search backend
- Pootle FS:

  - CLI
  - LanguageMapper
  - FileMapper
  - Store de/serialization

- Improved UI/stats reporting
- Support rejecting/accepting suggestions with comments
- Configuration system
- Plugin framework
- Comment system
- amaGama Translation Memory is now queried using CORS
- Improvements on timeline
- Browse pages:

  - Stats refresh notice has been changed to be less intrusive and more helpful
  - Hide disabled items and allow showing them to admin users
  - Show leaderboard on top panel and expanded stats panel
  - Search widget is disabled if user cannot translate

- Cross-language translation is now restricted to admins since translators
  don't require them.
- Upload:

  - Disabled upload for non-PO projects
  - Admins can upload translations as other user

- New Machine Translation providers:

  - `Caighdeán <https://github.com/kscanne/caighdean/blob/master/API.md>`_ - Irish
  - `Welsh <http://techiaith.cymru/api/translation/?lang=en>`_

- Improved RQ usage and new management commands
- Documentation updates


Pootle FS
---------

Pootle FS allows to synchronize Pootle against a filesystem, or VCS, allowing
to handle conflicts and several other situations that previously required
ad-hoc hacks.


Development changes
-------------------

- Tests:
  - Massive improvement in test framework
  - Coverage increased from 55% to 88%
  - Moved to tox
  - Travis caching and optimisations
- Code sanity:
  - Python code cleanup/linting pep8/pyflakes/pep257
  - Javascript code linting and cleanups
- Code polishing:
  - Moved all commands to argparse
  - Move shortcuts to Mousetrap
  - JS improvements, move to React components
- Triage meetings are now held on a weekly basis


Command changes and additions
-----------------------------

- :djadmin:`run_cherrypy` has been removed.
- :djadmin:`start` has been removed, use :djadmin:`runserver` instead.
- :djadmin:`verify_user` and :djadmin:`purge_user` now accept multiple
  usernames.
- :djadmin:`refresh_scores` now recalculates user scores and accepts
  multiple usernames.
- :djadmin:`contributors` command has been refactored in order to return more
  accurate results and has new options
  :option:`--since <contributors --since>`,
  :option:`--until <contributors --until>` and
  :option:`--mailmerge <contributors --mailmerge>`. The ``--from-revision``
  option has been removed.
- :djadmin:`list_serializers` has been added to view serializers and
  deserializers installed on your system.
- :djadmin:`flush_cache` flushes ``default``, ``redis``, ``stats`` caches,
  accepts :option:`--rqdata <flush_cache --rqdata>`,
  :option:`--stats <flush_cache --stats>`,
  :option:`--django-cache <flush_cache --django-cache>` options.
- :djadmin:`config` was added to get, set, list, append and clear configuration
  settings.
- :djadmin:`init_fs_project` was added.


Changes in settings
-------------------

- :setting:`POOTLE_SCORE_COEFFICIENTS` accepts custom settings for user
  scores calculation.
- :setting:`POOTLE_TM_SERVER` no longer receives the ``MIN_SCORE`` parameter, as
  it was misleading and had questionable effects.
- :setting:`POOTLE_TM_SERVER` now accepts a ``MIN_SIMILARITY`` parameter, to
  filter out results which might be irrelevant. To learn more, check the
  documenation on :setting:`MIN_SIMILARITY <POOTLE_TM_SERVER-MIN_SIMILARITY>`.
- :setting:`POOTLE_EXPORT_VIEW_LIMIT` was added, with a default value of 10000.
  This restricts how many units are shown in export views.
- :setting:`POOTLE_SEARCH_BACKEND` was added, to allow configuring the search
  backend to be used.


Credits
=======

This release was made possible by the following people:

Ryan Northey, Julen Ruiz Aizpuru, Dwayne Bailey, Taras Semenenko, Leandro
Regueiro, safaalfulaij, Jason P. Pickering, The Gitter Badger, Rhoslyn Prys,
Mikhail Paulyshka, Mike Robinson, Kevin Scannell, Igor Afanasyev, Henrik Feldt,
Francesc Ortiz, Christian Lohmaier, burhan, Arash Mousavi, Andy Kittner, Adam
Chainz.

And to all our bug finders, testers and translators, a Very BIG Thank You.
