Jump to >
Review Board 1.0 RC2 released

It seems a few bad bugs snuck into RC1 that affected many users. Thanks to everyone who tested RC1 early and let us know! We've just released RC2, which should prove to be a much more reliable release.

We will probably put out one more RC release after this, which will improve installation on Windows and fix any remaining showstoppers. We'll then release 1.0 shortly after.

Bugs Fixed:

  • Installation of new sites using rb-site was broken. (Bug #1012)
  • The dashboard threw an exception when using PostgreSQL. (Bug #1099)
  • LDAP e-mail generation was broken and caused an exception.
  • Active Directory was broken for some users and caused an exception. (Bug #1112)
  • We hit concurrency issues when saving reviews sometimes. We now register each with a ConcurrencyManager.
  • Apache configuration files with spaces in filenames were still broken. (Bug #1111)

Feature Enhancements:

  • Control-Enter now saves in the comment dialog, and Escape cancels the comment.
Review Board 1.0 RC1 released

Update: There's a known bug in RC1 where rb-site install will fail on a fresh new install. We will have a new release soon, once we make sure there aren't any other major regressions. You can either attempt to install a previous beta and then upgrade to RC1, or you can use the May 4th nightly by running: easy_install -f http://downloads.review-board.org/nightlies/ -U ReviewBoard

One more giant step toward 1.0! We've just released 1.0 RC1, which contains a number of bug fixes, some new features, and usability improvements.

We've reached a new milestone with this release. Every pre-release issue in our bug database tagged for 1.0 has been fixed. This is a release candidate, so the hope is that this version will be stable enough for a final 1.0 release. If we don't see any major show-stopping bugs in the next couple of weeks, we'll release 1.0.

At this point, we are feature frozen. No new features will go in for 1.0, nor will bug fixes for minor bugs. Following 1.0, we'll be working simultaneously on a 1.1 and a 1.5 (or 2.0) release. The 1.1 release will contain bug fixes and some features, while 1.5 (or 2.0) will be a major feature enhancement release.

So with that, here's what you can expect from 1.0 RC1.

Bugs Fixed:

  • The review request page was "jumpy" on load. The review request and review draft banners would display after the page loaded. We now display these along with the page, minimizing the jumpiness of the page.
  • Saved settings weren't always taking effect until after the server was restarted. (Bug #734)
  • The comment dialog wasn't appearing on screenshots. (Bug #1013)
  • The comment dialog width was incorrect when showing existing comments.
  • The Registration page wasn't working after upgrading to beta 1 until you forced a save on the General Settings page. (Bug #1033)
  • Comment flags weren't always being shown on diffs. (Bug #1028)
  • Site paths with spaces in the path resulted in broken web server configuration files. (Bug #1015)
  • We were redirecting to the review request page when just saving a review, instead of staying on the same page. (Bug #1056)
  • The left-hand side of a diff would be collapsed into a small column when showing an interdiff for a newly added file. (Bug #730)
  • rb-site didn't properly allow for specifying a database host with a port number. Patch by Eric Huss.
  • Different versions of a diff fragment were being cached with the same cache key, causing display problems when switching between diffs and interdiffs containing new or deleted files. This also broke anchors in the diff viewer. (Bug #1036)
  • The review request page was caching the page contents without taking into account whether the user had a pending review or reply, making it appear as if the review/reply was lost.
  • Linkified URLs were breaking when the URL was followed by an entity. Part of the entity was being embedded in the URL, breaking both the URL and the display. (Bug #1069)
  • The black selection rectangle in the diff viewer was too far off to the left in Internet Explorer 8.
  • Fixed some speed issues and warnings in our PNG transparency support for Internet Explorer 6. (Bug #817)
  • LDAP and Active Directory broken on servers that don't support "givenName" and "sn" fields. (Bug #891)
  • Bug tracker URLs that didn't include a "%s" marker caused breakages on review requests using bug numbers. (Bug #1091)
  • The "Download Diff" link was displaying even when the diff wasn't accessible. We now use the same rules as we use for the "View Diff" link. Patch by Eric Huss.
  • Clicking the edit icon (the pencil) on review requests sometimes caused the browser to scroll. (Bug #1057)

New Features:

  • Added an activity indicator at the top of the page to show when a request is being made. Examples include saving a comment, marking a change as submitted, or saving fields on a review request. This appears as a small but eye-catching box at the top of the page with a spiner, letting the user know that the request is still being processed. (Bug #945)
  • Changed the "Ship It" column to show the number of reviews marked "ship it" next to the checkmark. This makes it easier to see at a glance how many people have signed off on the review request.
  • Drastically sped up the dashboard. (Bug #406) We were making a lot of queries in the dashboard, depending on the columns used. In a worst-case scenario, this resulted in a few hundred queries. A lot of work has gone into reducing the number, which both lightens the load on the database server and speeds up loading the page.
  • Added an "All My Requests" entry to the dashboard's sidebar, which shows all open and submitted review requests that the user has made. Patch by Noah Miller. (Bug #503)
  • Added a field to the General Settings page for selecting the timezone. (Bug #1038)
  • Added URL, bug number, and review request ID linkification to reviews and replies. This works the same way that review request linkification works. (Bug #916)
  • Added support for using mod_fcgid on Apache through the generated fastcgi Apache configuration file. Patch by Mark Knittig.
  • Added "x" and "c" shortcut keys in the diff viewer for going to the previous/next comment. This is useful on French keyboards that don't have "[" and "]" keys. (Bug #1031)
  • rb-site now warns about missing dependencies before starting the install, and limits configuration to what's available. This prevents the case where people would get part-way through an install and see it fail due to a missing Python module or database server. (Bugs #755, #756)
  • Made the user selection fields in the administration UI more usable. They now display as a side-by-side view, with selected users on the right, and the list of users is searchable. Patch by Eric Huss. (Bug #912)
  • Improved compatibility with Active Directory servers, allowing for using a "custom search root" that administrators can override for specific setups, and for using the server's "mail" field when available for e-mail addresses. (Bug #908)
  • Added subtle animations for the review draft banner, indicating whether we're creating a new review or discarding one.
Review Board 1.0 beta 2 released

A last-minute regression was found in our beta 1 release due to some API changes made in jQuery. We've fixed these issues and released beta 2, which all beta 1 users will need to upgrade to.

We don't anticipate further showstopper regressions in beta 2 (knock on wood), but if there are, please e-mail the mailing list and file a bug and we'll take care of it!

Announcing RBTools 0.2 beta 1

Along with the Review Board 1.0 beta 1 release, we're also announcing a new package called RBTools, which had its first release tonight.

RBTools is the new home of post-review, and will in time contain new useful scripts for use with Review Board. No longer do users have to grab the latest version of post-review from our source trees. We'll be providing formal releases from now on.

To install, simply run the following (as root):

$ easy_install -U RBTools

Along with the new package comes some new features and fixes for post-review. A full summary is provided below:

Bugs Fixed in post-review:
  • The help output for --repository-url and the error output used for when --parent isn't supported was referencing the wrong names for some parameters.
  • Patches generated against a git tree were broken when running post-review inside a subdirectory of the root of the tree. Patch by Luke Lu. (Bug #928)
  • Fixed a parsing error when using diffs generated by Git. Patch by Stacey Sheldon.
  • Removed a duplicate CVSClient class, which added to the file's size and possibly caused some errors. Patch by Lepton Wu.
  • Fixed a deprecation warning when using post-review on Python 2.6. Patch by Eric Huss.
  • Fixed parsing Perforce changesets that include binary files. Patch by Raghu Kaippully. (Bug #585)
New Features in post-review:
  • Added new --guess-summary and --guess-description parameters for Git repositories that provide defaults for both the summary and description based on the commit messages on the branch. Patch by Luke Lu. (Bug #927)
  • post-review can now look up the Review Board server URL from Perforce counters. See the documentation inside post-review or on the website for examples on how to set this up.
Review Board 1.0 beta 1

We've just taken one big step toward our 1.0 tonight with the release of Review Board 1.0 beta 1. This is an important release, and introduces new features, many performance enhancements, and a whole lot of bug fixes.

Two of the big highlights include the ability to disable user registration and some major performance enhancements.

The review request page now handles large numbers of reviews and comments in a much more elegant way. Previously, we'd fetch a diff fragment per comment from the server, which mean that if there were 100 comments, we'd fetch 100 diff fragments, slowing down loading. Now, we're only performing one fetch per reviewed file, no matter how many comments are on that file.

The other major improvement is in the diff viewer. Some deep profiling work was done on the comment and diff loading code in the diff viewer, and we've managed to speed things up significantly. In one of our tests, a large file with only 15 comments would take over 1 second of browser time to load and place comments on the diff. With the new improvements, that has dropped to about 150 milliseconds.

A full summary of the changes are below:

Bugs Fixed:
  • Fixed index errors shown during some interdiffs and empty diffs. (Bug #892)
  • Interdiffs would break when one revision had a newly added file. (Bug #847)
  • Interdiffs no longer pre-load all files on a page before showing anything. They now load each file independently, like normal diffs.
  • We no longer display the "Download Diff" button on interdiffs. (Bug #873)
  • Clicking the "ghost" comment flag in the diff viewer wasn't triggering a comment dialog for that line.
  • We now correctly parse Git diffs that don't include "a/" and "b/" prefixes in the filenames. Patch by Andrey Fedorov. (Bug #883)
  • We now forward on the Perforce Empty Changeset error, instead of returning an Internal Server Error.
  • Fixed some problems with Perforce errors on newer versions of the P4 API, and fixed some issues where we were sometimes stripping valuable data from an error message. (Bug #710)
  • Fixed an Internal Server Error when showing the review dialog with a comment made on a screenshot with no caption.
  • The "Ship It" label in the review dialog is now associated with the checkbox, meaning the label can be clicked to check/uncheck "Ship It." (Bug #922)
  • For LDAP backends, we now log on as an anonymous user before searching for the real user to log in as. This fixes some breakages with people encountered. Patch by Alexey Morozov.
  • Changed the default LDAP scope to SUBTREE, in order to fix authentication on some LDAP servers. (Bug #959)
  • We now use the review request's draft summary, if set, on the screenshot detail page. (Bug #981)
  • HTML tags are no longer interpreted in the Description and Testing Done fields. (Bug #894)
  • The "branch" field in change descriptions no longer escape entities (such as arrows). (Bug #898)
  • Fixed some XHTML validation errors in the dashboard. Patch by Onkar Shinde. (Bug #932)
  • We no longer require logging in for read-only API calls, if anonymous access is enabled on the site. (Bug #767)
  • Fixed some small breakages with Django 1.1.
Feature Improvements:
  • Added a faster, more scalable version of diff fragment loading. We used to make a call to the server for each comment shown in a review, which became very slow on large reviews. We now only make one call per file, regardless of how many comments are made against that file. This speeds up load times of the review page considerably. (Bug #906)
  • Greatly improved performance in the diff viewer. Loading comments and placing them in the diff viewer wasn't nearly as fast as it could have been. Due to these new improvements, a sample diff with 15 comments that used to take over 1 second now takes ~150ms to load. Other improvements have also been made, and should make a noticeable difference in large deployments.
  • Improved accessibility for inline editors on the review request page. The "edit" icons can now be activated using the Enter key. Patch by Brad Taylor. (Bug #965)
  • Added a new icon for the "My Comments" column in the dashboard that's used when you've specifically posted a review marked "Ship It." (Bug #909)
  • Change descriptions are now a lot more readable for the Description and Testing Done fields. (Bug #913)
  • Added a dependency on Pygments, in order to install it by default.
New Features:
  • Added support for disabling user registration. This provides a checkbox in the General Settings page for disabling user registration. This only takes effect when using standard authentication, and will hide the "Register" link and redirect requests made to /account/register/ to the /account/login/ page instead.
  • Added new administration, user documentation, and a FAQ. This is available on http://www.review-board.org/docs/, and is also available in the reviewboard/docs/ directory.
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 reviewboard-gsoc@googlegroups.com 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 settings_local.py 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.
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 pages