D 1.076 and 2.061 release
Jonathan M Davis
jmdavisProg at gmx.com
Mon Jan 7 08:58:55 PST 2013
On Monday, January 07, 2013 08:09:01 Pierre Rouleau wrote:
> The worst part I see is that bug fixes and new feature introductions are
> lumped together inside releases. Combined with the fact that the
> development is not predictable means that if you develop products with D
> you have to keep updating it. If you get stuck with a bug and wait for
> the release that fixes it, when that release comes out it could very
> well bring new language features that break the code that you have
> already written.
>
> It would be nice to have bug fixes separated from new feature
> introductions by having major and minor releases and branches for these
> releases. Contributors of a release could backport bug fix in the
> release they use if that was required by their project using the now old
> compiler version.
>
> Of course I realize that this means more overall work, more people,
> someone or a set of people in charge of release management, etc...
The reality of the matter is that most code breakage comes from bug fixes. New
features rarely break much of anything, especially if you're not using them.
Having API changes mixed in with bug fixes _can_ pose a problem, but I think
that if you really looked into it, you'd find that stuff like UFCS and UDAs and
whatnot have resulted in very little (if any) broken code. They may not have
worked as well as they should have and have plenty of bugs in their
implementation, but code which isn't using them (as code wouldn't be prior to
their release) didn't get broken by its introduction. So, while it may be
valuable to move to a major/minor release situation, I think that the reality
of the matter is that it will have little effect on stability simply because
it's bug fixes which break things - either because they fix previously buggy
behavior (breaking any code which relied on that behavior) or because
regressions are introduced, and while we try hard to catch those, we don't
always manage it. And the only thing that I can think of which would do a
better job of catching those would be a bettere beta program where the beta is
somehow better vetted so that regressions just don't manage to get through
(though how we'd get more people to try the beta, I don't know). Major and
minor releases will have little effect on stability from the standpoint of the
compiler. They could have an effect from the standpoint of API changes, but
since we're trying to stop making breaking API changes entirely (or at least
make them very rare), a major/minor release model probably won't help much
there either.
- Jonathan M Davis
More information about the Digitalmars-d-announce
mailing list