Review Board 1.7 Release Notes¶
Release date: December 16, 2012
This release contains all bug fixes and features found in Review Board version 1.6.15.
New User Features¶
Site Style¶
We introduced some incremental style improvements for Review Board.
Review Board’s look and feel has remained the same since we first began development in 2006. We felt it was time for a change, so we’ve revamped it and modernized it a bit.
The new site design should be familiar to all existing Review Board users, but makes better use of space, and is a bit more polished and consistent, and a bit more responsive.
Some highlights include:
Less wasted space near the top of the page.
A clear and consistent navigation bar with account and support menus and a search field.
Crisper, less boxy look to the UI.
Fields are less jumpy.
Faster animation speeds.
We’ll be continuing to iterate on this in subsequent 1.7.x releases.
Review Requests¶
Issue Summary Table¶
Review requests now provide a summary of all filed issues, making it easy to see what’s left to do before the change can be submitted. Clicking on an issue will take you to the appropriate comment in the review.
The list of issues can be filtered by status (opened, fixed, dropped) or by the reviewer.
Patch by Yazan Medanat.
Diff Viewer¶
Better Moved File Rendering¶
Diffs that contain moved or renamed files under certain supported SCMs are no longer shown as one deleted file and one added file. We now show that the file was moved, and even show any changes that may have been made alongside the move.
This is currently only supported for Git, but more SCMs will be supported in the future.
Patch by Dave Druska.
File Attachments¶
Better Thumbnail Rendering¶
We’ve began to support better rendering for certain types of file attachments. Images, plain text, Markdown, and ReStructured Text file attachments are now shown with little previews of their contents.
These renderers are extensible through our new extensions support.
Work on this feature was done by Anthony Mok and Sampson Chen.
Image Review¶
We added the ability to review image file attachments.
This works just like screenshot functionality. An image uploaded as a file attachment can be reviewed by clicking-and-dragging on the image to comment on the selected area. These comments will appear in the review.
Along with this, we’ve simplified things by removing screenshot uploading and standardizing on file attachments. Existing screenshots on review requests can still be reviewed, but new ones cannot be uploaded.
Dashboard¶
“To Me” Column¶
The new “To Me” column indicates whether a review request explicitly lists you as a reviewer. This helps prioritize what review requests to look at first.
Patch by Anthony Mok. (Bug #495)
“My Comments” Column¶
The “My Comments” column can now be turned on when viewing a user’s review request list. It’s no longer limited to the dashboard.
Patch by Aamir Mansoor. (Bug #2163)
Bug Linking¶
Bugs listed in the dashboard now link to the bug report. (Bug #2589)
E-Mail¶
Review Request ID in Subject¶
E-mails now include the review request ID in the subject header.
This helps to identify a review request a bit faster, and makes it easier to refer to a review request by ID from just the e-mail.
Patch by Curtis Miller. (Bug #2271)
Time Zone Support¶
Dates and times are now localized to the user’s region.
The default time zone in the database is now UTC, and users are able to set their own time zone in their preferences page. All dates and times will be shown relative to their time zone.
Patch by Dave Druska.
New Administration Features¶
New Administration UI¶
The administration UI has been totally rewritten from the ground up. It’s now cleaner, provides more useful information at a glance, and is extensible. The general look now fits in with the look of Review Board.
The new UI consists of several widgets that flow onto the page. Each widget can describe a bit of information. The built-in widgets provide graphs of user activity, caching, and more.
Some of the main settings are also listed on the side, for quick reference.
This was based on work done by Vlad Filippov.
Improved Cache Settings¶
The server-side cache settings is now easier to configure, and doesn’t require obscure cache backend URI knowledge.
Usability Improvements¶
General¶
Added Retina versions of the Gravatars.
If using a Retina-capable display (newer MacBook Pro, iPhone, or iPad), all gravatars will load as higher-resolution images.
We’ll be making Retina versions of all our artwork over time.
Many of the form fields throughout the UI have grown wider to make it easier to see all available text.
Review Requests¶
Links in the Description and Testing Done text now open in new windows or tabs.
Patch by Jim Chen. (Bug #2074)
Required fields on a review request are now marked as required by showing an asterisk.
Patch by Yazan Medanat.
Added a “Show changes” link on the change description boxes after publishing a diff. These will take you to an interdiff between the new diff and the previous version.
Patch by Curtis Miller.
The “Repository” and “Change Number” fields on a review request are no longer shown if they’re unrelated to that review request.
The expand/collapse review buttons are now larger, making them easier to hit, particularly on touch screens.
Patch by Aamir Mansoor. (Bug #2358)
File attachment thumbnails are now slimmed down. Clicking the thumbnail will open the review UI, if any.
Extensibility¶
Extension Support¶
Review Board 1.7 has experimental support for custom extensions. These can augment the functionality of Review Board by providing new pages, custom operations when actions take place, new review UIs, new REST API, new review request actions, new administration UI widgets, and more.
Extensions have full access to the functions within Review Board, and can even provide their own database models for tracking data.
This is a very experimental feature. We welcome people to play with it, but note that it is very likely that your extension will break between releases, depending on which APIs you rely upon. We don’t intend for the entire Review Board codebase to be used as a stable API. We will in time document a stable API that can be relied upon.
There’s a guide on creating extensions and doing some interesting things with them. We will flesh this out in time to provide more information on extension development.
This was the work of many developers and contributors. In particular, Mike Conley led a lot of the effort into getting this feature ready.
Review UIs¶
We added infrastructure for writing new review UIs for different types of files beyond images and diffs.
Going forward, this will allow us to provide ways to review different types of file attachments through extensions. The support is still young and we’ll flesh it out in subsequent 1.7.x releases, along with documentation.
Web API Changes¶
Added server capabilities in
/api/info/
.The
/api/info/
resource now has a list of server capabilities in acapabilities
dictionary. These are organized by categories, each of which has a dictionary of capabilities as values. See the documentation for an example.This currently only contains one item,
diffs.moved_files
, which indicates whether the server supports moved file information in diffs.Added resources for viewing the original and patched files for a FileDiff.
These are child resources of the FileDiff resource, and can be retrieved by following the
original_file
andpatched_file
links, when available.The original file resource is not available for new files, and the patched file resource is not available for deleted files.
Patch by Steven MacLeod.
Custom data can be stored in a file attachment comment.
This can be done by specifying a
extra_data.myfield
field when creating or updating a file attachment comment.myfield
will then be accessible in theextra_data
dictionary.If the value is blank, the key will be removed.
Added a diff’s
basedir
field to the Diff resource.This represents the base directory within a repository that all files in a patch are relative to. Primarily, this is used for Subversion diffs.
Patch by John Sintal.
Added the URL to a file attachment’s review UI on the file attachment resource.
Performance Improvements¶
Reduced download time of JavaScript and CSS.
All JavaScript and CSS files are now combined and minified. This reduces the number of downloads and the total download time by a considerable amount, making for a faster experience on an empty cache.
Reduced diff storage and lookups.
Any new per-file diffs uploaded will only be stored once in the database, instead of per-upload. That is, if you upload two patches, and one of the per-file diffs hasn’t changed between the two, the diff will only be stored once in the database. This should reduce database sizes from here on out, but does not affect existing diffs.
Patch by Dave Druska.
Improved JavaScript run-time performance.
We’ve updated our dependency on jQuery and jQuery-UI to newer versions, which offer significant performance improvements over the much older versions we have been using.
Removed Features¶
The hidden reports feature (accessible at
/reports/
) has been removed. The goal is to replace this with a more useful extension.Screenshots can no longer be uploaded in the UI.
Instead, file attachments should be used, now that image file attachments can be reviewed just like screenshots could. Existing screenshots are unaffected.
The API can still be used to upload screenshots. That will be removed in 1.8.
Bug Fixes¶
General Interface¶
Fixed a number of regressions in the UI from 1.7 beta 2.
This includes auto-completion, quick search, and much more.
The latest static media will always be used after an upgrade. Previously, older media could be cached and used.
Fixed the display of the avatar on the account bar at the top of the page. Patch by Mike Conley.
Fixed several style issues with rounded corners throughout the UI.
Long nicknames and e-mail addresses on the user page no longer overflows on most browsers. Patch by Yazan Medanat.
Removed parenthesis in the user autocompletion and quick search lists when the user doesn’t have a name listed. Patch by Crystal Lok Koo.
Text fields (for Description/Testing Done/Add Comment) are now guaranteed to use monospaced text. This was a problem in some configurations, particularly on MacOS X.
User Profiles¶
Fixed setting timezones for users. (Bug #2797)
We were only showing the timezone selector if using standard authentication, and setting the timezone didn’t work properly. Now it works properly for any and all authentication backends.
File Attachments¶
Fixed deleting text file attachments. (Bug #2805)
The thumbnail for a file attachment is now shown after newly uploading a file.
Captions changes for file attachments are now shown on change description boxes, just like screenshot caption changes.
Patch by Bogdana Popa.
File attachment comments are no longer missing from the review box. Patch by Bogdana Popa.
File attachments and comments now show up in e-mails. They were previously missing.
Review Requests¶
The review request draft/submitted/discarded banner no longer shifts when opening or closing the description editor.
The review request fields no longer shift around when opening the inline editors.
The reply draft banner is now shown immediately when replying to a comment.
Changing the status of issues on a review now invalidates the cache of the page.
It’s no longer possible to accidentally trigger saving a comment in a hidden comment dialog. (Bug #2775)
Attempting to download raw diffs with unicode filenames no longer causes errors. (Bug #2581)
The editable fields no longer go into edit mode when simply selecting text. Patch by Dave Druska.
Dashboard¶
Review requests without repositories no longer shows “None” in the Repository column.
The “Diff Updated” column in the dashboard now actually reflects the last diff update.
Existing review requests will see blank values under the column until their next diff update.
Patch by Bogdana Popa. (Bug #1246)
Extensions¶
URLs for URLHooks, administration pages, and API resources are now added and removed properly when enabling or disabling extensions.
Extension settings and lists are now synced across all Apache threads or processes.
Administration UI¶
The Server setting in General Settings no longer appears blank. (Bug #2757)
The Cache Statistics page now consistently shows statistics for memcached.
Removed the “View On Site” link in the admin UI. (Bug #2099)
This never did the right thing and only confused users.
User lists in the administration UI are now sorted by username instead of ID.
Compatibility Changes¶
User-Facing Changes¶
Added support for the latest CVS diff file format.
The latest CVS diff file format appends version information to the filenames in the diffs. We now support this format if encountered.
Patch by Rodrigo Castro.
Added support for newer versions of p4api. We now support 12.2, which P4PythonInstaller will soon use by default.
Dropped Internet Explorer 6 and 7 as officially supported browsers.
IE6 and 7 are now considered quite ancient. We recognize that many companies still use these browsers, and will happily accept non-intrusive patches that retain compatibility, but will not officially support them without a support contract.
Going forward, we will be relying on more modern browser support for certain newer features.
Server-Side Changes¶
Upgraded our Django requirement to 1.4.
This is the first release to require Django 1.4. This release is not backwards-compatible with earlier versions of Django, or tested to be compatible with Django 1.5 or newer.
Dropped Python 2.4 support.
We no longer support Python 2.4 deployments. This is part of our effort to move to more modern versions of Python, in order to improve the codebase. It’s also a requirement that’s otherwise enforced on us by Django 1.4, for the same reasons.
Dropped Windows as an official server target.
We have found that the bulk of users who have trouble installing a Review Board server are those trying to install on top of Windows. Furthermore, we have realized that some of our future dependencies do not work well on Windows.
We will be dropping official support for Windows servers for users without a support contract. We’ll continue to host some helpful information on trying to get things going with Windows for now, but will be strongly urging people to move onto Linux (on a physical machine or in a virtual machine).
Changes since 1.7 RC 1¶
New Features¶
Added the cache backend selector in General Settings.
Web API Changes¶
Added a diff’s
basedir
field to the Diff resource. Patch by John Sintal.Added the URL to a file attachment’s review UI on the file attachment resource.
Usability Improvements¶
Many of the form fields throughout the UI have grown wider to make it easier to see all available text.
Switched to a standardized button style throughout the UI.
Extensions¶
All extensions must accept variable arguments (
*args, **kwargs
) in their__init__
method and pass them down toExtension.__init__
.Review UIs can be provided by extensions now by using ReviewUIHook. Patch by Sampson Chen.
Review UIs can be provided by extensions now by using FileAttachmentThumbnailHook. Patch by Sampson Chen.
Bug Fixes¶
Uploaded file attachments now have the appropriate Review/Add Comment link, depending on the file type.
Fixed some styling issues with the administration UI.
Fixed some styling issues with file attachment thumbnails.
Fixed problems with linkifying text in review request descriptions when using
&
in the URL. Patch by Emil Stanchev.Draft captions are now shown in the review UIs.
Comments on images that predate review UIs no longer break on load.
Fixed a font selection problem with Description/Testing fields on MacOS X.
Review UI pages no longer show Download Diff if there’s no diff to download. Patch by Michelle Chuang.
Comments on file attachments now show the appropriate section of the file that was commented on, instead of just the filename.
We no longer absolutely rely on the browser to know the type of uploaded files. If it doesn’t know, we determine it on the system.
Contributors¶
Aamir Mansoor
Anthony Mok
Bogdana Popa
Christian Hammond
Crystal Lok Koo
Curtis Miller
Dave Druska
David Trowbridge
Emil Stanchev
Jacob Farkas
Jim Chen
John Sintal
Kahlil Almani
Karl Leuschen
Kevin Quinn
Michelle Chuang
Mike Conley
Rodrigo Castro
Sampson Chen
Stephen Gallagher
Steven MacLeod
Tina Yang
Vlad Filippov
Wesley Ellis
Wilson Yeung
Yazan Medanat