• 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.4 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.4 Release Notes¶

    Release date: July 28, 2021

    Packaging¶

    • Updated the ReviewBoard[postgres] dependency to cap the psycopg2-binary package at < 2.9.

      2.9 introduced changes that break timezones on the version of Django we’re using. Make sure this package is older than 2.9.

    • Added a dependency on packaging on Python 2.7 and capped it to < 21.0.

      This avoids installation issues on Python 2.7.

    • Updated our bundled CodeMirror dependency to 5.62.

      This offers many bug fixes and syntax highlighting improvements for a range of languages, along with bug fixes for various edge cases.

    New Features¶

    • Added support for threading e-mails when using Amazon SES as an e-mail backend.

      Amazon SES has some non-standard behavior around programmatic e-mail threading, meaning that while it could be used to send e-mail, users wouldn’t see threads they would with other e-mail providers.

      We’ve added support in this release to explicitly work with Amazon SES’s custom behavior to add threaded e-mails.

    • Improved code highlighting in text fields.

      There are improvements for:

      • CSS

      • JSX

      • Markdown

      • Pascal

      • Python format strings

      • SQL

      • Shell scripts

      • TypeScript

      • XML

      These all come from the CodeMirror upgrade. See the CodeMirror release notes from 5.48.4 through 5.62 for details on all the changes, if you’re interested.

    • The Docker image now has optional cron support.

      To activate this, pass REVIEWBOARD_CRONTAB=/site/conf/cron.conf when launching a container to use the default crontab, which handles search indexing and session cleanup.

      If providing a custom crontab file, you can pass the path to that file within the container.

      Patch by Ryan Mounce.

    Bug Fixes¶

    Review Requests¶

    • Fixed a regression from 4.0.3 in loading commits in the New Review Request page.

      We previously made some fixes to loading an initial set of commits, but it caused another issue that prevented continuous loading of more commits when scrolling the list.

    • Fixed the visual selection indicator in text fields when selecting all or part of an inline code literal.

    • Status Updates shown for automated code reviews no longer appear to load forever if they finish too quick.

    • Fixed the order of replies to general comments and file attachment comments sometimes appearing in the wrong order.

    • Fixed diff generation when downloading a diff to ensure the order is always correct.

      This problem mostly impacted Mercurial diffs.

    rb-site¶

    • Fixed a crash outputting Unicode content on Python 3 when the terminal wasn’t configured for UTF-8 encodings.

    Subversion¶

    • Fixed a regression from 4.0.2 in parsing some Subversion diffs.

    • Fixed a crash when using subvertpy 0.11.

      This version of Subvertpy regressed some crucial functionality used when fetching information on files from a Subversion repository.

    Administration¶

    • Fixed a regression from 3.0.x with configuring some repository types provided by extensions.

      If third-party repository types made use of custom repository forms, they could crash on save due to the lack of an addprefix method on the form. This regressed due to this function being renamed in Django, but should now work correctly.

    Contributors¶

    • Christian Hammond

    • David Trowbridge

    • Ryan Mounce

    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
    • Bug Fixes
      • Review Requests
      • rb-site
      • Subversion
      • Administration
    • Contributors