I think we are all in agreement here, and this is why I have tried to draft one VERY short proposal for a good jQuery team. In case they do agree with it, I am sure they will be perfectly capable to sort out the implementation details. Recap:
1. jQuery.version perhaps as an simple object, to be added
2. versioning tag composition documented in the form of the minimal grammar (BNF), to be made
3. Official plugin that will provide additional functionality to plugin authors community (much like meta-data plugin does), to be added
4. jQuery.fn.jquery to be deprecated
Can we please be productive , stop the debate, and vote ? I would ideally like to have jQuery.version as an object, perhaps :
jQuery.version = {
prm : 1,
sec : 4,
ter : 3,
stage : "pre",
timestamp: "20100625223456", // 2010-07-02 DBJ added who : " openID uri ", toString : function () { return this.prim + "." + this.sec + "." + this.ter + "." + this.stage ; } }
This addition will help to plugin developers, in the testing management and in the jQuery development management.
Update :: Plugin versioning and classification
I added the property 'who', to the version object, whose string value repreents openID URI of the person who made the release. This would allow for better plugins management, classification, etc.
WIth the sam as above version object structure, jQuery plugin developers should version their plugins, too. This would allow consistent and manageable verison check on plugins. Eg:
alert ( jQuery.somePlugin.version ) ; // display the versin of some plugin
if ( $.somePlugin.version.sec > 1 ) { /* use new plugin feature */ }