Review Bot 1.0.1 is out now

Today's release of Review Bot, our automated code review extension for Review Board, introduces a few new features and fixes several compatibility issues and other bugs. Most of these wouldn't have happened without our wonderful community of contributors and early adopters. Thank you!

Let's look at the highlights.

Full-Repository Review for Mercurial

Some tools (such as the Clang Static Analyzer) need a full checkout of the repository in order to perform a full review. These now work with Mercurial repositories in addition to Git.

Cppcheck Language Selection

Cppcheck can now be forced to check source files as either C or C++ code. This is helpful for codebases that treat .h files as C++. By default, it will continue to auto-detect the file type based on the extension.

Compatibility Fixes

Review Bot now authenticates properly with Review Board 3.0.8.

Dependency conflicts involving pyflakes, pycodestyle, or flake8 when installing the Review Bot Worker have been resolved. Not everyone hit these, but it was common on newer installs due to changes in newer versions of these packages.

And More

We've smoothed out communication between the Review Bot extension and worker services, added better error handling when saving a configuration form without all required data, removed unwanted temporary files, and fixed error reporting in flake8 and cpplint.

For the full list of changes, see the release notes.

RBTools 1.0.1 is out now

Today’s release of RBTools fixes some of the most common issues experienced in the recent 1.0 release:

Improved Windows compatibility

This release fixes some regressions on Windows, namely a crash when prompting for a password for Review Board.

If you're continuing to hit problems on Windows, please let us know in our community support tracker so we can collect additional information on your setup.

Fixes for Empty Diff errors on Git

While RBTools 1.0 greatly improved how diffs were generated for Git repositories under many scenarios, it broke one important workflow.

Posting a branch for review after pushing that branch upstream no longer results in errors about empty diffs when a tracking branch is configured. Instead, the tracking branch is once again respected, allowing your topic branch to be posted for review in full.

See the release notes for the full list of changes.

Introducing RB Gateway 1.0 and Review Board 3.0.8

Today's release of Review Board 3.0.8 features a few small bug fixes:

  • Invisible search filters in the search results
  • Crashes in the API when working with automated code review
  • Deleting draft replies prematurely when deleting the reply to a review header
  • Compatibility problems using Subvertpy and HTTPS-backed repositories

(See the release notes for the full list of changes.)

The big announcement today, though, is a new companion to Review Board that we'd like to introduce you to.

Meet RB Gateway

RB Gateway is a microservice used by Review Board that's built to address shortcomings in Git and Mercurial's APIs. Git, in particular, is quite limited. It doesn't provide fine-grained access to the contents of repositories, meaning that tools like Review Board typically have to depend on specific hosting services (like GitHub Enterprise or GitLab) or hacks to work.

When using RB Gateway, Review Board can access your self-hosted repositories in new ways, enabling users to browse for commits, close review requests when a commit is pushed, and more cleanly managing your repositories. It works just like other hosting services, but is simple to set up and configure on all major platforms.

This means no more GitWeb, cgit, or hgweb hacks! Just install RB Gateway, point it to your repositories, and tell Review Board about them. You're done.

RB Gateway can be installed on Linux, macOS, or Windows. Installation is easy, and we have instructions to help you get started.

For the best experience, we recommend Review Board 3.0.8 with RB Gateway. Older 2.5.x and 3.0.x releases support it, but are limited in functionality and only support Git.