[...]
I like this proposal. Requiring pull requests will also formally mean "get your plugin in shape" before release. I'd like to extend this to the point that if a plugin is not ready (due to bad code, inactive maintainer, or otherwise) the snapshot from the previous release will be taken as to not lose functionality (this is in most cases automatic, since the merge didn't happen). I strongly advice against delaying releases for individual plugins.
Yes, using an older version is a good idea if it still builds ok. If it doesn't (eg devhelp plugin on some systems because only gtk3 version is available) then the decision needs to be made at the time to accept the upgrade or remove the plugin and what to do with it.
However, there's one problem that isn't addressed, and I'm not sure it can be technically since it's more a cultural problem: There's IMO too little collaboration on plugins. It's kind of "each plugin to its maintainer", with little to no collaborative effort to form the best and greatest plugins. It feels like the source is available but not really open. OTOH perhaps my perception is just wrong, and this cannot be fixed by technical measures anyway.
I don't think your perception is wrong, but I think that keeping plugins reasonably separate is also a good idea. As a user I can choose the parts I want without the parts I don't need. So only really tiny things should be combined like addons.
In other cases, like project management, there is sufficient variation in use-cases that there may be more than one plugin, like how the current project plugins address two slightly differernt uses. Or in some cases there is a natural progression from an old plugin to a new (and hopefully better) one, eg debugger plugins
What it needs is a technical solution to allow plugins to build on other plugins. That way the original functionality doesn't need to be re-built, but it introduces dependencies between plugins.
Regarding the ideas with separate repos/submodules: This basically breaks what the initial idea of geany-plugins was. To share infrastructure, build system and translations. The "combined release" idea came actually some time after that.
I'm not sure that it prevents any of this, but as I now understand it, GP plugins can't be built separately so, yes, it makes less sense to have separate repos.
If the repos are separate and only merged for release, then they can just as well be separate entirely. So I disagree with that.They should be one repo, since they share a common code base via the translation and infrastructure.
As you say above, they actually share bugger all :)
[...]
Cheers Lex