=====================================
Review Board 1.7 Beta 1 Release Notes
=====================================

**Release date**: August 3, 2012


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


Compatibility Changes
=====================

* Added a requirement for Django 1.4.

  This is the first release to require Django 1.4. This release is not
  backwards-compatible with earlier versions of Django.

* Dropped Python 2.4 support.

  We no longer support Python 2.4 deployments. This is part of our effort
  to move to more modern versions of Python, in order to improve the codebase.
  It's also a requirement that's otherwise enforced on us by Django 1.4,
  for the same reasons.


New Features
============

* Experimental extension support.

  Review Board 1.7 has experimental support for custom extensions. These can
  augment the functionality of Review Board by providing new pages, custom
  operations when actions take place, new review UIs, new REST API, new
  review request actions, new administration UI widgets, and more.

  Extensions have full access to the functions within Review Board, and can
  even provide their own database models for tracking data.

  This is a very experimental feature. We welcome people to play with it,
  but note that it is very likely that your extension will break between
  releases, depending on which APIs you rely upon. We don't intend for the
  entire Review Board codebase to be used as a stable API. We will in time
  document a stable API that can be relied upon.

  There's some `in-progress documentation
  <http://www.reviewboard.org/wiki/Building_Extensions>` available. This will
  later be moved into a developer's guide.

  This was the work of many developers and contributors. In particular,
  Mike Conley led a lot of the effort into getting this feature ready.

* New administration UI.

  The administration UI has been totally rewritten from the ground up. It's
  now cleaner, provides more useful information at a glance, and is
  extensible. The general look now fits in with the look of Review Board.

  The new UI consists of several widgets that flow onto the page. Each widget
  can describe a bit of information. The built-in widgets provide graphs
  of user activity, caching, and more.

  Some of the main settings are also listed on the side, for quick reference.

  Patch by Vlad Filippov.

* Issue summary table for review requests.

  The issue summary shows what issues have been filed on a review request,
  and their current states. Clicking on an issue will take you to the
  appropriate spot in the review.

  The list of issues can be filtered by status (opened, resolved, etc.),
  or by the reviewer.

  This makes it easy to see what still needs to be done when visiting
  a review request.

  Patch by Yazan Medanat.

* Moved files in a change are better represented in the diff viewer.

  Diffs that contain moved or renamed files under certain supported SCMs
  are no longer shown as one deleted file and one added file. We now show
  that the file was moved, and even show any changes that may have been
  made alongside the move.

  This is currently only supported for Git, but more SCMs will be supported
  in the future.

  Patch by Dave Druska.

* Some file attachments are now shown with more detailed previews.

  We've begun work on better file attachment support. The first step of
  that allows us to render image files with a thumbnail of the image, and
  text files with a snippet of their text. These renderers are extensible
  through our new extension support.

  Patch by Anthony Mok.

* Added a "To Me" column in the dashboard.

  The "To Me" column indicates whether a review request explicitly lists you
  as a reviewer. This helps prioritize what review requests to look at first.

  Patch by Anthony Mok. (:bug:`495`)

* Dates and times are now localized to the user's region.

  The default timezone in the database is now UTC, and users are able to
  set their own timezone in their preferences page. All dates and times will
  be shown relative to their timezone.

  Patch by Dave Druska.

* The review request update bubble now says if the review request was closed.
  Patch by Jim Chen.

* E-mails now include the review request ID in the subject header.

  This helps to identify a review request a bit faster, and makes it easier
  to refer to a review request by ID from just the e-mail.

  Patch by Curtis Miller. (:bug:`2271`)

* Links in the Description and Testing Done text now open in new windows or
  tabs. Patch by Jim Chen. (:bug:`2074`)

* Required fields on a review request are now marked as required by showing
  an asterisk. Patch by Yazan Medanat.

* Added a "Show changes" link on the change description boxes after publishing
  a diff. These will take you to an interdiff between the new diff and the
  previous version.

  Patch by Curtis Miller.

* Added support for the latest CVS diff file format.

  The latest CVS diff file format appends version information to the filenames
  in the diffs. We now support this format if encountered.

  Patch by Rodrigo Castro.


Removed Features
================

* The hidden reports feature (accessible at ``/reports/``) has been removed.
  The goal is to replace this with a more useful extension.


Performance Improvements
========================

* Reduced download time of JavaScript and CSS.

  All JavaScript and CSS files are now combined and minified. This reduces
  the number of downloads and the total download time by a considerable
  amount, making for a faster experience on an empty cache.

* Reduced diff storage and lookups.

  Any new per-file diffs uploaded will only be stored once in the database,
  instead of per-upload. That is, if you upload two patches, and one of the
  per-file diffs hasn't changed between the two, the diff will only be stored
  once in the database. This should reduce database sizes from here on out,
  but does not affect existing diffs.

  Patch by Dave Druska.


Web API Changes
===============

* Added server capabilities in ``/api/info/``.

  The ``/api/info/`` resource now has a list of server capabilities in
  a ``capabilities`` dictionary. These are organized by categories, each
  of which has a dictionary of capabilities as values. See the documentation
  for an example.

  This currently only contains one item, ``diffs.moved_files``, which
  indicates whether the server supports moved file information in diffs.

* Added resources for viewing the original and patched files for a FileDiff.

  These are child resources of the FileDiff resource, and can be retrieved
  by following the ``original_file`` and ``patched_file`` links, when
  available.

  The original file resource is not available for new files, and the
  patched file resource is not available for deleted files.

  Patch by Steven MacLeod.


Bug Fixes
=========

* The "Diff Updated" column in the dashboard now actually reflects the
  last diff update.

  Existing review requests will see blank values under the column until
  their next diff update.

  Patch by Bogdana Popa. (:bug:`1246`)

* Captions changes for file attachments are now shown on change description
  boxes, just like screenshot caption changes.

  Patch by Bogdana Popa.


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

* Anthony Mok
* Bogdana Popa
* Christian Hammond
* Curtis Miller
* Dave Druska
* David Trowbridge
* Jacob Farkas
* Jim Chen
* Kahlil Almani
* Kevin Quinn
* Rodrigo Castro
* Stephen Gallagher
* Steven MacLeod
* Vlad Filippov
* Wilson Yeung
* Yazan Medanat
