Danny,
This is what we had previously agreed upon. As Stefano points out, the
"catch" is the subjective understanding of what makes something a major,
minor or point release. And I would add some degree of risk assessment to
the mix. A point release should have very little risk when upgrading. A
minor release may have a bit more, and a major release even more.
IMO, we could have released JAMES 2.2.0 as V3. And the next release to ship
with the improved fast-fail should be 3.0.0, IMO, even though we have an
early version of that concept in 2.3.0. IMO, the migration to in-protocol
rejection from bounce notices is a major functional change.
The subjective nature of numbering a version should not be a problem, except
when when deciding (for example) which of multiple concurrent development
branches is going to have which release number.
--- Noel