Hi,

the recent thread on the public api made me question how do we version
different releases, based on what kind of changes to expect from them.

https://jspwiki-wiki.apache.org/Wiki.jsp?page=VersioningProposal contains
the current proposal for JSPWiki versioning. It states:

"""
As of JSPWiki entering Apache, we'll adopt the following versioning system:

major.minor.revision[-identifier-build]

Where

* major = Major release, which breaks compatibility (binary or source) with
previous versions.
* minor = Update with new major functionality which maybe breaks downwards
compatibility.
* revision = Bug fixes or minor functionality updates. Forward and backward
compatibility within the same major.minor revision is retained.
[...]
"""

I'd like to rephrase the first two points to:

* major = Major release, which breaks compatibility (binary or source) with
previous versions on the public API.
* minor = Update with new major functionality, which breaks compatibility
(binary or source) with previous versions on any place except the public
API.

Public API would still have to be defined (=don't want to tie this thread
to the public api one):
- either what is ongoing on the o.a.w.api package
- or the classes / interfaces needed to develop custom plugins / filters /
page providers
- or whatever we see fit

The reasoning behind this change is that current wording makes the
difference between major and minor (a bit) blurry: any backward
incompatible
change could fit either major or minor versioning. The suggested rewording
pursues to clearly differentiate when to increase each number:
* major: *All* custom plugins / filters / page providers will need some
work to run on the new version, be it reimporting a class or completely
rewritting them.
* minor: there are backwards incompatible changes, which *may* be
translated on *some* plugins / filters / page providers, but generally
speaking they should work, or at least they'll be loaded by JSPWiki.
* revision: *All* custom plugins / filters / page providers will continue
to work at this level.

thoughts? makes sense? is it clear as it is, and doesn't need further
editing?


thanks in advance,
juan pablo

Reply via email to