On Thu, Oct 8, 2015 at 10:21 AM, Richard Hipp <drh at sqlite.org> wrote:

> To look at it another way, in version X.Y.Z, it has always been the
> case and will remain the case that Y is incremented for major changes
> and Z is incremented for minor changes.  The proposed policy change is
> to alter the definition of "major" and "minor" such that *anything*
> other than a simple bug fix of a few lines is considered a "major"
> change.  Formerly, "major" changes were things like adding WAL mode or
> rewriting the query planner, and adding WITHOUT ROWID tables, CTEs,
> and partial indexes were all considered "minor" changes.
>
> It all really boils down to this:  What is the difference between a
> "major" and a "minor" change?
>

A "minor" change has to my way of thinking always been about "this fixes
something that wasn't working as intended".

One potential downside (based on a previous comment in this thread) I can
see to going to a more "semantic versioning compliant" model is the
expectation that some people might have that every 3.y release will be
maintained with bug fixes / z level patches. For example:

3.1.0 is released
3.1.1 fixes a bug in 3.1
3.2.0 is released with new features.
3.2.1 fixes a bug originally introduced in 3.1.0

Some people are going to expect that bug fix to be back ported into the 3.1
branch and have a 3.1.2 release cut from it.

-- 
Scott Robison

Reply via email to