Assuming that we have a project called: "WizardProject".
The WizardProject, which currently stands at version 1.x.x, has a mostly Java based stack and active development has been discontinued on it.
Now, we want to bring the WizardProject back to life. Everything is new, but the same idea behind it, as well as the same name. A new repo gets created and the stack changes dramatically form Java to Python.
The new implementation of the WizardProject doesn't carry any code from the prior implementation, but obviously it is heavily inspired by version 1.x.x.
Would the implementation of the WizardProject be 2.0.0, as it is based on an existing idea? Or should it be version 1.0.0, as it is basically an all new implementation?
Originally created by @tschaka1904 on GitHub (Dec 14, 2020).
Original GitHub issue: https://github.com/semver/semver/issues/646
Assuming that we have a project called: "WizardProject".
The WizardProject, which currently stands at version 1.x.x, has a mostly Java based stack and active development has been discontinued on it.
Now, we want to bring the WizardProject back to life. Everything is new, but the same idea behind it, as well as the same name. A new repo gets created and the stack changes dramatically form Java to Python.
The new implementation of the WizardProject doesn't carry any code from the prior implementation, but obviously it is heavily inspired by version 1.x.x.
Would the implementation of the WizardProject be 2.0.0, as it is based on an existing idea? Or should it be version 1.0.0, as it is basically an all new implementation?
Does a user using v1 have to have any different platform requirements than one of v2? Specifically, java or python installed, or not installed?
If the platform requirements have changed, it's semver-major.
If you want to reset to v1.0.0, the project would need a new name, which might also be a good idea.
<!-- gh-comment-id:744560911 -->
@ljharb commented on GitHub (Dec 14, 2020):
Does a user using v1 have to have *any* different platform requirements than one of v2? Specifically, java or python installed, or not installed?
If the platform requirements have changed, it's semver-major.
If you want to reset to v1.0.0, the project would need a new name, which might also be a good idea.
I agree with @ljharb, you should probably rebrand the product and side-step the version issue entirely. Otherwise, it's requires a major version bump. Your java customers probably can't upgrade to the new implementation, so it's breaking for them.
<!-- gh-comment-id:981329738 -->
@jwdonahue commented on GitHub (Nov 29, 2021):
I agree with @ljharb, you should probably rebrand the product and side-step the version issue entirely. Otherwise, it's requires a major version bump. Your java customers probably can't upgrade to the new implementation, so it's breaking for them.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @tschaka1904 on GitHub (Dec 14, 2020).
Original GitHub issue: https://github.com/semver/semver/issues/646
Assuming that we have a project called: "WizardProject".
The WizardProject, which currently stands at version 1.x.x, has a mostly Java based stack and active development has been discontinued on it.
Now, we want to bring the WizardProject back to life. Everything is new, but the same idea behind it, as well as the same name. A new repo gets created and the stack changes dramatically form Java to Python.
The new implementation of the WizardProject doesn't carry any code from the prior implementation, but obviously it is heavily inspired by version 1.x.x.
Would the implementation of the WizardProject be 2.0.0, as it is based on an existing idea? Or should it be version 1.0.0, as it is basically an all new implementation?
@ljharb commented on GitHub (Dec 14, 2020):
Does a user using v1 have to have any different platform requirements than one of v2? Specifically, java or python installed, or not installed?
If the platform requirements have changed, it's semver-major.
If you want to reset to v1.0.0, the project would need a new name, which might also be a good idea.
@alexandrtovmach commented on GitHub (Jun 14, 2021):
@tschaka1904 is it helpful?
@jwdonahue commented on GitHub (Nov 29, 2021):
I agree with @ljharb, you should probably rebrand the product and side-step the version issue entirely. Otherwise, it's requires a major version bump. Your java customers probably can't upgrade to the new implementation, so it's breaking for them.
@jwdonahue commented on GitHub (Nov 29, 2021):
And somebody should close this old thread.