• 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. RBTools
    2. RBTools 5.1 Release Notes
  • Home
  • RBTools 5.2.1 Release Notes
  • RBTools 5.2 Release Notes
  • RBTools 5.1.1 Release Notes
  • RBTools 5.1 Release Notes
  • RBTools 5.0 Release Notes
  • RBTools 4.1 Release Notes
  • RBTools 4.0 Release Notes
  • RBTools 3.1.2 Release Notes
  • RBTools 3.1.1 Release Notes
  • RBTools 3.1 Release Notes
  • RBTools 3.0 Release Notes
  • RBTools 2.0.1 Release Notes
  • RBTools 2.0 Release Notes
  • RBTools 1.0.3 Release Notes
  • RBTools 1.0.2 Release Notes
  • RBTools 1.0.1 Release Notes
  • RBTools 1.0 Release Notes
  • RBTools 0.7.11 Release Notes
  • RBTools 0.7.10 Release Notes
  • RBTools 0.7.9 Release Notes
  • RBTools 0.7.8 Release Notes
  • RBTools 0.7.7 Release Notes
  • RBTools 0.7.6 Release Notes
  • RBTools 0.7.5 Release Notes
  • RBTools 0.7.4 Release Notes
  • RBTools 0.7.3 Release Notes
  • RBTools 0.7.2 Release Notes
  • RBTools 0.7.1 Release Notes
  • RBTools 0.7.0 Release Notes
  • RBTools 0.6.3 Release Notes
  • RBTools 0.6.2 Release Notes
  • RBTools 0.6.1 Release Notes
  • RBTools 0.6 Release Notes
  • RBTools 0.5.7 Release Notes
  • RBTools 0.5.6 Release Notes
  • RBTools 0.5.5 Release Notes
  • RBTools 0.5.4 Release Notes
  • RBTools 0.5.3 Release Notes
  • RBTools 0.5.2 Release Notes
  • RBTools 0.5.1 Release Notes
  • RBTools 0.5.0 Release Notes
  • RBTools 0.4.3 Release Notes
  • RBTools 0.4.2 Release Notes
  • RBTools 0.4.1 Release Notes
  • RBTools 0.4.0 Release Notes
  • RBTools 0.3.4 Release Notes
  • RBTools 0.3.3 Release Notes
  • RBTools 0.3.2 Release Notes
  • RBTools 0.3.1 Release Notes
  • RBTools 0.3.0 Release Notes
  • RBTools 0.2.0 Release Notes
  • RBTools 0.2 RC 1 Release Notes
  • RBTools 0.2 Beta 2 Release Notes
  • RBTools 0.2 Beta 1 Release Notes
  • Release Notes
  • RBTools 5.1 Release Notes¶

    Release date: December 2, 2024

    Installation¶

    Follow our installation guide to install RBTools.

    To learn more, see:

    • Documentation

    • RBTools on PyPI

    • RBTools on GitHub

    Compatibility¶

    • RBTools supports Python 3.8 through 3.12.

    • Added a dependency on puremagic.

    New Features¶

    Modern Patching¶

    We’ve completely redone the way we apply patches in rbt land and rbt patch, opening the doors for new features and wider compatibility.

    Today, this offers:

    • Better patch error reporting and conflict handling.

    • Improved compatibility with GNU Patch, Apple Patch, and BSD Patch.

    • Ability to patch and land multiple commits at once using Mercurial.

    TREES Configuration¶

    RBTools used to include an undocumented .reviewboardrc option called TREES, which let users map repository paths to Review Board server URLs. We deprecated this in RBTools 3 and removed it in RBTools 4.

    But now, TREES is back and better than ever! You can now set any configuration options you’d normally set .reviewboardrc, not just the Review Board server URL.

    Local checkout/clone paths are also now supported as keys.

    For example:

    TREES = {
        'https://svn.example.com/': {
            'REVIEWBOARD_URL': 'https://reviews.example.com',
        },
        '/home/user/dev': {
            'MARKDOWN': False,
            'TRACKING_BRANCH': 'origin/rewrite',
        }
    }
    

    Fallback Mimetype Detection¶

    When uploading binary files for review, we try to determine the type of file by using the file command. This is available on most systems, but not all.

    Now systems without file will fall back to an alternate method of detection, ensuring binary files work for all environments.

    New Cookie Settings¶

    If you’re using multiple Review Board servers on the same domain, it can be possible for session cookies (needed for authentication) to conflict with each other. For example, cookies sent from rb.example.com would be used on staging.rb.example.com, and this may not be what you want.

    You can now enable strict-domain cookies by enabling COOKIES_STRICT_DOMAIN_MATCH in .reviewboardrc.

    For example:

    COOKIES_STRICT_DOMAIN_MATCH = True
    

    For compatibility reasons, this is off by default.

    Bug Fixes¶

    rbt patch / rbt land¶

    • Fixed a crash when applying patches on Subversion repositories.

    rbt post¶

    • Fixed crashes on some systems when trying to determine binary file mimetypes.

    • Fixed crashes that could occur looking up TFS-backed Git repositories and ClearCase repositories on older versions of Review Board when Power Pack isn’t installed.

    • Fixed a crash when uploading binary files.

      When iterating on a branch involving binary files, it was possible to hit a case where we would try to upload the source file associated with a parent diff and hit a conflict.

    rbt status-update¶

    • Fixed mismatches between the documentation and command behavior.

      The documentation stated that body_top and body_bottom content should be set inside a review key when calling rbt status-update set. However, the command checked in a reviews key.

      We’ve changed this command to check review, as shown in the documentation. The undocumented legacy behavior will continue to work.

    • Added missing support for setting issue_opened on General Comments.

      This was supported for all other comment types, but was missing for General Comments.

    RBTools API Changes¶

    • Added new Patcher support, consisting of:

      • rbtools.diffs.patcher.Patcher

      • rbtools.diffs.patches.Patch

      • rbtools.clients.base.scmclient.SCMClientPatcher

      • rbtools.clients.base.scmclient.BaseSCMClient.patcher_cls

    New Deprecations¶

    Old imports and behavior will still work with a deprecation notice until RBTools 7.

    • rbtools.clients.base.patch.PatchAuthor:

      • This has been moved to rbtools.diffs.patches.

      • Renamed the fullname constructor argument to full_name.

      • All arguments are now keyword-only arguments.

    • rbtools.clients.base.patch.PatchResult:

      • This has been moved to rbtools.diffs.patches.

      • All arguments are now keyword-only arguments.

    Contributors¶

    • Christian Hammond

    • David Trowbridge

    • Michelle Aubin

    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]
    • Installation
    • Compatibility
    • New Features
      • Modern Patching
      • TREES Configuration
      • Fallback Mimetype Detection
      • New Cookie Settings
    • Bug Fixes
      • rbt patch / rbt land
      • rbt post
      • rbt status-update
    • RBTools API Changes
      • New Deprecations
    • Contributors