[llvm-dev] [lldb-dev] [cfe-dev] What version comes after 3.9? (Was: [3.9 Release] Release plan and call for testers)
Chris Lattner via llvm-dev
llvm-dev at lists.llvm.org
Tue Jun 28 14:31:07 PDT 2016
> On Jun 28, 2016, at 8:40 AM, Hans Wennborg <hans at chromium.org> wrote:
>> I continue to think that 3.10 is the least defensible option out there. We have a time based release process with no mechanism or attempt to align behind “big” releases that could bring is to a 4.x number. You might as well call the release “10” at this point, since the "3.” will become archaic legacy that we can’t shed.
>> Trust me, I’ve seen this happen several times in the past in multiple different products (both open source and proprietary), and have had success leading one to a more predictable release number pattern like I’m advocating for. This is a problem that we are simply walking into by naming it 3.10, there is no reason to do that.
>> I still don’t understand what “confusion” could be caused by going from 3.9 to 4.0. Could someone please elaborate on what the problem is that needs solving? If it is that people don’t understand what is major about the release, I would say “who cares”?
> I think the main issue (besides users asking what's the big change in
> 4.0, which I agree is not a big problem) is that the bitcode
> compatibility policy is tied to the major version number.
If that is the confusion, then I suggest that we just document (in the release notes) what the supported compatibility range is for any release. That makes it completely unambiguous, and means that we don’t have to make an arbitrary policy up front (exactly N years of support!), we can drive it based on the cost/benefit involved with making a specific change.
Besides, people “expecting” 4.0 to break compatibility will likely ask about it, and be pleasantly surprised :-). I don’t think that the association of major number to bitcode compatibility is actually well known outside the core group of folks that hang out on llvm-dev anyway.
I think that there is a reasonable argument to be made for switching to a semantic versioning model. Instead of 3.9, 4.0, 4.1 we would switch to 4.0, 5.0, 6.0 and then “4.1” would be a patch release. It appears that jumping to 40 just freaks too many people out.
More information about the llvm-dev