I have a ruby gem (library) with a ruby dependency of ~> 2.5, which in rubygem terms is >=2.5 and < 3.0. Now since my gem's last release, the only thing I've changed is the ruby dependency to now be >= 2.5. So the library is accessible to a wider group of users.
This change is not a bug fix (Rule 2 of the Summary, and Rule 6 of the specification), so I don't believe it to be a PATCH bump. And strictly speaking, it's also not "added functionality" to the public API. But it seems more appropriate to bump the MINOR. Is this correct, or am I missing something?
Originally created by @istrasci on GitHub (May 10, 2023).
Original GitHub issue: https://github.com/semver/semver/issues/945
### semver usage question
I have a ruby gem (library) with a ruby dependency of `~> 2.5`, which in rubygem terms is >=2.5 and < 3.0. Now since my gem's last release, the only thing I've changed is the ruby dependency to now be >= 2.5. So the library is accessible to a wider group of users.
This change is not a bug fix (Rule 2 of the Summary, and Rule 6 of the specification), so I don't believe it to be a PATCH bump. And strictly speaking, it's also not "added functionality" to the public API. But it seems more appropriate to bump the MINOR. Is this correct, or am I missing something?
There is no official guidance for what to do here. It is up to projects to choose what they wish to do.
Personally, I would recommend trying to follow the spirit of semver. If none of your users are using a platform, then dropping it could be a patch. If some are (this is the most likely scenario), a minor may be appropriate. And if for some reason, you are dropping a huge platform, a major release may make the most sense. (I would not recommend doing this.)
<!-- gh-comment-id:1544271835 -->
@steveklabnik commented on GitHub (May 11, 2023):
There is no official guidance for what to do here. It is up to projects to choose what they wish to do.
Personally, I would recommend trying to follow the *spirit* of semver. If none of your users are using a platform, then dropping it could be a patch. If some are (this is the most likely scenario), a minor may be appropriate. And if for some reason, you are dropping a huge platform, a major release may make the most sense. (I would not recommend doing this.)
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 @istrasci on GitHub (May 10, 2023).
Original GitHub issue: https://github.com/semver/semver/issues/945
semver usage question
I have a ruby gem (library) with a ruby dependency of
~> 2.5, which in rubygem terms is >=2.5 and < 3.0. Now since my gem's last release, the only thing I've changed is the ruby dependency to now be >= 2.5. So the library is accessible to a wider group of users.This change is not a bug fix (Rule 2 of the Summary, and Rule 6 of the specification), so I don't believe it to be a PATCH bump. And strictly speaking, it's also not "added functionality" to the public API. But it seems more appropriate to bump the MINOR. Is this correct, or am I missing something?
@ljharb commented on GitHub (May 10, 2023):
Adding a supported platform is semver-minor imo.
@steveklabnik commented on GitHub (May 11, 2023):
There is no official guidance for what to do here. It is up to projects to choose what they wish to do.
Personally, I would recommend trying to follow the spirit of semver. If none of your users are using a platform, then dropping it could be a patch. If some are (this is the most likely scenario), a minor may be appropriate. And if for some reason, you are dropping a huge platform, a major release may make the most sense. (I would not recommend doing this.)