On Thursday, 14 November 2013 at 00:37:38 UTC, Tyro[17] wrote:
Greetings,
I have accepted the responsibility of preparing the builds for
DMD and would like to engage in conversation about the way
ahead.
The first concern I have is about the build cycle. Presently,
it is nonexistent. There is no rhyme or reason regarding when
releases are produced. The v2.065 agenda (first attempt of its
kind) suggests that the next release will occur sometime in
March 2014. I'm of the opinion, however, that the cycle should
be six months long. This particular schedule is not of my own
crafting but I believe it to be sound and worthy of emulation:
Schedule
--------
2.064 --- 2.064.1 --- 2.064.2 -- ...
\
+ -- 2.065beta1 --- 2.065beta2 --- ... --- 2.065rc1 ---
2.065 --- 2.065.1 --- ...
\
+
-- 2.066beta1 --- ...
Starting from the date of a major release (November 5th):
At four-week intervals we make a new beta release. There will
be no separate release candidate, but if a serious problem is
discovered we may do the next beta ahead of schedule or make a
point release. There will be about five or six releases in that
series.
In parallel with this, bugs targeted to the previous major
release are merged into its branch. We will make bugfix
releases from that branch as appropriate to the accumulation of
changes, perhaps monthly, perhaps more often if there are
serious bugs, perhaps much less often if no new changes have
landed.
We will then make a release candidate for the next major
release, and at this point create a release branch for it. We
will iterate release candidates at approximately weekly
intervals until there are no bugs blocking the final major
release.
Major releases (2.0)
The big ones, every six months, intended to ship in
distributions and to be used by stability-oriented users.
Release Candidates (2.065rc1)
Created one to two weeks before the release branch is
created, this is a preview of the major release. There should
be very few, if any changes from the release candidate to the
major release.
Bugfix releases (2.064.1)
Based on the previous major release or bugfix; contains
only bugfixes and perhaps documentation corrections.
Beta release (2.065beta1)
Created monthly from master, except for those months in
which we create a major release. Stable and suitable for users
who want the latest code and can live with changes from month
to month.
Your thoughts and concerns please.
Awesome. That is perfect.