New and Improved Documentation!

Traditionally, our documentation hasn't been as in-depth and fleshed out as our users and ourselves would have wanted. We've used our Wiki to store various small pieces of documentation, and while better than nothing, too many people were still getting stuck.

I'm pleased to announce that we've fully rewritten our documentation and made it available directly on our website. There's a new Users Guide, Administration Guide, FAQ, and the beginnings of Code Base Documentation.

There's still more planned for the documentation. The goal is to prevent it from getting stale, and to update it any time something related updates in Review Board. Over time we'll add more details on various pieces of Review Board, allow users to give feedback on pages, and more.

We've tried to make sure to address everything that the old documentation addressed, but please file a bug if something is missing or confusing.

Participation in Summer of Code 2009

This year, Review Board has been accepted as a mentoring organization in Google's Summer of Code. This will give students an opportunity to contribute to Review Board and to get paid to do so, and it should result in some awesome features added in the next version of Review Board.

Students who would like to participate should look at our ideas page for possible projects and our Summer of Code Information page for some helpful links and details on participating.

We've also decided to continue offering Review Board hosting for projects participating in Summer of Code, even ones that aren't related to Review Board. This can help mentors to review students' code, keep track of what was done, and to introduce students to good code review practices.

If you have project proposals or questions, you can reach us privately or on our mailing list.

Review Board 1.0 alpha 4 released

Some last-minute brokenness snuck into alpha 3, so we're releasing a quick alpha 4 that should fix it. If you installed alpha 3, upgrade immediately.

