> From: Sean Whitton <[email protected]>
> Cc: [email protected], [email protected]
> Date: Wed, 24 Jun 2026 11:55:30 +0100
> 
> Our practice has been that for a while after a NN.1 release we install
> bug fixes on the emacs-NN branch, and keep merging it to master, but
> then as time passes we drift towards only installing things on master,
> returning to the emacs-NN only if there is a critical bug fix for which
> we immediately want to do a point release.
> 
> I would like us to be more deliberate about how we use the emacs-31
> branch after the release of Emacs 31.1, using it in a more principled
> way.  I've CC'd two of our downstreams for feedback.
> 
> Here are some ways we could go:
> 
> - Decide that only critical bug fixes go on the emacs-31 branch.
>   Stop putting other bug fixes there are soon as Emacs 31.1 is out.
>   "Critical" means we want to do a point release as soon as the fix is
>   installed.

IOW, if there are no critical bugs, we never release Emacs 31.1, but
go directly to starting the Emacs 32 release cycle?

> - Continue to install fixes on the emacs-31 branch as though we were
>   still in the later stages of the pre-release freeze.

That's what we've been doing until now on every release branch after
the NN.1 version was released.

> - A halfway house: the second option until the release of Emacs 32.2,

You mean 31.2?

>   which we will expect to do within a few months, and thereafter the
>   first option, with only critical bug fixes permitted.

Theoretically, we've intended to do it this way, but actually ended up
doing the previous one.

> The advantage of the second two options is that our users would get
> fixes for various bugs much -- years -- sooner than they otherwise
> would.  That's a service that it would be nice to provide, if we could.

Not sure I understand why.  Presumably, you mean we should install on
the release branch fixes that are not-so-safe, instead of installing
them on master?  If so, we tried that before Emacs 26 (I think), and
the results were unsatisfactory: the fixes would destabilize the
release branch and bring new bugs.  Which is why we switched to the
current MO.

Or did I misunderstand what you meant here?

> The costs would be:
> - for everyone: having to wait for one of the head maintainers to okay
>   installing something on emacs-31 instead of just going ahead and
>   installing it on master
> - for the head maintainers: having to make those decisions regularly for
>   a longer period than just during our feature freezes
> - for the head maintainers: cutting more pretests and point releases
>   than at present.
> 
> Have I missed anything here?
> 
> I think that the cost of cutting more pretests and point releases is
> acceptable.  I'm happy to do it and I want to script more of the process
> than is currently automatic at present, anyway.
> 
> The other two costs I'm not sure about.

I think the main cost, one you haven't mentioned, will be to delay the
NN+1.1 release (because more important changes are being installed on
the release branch, and more energy is directed towards emacs-NN
branch releases).

Also, our experience is that as time passes, it becomes harder and
harder to keep releasing from emacs-NN without adding new features,
because the world at large doesn't stand still.  For example, when
Unicode releases a new version of the standard, is it reasonable to
put out emacs-NN.x releases that support only the previous version of
Unicode?  IOW, once the release branch is open to anything but
strictly safe bugfixes, and it lives for a long time, it becomes
harder to keep it stable.

Reply via email to