On 6/13/2012 10:48 AM, Colin wrote:
One quick question: do we really need to have the Habari version in the
tag?

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 0.9.

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:

 <requires><feature>core-0.9</feature></requires>

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.

Owen

--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/habari-dev

Reply via email to