It's shameful. It took me a while to move jQuery Autotab to GitHub, much longer than it should have. It also took me a while to learn about the jQuery Plugin Registry. It took even longer for me to get Autotab past 1.1b. Alright, that's enough piling on!
The short version is that when Autotab reached v1.6, I ran into an issue getting my plugin listing updated. Much to my frustration, the error log never reported a problem. I waved it off and moved on, trusting that if people wanted the script, they knew where to check for updates. But then I hit the same exact issue with the v1.7 release. It finally dawned on me that I was not using the proper version number. Doh!
As the publishing documentation states:
The name of the tag must be a valid semver value
I have rarely used an ending zero, and clearly my skimming over the semver information came back to bite me. I then proceeded to make another mistake: I tagged my project with 1.7.0 before making the necessary change to the manifest version from 1.7 to 1.7.0. This time, the Plugin Registry did report this error:
Sat, 26 Jul 2014 06:34:32 GMT github/Mathachew/jquery-autotab 1.7.0 autotab.jquery.json has the following errors: Manifest version (1.7) is invalid.
Once again, I was faced with an update not being listed and was irked I could not reverse course. I didn't want to bump Autotab's version to 1.7.1 just to get it listed, but it was then that I remembered what the docs said:
So, if the version field in the manifest is "0.1.1" the tag should be either "0.1.1" or "v0.1.1". If the manifest file is valid, the version will be automatically added to the plugins site.
That gave me an idea. What if I added a v1.7.0 tag? Git sees this as a different tag from 1.7.0, but the Plugin Registry? One and the same. Here's what I did:
- Updated the version in the manifest to 1.7.0
- Added my new tag:
git tag v1.7.0
- Pushed my tag:
git push origin --tags
The Plugin Registry recognized the v1.7.0 tag and updated the listing. I then removed the v1.7.0 tag and all was well. I probably should have created an alias tag first and then removed the original tag (details here), but so far I have not seen any negligible effects, but that doesn't mean there will not be any. I would not recommend making this a common occurrence, instead focusing on getting it right the first time.
Lesson learned, lesson learned.