Release process and backwards compatibility
Jesse Phillips
Jesse.K.Phillips+D at gmail.com
Fri Mar 8 21:05:38 PST 2013
On Friday, 8 March 2013 at 20:07:50 UTC, Dicebot wrote:
> Now that http://wiki.dlang.org/Release_Process is slowly
> adopted I want to rise this discussion again.
>
> Two somewhat contradictory aims meet here, both frequently
> raised in IRC and newsgroup:
>
> 1) Breaking user code with release is incredibly painful and
> brings lot of dissatisfaction.
> 2) Language specification is not mature enough yet and it will
> need to be changed at some point unless we want to stay with
> same design issues forever (D3 is forever enough).
When a bug in the language design or compiler/libraries is fixed;
the changes needed to upgrade aren't nearly as draining because
it is the way forward. It is where the language should be going.
But hitting a regression, waiting for the next release in hopes
that a new regression won't crop up (I'm just assuming compiler
is released with all known regressions completed) is detrimental
to expectations. Updating code to match the "new" way just to
have it reverted the next week (in git, thus no release); those
things are what really kill the idea of stability.
So I would hope that a release is maintained until the next
release. Regression and non-breaking bug fixes get applied to the
release branch and are either released before the next release or
at the same time. The point being that whatever issue was found
was hopefully fixed and likely nothing new will be in the way to
upgrade. A more elaborate system is fine, but I believe this
truly the issues that need addressed first.
As for those who want no breaking changes, don't update your
compiler or pay DigitalMars to maintain it. D will get to a point
breaking changes aren't so frequent. But right now we have issue
that must go.
More information about the Digitalmars-d
mailing list