Skip to content

Commit

Permalink
Minimum Ruby version is 2.3
Browse files Browse the repository at this point in the history
  • Loading branch information
weppos committed Apr 25, 2019
1 parent 1fb5578 commit 1f10154
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 3 deletions.
2 changes: 0 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
language: ruby

rvm:
- 2.1
- 2.2
- 2.3
- 2.4
- 2.5
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# Changelog


#### master

- CHANGED: Minimum Ruby version is 2.3
- CHANGED: Upgraded to Bundler 2.x


#### Release 3.0.3

- CHANGED: Updated definitions.
Expand Down
2 changes: 1 addition & 1 deletion public_suffix.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Gem::Specification.new do |s|
s.description = "PublicSuffix can parse and decompose a domain name into top level domain, domain and subdomains."
s.licenses = ["MIT"]

s.required_ruby_version = ">= 2.1"
s.required_ruby_version = ">= 2.3"

s.require_paths = ["lib"]
s.files = `git ls-files`.split("\n")
Expand Down

5 comments on commit 1f10154

@adamvduke
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, this seems like a breaking change. Other gems that depend on this gem may not have the ruby version requirement. Even if they have locked to ~> 3, this will cause issues.

@weppos
Copy link
Owner Author

@weppos weppos commented on 1f10154 Jun 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@adamvduke since the Ruby version is defined in the specs, my expectation is that Bundler would not resolve the dependency if the Ruby version is not met.

From recent conversations, it may no be the case. I consider this a Bundler bug, but I'll have to investigate.

@weppos
Copy link
Owner Author

@weppos weppos commented on 1f10154 Jun 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In fact, it seems it should.
https://bundler.io/v1.13/whats_new.html

@adamvduke
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @weppos,

Understood, however:

  • That assumes at least version 1.13 of bundler. Some environments may require older versions for "reasons".
  • Not all gems are installed via bundler. Specifically, I came across this issue because of some configuration management code that installs ridley via the gem command.

I appreciate you trying to push the ruby ecosystem forward. I think this change should have included a major version bump. I moved past it by manually installing transitive dependencies at versions that don't have the more recent ruby version requirement. Thanks for taking a look.

@weppos
Copy link
Owner Author

@weppos weppos commented on 1f10154 Jun 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @adamvduke, understood. Unfortunately it's very hard to comply with all the possible variants in the eco-system, even more complicated if I need to start factoring in support for old tools or dependency management system.

Bundler 1.13.0 was released on September 09, 2016, which is almost 3 years. I consider it a sufficiently long period of time, and unless there are significant reasons to support previous versions, I may not have the bandwidth for doing it.

Furthermore, I'm sure that even a major version bump will generate conflicts so some remote system that doesn't handle major versions properly.

Having said that, I'll see how I can better manage Ruby version changes in the future especially when it comes to be as easy as adopting a major version bump.

Please sign in to comment.