• Get Review Board
  • What's New
  • Products
  • Review Board Code review, image review, and document review
  • Documentation
  • Release Notes
  • Power Pack Enterprise integrations, reports, and enhanced document review
  • Try for 60 Days
  • Purchase
  • RBCommons Review Board as a Service, hosted by us
  • Pricing
  • RBTools Command line tools and Python API for Review Board
  • Documentation
  • Release Notes
  • Review Bot Automated code review, connecting tools you already use
  • Documentation
  • Release Notes
  • RB Gateway Manage Git and Mercurial repositories in your network
  • Documentation
  • Release Notes
  • Learn and Explore
  • What is Code Review?
  • Documentation
  • Frequently Asked Questions
  • Support Options
  • Third-Party Integrations
  • Demo
  • Review Board RBTools Power Pack Review Bot Djblets RB Gateway
    1. Review Board
    2. Review Board 4.0.5 Release Notes
  • Home
  • Review Board 7.0.3 Release Notes
  • Review Board 7.0.2 Release Notes
  • Review Board 7.0.1 Release Notes
  • Review Board 7.0 Release Notes
  • Review Board 6.0.2 Release Notes
  • Review Board 6.0.1 Release Notes
  • Review Board 6.0 Release Notes
  • Review Board 6.0 Beta 3 Release Notes
  • Review Board 6.0 Beta 2 Release Notes
  • Review Board 6.0 Beta 1 Release Notes
  • Review Board 5.0.7 Release Notes
  • Review Board 5.0.6 Release Notes
  • Review Board 5.0.5 Release Notes
  • Review Board 5.0.4 Release Notes
  • Review Board 5.0.3 Release Notes
  • Review Board 5.0.2 Release Notes
  • Review Board 5.0.1 Release Notes
  • Review Board 5.0 Release Notes
  • Review Board 5.0 RC 1 Release Notes
  • Review Board 5.0 Beta 2 Release Notes
  • Review Board 5.0 Beta 1 Release Notes
  • Review Board 4.0.13 Release Notes
  • Review Board 4.0.12 Release Notes
  • Review Board 4.0.11 Release Notes
  • Review Board 4.0.10 Release Notes
  • Review Board 4.0.9 Release Notes
  • Review Board 4.0.8 Release Notes
  • Review Board 4.0.7 Release Notes
  • Review Board 4.0.6 Release Notes
  • Review Board 4.0.5 Release Notes
  • Review Board 4.0.4 Release Notes
  • Review Board 4.0.3 Release Notes
  • Review Board 4.0.2 Release Notes
  • Review Board 4.0.1 Release Notes
  • Review Board 4.0 Release Notes
  • Review Board 4.0 RC 2 Release Notes
  • Review Board 4.0 RC 1 Release Notes
  • Review Board 4.0 Beta 2 Release Notes
  • Review Board 4.0 Beta 1 Release Notes
  • Review Board 3.0.26 Release Notes
  • Review Board 3.0.25 Release Notes
  • Review Board 3.0.24 Release Notes
  • Review Board 3.0.23 Release Notes
  • Review Board 3.0.22 Release Notes
  • Review Board 3.0.21 Release Notes
  • Review Board 3.0.20 Release Notes
  • Review Board 3.0.19 Release Notes
  • Review Board 3.0.18 Release Notes
  • Review Board 3.0.17 Release Notes
  • Review Board 3.0.16 Release Notes
  • Review Board 3.0.15 Release Notes
  • Review Board 3.0.14 Release Notes
  • Review Board 3.0.13 Release Notes
  • Review Board 3.0.12 Release Notes
  • Review Board 3.0.11 Release Notes
  • Review Board 3.0.10 Release Notes
  • Review Board 3.0.9 Release Notes
  • Review Board 3.0.8 Release Notes
  • Review Board 3.0.7 Release Notes
  • Review Board 3.0.6 Release Notes
  • Review Board 3.0.5 Release Notes
  • Review Board 3.0.4 Release Notes
  • Review Board 3.0.3 Release Notes
  • Review Board 3.0.2 Release Notes
  • Review Board 3.0.1 Release Notes
  • Review Board 3.0 Release Notes
  • Review Board 3.0 RC 1 Release Notes
  • Review Board 3.0 Beta 2 Release Notes
  • Review Board 3.0 Beta 1 Release Notes
  • Review Board 2.5.18 Release Notes
  • Review Board 2.5.17 Release Notes
  • Review Board 2.5.16 Release Notes
  • Review Board 2.5.15 Release Notes
  • Review Board 2.5.14 Release Notes
  • Review Board 2.5.13.1 Release Notes
  • Review Board 2.5.13 Release Notes
  • Review Board 2.5.12 Release Notes
  • Review Board 2.5.11 Release Notes
  • Review Board 2.5.10 Release Notes
  • Review Board 2.5.9 Release Notes
  • Review Board 2.5.8 Release Notes
  • Review Board 2.5.7 Release Notes
  • Review Board 2.5.6.1 Release Notes
  • Review Board 2.5.6 Release Notes
  • Review Board 2.5.5 Release Notes
  • Review Board 2.5.4 Release Notes
  • Review Board 2.5.3 Release Notes
  • Review Board 2.5.2 Release Notes
  • Review Board 2.5.1.1 Release Notes
  • Review Board 2.5.1 Release Notes
  • Review Board 2.5 Release Notes
  • Review Board 2.5 RC 1 Release Notes
  • Review Board 2.5 Beta 2 Release Notes
  • Review Board 2.5 Beta 1 Release Notes
  • Review Board 2.0.31 Release Notes
  • Review Board 2.0.30 Release Notes
  • Review Board 2.0.29.1 Release Notes
  • Review Board 2.0.29 Release Notes
  • Review Board 2.0.28 Release Notes
  • Review Board 2.0.27 Release Notes
  • Review Board 2.0.26 Release Notes
  • Review Board 2.0.25 Release Notes
  • Review Board 2.0.24 Release Notes
  • Review Board 2.0.23 Release Notes
  • Review Board 2.0.22 Release Notes
  • Review Board 2.0.21 Release Notes
  • Review Board 2.0.20 Release Notes
  • Review Board 2.0.19 Release Notes
  • Review Board 2.0.18 Release Notes
  • Review Board 2.0.17 Release Notes
  • Review Board 2.0.16 Release Notes
  • Review Board 2.0.15 Release Notes
  • Review Board 2.0.14 Release Notes
  • Review Board 2.0.13 Release Notes
  • Review Board 2.0.12 Release Notes
  • Review Board 2.0.11 Release Notes
  • Review Board 2.0.10 Release Notes
  • Review Board 2.0.9 Release Notes
  • Review Board 2.0.8 Release Notes
  • Review Board 2.0.7 Release Notes
  • Review Board 2.0.6 Release Notes
  • Review Board 2.0.5 Release Notes
  • Review Board 2.0.4 Release Notes
  • Review Board 2.0.3 Release Notes
  • Review Board 2.0.2 Release Notes
  • Review Board 2.0.1 Release Notes
  • Review Board 2.0 Release Notes
  • Review Board 2.0 RC 3 Release Notes
  • Review Board 2.0 RC 2 Release Notes
  • Review Board 2.0 RC 1 Release Notes
  • Review Board 2.0 Beta 3 Release Notes
  • Review Board 2.0 Beta 2 Release Notes
  • Review Board 2.0 Beta 1 Release Notes
  • Review Board 1.7.29 Release Notes
  • Review Board 1.7.28 Release Notes
  • Review Board 1.7.27 Release Notes
  • Review Board 1.7.26 Release Notes
  • Review Board 1.7.25 Release Notes
  • Review Board 1.7.24 Release Notes
  • Review Board 1.7.23 Release Notes
  • Review Board 1.7.22 Release Notes
  • Review Board 1.7.21 Release Notes
  • Review Board 1.7.20 Release Notes
  • Review Board 1.7.19 Release Notes
  • Review Board 1.7.18 Release Notes
  • Review Board 1.7.17 Release Notes
  • Review Board 1.7.16 Release Notes
  • Review Board 1.7.15 Release Notes
  • Review Board 1.7.14 Release Notes
  • Review Board 1.7.13 Release Notes
  • Review Board 1.7.12 Release Notes
  • Review Board 1.7.11 Release Notes
  • Review Board 1.7.10 Release Notes
  • Review Board 1.7.9 Release Notes
  • Review Board 1.7.8.1 Release Notes
  • Review Board 1.7.8 Release Notes
  • Review Board 1.7.7.1 Release Notes
  • Review Board 1.7.7 Release Notes
  • Review Board 1.7.6 Release Notes
  • Review Board 1.7.5 Release Notes
  • Review Board 1.7.4 Release Notes
  • Review Board 1.7.3 Release Notes
  • Review Board 1.7.2 Release Notes
  • Review Board 1.7.1 Release Notes
  • Review Board 1.7.0.1 Release Notes
  • Review Board 1.7 Release Notes
  • Review Board 1.7 RC 1 Release Notes
  • Review Board 1.7 Beta 2 Release Notes
  • Review Board 1.7 Beta 1 Release Notes
  • Review Board 1.6.22 Release Notes
  • Review Board 1.6.21 Release Notes
  • Review Board 1.6.20 Release Notes
  • Review Board 1.6.19 Release Notes
  • Review Board 1.6.18 Release Notes
  • Review Board 1.6.17 Release Notes
  • Review Board 1.6.16 Release Notes
  • Review Board 1.6.15 Release Notes
  • Review Board 1.6.14 Release Notes
  • Review Board 1.6.13 Release Notes
  • Review Board 1.6.12 Release Notes
  • Review Board 1.6.11 Release Notes
  • Review Board 1.6.10 Release Notes
  • Review Board 1.6.9 Release Notes
  • Review Board 1.6.8 Release Notes
  • Review Board 1.6.7.1 Release Notes
  • Review Board 1.6.7 Release Notes
  • Review Board 1.6.6 Release Notes
  • Review Board 1.6.5 Release Notes
  • Review Board 1.6.4.1 Release Notes
  • Review Board 1.6.4 Release Notes
  • Review Board 1.6.3 Release Notes
  • Review Board 1.6.2 Release Notes
  • Review Board 1.6.1 Release Notes
  • Review Board 1.6 Release Notes
  • Review Board 1.6 RC 2 Release Notes
  • Review Board 1.6 RC 1 Release Notes
  • Review Board 1.6 Beta 2 Release Notes
  • Review Board 1.6 Beta 1 Release Notes
  • Review Board 1.5.7 Release Notes
  • Review Board 1.5.6 Release Notes
  • Review Board 1.5.5 Release Notes
  • Review Board 1.5.4 Release Notes
  • Review Board 1.5.3 Release Notes
  • Review Board 1.5.2 Release Notes
  • Review Board 1.5.1 Release Notes
  • Review Board 1.5 Release Notes
  • Review Board 1.5 RC 2 Release Notes
  • Review Board 1.5 RC 1 Release Notes
  • Review Board 1.5 Beta 2 Release Notes
  • Review Board 1.5 Beta 1 Release Notes
  • Review Board 1.1 Alpha 2 Release Notes
  • Review Board 1.1 Alpha 1 Release Notes
  • Review Board 1.0.9 Release Notes
  • Review Board 1.0.8 Release Notes
  • Review Board 1.0.7 Release Notes
  • Review Board 1.0.6 Release Notes
  • Review Board 1.0.5.1 Release Notes
  • Review Board 1.0.5 Release Notes
  • Review Board 1.0.4 Release Notes
  • Review Board 1.0.3 Release Notes
  • Review Board 1.0.2 Release Notes
  • Review Board 1.0.1 Release Notes
  • Review Board 1.0 Release Notes
  • Review Board 1.0 RC 3 Release Notes
  • Review Board 1.0 RC 2 Release Notes
  • Review Board 1.0 RC 1 Release Notes
  • Review Board 1.0 Beta 2 Release Notes
  • Review Board 1.0 Beta 1 Release Notes
  • Review Board 1.0 Alpha 4 Release Notes
  • Review Board 1.0 Alpha 3 Release Notes
  • Review Board 1.0 Alpha 2 Release Notes
  • Review Board 1.0 Alpha 1 Release Notes
  • Release Notes
  • Review Board 4.0.5 Release Notes¶

    Release date: February 8, 2022

    See the rbintegrations 2.0.2 release notes for new features and fixes for CircleCI, Jenkins, and Travis CI.

    Packaging¶

    • Added a dependency on diffx >= 1.0, < 2.0.

    • Updated the ReviewBoard[mysql] dependency to cap the mysqlclient package at < 1.5 on Python 2.7.

    • Updated the Djblets dependency to >= 2.3, < 3.0.

    • Updated the rbintegrations dependency to >= 2.0.2, < 3.0.

    • Removed the explicit pinned dependencies for bcrypt and pyparsing on Python 3.

      These may still be provided by other dependencies.

    New Features¶

    • Added compatibility with Python 3.10.

      There are some issues with third-party dependencies that we’ve been working around. If you hit any new issues with 3.10, please let us know.

    • Added experimental extension support for defining ACLs when viewing diffs.

      Extensions can now implement policies that limit who can view particular diffs, allowing companies to bring over any existing access control policies they may have repositories into Review Board.

      This is done by implementing a FileDiffACLHook, which takes a DiffSet and a user and returns whether the user has access to the diff.

      This feature is experimental and subject to changes. You’ll need to enable this feature by setting the following to your conf/settings_local.py file:

      ENABLED_FEATURES = {
          'reviews.diff_acls': True,
      }
      

      This will be enabled by default in 5.0.

      See the FileDiffACLHook documentation for usage and an example using p4 protect.

    • Added experimental support for the DiffX file format.

      DiffX is our proposed standard for a modern, backwards-compatible diff format, designed to address many shortcomings and bridge the gap between many of the vendor-specific diff formats that exist.

      Review Board now features a built-in parser for DiffX files. For now, this is only used by some in-progress SCM implementations that are still in development. In time, we plan to update all our existing SCMs to support it natively and to use it in RBTools.

      This will make it easier to develop deeper integrations between Review Board, RBTools, and in-house scripts.

      See the DiffX website for more details.

    Extensions¶

    • Added FileDiffACLHook for defining diff access policies.

    • Expanded capabilities of diff parsers.

      BaseDiffParser was introduced as a new base class, which allows subclasses full control over the diff parsing mechanics.

      Subclasses (including DiffParser) can now store additional metadata for use in file fetching and the API through the ParsedDiff, ParsedDiffChange, and ParsedDiffFile classes used to represent parsed diff results.

      New SCMs are encouraged to generate DiffX files and use DiffXParser to parse them.

    • Updated Repository.get_file() and Repository.file_exists() to take new context parameters.

      These contain a FileLookupContext instance, which provide the base commit ID and any metadata parsed from a custom diff parser or a DiffX file.

      The old base_commit_id argument is still provided, but deprecated.

    • Updated SCMTool.popen() to take arbitrary keyword arguments to pass to subprocess.Popen.

    Bug Fixes¶

    Compatibility¶

    • Fixed compatibility with mysqlclient 2.1+ on Python 3.

    • Fixed issues that could lead to failed upgrades when upgrading from early Review Board 1.7 (or earlier) databases.

      You will need to manually upgrade django_evolution to 2.1.3 or higher. We will require this version in Review Board 4.0.6.

    Administration¶

    • The Search Settings page now validates configuration before allowing settings to be saved.

    Authentication¶

    • Fixed issues with TLS support for Active Directory.

      When enabling TLS support, Review Board will now always try ldaps:// URIs instead of ldap:// by default. The default port of 636 will be used as well, unless a port is explicitly provided.

      If 636 is the port used, TLS will be enabled automatically.

      Some additional changes were made to enhance compatibility, including opting into LDAP 3. Please let us know if this impacts your setup in any way.

    Reviews¶

    • Fixed an error rendering Markdown files on Python 3.

    Perforce¶

    • Fixed showing the Change review request field when using Perforce.

    Contributors¶

    • Anahita Mohapatra

    • Christian Hammond

    • David Trowbridge

    • Marcus Boay

    • Qin Zhang

    Keep up with the latest Review Board releases, security updates, and helpful information.

    About
    News
    Demo
    RBCommons Hosting
    Integrations
    Happy Users
    Support Options
    Documentation
    FAQ
    User Manual
    RBTools
    Administration Guide
    Power Pack
    Release Notes
    Downloads
    Review Board
    RBTools
    Djblets
    Power Pack
    Package Store
    PGP Signatures
    Contributing
    Bug Tracker
    Submit Patches
    Development Setup
    Wiki
    Follow Us
    Mailing Lists
    Reddit
    Twitter
    Mastodon
    Facebook
    YouTube

    Copyright © 2006-2025 Beanbag, Inc. All rights reserved.

    Terms of Service — Privacy Policy — AI Ethics Policy — Branding

    On this page

    • [Top]
    • Packaging
    • New Features
    • Extensions
    • Bug Fixes
      • Compatibility
      • Administration
      • Authentication
      • Reviews
      • Perforce
    • Contributors