RFC: Name the first release from a branch N.1.0 instead of N.0.0

Here’s an alternative, which I think(?) solves the same problems, but preserves the common expectation that X.0 is actually a release:

  • After the 18.0.0 release branch is cut, change the reported branch on main to 18.99.0.
  • When the 19.0.0 release branch is cut, change the reported branch main to 19.99.0, and have the release branch report 19.0.0.
  • etc.

So, if the most recent release branch is X.0, then the development branch reports X.99.0 (newer than that, but older than the next release branch).

I think it’s clear there is a problem here, but now there have been several different proposals, so it’s hard to determine if there is some kind of consensus. I really don’t like seeing these RFC’s just end without some kind of conclusion. What are the next steps here? Should we turn it into a pitch and use the LLVM Decision Making process to help us find the best solution?

1 Like

I think there’s three options that have been brought up:

  1. My original proposal: don’t change mainline versioning. Change release branch process to increment version of the release-branch to 18.1.0 upon its creation.
  2. mehdi_amini (and separately dexonsmith)'s proposal: increase main development branch to 18.999.0 (instead of 19.0.0) upon creation of the 18.0.0 release branch. First proposed by mehdi here.
  3. Don’t change anything, it’s fine.

There’s also been a discussion of whether SOVERSION ought to include the minor version. I don’t consider that as needing to be part of this proposal, but I’d support such a change.

My read of the discussion so far is:

  • there’s rough consensus that the status-quo isn’t fine.
  • I’ve responded here with why I think the first option is preferable to the second option, and there wasn’t pushback on that.

It’s not clear that anyone is actively opposed to proceeding with the initial proposal, versus simply bringing up other options for discussion. Thus: I’d like to ask for anyone explicitly opposed to moving forward with the original proposal to state so.

If there are objections, we can continue discussion on the points of disagreement, or move into another process. But, if there are not, I’ve sent PR 75743 to tstellar (as representative release manager).

2 Likes

Agreed. I think fixing the status quo is much very desired and happy that there are multiple proposals.

I favor your original proposal more ((a) similar to GCC (b) llvmorg-N-init tags are kept associating with N rather than (N-1).9999).

Sounds good.

+1: this was the intent on my side.
Thank you for considering the tradeoff and explaining your reasoning.