===================================
Review Board 2.5 RC 1 Release Notes
===================================

**Release date**: August 17, 2015


This release contains all bug fixes and features found in Review Board version
:doc:`2.0.18 <2.0.18>`.


Installation
============

To install this release, run the following::

    $ sudo easy_install \
        -f http://downloads.reviewboard.org/releases/ReviewBoard/2.5/ \
        -U ReviewBoard

The final 2.5 release will be very close to 2.5 RC 1, so if you're looking to
upgrade your production instance to 2.5, you should absolutely try 2.5 RC 1 in
a test environment.

We **do not** recommend upgrading a production server with this version of
Review Board just yet. It's best to install on a test server, with a copy of
your production database, in case there are any major problems.


New User Features
=================

E-Mail
------

* Added new headers for filtering review request e-mails.

  E-mails for reviews containing a Ship It! will include a
  ``X-ReviewBoard-ShipIt`` header. If the review doesn't contain any
  other content (for instance, if it's the result of the pressing the
  :guilabel:`Ship It!` button), it will also contain a
  ``X-ReviewBoard-ShipIt-Only`` header.


Markdown Improvements
---------------------

* The Markdown editor now provides syntax highlighting support for:

  * CoffeeScript
  * CSS
  * Go
  * HTML
  * JavaScript
  * Perl
  * PHP
  * Python
  * ReStructuredText
  * Ruby
  * Shell scripts
  * SQL
  * XML
  * YAML

  This can be used by specifying the language when using fenced code blocks.
  For example::

      ```python
      class Foo(object):
          pass
      ```


Mobile UI
---------

* The login, register, and password reset pages are now built for mobile
  UIs.

  The password reset pages also got a makeover for desktop.

* The user page and dashboard now have a drop-down filter menu for choosing
  which review requsts are visible on mobile devices.


Extensions
==========

* Added new extension hooks for manipulating the recipient list for review
  and review request e-mails.

  The new :ref:`rb2.5:email-hook` allows an extension to designate new lists
  of recipients for all the review/review request e-mails that Review Board
  sends. They can update both the To and CC lists for any e-mail.

  These take lists of signals the hook should listen to for the various events
  (such as
  :py:data:`~rb2.5:reviewboard.reviews.signals.review_request_published`).  As
  a convenience, callers can make use of one of the subclasses for specific
  events:

  * :ref:`rb2.5:review-request-published-email-hook`
  * :ref:`rb2.5:review-request-closed-email-hook`
  * :ref:`rb2.5:review-published-email-hook`
  * :ref:`rb2.5:review-reply-published-email-hook`

* API resources provided by extensions can now add specialized serialization
  of links.

  Subclasses of :py:class:`~rb2.5:reviewboard.webapi.base.WebAPIResource` can
  implement a :samp:`serialize_<linkname>_link()` function to provide the
  desired information for the link. This is useful for links that need to
  contain additional metadata about the link that would be helpful to the
  consumer.


Bug Fixes
=========

Dashboard
---------

* Fixed the display of Gravatars in the dashboard.


Diff Viewer
-----------

* Fixed displaying trophies on the diff viewer page.

* The checkbox for choosing whether to send e-mails on review request updates
  is no longer missing on the diff viewer.


E-Mail
------

* Fixed Unicode errors when sending e-mails with UTF-8 content. (:bug:`3926`,
  :bug:`3943`)


File Attachments
----------------

* Fixed regressions in rendering file attachment captions.

* Fixed unwanted gaps above the tabs in the Markdown file attachment review
  page.


Review Requests
---------------

* Opening and closing editors no longer results in review request or
  review drafts.

* Fixed the review reply draft banner sticking around in memory and listening
  for events after publishing a reply.

* Fixed the review request update bubble appearing below other elements on
  the page.

* Fixed the display of Gravatars in reviews and replies.


CVS
---

* Fixed Unicode errors when normalizing keywords in CVS diffs. (:bug:`3931`)


Subversion
----------

* Fixed Unicode errors when parsing SVN diffs containing accented characters
  in the revision strings.

  Patch by Maxime Besson.


Contributors
============

* Barret Rennie
* Christian Hammond
* David Trowbridge
* Maxime Besson
