* b4 0.16.0 released
@ 2026-08-05 17:01 Konstantin Ryabitsev
2026-08-10 11:51 ` Maxime Ripard
0 siblings, 1 reply; 6+ messages in thread
From: Konstantin Ryabitsev @ 2026-08-05 17:01 UTC (permalink / raw)
To: tools, users
Hi, all:
B4 v0.16.0 is now available! Install or upgrade using your usual mechanism,
or start from scratch with:
pipx install b4
# or, if you want the review and bugs tui stuff
pipx install b4[tui]
Full release notes:
- https://b4.docs.kernel.org/en/latest/releases.html
Getting started guide for reviewers:
- https://b4.docs.kernel.org/en/latest/reviewer/getting-started.html
Full release notes available here:
https://b4.docs.kernel.org/en/latest/releases.html
Here are some bigger items in this release:
# b4 bugs -- bug tracking with git-bug (technology preview)
The new "b4 bugs" command integrates with git-bug to let you track bug
reports alongside your git repository. Bugs are stored as git objects
inside the repo, so they travel with the code and can be shared via
git push/pull without any external service.
More about the git-bug project:
- https://github.com/git-bug/git-bug
Bugs stored this way can also be viewed via git.kernel.org -- for
example, b4's own bug tracker:
- https://git.kernel.org/pub/scm/utils/b4/b4.git/bugs/
A full-featured TUI (b4 bugs tui) lets you browse, triage, and update
bugs; a lightweight CLI covers scripting and non-interactive use. The
git-bug tool itself also ships its own TUI and a web UI, both of which
work fine alongside b4 on the same bug data.
Highlights:
- Import from lore -- enter a message-id and b4 fetches the full thread,
uses the oldest message as the bug report, and adds follow-ups as
comments.
- Lifecycle states -- triage bugs through custom lifecycle states.
- Reply to bug reporters directly from the TUI.
Like "b4 review", this ships as a technology preview (alpha): commands,
keybindings, and formats may change between releases.
# b4 review -- a large batch of improvements
The v0.15 technology preview generated a lot of excellent feedback (thank you,
everyone who wrote in -- especially Mark Brown, Christian Brauner, and
Matthieu Baerts). This release focused on making the review workflow more
robust, though it is still considered a beta-quality feature.
Here are some notable changes:
- Reworked revision upgrades -- "a newer revision exists" is now its own
attribute rather than a series status.
- Applies ("takes") run in the target branch's worktree -- applying a series
never checks the target branch out in your current worktree, and merge
conflicts are resolved in place in a conflict shell instead of aborting the
take.
- Partial-series state -- cherry-picking a subset of a series sets it to
"partial" state; the review stays alive and b4 promotes it to accepted
when later takes complete coverage.
- It's now possible to thank and archive in one motion -- an opt-in Take
checkbox chains a fully-accepting take into the thank-you preview, and
archives the series once the thanks are actually delivered.
- b4 review cron -- non-interactive periodic maintenance: wake expired
snoozes, rescan branches, update all tracked series, and deliver
queued thanks from a scheduler or a git-push wrapper.
- b4 review track --rethread -- stitch together series sent without any
threading; pass one patch and b4 does its best to get the rest from lore.
- Manual revision linking -- when automatic discovery fails, link a
revision by hand from the action menu.
- Custom reply templates -- wrap outgoing review replies in your own
template via b4.review-reply-template.
- Editor plugins for Vim and Emacs -- diff-aware syntax highlighting for
review buffers, hunk trimming with "[ ... NN lines skipped ... ]"
breadcrumbs, and adopt-comment for claiming external reviewer comments. See
misc/ in the source tree -- we don't install these automatically, but they
do really make a big difference.
- Many quality of life tweaks -- long-running network operations can be
interrupted with Escape; quitting now takes a capital Q (bare q warns);
sending from any preview screen is Ctrl-y; your own replies no longer show
up as unread; prior Reviewed-by/Acked-by replies you sent before tracking a
series are auto-detected and marked done; the Patchwork browser no longer
hangs on huge backlogs.
# b4 shazam -- conflict-resolution overhaul
"b4 shazam --resolve" now resolves conflicts inline: on a git am
conflict, b4 parks the in-progress apply in a throwaway worktree and
drops you into a sub-shell there. Finish with "git am --continue",
leave the shell, and b4 completes the operation. The previous
two-phase --continue/--abort flow is gone.
The conflicted series is applied entirely through native git am, which
fixes a serious bug where a patch whose three-way fallback could not
run was silently dropped from the merge.
# Native history rewriting and committer integrity
b4 no longer depends on git-filter-repo: cover-letter updates and trailer
application now rewrite history natively via pygit2. Git notes on rewritten
commits are migrated to the new commit OIDs instead of being orphaned, which
opens up possibility of better git-notes integration in the future.
# Interactive trailer and thank-you review
- "b4 trailers -u -i" opens your editor with the trailers about to be
applied; rejections are persisted and honoured on future runs.
- "b4 trailers -u --fuzzy" recovers trailers for rebased/amended
commits by Link: message-id and subject when the patch-id no longer
matches.
- "b4 ty -i" lets you review and deselect individual thank-you
messages before anything is sent.
# New first-party dependencies: liblore and ezgb
b4 now depends on two new libraries that are maintained as part of the
same project family (mainly, of note for distro packagers):
- liblore, which provides all lore.kernel.org/public-inbox access,
including automatic failover between mirror endpoints:
https://git.kernel.org/pub/scm/utils/liblore/liblore.git
- ezgb, which provides git-bug access and powers the new "b4 bugs"
command:
https://git.kernel.org/pub/scm/utils/ezgb/ezgb.git
If you're running b4 from a git checkout, you should run "git submodule init"
and "git submodule update" after switching to 0.16.
Other notable changes
---------------------
- b4 is now tested against distro-shipped dependency versions; the
pygit2 floor is lowered to 1.14 and two review-TUI crashes on older
Textual releases are fixed
- sendemail.sendmailCmd support for local mail submission
- b4.custom-msgid-cmd for custom message-id schemes on replies and
thank-yous
- b4.send-me-too = no to keep yourself out of Cc when sending
- b4 prep --cleanup-older-than for bulk-cleaning stale prep branches
- b4.review-apply-base to pre-fill the base selection dialog
- More reliable series matching for plain (non-git) diffs
# Thanks
Many thanks to everyone who contributed to this release with patches,
reviews, bug reports, testing, and suggestions:
- Alice Ryhl
- Breno Leitao
- Cássio Gabriel
- Chris Samuel
- Christian Brauner
- Clément Le Goffic
- Dave Marquardt
- Jacob Keller
- Jani Nikula
- Jeremy Kerr
- Jiri Slaby
- Jonathan Wakely
- Lorenzo Stoakes
- Louis Chauvet
- Mark Brown
- Matthias Beyer
- Matthieu Baerts
- Maxime Ripard
- Miguel Ojeda
- Miroslav Benes
- Nicolas Schier
- Tamir Duberstein
- Tan Siewert
- Vlastimil Babka
As always, bug reports and feedback are welcome at tools@kernel.org.
Best regards,
-K
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: b4 0.16.0 released
2026-08-05 17:01 b4 0.16.0 released Konstantin Ryabitsev
@ 2026-08-10 11:51 ` Maxime Ripard
2026-08-10 15:47 ` Konstantin Ryabitsev
0 siblings, 1 reply; 6+ messages in thread
From: Maxime Ripard @ 2026-08-10 11:51 UTC (permalink / raw)
To: Konstantin Ryabitsev; +Cc: tools, users
[-- Attachment #1: Type: text/plain, Size: 700 bytes --]
Hi Konstantin,
On Wed, Aug 05, 2026 at 01:01:31PM -0400, Konstantin Ryabitsev wrote:
> Hi, all:
>
> B4 v0.16.0 is now available! Install or upgrade using your usual mechanism,
> or start from scratch with:
>
> pipx install b4
> # or, if you want the review and bugs tui stuff
> pipx install b4[tui]
>
> Full release notes:
> - https://b4.docs.kernel.org/en/latest/releases.html
>
> Getting started guide for reviewers:
> - https://b4.docs.kernel.org/en/latest/reviewer/getting-started.html
>
> Full release notes available here:
> https://b4.docs.kernel.org/en/latest/releases.html
It looks like the tarball hasn't been published? Is it on purpose?
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: b4 0.16.0 released
2026-08-10 11:51 ` Maxime Ripard
@ 2026-08-10 15:47 ` Konstantin Ryabitsev
2026-08-10 19:08 ` Konstantin Ryabitsev
0 siblings, 1 reply; 6+ messages in thread
From: Konstantin Ryabitsev @ 2026-08-10 15:47 UTC (permalink / raw)
To: Maxime Ripard; +Cc: tools, users
On Mon, Aug 10, 2026 at 01:51:42PM +0200, Maxime Ripard wrote:
> > B4 v0.16.0 is now available! Install or upgrade using your usual mechanism,
> > or start from scratch with:
> >
> > pipx install b4
> > # or, if you want the review and bugs tui stuff
> > pipx install b4[tui]
> >
> > Full release notes:
> > - https://b4.docs.kernel.org/en/latest/releases.html
> >
> > Getting started guide for reviewers:
> > - https://b4.docs.kernel.org/en/latest/reviewer/getting-started.html
> >
> > Full release notes available here:
> > https://b4.docs.kernel.org/en/latest/releases.html
>
> It looks like the tarball hasn't been published? Is it on purpose?
Oh, sorry, I forgot about that step! I needed to first make sure that the two
new libraries have tarballs, too, and then got busy with bot wars.
I'll set it up today, thanks for the reminder.
-K
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: b4 0.16.0 released
2026-08-10 15:47 ` Konstantin Ryabitsev
@ 2026-08-10 19:08 ` Konstantin Ryabitsev
2026-08-11 15:15 ` Maxime Ripard
0 siblings, 1 reply; 6+ messages in thread
From: Konstantin Ryabitsev @ 2026-08-10 19:08 UTC (permalink / raw)
To: Maxime Ripard; +Cc: tools, users
On Mon, Aug 10, 2026 at 11:47:21AM -0400, Konstantin Ryabitsev wrote:
> > > Full release notes available here:
> > > https://b4.docs.kernel.org/en/latest/releases.html
> >
> > It looks like the tarball hasn't been published? Is it on purpose?
>
> Oh, sorry, I forgot about that step! I needed to first make sure that the two
> new libraries have tarballs, too, and then got busy with bot wars.
>
> I'll set it up today, thanks for the reminder.
All tarballs should be in place now.
-K
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: b4 0.16.0 released
2026-08-10 19:08 ` Konstantin Ryabitsev
@ 2026-08-11 15:15 ` Maxime Ripard
2026-08-14 9:31 ` Maxime Ripard
0 siblings, 1 reply; 6+ messages in thread
From: Maxime Ripard @ 2026-08-11 15:15 UTC (permalink / raw)
To: Konstantin Ryabitsev; +Cc: tools, users
[-- Attachment #1: Type: text/plain, Size: 824 bytes --]
On Mon, Aug 10, 2026 at 03:08:28PM -0400, Konstantin Ryabitsev wrote:
> On Mon, Aug 10, 2026 at 11:47:21AM -0400, Konstantin Ryabitsev wrote:
> > > > Full release notes available here:
> > > > https://b4.docs.kernel.org/en/latest/releases.html
> > >
> > > It looks like the tarball hasn't been published? Is it on purpose?
> >
> > Oh, sorry, I forgot about that step! I needed to first make sure that the two
> > new libraries have tarballs, too, and then got busy with bot wars.
> >
> > I'll set it up today, thanks for the reminder.
>
> All tarballs should be in place now.
Thanks, I did the Fedora new package requests for the two new libraries:
https://bugzilla.redhat.com/show_bug.cgi?id=2513852
https://bugzilla.redhat.com/show_bug.cgi?id=2513973
I'll work on the 0.16.0 update next
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: b4 0.16.0 released
2026-08-11 15:15 ` Maxime Ripard
@ 2026-08-14 9:31 ` Maxime Ripard
0 siblings, 0 replies; 6+ messages in thread
From: Maxime Ripard @ 2026-08-14 9:31 UTC (permalink / raw)
To: Konstantin Ryabitsev; +Cc: tools, users
[-- Attachment #1: Type: text/plain, Size: 1293 bytes --]
Hi
On Tue, Aug 11, 2026 at 05:15:16PM +0200, Maxime Ripard wrote:
> On Mon, Aug 10, 2026 at 03:08:28PM -0400, Konstantin Ryabitsev wrote:
> > On Mon, Aug 10, 2026 at 11:47:21AM -0400, Konstantin Ryabitsev wrote:
> > > > > Full release notes available here:
> > > > > https://b4.docs.kernel.org/en/latest/releases.html
> > > >
> > > > It looks like the tarball hasn't been published? Is it on purpose?
> > >
> > > Oh, sorry, I forgot about that step! I needed to first make sure that the two
> > > new libraries have tarballs, too, and then got busy with bot wars.
> > >
> > > I'll set it up today, thanks for the reminder.
> >
> > All tarballs should be in place now.
>
> Thanks, I did the Fedora new package requests for the two new libraries:
> https://bugzilla.redhat.com/show_bug.cgi?id=2513852
> https://bugzilla.redhat.com/show_bug.cgi?id=2513973
For both (and b4 itself), rpmlint reports that the license in the
COPYING file mentions in the copyright an outdated address for the FSF
(51 Franklin Street, Fifth Floor, Boston, MA).
It hasn't been in use for two years
https://www.fsf.org/blogs/community/fsf-office-closing-party
And the FSF now recommends to drop the address, see
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-08-14 9:31 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-05 17:01 b4 0.16.0 released Konstantin Ryabitsev
2026-08-10 11:51 ` Maxime Ripard
2026-08-10 15:47 ` Konstantin Ryabitsev
2026-08-10 19:08 ` Konstantin Ryabitsev
2026-08-11 15:15 ` Maxime Ripard
2026-08-14 9:31 ` Maxime Ripard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.