Version 0.15.0 of the b4 patch-management tool is out. Highlights in this release include the
b4 review
workflow manager for maintainers (covered briefly in this article),
b4 dig
, which can find the original mailing-list submission behind a commit, three-way-merge support in
b4 shazam
, and more. See the release notes for details.
| From: | Konstantin Ryabitsev <konstantin-AT-linuxfoundation.org> | |
| To: | users-AT-kernel.org, tools-AT-kernel.org | |
| Subject: | b4 v0.15.0 released | |
| Date: | Fri, 20 Mar 2026 16:47:14 -0400 | |
| Message-ID: | <20260320-portable-jaybird-of-focus-41fd66@lemur> |
Hi, all:
B4 v0.15.0 is now available! Install or upgrade using your usual mechanism.
We're recommending the use of pipx now over pip, so if you want to start from scratch, you can use:
pipx install b4
# or, if you want the new shiny review tui stuff
pipx install b4\[tui\]
Full release notes: https://b4.docs.kernel.org/en/latest/releases.html Getting started guide with screencasts: https://b4.docs.kernel.org/en/latest/reviewer/getting-sta...
The headline feature in this release is "b4 review", a terminal-based workflow for maintainers who receive, review, and accept patches from mailing lists. It ships as a technology preview (alpha): commands, keybindings, configuration options, and on-disk formats may change in incompatible ways between releases.
The TUI requires the optional "tui" dependency group:
pipx install b4\[tui\]
The workflow is built around a lightweight SQLite tracking database and per-series review branches. It comprises three cooperating TUI apps:
Tracking TUI Browse and manage tracked series with status indicators, take (apply) series using merge, linear, or cherry-pick strategies, compare revisions with range-diff, send thank-you messages, and archive completed series. The app groups series by lifecycle state (active, new, waiting, gone) and sorts by most-recent activity.
Review TUI Split-pane interface with a patch list and scrollable diff viewer. Add inline comments and code-review trailers, preview outgoing emails, invoke an external AI agent for automated review assistance, and send review replies — all without leaving the terminal.
Patchwork TUI Browse outstanding series from a Patchwork server, set state and archived flags, and track series into the local database for review.
Highlights:
The new "b4 dig" command searches for the original mailing list submission of a commit that has already been applied to a git tree. It matches by patch-id, author, and subject to locate the original thread on lore.kernel.org.
b4 dig <commitish>
b4 dig --all-series HEAD~20..HEAD
b4 dig --who --save-mbox <commitish>
"b4 shazam -H" now performs a three-way merge when applying patches, which significantly improves the success rate for series that do not apply cleanly with a simple "git am". When conflicts do occur, the new --resolve flag drops you into an interactive conflict resolution session instead of aborting:
b4 shazam -H --resolve <msgid>
Two new configuration keys let you run commands before and after b4 rewrites history on a prep branch (for example, when updating the cover letter or applying trailers via git-filter-repo):
\[b4\]
prep-pre-rewrite-hook = stg commit --all
prep-post-rewrite-hook = stg repair
A non-zero exit from the pre-hook aborts the operation, which is useful for tools like StGit that need to commit their internal state first.
Thanks to the following people for reporting bugs, suggesting features, reviewing patches, testing, and contributing code, and especially to Mark Brown for valiantly trying the very early, rough versions of b4 review workflows.
Alexey Minnekhanov, Andrew Cooper, Andy Shevchenko, Christian Heusel, Conor Dooley, Dave Marquardt, Geert Uytterhoeven, Jonathan Corbet, Junio C Hamano, Juri Lelli, Kevin Hilman, Krzysztof Kozlowski, Lee Jones, Linus Torvalds, Louis Chauvet, Luca Ceresoli, Manos Pitsidianakis, Marc Kleine-Budde, Mark Brown, Matthieu Baerts, Maxime Ripard, Michael S. Tsirkin, Miguel Ojeda, Nathan Chancellor, Panagiotis Vasilopoulos, Ricardo Ribalda, Rob Herring, Tamir Duberstein, Toke Høiland-Jørgensen.
KR