On Nov 9, 2005, at 11:37 PM, Allen Gilliland wrote:
On Wed, 2005-11-09 at 11:18, Dave Johnson wrote:
I think the problem is that most the features requested for Roller
require some form of schema change, so we'll either be deferring lots
of features, like comment moderation (hi Linda!), or bumping up the
major rev number a lot. So, we'll have Roller v26.3 in no time. Not a
major issue, I guess, but I think we need to tweak something. For
example, what if we did "Major.Minor.Patch" numbering and banned all
database changes from patch releases instead?

well, it seems like this discussion has come full circle back to our
last discussion on development cycle and release conventions.  my
feeling is that patch releases are useless when you have a reasonably
short development cycle.  it makes sense for products to have patch
releases when they only plan to releases once a year, but if we are
releasing once every month or two then why do we need patch releases?

Yes, the word "patch" does seem to indicate a no-new-feature, bug-fix release.
So patch is the wrong word.

And by the way, what remains to be done for the 2.0 database scripts?


v26.3 in no time would require us to be especially short sited.
personally, i don't think it's that hard to lump together the database
changes so that we only have to do them once every 2-3 months.  look at
how much trouble we've had with the Roller 2.0 db scripts.  the code
base has been pretty much set for weeks now, but the db scripts are
still not complete.  i prefer not to go through all of that for every
release.

Totally agree. Ideally, monthly releases should be schema change free.


obviously it's not my intention to force people to put off the features
they want to develop, but i am also not convinced that we need to be
making db changes all the time.  if you think we really need db changes
that frequently then go for it.

Like I said, the problem is that now most feature changes require schema
changes. At some point, when the database schema approaches completion,
that should change.

Here's my proposed change to the release plan. Replace the "Release
numbers and Versions" section with this:


!! Release numbers and Versions

Release number convention is __major.feature.minor-patch__

! Major releases
A major release is noted by a change in the major release number (i.e. 1.x to 2.x). Major releases contain larger than usual new features (e.g. group blogging) and larger than usual changes to the database schema, which are not guaranteed to be ''backwards compatible''. The upgrade procedure will be longer and more involved than a normal release.

! Feature releases
A feature release is noted by a change in the feature release number (i.e. 1.2 to 1.3). Feature releases typically contain a half-dozen new features and minor ''backwards compatible'' database schema changes. Backwards compatible means that after you upgrade the schema for the new version of Roller, the old version of Roller will still work fine with the database.

! Minor releases
A minor release is noted by a change in the minor release number (i.e. 1.2.0 to 1.2.1). Minor releases typically contain a half-dozen new features and are guaranteed to have NO database schema changes. Roller users should feel very comfortable about upgrading their roller installation with a new minor release.

! Emergency bug fix release
We expect that each release of roller will simply be considered a minor release, however should something unfortunate happen and we must do an emergency bug fix for a given release then we may mark that release with an incremental version number (i.e. 1.3.1-0). This is not expected to happen often



- Dave



Reply via email to