From a06bf001b29bba77e71ba270f73469d9c9b4b0f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Thu, 7 Dec 2023 14:51:22 +0100 Subject: [PATCH] [rubygems/rubygems] Remove non-transparent requirement added to prerelease gems I think we can safely assume these days that all RubyGems and Bundler versions that will ever bundle a new gem created in 2023 support prereleases. So this non transparent requirement is not necessary. In my opinion, it should be the gem author to explicitly add this constraint, not RubyGems. https://github.com/rubygems/rubygems/commit/b165e6d725 --- lib/rubygems/specification.rb | 9 +-------- test/rubygems/test_gem_specification.rb | 6 ------ 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 017bed617f..a0c7faa133 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -2674,19 +2674,12 @@ class Gem::Specification < Gem::BasicSpecification rubygems_deprecate :validate_permissions ## - # Set the version to +version+, potentially also setting - # required_rubygems_version if +version+ indicates it is a - # prerelease. + # Set the version to +version+. def version=(version) @version = Gem::Version.create(version) return if @version.nil? - # skip to set required_ruby_version when pre-released rubygems. - # It caused to raise CircularDependencyError - if @version.prerelease? && (@name.nil? || @name.strip != "rubygems") - self.required_rubygems_version = "> 1.3.1" - end invalidate_memoized_attributes end diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index 28697529ef..f586da94a6 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -2005,12 +2005,6 @@ dependencies: [] assert_equal Gem::Platform.new("ppc-darwin"), @a1.platform end - def test_prerelease_spec_adds_required_rubygems_version - @prerelease = util_spec("tardis", "2.2.0.a") - refute @prerelease.required_rubygems_version.satisfied_by?(Gem::Version.new("1.3.1")) - assert @prerelease.required_rubygems_version.satisfied_by?(Gem::Version.new("1.4.0")) - end - def test_require_paths enable_shared "no" do ext_spec