Geef pluginversies voor minimale en maximale discourseversie

I am wondering if we can give plugins a version number to allow plugin list the minimum and maximum version discourse it is compatible with.

So we don’t run into the instance when our plugin updated, but our discourse version was behind and then it breaks the entire site.

There’s two broad classes of plugins and TC’s:

  • Official
  • Third Party

Official plugins already maintain compatibility, and if they are not compatible, you usually have a salaried developer fixing things within days.

3rd Party Plugins

It is already hard enough for maintainers to keep things compatible, let alone keep track of whether they are or not.

There are really only two versions that are practical to maintain against:

  • latest stable
  • latest tests-passed

You can use the pinning system (Pinning plugin and theme versions for older Discourse installs (.discourse-compatibility)) to pin for stable already. Might be quite nice to surface that somehow to show explicit compatibility, but it doesn’t mean the plugin is not compatible if there is no pin.

Compatibility with latest might be surfaced with a green tick from CI on github.

That relies on two things:

  • a thorough CI setup (ideally based on the Discourse plugin standard)
  • very high test coverage

The latter is a big ask for 3rd party maintainers doing things for free.

For unofficial plugins, your feature request boils down to decent funding of third-party plugins.

As a seasoned plugin author that’s been around the block I can tell you that it’s almost impossible to fund 3rd party plugins.

The only reason my plugins still work is because:

  1. I use them
  2. As a means of maintaining reputation in the ecosystem.

That’s valuable to me but has its limit.

I’d say that 3rd party plugin development is close to :skull: in the Discourse ecosystem, with only a very small handful of developers able to keep things working against the very demanding velocity of core.

Other exceptions:

  • plugins used by major hosts like Communiteq - perhaps they have an opinion - but even they have to focus on what most clients want and there will be limits to their resources too.
  • the Custom Wizard & Events plugins that have a subscription system attached - again you can get an opinion from Angus on where that is going.

Summary

Given then that you can only really rely on official plugins being compatible (and perhaps a handful of additional ones from very active developers like myself or Communiteq), I suggest you simply focus on using the official plugins and for those I think your feature request is redundant because a process is in place for those things to keep track of core.

3 likes