Breaking D2 language/spec changes with D1 being discontinued in a month
Rob T
rob at ucora.com
Thu Nov 29 12:36:08 PST 2012
On Thursday, 29 November 2012 at 19:53:13 UTC, deadalnix wrote:
> On Thursday, 29 November 2012 at 19:30:00 UTC, H. S. Teoh wrote:
>> Isn't this only necessary if the new feature depends on said
>> breaking
>> changes? If not, it can be safely merged in. If it's a trivial
>> change
>> like a syntax change, the stable maintainer can simply fix it
>> by hand
>> and merge it in anyway.
>>
>
> New code means new bugs. This is why most project use the 3
> numbers version. Eventually, if you add a new module to phobos,
> people use it, and even if you don't you ends up using it
> indirectly and you get the bugs.
The 3 number system is fine grained enough to do what we probably
want.
If we use 3 version numbers like this: major.minor.revision, then
Incrementing "major" indicates a major release with breaking
changes incorporated and/or new features added.
Incrementing "minor" indicates no breaking changes, no new
features, but possibly new bugs were introduced due to the the
changes that were made.
Incrementing "revision" indicates a bug fix only release.
We should also have 3 branches in principle, each corresponding
to the 3 version numbers. One for stable, which receives only
revision updates after major.minor is frozen, another for
pre-stable and also for the "stable candidate" which frozen from
new features, but uses same branch, and a 3rd for unstable, which
eventually moves to pre-stable branch.
This is more or less how Debian seems to do it.
--rt
More information about the Digitalmars-d
mailing list