ruby / ruby/net-pop

Digest gem dependency not available for Ruby < 3.0

Open
#23 1 comment 1 reaction 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.