Bugs Fixed:
  • post-review should now work with SVN regardless of the locale set. (Bug #888)
  • Fixed an infinite loop in the Git diff parser. Patch by Dennis Schön. (Bug #887)
  • The first file in the diff viewer would sometimes come back as escaped HTML. It's now embedded correctly.
  • The comment dialog's "dirty" state wasn't being reset for new comments. This would leave reviewers unable to make new comments.
Review Board 1.0 alpha 3 released

Review Board 1.0 alpha 3 has just been released. This release fixes a few major bugs introduced by 1.0 alpha 2 (over-aggressive caching primarily) and several browser-compatibility problems. Safari and Internet Explorer both had compatibility issues with some of the features we introduced, and we've since worked around them.

To upgrade from a previous alpha, just run:

$ sudo easy_install -U ReviewBoard
$ rb-site upgrade /path/to/site

A full summary of the changes are below:

Bugs Fixed in rb-site:
  • Generated files no longer have DEBUG=True enabled by default.
  • The generated FastCGI and Apache config files should now work better out of the box. We had path issues in reviewboard.fcgi. We also now set the PYTHON_EGG_CACHE directory and default to processing .htaccess files in htdocs (which some distros don't have enabled by default).
Bugs Fixed in the Diff Viewer:
  • Fixed some major performance issues when typing in the diff viewer. This was the cause of many reports of slowdown and visual oddities when creating comments.
  • Unchanged files should no longer show errors in interdiffs.
  • Fixed file-based navigation ("<" and ">" keys) in the diff viewer. (Bug #696)
  • We no longer show a nonsensical error when SVN logins fail. (Bug #721)
  • Fixed anchors in the diff viewer. (Bug #828)
  • Fixed the "Expand/Collapse Diffs" toggle in the diff viewer. (Bug #862)
Bugs Fixed in Reviews:
  • The review request page is no longer cached across login sessions. We were over-aggressive in the caching and are now a lot more careful.
  • Upload Diff/Screenshot dialogs on Safari are now centered instead of being docked to the far-left side.
  • Uploading diffs and screenshots now works on Safari.
  • Empty Changeset errors in Perforce should now properly be shown to the user. They were in some cases triggering a server-side error.
  • The Change Description field no longer animates open on page load.
  • Sentences containing the word "bug" or "issue" no longer generate links unless followed by either specifically a number or a "#" followed by alphanumeric characters.
  • Fixed some escaping issues in the review request summary, which would cause characters (such as quotes) to appear incorrectly. (Bug #860)
  • Fixed some issues with auto-linking text in the Description and Testing Done fields. There were issues on initial page loads with linking URLs that were followed by quotes, "<" and ">". (Bug #864)
Feature Improvements:
  • We now pre-load the first file on a page in the diff viewer, in order to make it appear that the page is loading faster. Many people felt the new, faster diff viewer was slower because even after the initial page load, they had to wait to see any diffs. They're now able to work with the first diff the moment the diff viewer loads.
  • Added hover/clicked styling for the review request action buttons.
Review Board 1.0 alpha 2 released

We've just put out a release of Review Board 1.0 alpha 2. This release has some major improvements and bug fixes over alpha 1, and we recommend that everybody upgrades.

The main improvements are performance-related. We've added aggressive browser-side caching support, as well as reorganized load times in our pages in order to reduce load times. The diff viewer now loads almost instantly and then progressively loads diffs on the fly, meaning you can start reviewing right away.

If you have mod_expires and mod_deflate (Apache) or mod_gzip (lighttpd) enabled, you'll see the cache and load time improvements. Apache users will get the new configuration for taking advantage of this for free, but if you're a lighttpd user, you'll need to update your configuration based on our lighttpd.conf template.

Going forward, upgrades using easy_install will not grab nightlies. They will only be grabbing stable releases. If you want to continue using nightlies, please refer to the Getting Started guide.

A full summary of the changes in this release are below:

Bugs Fixed in post-review:

  • We now strip the filename coming in from Perforce. There can be a trailing newline sometimes, resulting in a failed upload. (Bug #726)
  • We set the correct locale now when invoking svn. Patch by Łukasz Jernaś. (Bug #822)
  • Fixed backwards version comparison logic in post-review's GitClient. Patch by Stacey Sheldon.
  • Added support for hgsubversion. Patch by Augie Fackler
  • Added support for Clearcase. Patch by Daniel Belz.

Bugs Fixed in rb-site:

  • rb-site now sets "postgresql_psycopg2" as the DATABASE_ENGINE for PostgreSQL installs. Patch by Rusty Burchfield. (Bug #822)
  • rb-site should now generate config files that work correctly on Windows servers.

Bugs Fixed in Review Board:

  • Whitespace from usernames are now stripped on LDAP accounts, which prevents duplicate user accounts in the database. (Bug #728)
  • Fixed a bug where anchors in comment flags were incorrect and were getting lost when setting the comment count for the flag. This was breaking anchors to parts of the diff. (Bug #820)
  • The fields in the comment dialog are now disabled if the user is not logged in. (Bug #827)
  • Key presses in dialogs or in the review request details box no longer trigger navigation in the diff viewer. (Bug #828)
  • The "Review" link on a review request is no longer displayed if the user is not logged in.
  • Trailing whitespace wasn't shown in diff fragments on the review request page.
  • Trailing whitespace wasn't always shown in the diff viewer, if it appeared in the middle of a comment block.
  • Removed some old YUI files that were still in the repository.

Feature Improvements:

  • Improved lighttpd and Apache+fastcgi support. A Review Board install using either lighttpd or Apache+fastcgi should now work out of the box without setting up any custom scripts for launching fastcgi.
  • The diff fragments placeholders in the review request page are now set to the same size as the fragment itself. This means that progressively loaded fragments should no longer cause the page to jump nearly as much, resulting in a smoother loading experience.
  • When displaying the Review form, we now make sure that the form is scrolled to the top. This fixes a bug where the page was often scrolled to the bottom of the list of comments.
  • Several improvements were made to Bazaar support. We now use bzrlib and support revid information in the diff header.
  • The comment dialog is now slightly wider and has slightly smaller text, resulting in more room for comments.

New Features:

  • Load times for nearly all parts of Review Board have greatly increased. The browser is now instructed to aggressively cache media files and many pages, meaning fewer downloads when going to any particular page.

    We optimize the order in which resources are loaded in order to take advantage of the browser's ability to parallelize downloads of similar resources types (such as CSS files or JavaScript).

    The results of these files are GZip'd to further increase transfer speeds.

    Apache users will get these improvements for free. lighttpd users will need to upgrade their lighttpd config file based on the template provided with Review Board in the contrib/conf/ directory.

    On top of this, we now use jQuery 1.3.1, which is many times faster than the previous version of jQuery we were using, and we also have a number of improvements such as progressive loading of the diff viewer.

  • Added progressive loading of the diff viewer. This is one of the main features of this release. Regardless of the size of the diff, the diff viewer now loads quickly, and loads each file's diff progressively. This gives people the ability to review code before all the diffs have even been generated.

    This also fixes some major scalability issues we've had with large diffs. In theory, it's now possible to review very large diffs that span many pages.

  • Added support for linkifying pieces of text in the Description and Testing Done fields. (Issue #258)

    The following formats are supported:

    • URLs
    • /r/123 numbers (even /r/123/diff and such)
    • bug/issue numbers (in the form of "bug abc123", "bug #abc123", "issue abc123" and "issue #abc123")
  • Added support for Clearcase repositories. This depends on a mounted view on the Review Board server. Patch by Daniel Belz.
New Website

Back in the early days of Review Board, just before we were set to announce, I threw together a little website for the project. We were small then, with just a few users (no companies outside VMware, really), and the website didn't need to have much.

We've grown considerably since then, and the website was starting to feel really stuffy and outdated. It also wasn't built to handle some of the things we have planned for it, such as a documentation browser in the site or community features for third party developers and users. So, I decided it was time to give the site a makeover.

The new site is a lot cleaner and leaves room to breathe. There's still more planned for the site, and there's probably a few breakages here and there, but it's a definite improvement over the old one.

In the next week, I hope to begin bringing new parts of the site online. We also have a 1.0 alpha 2 release planned.

If you find any breakages, please let us know.

Review Board 1.0 alpha 1 released

After a long time in development, we're finally approaching our landmark 1.0 release. Today we've released Review Board 1.0 alpha 1, which can be downloaded by following the instructions on our downloads page or through our Getting Started guide.

This release has been considered stable enough for production use. A number of companies have been using the nightlies leading up to this release for quite a while. If you've been using nightly releases until now, you'll automatically be switched over to the 1.0 alpha 1 release the next time you upgrade. If you want to keep using nightlies to help test the latest and greatest, see the "Nightly Releases" section in our Getting Started guide for instructions on switching back.

In the following months, we expect to release one more alpha, two betas, a release candidate, and the final 1.0 release. The plans leading up to the 1.0 release are available in our roadmap. We're going to be focusing on complete installation, administration and user documentation, as well as enhancing usability and stabilizing the product. This also means we're going to begin entering a feature freeze, where we'll only accept new features if we agree they're critical to this release. Most new features will be saved until after 1.0.

We'd like to thank the 100+ contributors who have helped make Review Board such an awesome code review tool. If you have questions, need support, or would like to help out with the project, you can contact us on our mailing list or file bug reports. And if you're a happy user, we'd love to hear from you too!

New Review UI

Review Board has been around for a couple of years now, and the UI really hasn't changed much. The initial UI we wrote worked well enough, but had a number of usability problems we were all too aware of. We knew we needed to address these for the 1.0 release.

During the past month or two, we've been rewriting much of the Review Board UI. It's now based on jQuery, an elegant cross-platform JavaScript toolkit, which allows us to maintain clean code with minimal browser-specific hacks. This means better compatibility with Firefox, Internet Explorer 6/7/8, Safari, and Opera.

In an effort to streamline the code review process, we've made several key changes.


The comment/review dialog has been split up and simplified. The old dialog was confusing to many users for a number of reasons. Mainly, it tried to do too much by handling not only commenting on a diff line or screenshot but the reviews as well.

People often tried using the old dialog to reply to existing comments, which led to brand new reviews instead of replies. This was largely due to the way we represented comments on the old dialog.

Now we have a simple comment dialog for both the diff viewer and screenshot pages. The green portion representing the new draft comment provides a single text area for the comment, and Save and Cancel buttons. To the left is a list of existing comments for that region (if any). Each item contains "View" and "Reply" buttons. Clicking these will jump to the reviews page, and in the case of "Reply," a new comment will be added below the comment being replied to on the reviews page. This will hopefully make replying more straightforward. We have some further improvements we'll make in this area in the future.

Comment Dialog

Editing reviews

The review portion of the dialog is now its own entity. When clicking on "Review" on the review request details box, or when clicking "Edit Review" on the new draft banner (which is docked to the top of a review request page when there's a pending review), a modal box will pop up containing the review.

Review Banner

This new box is a vast improvement over the old review dialog. Like actual reviews, the screenshot and diff fragments are displayed inline, and progressively loaded. Users can make changes to existing comments they've made. The review can be saved, published, or discarded straight from there, or from the banner itself.

No more lost comments

It's harder to lose comments now. When there's a pending comment on a page and the user attempts to move away from the page, a confirmation dialog will appear. This currently happens on the diff viewer and screenshot dialogs only. The functionality will be added in a later change to reviews and the review form.

Unsaved Changes Warning

Feedback and comment previews

There's more feedback now when making changes. When saving or deleting a comment, little bubbles briefly float up near the comment flag or region and let the user know what just happened.

The selected region of the diff viewer used to be indicated by a little arrow in the left-hand column. This was sometimes hard to notice. We now make the border around that region more bold, making it quite clear where you are in the diff viewer.

Hovering over a comment flag or a comment region now shows a little tooltip with the comments. It's very brief. No author information is shown, just the text, but clicking the area provides that additional information.

We provide slightly better error feedback now. The error banners at the top of the page now contain any debug information, such as a backtrace, when something goes wrong. In DEBUG=True installs, this information is very valuable. This certainly makes debugging Review Board itself much easier.

Better action placement

Review request actions ("Set Submitted", "Add Screenshot", etc.) have been moved to the top of the review request box where they're more easily seen. "Set Submitted," "Discard" and "Delete" are no longer top-level actions. They now exist in a "Close" drop-down menu. This saves space and groups them together under one concept -- you're in some way closing a review request out.


More descriptive dialogs

We're working to add some better help to the dialogs. The Upload Diff dialog, for instance, now has descriptions below each field. In the future, we'll add better inline helping throughout the product.

Update Diff Dialog

Better browser compatibility

We have much better browser compatibility now. The new UI should work quite well on IE6/7/8, Firefox, Opera, Safari, and Konqueror.

Upgrade Notes

It's very important to clear your server-side cache when upgrading Review Board, or some things just won't work. If using memcached, restart the service.

You may also need to tell your users to clear their browser cache if they run into problems.


Please let us know if there are major issues with this rewrite. It's been tested fairly heavily, but may still have unforeseen problems. As always, you can report bugs or post to the mailing list for help.

Installation and upgrading is now easier!

One of the major pain points of Review Board has been its installation methods. Users had to do a lot to get Review Board up and running initially. We've finally addressed this with new Python Egg packaging and a site installation wizard.

The major parts of installation basically boils down to two commands:

 $ sudo easy_install ReviewBoard
 $ sudo rb-site install /var/www/sitename

While upgrading is now:

 $ sudo easy_install --upgrade ReviewBoard
 $ sudo rb-site upgrade /var/www/sitename

Please see the Getting Started guide for additional information and site migration instructions. If you have any problems or questions, contact us on our mailing list.

Django 1.0 alpha released

Django, the web framework Review Board is built upon, is approaching their 1.0 release and have released Django 1.0 alpha for download. In order to keep up with Django development, Review Board has required the Django Subversion development tree to run, requiring that users develop a basic understanding of Subversion and keeping their copy up-to-date.

With the new Django alpha release, we're now able to remove this extra burden. As of tonight, Review Board now requires Django 1.0 alpha or higher. Simply download the new release and install it. Of course, if you're currently using a Subversion checkout of Django, you can continue to use it.

The Django 1.0 release will bring us a step closer to our own 1.0. There's a few major features still planned, and lots of bug fixing. We'll have a roadmap up in the coming weeks detailing our plans. Stay tuned!

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 pages