Plugin Developers!! Read this re: v0.6.0 Breaking changes
-
Compliance with this new standard is optional. We couldn't possibly force everybody to use it.
If you don't, then older NodeBB versions will install the latest plugin version and possibly break the NodeBB, like it does currently.
Grand scheme of things, we'll also use the package manager to allow users to vouch that a plugin works with a specific version, and that'll tie in with the suggestion engine as well. But that's far off right now
-
So, to summarise, add nbbpm compatibility to current version that the plugin supports, publish that to npm.
Make changes for 0.6.0, update nbbpm compatibility to 0.6.0, but don't publish? Or do publish?As the nbbpm hasn't been backported yet, has it?
Either way, things are certainly coming together in terms of plugin compatibility. So kudos.
-
@julian said:
I do have a propensity for verbosity, don't I.
propensity
prษหpษnsษชti/
nounan inclination or natural tendency to behave in a particular way.
verbosity
vษหbษsษชti/
nounthe fact or quality of using more words than needed; wordiness.
Yes.
-
Now I need to update all those plugins of mine
I'll be done somewhere around Christmas with my current free time
-
Wouldn't this topic be better off in a public category, not every plugin developer might be subscribed to the dev group
-
@psychobunny I thought this category was only available to people in the dev group. Probably not very useful for people like shard, that are developing plugins, but can't see this topic for example.
-
I understand the new concept but why unpublish first?
-
I wonder, is it necessary to make a new branch too?
npm wouldn't just store the commit on master branch? -
My bad, I didn't see it was for already 0.6.0 published plugins.
-
I correctly assumed (and this has been validated through actual plugin upgrades) that the
latest
hash in npm points to the most recently published version, and not the highest version.That is, given your plugin
nodebb-plugin-example
- If v1.0.0 is compatible with v0.5.4
- If v1.1.0 is compatible only with v0.6.0
- The latter is published first
- A user typing
npm install nodebb-plugin-example
will receive v1.0.0 of the plugin, irrespective of what NodeBB version he/she is running, even though v1.1.0 is technically newer
Now, special note: The NodeBB Package Manager doesn't do this. When the ACP calls nbbpm to request a suggested package, we query npm for the plugin data, and sort the versions before checking compatibility, so this issue is moot.