================================
Review Board 1.6.4 Release Notes
================================

**Release date**: February 26, 2012


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

* Added support for `Codebase HQ`_ as a hosting service.

  This supports Git repositories on Codebase HQ, and makes it easy to get
  set up fast.

.. _`Codebase HQ`: http://www.codebasehq.com/

* Toggles for issue tracking now appear in the review dialog.

  The review dialog wasn't showing any of the issue tracking state, making
  it impossible to change them from that dialog or even see which issues
  were open. They're now shown and saved along with the comments.

  Patch by Jim Chen. (:bug:`2282`, :bug:`2399`)

* Added database dump/load management commands for rb-site.

  New management commands have been added to dump the database to a
  database-agnostic file, and to load it back in again. This makes it
  possible to migrate a database across different database servers,
  such as from SQLite to MySQL.

  These are invoked by running::

      rb-site manage /path/to/site dumpdb > database.json

  and::

      rb-site manage /path/to/site loaddb database.json


  Note that this is intended only for use when migrating between databases,
  and may be slow depending on your database size.

* Objective-C++ '.mm' files now show function/class headers in the diff
  viewer, just like '.m' files. Patch by James Farwell.


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

* The web API now identifies resource payloads by resource-specific mimetypes.
  These are JSON and XML-compatible, but contain specific information that
  can be used by a consumer to identify the resource without inspecting the
  path.

  This will be needed for the next major release of RBTools.

* API requests that take a boolean parameter now accept ``true`` as a valid
  value.


Bug Fixes
=========

* Fix problems with Git when changes are made to previously empty files.

  The file existence check for Git wrongly determined that empty files meant
  that the file didn't exist. This was problematic particularly for
  Python :file:`__init__.py` files.

* Fix Basic HTTP auth issues when accessing remote Git or Mercurial
  repositories. (:bug:`547`)

* Fix SPF compliance for e-mails.

  Review Board sent emails with a Return-Path of the current user. This
  wasn't SPF compliant, and as a result review emails could be rejected
  if a user's domain implemented SPF with a reject all failed messages policy
  and a receiver checked SPF.

  Now, the From header is set directly, and the site's default From e-mail
  address is set as the Return-Path.

  Patch by Ben Cooksley.

* Fixed potential KeyErrors when creating a repository without a path.

  If the repository form in the administration UI was submitted with
  a custom hosting service but with an empty patch, our validation code
  would break, causing an HTTP 500 error. Now we validate properly and
  inform the user.

* Prevent HTTP 500 errors if we receive badly encoded text during repository
  validation. (:bug:`1921`)

  When saving a repository entry, it was possible to get text in an encoding
  we didn't expect, and it would trigger a crash. We now attempt to fix
  the encoding before showing the error.

* Added validation for the cache backend setting. (:bug:`2347`)

  The cache backend setting wasn't validating that the specified cache
  backend was sane. Setting something invalid could break the site, since
  Django would complain. Now we make sure it's a valid cache backend URI
  so this won't ever happen.

* Fixed global default reviewers on Local Sites. (:bug:`2367`)

  Default reviewers that were global would be incorrectly applied to
  Local Sites, which often was not wanted. Now, we limit the default reviewers
  we match to the ones associated with the LocalSite.

* Fixed encoding errors in the user infobox for users with unicode names.
  (:bug:`2309`)

  Users with unicode characters in their names or e-mail addresses could
  break the infobox, due to how we were setting the cache keys. We now
  handle the encoding properly.

* Made the "Expand All" icon work in the review request page.
  Patch by Steven MacLeod. (:bug:`2439`)

  The icon on the "Expand All" button wasn't clickable, which was confusing.
  Now clicking it expands the reviews.

* Fixed the help text for Git paths in the administration UI. (:bug:`2448`)

  The help text was not very clear about the expected path for repositories.
  It talked about the local case, but not the remote. It now more clearly
  describes what to do in each case.

* Improved the help text for the LDAP user mask field. (:bug:`2447`)

  The help text now gives another example for what should be set in this
  field, based on common settings from other installs.

* Show the correct review request ID in the "Review ID" column for Local Sites.

  The "Review ID" column in the dashboard was showing the wrong value for
  review requests on Local Sites.

* The "Posted" date now shows up in the review request.

  The creation date of the review request was shown in the dashboard, but
  not in the review request. It's now added alongside the
  updated/submitted/discarded timestamp.

  Patch by Curtis Muller. (:bug:`1252`)

* Duplicate CC headers on e-mails have been removed. Patch by Chris Tandiono.

* Fixed links to screenshots in e-mails. (:bug:`2305`)

* Fixed a potential crash when using LDAP without ``fullName`` set.
  (:bug:`2382`)

  When an LDAP server was configured without a ``fullName`` attribute
  assigned, it would cause an ``AttributeError``, generating an HTTP 500.
  This should be a valid configuration, though, so now we accept it.


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

* Ben Cooksley
* Christian Hammond
* Chris Tandiono
* Curtis Muller
* David Trowbridge
* Jim Chen
* Steven MacLeod
