RBTools 7.0 Release Notes¶
Release date: September 30, 2026
Installation¶
Follow our installation guide to install RBTools.
To learn more, see:
Compatibility¶
New Features¶
New and improved console output.
RBTools now uses rich for all console output. Commands show colorized status messages, tables, spinners, and progress bars. JSON output from
--jsonis now syntax-highlighted.Output is also cleaner when RBTools needs to prompt for input in the middle of a command. For example, if you run
rbt postwhile logged out, progress output is hidden while the login prompt is shown.Added a
--coloroption to all commands.This controls when colorized output is used. It accepts
auto(the default),always, ornever. This can also be set with theCOLOR_MODEconfiguration key.The standard
NO_COLORandFORCE_COLORenvironment variables are also supported when the mode isauto.Fill in more review request fields from commit messages.
When guessing fields, RBTools now parses the Testing Done and Bugs Closed fields out of commit messages, in addition to the summary and description. This matches the format written by
rbt patchandrbt land, so changes can be round-tripped between Review Board and your repository.Recognized field headers and
Reviewed at <url>lines are stripped from the guessed description.If your team uses different commit message conventions, you can set
COMMIT_MESSAGE_PARSERto a custom function. Custom parsers can also provide the branch, depends on, target groups, and target people fields.
rbt close¶
--close-typenow acceptscompletedas the default close type.This matches the terminology used in Review Board.
submittedis still accepted.
rbt info¶
Show drafts for review requests.
rbt infonow shows the draft for unpublished review requests, and for published review requests when you are the submitter.
rbt post¶
Improved progress output.
rbt postnow shows a single spinner with the current task. A progress bar is added when validating or uploading multiple commits. When posting is complete, the spinner is replaced with the result.--guess-fieldsnow applies to all guessable fields.This includes summary, description, testing done, bugs closed, and any additional fields provided by a custom
COMMIT_MESSAGE_PARSER. When set, it takes precedence over--guess-summaryand--guess-description.Values provided explicitly on the command line always take precedence over guessed values.
Bug Fixes¶
General¶
Running a command with subcommands, such as
rbt revieworrbt status-update, without a subcommand now shows help text instead of crashing.
rbt info¶
Fixed a crash when a review request has a repository but no published diffs.
A non-numeric or non-existent diff revision now shows a clear error, instead of the raw HTML of an error page.
rbt install¶
Fixed fetching signing keys from the keyserver when verifying downloads.
rbt patch¶
Fixed a crash when applying patches with binary files that were posted with RBTools 5.x or older.
This also affected binary files that were not uploaded when posting, such as very large files.
Fixed applying patches with moved or copied binary files.
This mainly affected systems using Apple’s diff outside of Git repositories.
Fixed applying patches with moved binary files when using GNU patch 2.7 or newer.
Fixed a crash when using
--jsonand a patch had conflicts.
rbt review¶
Fixed
rbt review add-diff-commentfailing with “Could not find a file” on diffs containing more than 25 files.Only the first page of files in the diff was searched when matching
--filename. All pages are now searched.
rbt status-update get¶
Fixed a crash in
rbt status-update get.Patch by Conor Burgess.
ClearCase / VersionVault¶
Fixed diff paths when running inside a view entered with cleartool setview.
Paths were computed relative to the current directory, which caused file-not-found errors when posting. This could appear to happen at random, since the same change would post fine from a view entered through
/view/tag.Fixed label-based diffs, which previously treated every file as
/main/0.Improved performance of VOB lookups on installations with many regions and VOBs.
Jujutsu¶
Fixed compatibility with Jujutsu 0.42 and newer.
Jujutsu 0.42 removed the
--authoroption from jj describe. This broke setting the author when creating commits withrbt patchandrbt land.Improved error messages for invalid revisions.
Passing a mistyped change ID or an empty revset to
rbt difforrbt postnow shows the error reported by Jujutsu, instead of a generic error or crash.Fixed a crash when a change had multiple fork points from the upstream branch.
Fixed creating unnecessary parent diffs in some cases.
Fixed using RBTools in workspaces that reference the main repository with a relative path.
Fixed
rbt patchtruncating newly-added files to zero bytes.Fixed diffs for files with names containing fileset syntax characters, such as
,,(,|, or~. This affected diffs whenEXCLUDE_PATTERNSwas set.Fixed an extra blank line after
indexlines for added and deleted files in generated diffs.
API Changes¶
Removed¶
The following features were deprecated in earlier releases and have now been removed.
Removed the
rbtools.clients.base.patchmodule. Userbtools.diffs.patches.PatchAuthorandrbtools.diffs.patches.PatchResultinstead.Removed the
PatchAuthorandPatchResultforwarding classes fromrbtools.clients.Removed legacy patching support for SCMClients that only override
apply_patch(). SCMClients must now setpatcher_cls.Removed
BaseSCMClient.apply_patch_for_empty_files().Removed the
PatchAuthor.fullnameproperty. UsePatchAuthor.full_nameinstead.Patchno longer accepts a string forprefix_level.PatchAuthor,PatchResult,guess_mimetype(), andCommandTestsMixin.create_commandnow require keyword arguments.
New¶
Added
rbtools.utils.commit_messages, withparse_commit_message()andformat_commit_message().Added
rbtools.ui.console.RBToolsConsolefor rich console output in commands.
Deprecated¶
rbtools.utils.commands.extract_commit_message()has been moved torbtools.utils.commit_messages.format_commit_message(). The old name will be removed in RBTools 9.rbtools.utils.commands.STAMP_STRING_FORMAThas been moved torbtools.utils.commit_messages.STAMP_STRING_FORMAT.SCMClientCommitMessageis now an alias forParsedCommitMessage. The alias will be removed in RBTools 9.
Contributors¶
Christian Hammond
Conor Burgess
David Trowbridge
Michelle Aubin