Jump to >

Review Board 2.5.11 Release Notes

Release date: May 25, 2017

New Features

  • Added touchscreen support for creating comments in the diff viewer.

    You can now use the touchscreen on an iPad (or another tablet device) to create multi-line comments in the diff viewer, or to view existing comments. The comment dialog can also be resized.

    The diff viewer is still not properly optimized for the screen sizes of mouse smartphones, but the touchscreen should at least work there as well.

  • Added support for portfolio IDs when configuring Assembla repositories.

    Portfolios are an organizational method used by Assembla for their projects/repositories. We now support configuring repositories that include a portfolio ID in the repository path.

  • Added an improved HTTP 500 page.

    Our old HTTP 500 page, shown when something breaks, was not very helpful. It listed some possible causes that were no longer relevant, and it just wasn’t very nice to look at.

    We’ve introduced a new HTTP 500 page that’s more pleasant and less misleading.

  • Re-introduced support for passing relative paths to rb-site.

    The path provided no longer has to be absolute, but it does have to look like a path (e.g., ./reviewboard/).

Performance Improvements

  • Rewrote diff parsing and storage for faster uploads.

    Our diff parsers have been rewritten to handle very large files, very fast, with less memory usage. This will allow servers to handle much larger diffs and make it faster to post changes for review.

    We’ve also optimized storing information on the diffs in the database, reducing the work needed on every upload.

  • Improved performance when posting existing commits for review.

    Posting existing commits for review in the New Review Request page no longer performs file existence checks for each file in the repository. Instead, the files are now expected to be there, since the commit was valid. This greatly decreases the time needed to post these changes for review.

  • Reduced database queries in the dashboard when using the Diff Size column.

  • Improved performance all around the diff viewer. (Bug #4389)

    The diff viewer is now much faster. We’ve optimized much of the diff viewer’s more complicated logic, reduced the work needed by the browser when resizing the page (and greatly improving the responsiveness in the process), and sped up rendering of the diffs and complexity graphs.

  • Added faster file existence checks when posting Perforce changes for review.

    When posting for review, the Perforce support would try to grab too much information about the files in order to determine if the files existed in the repository. Now existence checking is very fast.

  • Added improved Perforce ticket management, for faster communication.

    Perforce ticket management has been rewritten to do a better job of reducing the number of login attempts needed, and to communicate faster with Perforce.

  • Massively reduced the time needed to generate a search index.

    The search indexing code has been significantly optimized to reduce the number of database queries needed, shaving off potentially thousands or more queries per index and reducing the search indexing time by a couple orders of magnitude.

  • Optimized communication with some hosting services.

    Hosting services that use form data for their API requests will now see small performance and memory improvements.


  • File Diff Resource now lists the status field of the file.

    This indicates whether the file is copied, deleted, modified, moved, or unknown.

  • Default Reviewer Resource now allows for unsetting the repositories, groups, and users in an existing entry.

    To unset these, simply set the appropriate fields to empty values.

Bug Fixes

Review Requests

  • Fixed a crash when attempting to fetch the HTML for commented areas of a diff when a certain query parameter wasn’t included

    This typically manifested on public servers when indexed by search engines.

  • Added precautions against inconsistent state when posting a review request using an existing commit.

    If there’s an issue posting a new review request against an existing commit (such as a timeout when talking to the repository), it was possible to end up with a review request in a half-created state. This was particularly problematic when using Local Sites. The code has been rewritten to guard against this.

  • Resolving or re-opening an issue in a review no longer causes the page to jump.

    We had logic before that attempted to prevent jumps, but it wasn’t always reliable (depending on the browser). The new logic should keep the page firmly in place when clicking the button.


  • Fixed the display of bug links for a review request when there’s no repository.

    The links were appearing as clickable, but clicking them just took you to the review request page. They no longer appear clickable.

Diff Viewer

  • Typing a comment on mobile devices no longer triggers keyboard bindings.


  • E-mails for review requests not associated with a repository no longer say “None” in place of bug numbers.


  • Fixed a regression where users in LDAP weren’t being imported into Review Board when added in the reviewers list on a review request.

    All other backends allow for importing the users once they’re referenced for the first time (if the user didn’t have a matching account in Review Board already). This broke in LDAP a while back. It’s now possible once again to add these users to the reviewers field.


  • Barret Rennie
  • Christian Hammond
  • David Trowbridge