Jump to >

Review Board 1.5 Beta 2 Release Notes

Release date: May 13, 2010

This release contains all bug fixes and features found in Review Board versions 1.0.6, 1.0.7 and 1.0.8.

New Features

  • Added support for custom site-specific management commands.

    Review Board today provides a few management commands, invoked by running rb-site manage /path/to/site commandname. These were limited to the commands we bundled, but now administrators can write custom commands that they can invoke, which have access to the Review Board database and other internals. This can be useful for automation scripts.

    To make use of this, see the Django custom django-admin commands documentation and place the scripts in the sitedir/commands directory. You will need to create this directory if it does not exist.

  • Set the HOME directory for Review Board to be he site directory’s data directory by default.

    The HOME environment variable now points to the newly created sitedir/data directory. If you’re using Apache, then this only happens with new web server configuration files, but can be added by hand to existing configurations.

    This is mainly useful for SSH and HTTPS host and certificate verification, so that there’s a known good place to write the host and certificate files to. Previously, for this feature, users would have to manually set their web server’s user to have a writable home directory, which was sometimes difficult to do.

    This new sitedir/data directory is also the default directory for the SQLite database on new installations.

  • Multiple review requests can now be closed or reopened at once by administrations in the administration UI’s database browser.

  • Added a new REST API.

    The new API is much like the old one, but is cleaner, more browseable (as opposed to having to know and hard-code all the URLs in the client) and makes extensive use of existing HTTP methods and error codes. The API lives in /api/.

    The old REST API is deprecated, but won’t go away in this release.

    The new features included with this API are:

    • A more consistent interface. Creation of objects are always done by a HTTP POST to a list of resources. Updating is done by a HTTP PUT to an object resource. Deleting is done by a HTTP DELETE to an object resource.
    • Authentication is now done exclusively by using HTTP Basic Auth.
    • Lists of review requests or other objects are now paginated to reduce load on the client and the server.
    • Review requests can be filtered by multiple types of criteria, such as lists of reviewers, the repository, and more.
    • Every resource in the API now points to child resources and other related resources by way of hyperlinks in the resulting payload. This makes the entire API resource tree browseable by any client.

    There isn’t yet any documentation for this API, but that will be added before the final 1.5 release.

Usability Improvements

  • Added a resize grip to the comment dialog in the diff viewer and screenshot page.

  • Comment flags in the diff viewer now cover the entire range of lines that the comment was made on, making it more obvious at a glance. (Bug #1131)

  • Comment flags in the diff viewer no longer overwrap the line numbers.

  • The User Permissions list in the administration UI are now vertically stacked, making it possible to see the full permission names instead of only part of the permission names. (Bug #1520)

  • Added the Review Board logo to the administration UI, which links back to the main Review Board site. (Bug #1299)

  • Improved the rb-site installer UI.

    The installer now has a Review Board logo and window icon, some better separation between parts of the UI, and renames the Forward button to Next.

  • The organization of forms in the database browser in the administration UI has greatly improved.

    The fields that should generally not be modified (such as internal state) have moved to sections that are collapsed by default. The other fields have been better organized.

    Some fields that used to load hundreds or thousands of entries for selecting one object now just display the ID of the entry which, when clicked, allow for browsing for the new entry. There’s usually no reason to change these fields, but this change reduces the complexity of the site and the time spent loading the pages.

    Many of the lists of entries are now searchable, filterable, and have better default sorting.

Bugs Fixed

  • The Upload Diff dialog wasn’t showing File Not Found errors when the patch referenced an invalid file. (Bug #821)
  • E-mail failures are now logged to the Review Board log file, instead of displaying an HTTP Error 500 page. (Bug #872)
  • The Expand link in the diff viewer was showing a JavaScript error when clicked. Patch by Laurent Nicolas. (Bug #1500)
  • Starring or unstarring groups was broken. (Bug #1538)
  • HTML e-mails didn’t preserve formatting for comments. Patch by Laurent Nicolas. (Bug #1569)
  • Comments made in sections of the diff viewer that are normally collapsed were not visible when expanding that section. Patch by Laurent Nicolas. (Bug #1577)
  • Multi-line comments in the review form would cause breakages and failure to load parts of the form. Patch by Laurent Nicolas. (Bug #1636)
  • The group counts in the dashboard were wrong. Patch by Laurent Nicolas.
  • Screenshot comments were off by one pixel. A comment created at 0,0 would be saved as being at 1,1.
  • The Discard Review button was causing the page to redirect to an invalid URL when clicked.
  • The maximum length of repository paths were only 128 characters long, which was too short for some repositories. Increased the maximum length to 255 characters. Patch by Christian Hammond and Chris Trimble.
  • The Repository column in the dashboard no longer wraps.
  • Starring a review request on the review request page and then reloading no longer shows the review request as unstarred. This was due to a caching issue.

Contributors

  • Christian Hammond
  • Chris Trimble
  • David Trowbridge
  • Laurent Nicolas
  • Mike Conley