Next focus: PROCESS
Rob T
rob at ucora.com
Sat Dec 15 19:59:26 PST 2012
On Thursday, 13 December 2012 at 07:18:16 UTC, foobar wrote:
>
> Per my answer to Rob:
> D2 *is* the major version.
> releases should be minor versions and largely backwards
> compatible - some evolution is allowed given some reasonable
> restrictions like a proper migration path over several releases.
> Critical bug-fixes can go directly on stable releases but
> nothing else.
>
I just realized that we are mixing together the version numbers
for two entirely different things.
As you have correctly pointed out, one of the version numbers is
for the D language specification, which is version 2.something,
the other version is for the compiler releases, which has the
major language specification version assigned to identify it as
supporting version 2.something of the D language. The remaining
numbers indicate incremental releases which may also roughly
correspond to the minor evolutionary changes to the language
specification, i.e., does DMD 2.061 also mean D specification
2.061?
I think it makes good sense that the "2" is used to indicate that
the compiler supports D major version 2 of the specification, but
we should all be clear that is all that it represents. Therefore
DMD 3.x will never appear unless there's a D language ver 3
specification for it to support.
A completely separate issue that should be dealt with, is that
the language specification's version number is not indicated
anywhere that I could see. We just assume it's version
2.something and we have no idea where the "something" part is
currently at or what has changed since ver 2.0. This is no good
because it means that we cannot indicate in the compiler release
change log what minor version of the 2.x specification the
compiler is actually supporting.
--rt
More information about the Digitalmars-d
mailing list