Review Board 1.6 Release Notes¶
Release date: September 5, 2011
This release contains all bug fixes and features found in Review Board version 1.5.6.
New User Features¶
When closing a review request (discarding or marking as submitted), a description can now be added on the close banner. This works much like a change description for drafts. These can be used to describe why a change was discarded, or what revision it was submitted as, or anything else.
See the Closing Review Requests documentation for more information.
Older reviews that haven’t been updated since the last time you accessed the review request are now collapsed, letting you focus on the latest discussions taking place.
Collapsed reviews can be expanded by clicking the [+] button.
Patch by Kevin Quinn.
Notification Tab Icons¶
The page icon shown on the tab will now show a green indicator whenever there’s an update notification on the page. This makes it easier to keep track of any changes to review requests when several tabs are open.
Data Loss Prevention¶
It’s harder to lose the changes you make to a review request. We have several safe-guards to keep from accidentally losing work.
Added error messages when typing an invalid reviewer (user or group). Prior to this, the invalid reviewer would just disappear from the list, leaving no indication that it was wrong.
Patch by Kevin Quinn.
Added alerts whenever leaving a page would cause data loss. (Bug #1794)
Leaving a page while a field or a comment or anything else is being edited will now prompt the user to make them aware they may lose changes. They’ll have an option to leave the page or stay on the page.
Added confirmation when canceling a field with new changes. (Bug #2096)
Added a Control-S shortcut to save the field you’re editing.
Patch by Hongbin Lu. (Bug #2096)
Files of any type can now be uploaded to a review request and reviewed as a whole. This is useful for providing tarballs of non-diffable files, log files, unit test output, sample files, etc.
Every uploaded file will appear on the review request page, with the ability to download or add a comment about the file.
Comments made on files will appear in the review, just like diff and screenshot comments.
Like screenshots, file attachments can be dragged and dropped from the file manager into the review request as a faster way to upload them.
The initial work for this feature was developed by Laila Agaev and then Steve Sutcliffe as part of their UCOSP projects this past year.
See the Uploading File Attachments documentation for more information.
Quick Ship It!¶
A new Ship It! button on the action bar of a review request makes it easier to post new “Ship It!” reviews. It takes only two clicks to post the review. One to click the button, and another to confirm you want to post the review. This greatly speeds up reviews of good changes.
See the Filing “Ship It!”-Only Reviews documentation for more information.
Patch by Kevin Quinn. (Bug #1640)
Issue tracking provides a new and improved way to mark and reply to defects in a change. When reviewing code, a reviewer can mark a comment as a defect by checking the Open an issue checkbox in a comment dialog. The developer will see that an issue has been filed, and can easily mark it as fixed, or drop it.
This is a faster way to reply to reviews. The developer needs only to click a button to say the issue was fixed, instead of replying with a comment saying it’s fixed.
See the Issue Tracking documentation for more information.
Patch by Mike Conley.
Deleted files in Git and Perforce are now specifically shown as having been deleted in the diff viewer, instead of the entire file being shown in red. In time, we’ll extend this to other types of repositories.
The change index and file sections now show when a file has been moved or renamed and what the new name is. Whether or not this is shown depends on the diff and type of repository.
Patch by Colin Caughie.
Added support for private profiles.
On a public Review Board server, users may not want their name and e-mail address to be easily accessed on their profile page or through the API. Users can now go to their My Account page and make their profile private.
When a profile is private, the only users who can see the profile information are the site administrators and the user owning the profile.
Patch by Hongbin Lu. (Bug #2127)
Improved User Pages¶
The user page now shows more information on the user, such as their name, e-mail address, their Gravatar, and what groups they’re a member of. Patch by Kevin Quinn.
The search field is now always shown, and will search as you type. Unlike the full-text search (which will happen when clicking Search, if full-text search is enabled), this will only search users (by username, first name or last name), groups (group name or display name), or review requests (numeric ID or summary).
See the Quick Search documentation for more information.
Patch by Crystal Lok Koo. (Bug #1842)
New People and Groups columns were added to the dashboard. These new columns show the individual and group reviewers listed for review requests. They are optional and need to be explicitly added.
Patch by Philipp Henkel.
Better E-Mail Filtering¶
X-ReviewGroup headers for e-mails, which lists all the review
groups assigned in the review request. E-mail clients can use this to
filter review requests into different folders.
Patch by Vignesh Srinivasan. (Bug #1964)
New Clear Case Support¶
Added a brand new Clear Case implementation.
This new implementation is cleaner, more reliable, and fixes many of the problems with the old implementation. Given that this is a complete rewrite, we’d appreciate any bug reports for things that used to work in Review Board 1.5.x.
New Administration Features¶
Local Site Divisions¶
Review Board now supports managing several virtual instances within a single
install, similar to subdirectory installs but as part of a main install’s URL.
These would live on, for example,
http://reviews.example.com/ is the main Review Board installation.
These site divisions can all have their own repositories, groups, review requests, users, and administrators. Data within a site division is available only to members of that site. This makes it easy to have, say, a main development Review Board, a contractor Review Board, and a QA Review Board, all separate and locked down, but without having to maintain and upgrade multiple servers.
This isn’t completely put together yet. An administrator on a site doesn’t yet have any UI for putting together a repository or changing any settings, so it still requires a site-wide administrator to set up each site division.
This is an advanced feature and may not work for all use cases yet.
Groups can now be marked as invite-only. An invite-only group cannot be viewed by non-members of the group through either the web or the UI.
A review request targeting just invite-only groups cannot be viewed unless the user is either explicitly specified on the review request or they’re a member of at least one of the targeted groups. However, if it also lists any public groups, it will be available to everyone.
Note that users will still be able to see these review requests listed on the “All Review Requests” page, but won’t be able to access them.
See the Invite-only Review Groups documentation for more information.
Repositories can now be locked down such that only specific users can see the review requests on them. Users can be added to a repository’s user list directly, or indirectly by adding one or more invite-only groups. Note that access control applies to the entire repository, not specific paths within it.
If a user doesn’t have access to a private repository, they won’t be able to see any review requests on it.
See the Private Repositories documentation for more information.
Some spam filters would get caught up on Review Board’s From header forging. The address didn’t actually match the source, causing them to sometimes flag review requests as spam.
We now send e-mails with a Sender header. Servers can use this
to find the true sender of the e-mail, instead of assuming it’s the value in
From. By default, this is
noreply@<domain>, but it can be
changed in the admin UI.
This still requires that the sender domain is configured properly for DKIM support.
See the Working with E-Mail documentation for more information.
Private GitHub Organizations¶
The Repository page in the administration UI now provides a Hosting Service entry for private GitHub Organizations. This differs from the other GitHub entries in that it requires the username used to access files on that repository, rather than assuming the hosting owner account or organization name is used.
Gitorious is now a supported hosting service for Review Board, and can be easily configured on the Review Request page.
Patch by Hongbin Lu. (Bug #2053)
HTTP Basic Auth for Git¶
Added support for HTTP Basic Auth for Git repositories when using the web-based raw file URL method.
Private git repositories requiring a username and password through the HTTP Basic Auth mechanism can now be accessed from Review Board. The repository’s username and password are used when accessing the file requires authorization.
Perforce repositories can be secured by using stunnel on the client and
server. Review Board now knows how to make use of this. A Perforce repository
path beginning with
stunnel: will tell Review Board to use stunnel for all
communication to that repository.
See the Using Perforce with stunnel documentation for more information.
Added additional LDAP configuration for name attributes.
LDAP configurations can use different attributes to store people’s names. These attributes can now be customized in the LDAP configuration.
Patch by Tucker Dewitt. (Bug #2122)
The cache backend can be changed through the Administration UI. Previously,
this needed to be modified in the
conf/settings_local.py file and
sometimes in the serialized settings in the database.
Patch by Vlad Filippov.
Review Board’s Manual Updates pages have historically been a bit confusing, and sometimes were misleading. They’ve now been completely replaced with useful, detailed sets of instructions, along with any error messages that would make debugging problems (broken database connections, for example) easier.
It should be much easier now to get going after installing an existing Review Board release, upgrading an old one, or when something goes wrong with the database connection.
Custom Authentication Backends¶
Custom authentication backends, if written against our new auth backend API properly, will now show up automatically in the list of authentication backends in Settings, much like LDAP, Active Directory, and others.
They can provide their own settings form, and save their settings in our settings database. This makes it easier for companies and organizations to write custom backends that tie into their services and to continue using them release to release.
They can also specify capabilities, such as “is registration supported” or “can names, e-mail addresses, or passwords be changed.” For the latter, they can also handle updating this information server-side when the user changes it.
See Writing Authentication Backends for more information.
The dashboard is now much faster. We used to perform many queries (some that were a bit slow) in order to get the counts for each section in the sidebar, but now these counts are all cached. This provides a very noticeable speed improvement, especially when using a lot of groups.
New Review Request Page¶
The New Review Request page generated far too many database queries when displaying the list of repositories. It would query once per entry. With hundreds of repositories, this would slow down the page and the server.
This has been drastically sped up and now performs much faster with large lists.
The rendering of syntax highlighting in diffs is now faster.
We switched to requiring Pygments 1.4, which offers speed improvements when generating the syntax highlighting in our diffs. This upgrade also adds support for new file types. The list can be found on their website.
Reduced queries when looking up SCMTools in the database.
We now cache lookups to SCMTools (the components responsible for talking to repositories), reducing the amount of queries that need to be made on each page.
Reduced the number of round trips to the database when loading the diff viewer.
Patch by Ben Hollis.
Added API for getting change descriptions.
All the information from the change descriptions can now be retrieved. They contain more information than even the change descriptions on the website. Users, screenshots, and other such resource-backed data now embeds and links to the appropriate resource. (Bug #2026)
Added a quick search API for retrieving basic searchable information.
/search/?q=resource has been added that can search for various bits of information based on search terms. It will search users (matching username, first name, and last name), groups (name and display name), and review requests (IDs and summaries).
Patch by Crystal Lok Koo.
?ship-it=parameter to the review requests list resource.
/api/review-requests/API gained a
?ship-it=filter that makes it easy to locate review request that either have a Ship It (if
ship-it=1), or have none (if
Added support for HTTP caching headers for resources.
Resources now provide and respect Last-Modified timestamps and ETags. Clients with HTTP caching header awareness will be able to tell if resources need to be fetched, or if the cached version will suffice.
It’s possible that there will be regressions on some resources that don’t properly recompute their timestamps. If you encounter stale data, send us a bug report.
Draft resources weren’t always being fetched correctly, returning 404s.
Fixed accessing diff resources for closed review requests. (Bug #2009)
The diffs resource (and possibly others) was failing when accessed on a closed review request. It would return a 404 Not Found.
Errors accessing Perforce repositories are now reported in the web API.
The old 1.0 API has been removed. All clients need to be updated to use the new 1.5 API. If you’re running a recent RBTools (post-review), you’re fine.
The old iPhone interface has been removed. The main UI works fine now with the iPhone and iPad.
Removed RSS/Atom feed support.
In the very early days, we had RSS/Atom feeds for review requests, users and groups. These aren’t really useful anymore, and nothing has ever truly exposed them. Most likely, nobody even knows they exist. They’re now gone.
Changes since 1.6 RC 2¶
- Added a setting in the admin UI for setting the cache backend. Patch by Vlad Filippov.
- Added a new favorite icon, which works in Internet Explorer. Patch by Ben Allen.
- Added a Alt-I shortcut for toggling the Open an issue checkbox in comment dialogs.
- The Open an issue checkbox is now checked by default.
- Issue tracking now works with file attachment comments.
- Fixed some issues preventing database migrations from succeeding in rare cases.
- The e-mail address on the user info popup is now being shown again.
- The Search Index File setting has been renamed to Search Index Directory to better reflect how it’s used.
- Fixed several issues with drag-and-drop on Chrome and Firefox causing flicker and stuck drop overlays. (Bug #2196)
- The manual updates page no longer fails on Windows if the necessary environment variables are missing. (Bug #2214)
- Duplicate draft comments and replies on the same review are no longer allowed through the API or UI. (Bug #2154)
- Replying to comments on file attachments has been fixed. (Bug #2173)
- Fixed dashboard counters when discarding or deleting draft review requests. (Bug #2194)
- Fixed a compatibility issue with Perforce on Python 2.4. (Bug #2195)
- Fixed password authentication on Perforce. (Bug #2199)
- Alexander Solovets
- Ben Allen
- Ben Hollis
- Christian Hammond
- Colin Caughie
- Cristian Messel
- Crystal Lok Koo
- David Trowbridge
- Dick Porter
- Hongbin Lu
- Jan Koprowski
- Kevin Quinn
- Laila Agaev
- Mark Striemer
- Megan Schneider
- Mengyun Kong
- Mike Conley
- Paul Schulz
- Philipp Henkel
- Steve Sutcliffe
- Tucker Dewitt
- Vignesh Srinivasan
- Vlad Filippov