How to Version Plugins

2019-09-17 02:55发布

问题:

I wonder how to version plugins.

There are plenty ways of versioning a software products but they're all 1-dimensional.

Are there best practices for 2-dimensional versioning which indicates both compatibility to the main application and compatibility to the plugin API?


Eclipse for example proposed a versioning scheme for which every plugin uses semantic versioning. Additionally there's a rule to distinguish between development streams by increasing the service number by 100. This ends in versions like that:

  • Plugin version v1.0.8 for Eclipse v3.1
  • Plugin version v1.0.108 for Eclipse v3.2

This seems a bit fishy to me. Are there better ways?

回答1:

Why do you need to show the information about main application version in version of plugin? Does it help users to choose a suitable one?

I prefer put this information in a plugin name. For example, plugin-eclipse31-1.0.8 and plugin-eclipse32-1.0.8. You can put branch name (eclipse31 or eclipse32 in examples) in plugin version, to make things easier.