Could the project use github tags and releases to track the corresponding npmjs package version?
Why?
Versioning allows the user to control witch version to install on each instance, and to keep the plugin working on new upgrades, controlling the package version upgrade on their instance.
This allow old projects to work if the plugin version upgrades and a breaking changes is introduced. The user could keep the older version of the plugin, compatible with their currently configured strapi version, and update all versions later if needed.
Without this feature, on plugin update that cannot work on works with old strapi core version, the user needs to update all packages to the new supported plugin version. This could not be possible on some projects with a lot of dependencies, and could force the user to uninstall some plugins to update the others.
How?
When a new version is released, create a github tag and a corresponding release, and publish the responding package on npmjs keeping the same version id.
NB: This feature could be already granted by the existing github workflow, as it is based on release, needs some testing and maybe minor modifications.
Sample of versioning track
Now is at version 0.1.8, there is a tag and a release responding at the commit that publishes the 0.1.8 version.
There will a breaking change that makes strapi v4.5 incompatible, a new version 0.2.0 is released:
a new tag 0.2.0 is created on responding commit
a new release 0.2.0 is created on responding commit
a new npm version 0.2.0 is created on npmjs, responding to the related 0.2.0 commit
A new bugfix is applied, a new version 0.2.1 is released;
a new tag 0.2.1 is created on responding commit
a new release 0.2.1 is created on responding commit
a new npm version 0.2.1 is created on npmjs, responding to the related 0.2.1 commit
@g-nardiello that is a great idea! I have been busy and was not able to maintain this project for a while. Anyways any PR is welcomed to add the proper versioning to the library
Versioned releases
Could the project use github tags and releases to track the corresponding npmjs package version?
Why?
Versioning allows the user to control witch version to install on each instance, and to keep the plugin working on new upgrades, controlling the package version upgrade on their instance.
This allow old projects to work if the plugin version upgrades and a breaking changes is introduced. The user could keep the older version of the plugin, compatible with their currently configured strapi version, and update all versions later if needed.
Without this feature, on plugin update that cannot work on works with old strapi core version, the user needs to update all packages to the new supported plugin version. This could not be possible on some projects with a lot of dependencies, and could force the user to uninstall some plugins to update the others.
How?
When a new version is released, create a github tag and a corresponding release, and publish the responding package on npmjs keeping the same version id.
NB: This feature could be already granted by the existing github workflow, as it is based on release, needs some testing and maybe minor modifications.
Sample of versioning track
Now is at version 0.1.8, there is a tag and a release responding at the commit that publishes the 0.1.8 version.
There will a breaking change that makes strapi v4.5 incompatible, a new version 0.2.0 is released:
A new bugfix is applied, a new version 0.2.1 is released;