On 6/13/2012 10:48 AM, Colin wrote:
> One quick question: do we really need to have the Habari version in the
Since our API is meant to change only at major version numbers, I
propose plugins use versioning like this:
0.x-1.0 - For any Habari 0.x, version 1.0 of the plugin
It's not going to be possible/practical to check whether a plugin that
works in version 0.8 of Habari continues to work as expected in version
I suggest that instead of including explicit version numbers for plugins
that requires specific versions of Habari, we include that as part of
the <requires> data in the plugin info. As part of Habari 0.9, we can
include a general <provides>core-0.9</provides> in core, and plugins
that require 0.9 and include a <requires>core-0.9</requires> in their
info, which will appear in the addons database. The Habari version of
the plugin will remain 0.x.
Consider an example:
The Coffee plugin releases a version 1.0 for Habari 0.8. The tagged
version is 0.x-0.8. It does not require any specific feature of Habari
that is not available as of the plugin release, so no <requires>
elements exist in the plugin xml.
At some point, we release Habari 0.9. The Coffee plugin continues to
work with 0.9 just fine. No changes are required, since the tagged
version of the plugin is 0.x-1.0.
The Coffe plugin then adds a feature that requires a feature of Habari
0.9. A new version of the Coffee plugin is tagged 0.x-1.1 and the
requirements in the xml are updated to:
On the addons directory, version 1.0 of the plugin and 1.1 of the plugin
are still available (though 1.0 may be hidden behind a "show all
versions" link), and both indicate a 0.x version of Habari. But version
1.1 will indicate an additional requirement of "core-0.9", and won't be
able to be activated under Habari 0.8.
When we reach 1.0, this will become less relevant, since we will not
change API features within minor version numbers.
Comments? Other suggestions? I have some additional thoughts of my own,
but I'll wait and see if anyone finds this useful.