Jump to >

Review Board 3.0.19 Release Notes

Release date: December 10, 2020


  • Djblets 1.0.14 is now required.

  • oauthlib 1.0.1 is now explicitly required.

    Newer versions are incompatible with some of our other dependencies.

New Features

  • Enabled support for Review Bot to automatically drop open issues from previous automated reviews.

    Patch by Joshua Cannon.

  • Enabled support for Review Bot tools to be configured to only run when requested by a reviewer, and to allow failed builds to be retried.

    Based on a contribution from Alex Klemenchuk.

  • Added an option for enabling an experimental new interdiff algorithm.

    Many people have hit odd edge cases with interdiffs, where some lines would be missing (usually near the end of a file, but sometimes alongside other changes). This was due to a problem with the old algorithm.

    Review Board 4.0 ships with a new algorithm designed to fix these cases. We’re hoping to run some early tests on it. If you want to help, you can enable this new algorithm by setting the following in your conf/settings_local.py:

        'diffviewer.filter_interdiffs_v2': True,

    You’ll then need to restart your web server. We recommend initially performing these tests on a test server, rather than in production.

  • Review Board now understands the new default “main” branch when browsing commits for a GitHub repository.

    If a different branch is configured as the main branch, that will be respected.

  • The location of cleartool can now be configured for ClearCase users.

    This can be customized by setting the following in your conf/settings_local.py:

    # Linux
    CC_CTEXEC = '/path/to/cleartool'
    # Windows
    CC_CTEXEC = r'C:\path\to\cleartool'

    We’re working on a big overhaul of our ClearCases support, which we’ll be unveiling in 2021.

  • WebHooks that fail to dispatch now provide useful information in reviewboard.log to help diagnose the issue.

    Patch by Amir Yalon.


Bug Fixes


  • Fixed saving text fields that have had text pasted into it.

    Text fields weren’t tracking that they needed to save when simply pasting content into the field. This meant that pasting and then saving the field would end up resetting to the content that existed prior to pasting.

Diff Parsing

  • Fixed storing and locating parent diff information for Git and Mercurial.

  • Fixed parsing Git (and Mercurial Git-style) diffs containing binary file changes. (Bug #4638)

    Patch by André Klitzing.

Diff Viewer

  • Fixed failures showing Mercurial diffs with changes to files moved or renamed in a parent diff.

Review Requests

  • Fixed posting new review requests when multiple repositories contain the same path in different fields.

    If more than one repository referenced the same path (e.g., one listed it as the primary path, another as the mirror path, and another as a repository name), posting a new change for review would fail, as the ideal repository could not be determined.

    This could often happen when archiving repositories.

    Repository lookup is now smarter, checking multiple matches using a priority-based system. This helps with larger deployments, particularly those that are trying to move or consolidate repositories.

  • Fixed showing a link anchor beside a newly-posted reply to a review.

    Previously, this required reloading the page in order to see the new anchor.

  • Fixed showing the fallback avatar when replying to a review.

    Previously, if the fallback avatar (showing the user’s initials) was set, it’d show up as a broken image when replying to a review.


  • Disabled the automatic re-try for talking to JIRA.

    If there was an error talking to JIRA, the Python bindings we use would try again automatically, after waiting a brief period of time. This could stall requests and lead to timeouts.

    Patch by André Klitzing.


  • Fixed some parsing errors when looking for SSL fingerprint information in a Perforce error message,


  • Fixed a crash when failing to load a SSH host key.

    This could happen if the key is in an expected format. It’s more likely to occur in development or in specialized setups.

  • Fixed and improved the error message when encountering an unverified SSL certificate, making it easier to diagnose and address the issue.


  • Fixed dispatching WebHooks to URLs containing inline auth credentials (Bug #4879)

    Patch by Amir Yalon.


  • Alex Klemenchuk

  • Amir Yalon

  • André Klitzing

  • Christian Hammond

  • David Trowbridge

  • Joshua Cannon