The next generation of Review Board has arrived! Well, the beta, anyway.
Review Board 3.0 is being built to take the code review experience further, integrating with other tools and services you use (such as Slack), adding support for automated code reviews, and introducing new features to better craft quality reviews.
Let's dive into some of the features in Review Board 3.0 beta 1.
Third-Party Integrations (Hi Slack!)
Review Board 3.0 supports a new integrations model, allowing administrators to connect Review Board to other third-party tools and services. Integrations can have multiple configurations governed by rules, allowing you to, for instance, post changes/discussion from different groups to different Slack channels, or sending code changes on different repositories to different Continuous Integration services.
Beta 1 ships with Slack support! You can make as many Slack configurations as you like to help follow updates and discussions on your review request without having to check e-mail.
We're working on adding integrations for HipChat, Asana, Travis CI, iDoneThis, and more for future releases.
Automated Code Review and Status Updates
Beta 1 introduces a new API for attaching status updates on a review request. These can be used to indicate whether there are automated checks in progress (builds, lintian checks, etc.), if they've succeeded, or if they've failed (along with a review opening issues for each of the failures). This helps take the load off of users, letting automated tools do more of the work.
Third-party services, extensions, or in-house scripts can use this API today. We'll be releasing updates to RBTools in the future to help record status updates from shell scripts.
We're also working toward an official release of Review Bot, an automated code review tool for Review Board that makes use of various command line lintian tools to help check your code for problems and report them through the new API.
Improvements for Reviewers
General Comments
Beta 1 introduces General Comments, which are not tied to any file or line of code. You can file a General Comment about anything: Missing files, feedback about the review request's description, requests for screenshots, or anything else. Like other comments, these can open issues, ensuring your comment is resolved. General Comments can be added by clicking "Add Comment" on the review request or in the review dialog.
Better File Attachment Navigation
When working your way through a large number of file attachments, it's annoying to have to go back to the review request each time to click the next thumbnail. Instead, the file attachment pages now have navigation buttons to the previous or next file attachment.
Uploaded Images in Comments
Ever review a UI or artwork change and want to show how you would do it? You can now drag-and-drop images right into the text field (if using Markdown). They'll upload to Review Board and become available in your comment.
This also works for other text fields, such as the review request description or in replies to reviews.
High-DPI Image Review
Working with High-DPI images, like @2x
or @3x
images? Review Board will now scale the image down during review, instead of presenting you with a gigantic image to look at. You can also change the zoom level for any image file, helping you see as much or as little as you want at once.
It also does a better job of showing other large images, giving you a scrollable area to look at instead of overflowing the page.
And So Much More!
- Elasticsearch is now available as a search backend.
- Users can upload their own avatars, instead of using Gravatars, and extensions can provide custom avatar backends.
- Optional desktop notifications when there's new activity on any review requests you have opened in your browser.
- Ownership of a review request can be re-assigned to another user.
- The content of deleted files can now be viewed in the diff viewer.
- User infoboxes (shown when hovering over a username) are cleaner and can be enhanced by extensions.
- Pasting a review request URL in services like Slack now shows detailed information on the review request, including any uploaded screenshots.
- Numerous enhancements for our API and extension capabilities.
That's still not everything. You can read through the complete list of changes in the release notes.
Installing 3.0 Beta 1
Want to give beta 1 a try? Great! You can install it by running:
$ sudo pip install \
--trusted-host downloads.reviewboard.org \
-f http://downloads.reviewboard.org/releases/Djblets/0.10/ \
-f http://downloads.reviewboard.org/releases/ReviewBoard/3.0/ \
-f http://downloads.reviewboard.org/releases/rbintegrations/0.5/ \
--pre -U ReviewBoard
Or:
$ sudo easy_install \
-f http://downloads.reviewboard.org/releases/Djblets/0.10/ \
-f http://downloads.reviewboard.org/releases/ReviewBoard/3.0/ \
-f http://downloads.reviewboard.org/releases/rbintegrations/0.5/ \
-U ReviewBoard
Make sure you're deploying on a test server with a copy of your database in case anything goes wrong! You can't downgrade.
What's Next?
We're already working hard on features for Beta 2, including:
- A new review experience, helping first-time users and making the review process smoother and more informative.
- Some clever improvements to navigation in the diff viewer.
- OAuth2 support, letting other services talk to Review Board on your behalf, safely.
- Private review requests.
- On-the-fly search indexing.
- Many more integrations.
If you try Review Board 3.0 beta 1 and have any feedback, please reach out to us on the community support forum or our bug tracker.