Digest gem dependency not available for Ruby < 3.0
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 33
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
When updating to net-pop 0.1.2, this PR came into play: https://github.com/ruby/net-pop/pull/10/files
Now, not requiring digest is perfectly valid as of Ruby 3.0, when digest became a default ruby library gem
Unfortunately, because the 0.1.2 gemspec is missing the specification:
spec.required_ruby_version = '>= 3.0.0'
It is possible that in upgrading the gem to 0.1.2 on a codebase that is not yet running on ruby 3.0.0, you loose an essential dependency requirement: the digest gem.
While you would think any CI testing would make this glaringly obvious, there are other pre-ruby-3.0 gems that still do require digest, but are only used in a test environment, thereby masking the exceptions that ultimately only show up at the time of deployment.
Request: When this default ruby gems relies on other default ruby gems implicitly rather than implicitly, can it specify the minimum ruby version in which that implicit availability is valid?
e.g. Can version 0.1.2 be updated or replaced by a version that has required_ruby_version = '>= 3.0.0'?
Thank you for considering this corner case
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with net-pop.gemspec and verify how digest is provided on Ruby versions before 3.0. Check the gem metadata for a minimum Ruby version or explicit digest dependency, then validate the resulting package metadata against the requested compatibility behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 42/100