<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/rubygems/test_gem_version.rb, branch v4.0.4</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Merge RubyGems/Bundler 4.0.10</title>
<updated>2026-04-08T22:49:38+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-04-08T08:07:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4edfd93c0ab3c90006564a6e3ae9b4ea4924db07'/>
<id>4edfd93c0ab3c90006564a6e3ae9b4ea4924db07</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Undeprecate Gem::Version#&lt;=&gt; against strings</title>
<updated>2025-11-21T21:29:20+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-11-21T18:30:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2289961b485b1cbf7b1012693722c16a6cdb4cda'/>
<id>2289961b485b1cbf7b1012693722c16a6cdb4cda</id>
<content type='text'>
This pattern is extremely common across the ecosystem, I don't think
it's reasonable to deprecate it.

I understand the performance argument, but perhaps the dependency
resolution algorithm can use another method that is private API
and only works with two `Version` instance.

https://github.com/ruby/rubygems/commit/024b4b547a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pattern is extremely common across the ecosystem, I don't think
it's reasonable to deprecate it.

I understand the performance argument, but perhaps the dependency
resolution algorithm can use another method that is private API
and only works with two `Version` instance.

https://github.com/ruby/rubygems/commit/024b4b547a
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] bin/rubocop -a</title>
<updated>2025-11-21T08:32:50+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-11-21T07:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=eb11b40bb54b11456f88564957ec22c8c08c203c'/>
<id>eb11b40bb54b11456f88564957ec22c8c08c203c</id>
<content type='text'>
https://github.com/ruby/rubygems/commit/fbf6fb667e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/rubygems/commit/fbf6fb667e
</pre>
</div>
</content>
</entry>
<entry>
<title>Use assert_match for uplevel option</title>
<updated>2025-11-21T06:49:14+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-11-21T05:52:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bcc7b2049c45356b11992e095e2f114c02736e24'/>
<id>bcc7b2049c45356b11992e095e2f114c02736e24</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Deprecate comparing Gem::Version objects with strings</title>
<updated>2025-11-21T04:03:44+00:00</updated>
<author>
<name>Aaron Patterson</name>
<email>tenderlove@ruby-lang.org</email>
</author>
<published>2025-11-15T01:26:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=917e77be5e5bf13b22009bec5568aa031138a605'/>
<id>917e77be5e5bf13b22009bec5568aa031138a605</id>
<content type='text'>
Comparing version objects is a huge bottleneck in dependency solvers
(like inside Bundler).  I would like to make comparing version objects
cheaper.  Right now we support comparing version objects with strings by
trying to coerce the string to a version.  So for example:

```ruby
Gem::Version.new("1") &lt;=&gt; "12"
```

I would like to deprecate and remove support for this feature so that we
can reduce the overhead of `def &lt;=&gt;`.

I'm not sure what version of RubyGems we could remove this from though.

https://github.com/ruby/rubygems/commit/81b7602183
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Comparing version objects is a huge bottleneck in dependency solvers
(like inside Bundler).  I would like to make comparing version objects
cheaper.  Right now we support comparing version objects with strings by
trying to coerce the string to a version.  So for example:

```ruby
Gem::Version.new("1") &lt;=&gt; "12"
```

I would like to deprecate and remove support for this feature so that we
can reduce the overhead of `def &lt;=&gt;`.

I'm not sure what version of RubyGems we could remove this from though.

https://github.com/ruby/rubygems/commit/81b7602183
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Undeprecate `Gem::Version.new(nil)`</title>
<updated>2025-11-18T04:53:07+00:00</updated>
<author>
<name>Aaron Patterson</name>
<email>tenderlove@ruby-lang.org</email>
</author>
<published>2025-11-16T23:53:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5ccaeee2e89310d52d15469719c98d02f103b5aa'/>
<id>5ccaeee2e89310d52d15469719c98d02f103b5aa</id>
<content type='text'>
It seems like we were trying to deprecate passing `nil` to
Gem::Version.new.  This breaks existing code, and I don't think there is
a good reason to deprecate this usage.

I believe what we want to prevent is the following code:

```ruby
Gem::Specification.new do |spec|
  spec.version = nil
  # suddenly the spec version is 0!
  p spec.version
end
```

This commit allows people to manually construct `Gem::Version.new(nil)`,
but when someone assigns `nil` as the Gem specification version, it sets
the spec version to `nil` (making the specification invalid).  People
who manually construct `Gem::Version` objects and use nil should be
allowed to do it, and `Gem::Version.new(nil) == Gem::Version.new("0")`,
but people who assign `nil` in a gemspec will get an invalid gemspec.

I think deprecation started
[here](https://github.com/ruby/rubygems/pull/2203) but there doesn't
seem to be a reason to do it.

Fixes https://github.com/ruby/rubygems/pull/9052

https://github.com/ruby/rubygems/commit/ded5e909c2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It seems like we were trying to deprecate passing `nil` to
Gem::Version.new.  This breaks existing code, and I don't think there is
a good reason to deprecate this usage.

I believe what we want to prevent is the following code:

```ruby
Gem::Specification.new do |spec|
  spec.version = nil
  # suddenly the spec version is 0!
  p spec.version
end
```

This commit allows people to manually construct `Gem::Version.new(nil)`,
but when someone assigns `nil` as the Gem specification version, it sets
the spec version to `nil` (making the specification invalid).  People
who manually construct `Gem::Version` objects and use nil should be
allowed to do it, and `Gem::Version.new(nil) == Gem::Version.new("0")`,
but people who assign `nil` in a gemspec will get an invalid gemspec.

I think deprecation started
[here](https://github.com/ruby/rubygems/pull/2203) but there doesn't
seem to be a reason to do it.

Fixes https://github.com/ruby/rubygems/pull/9052

https://github.com/ruby/rubygems/commit/ded5e909c2
</pre>
</div>
</content>
</entry>
<entry>
<title>util/rubocop -A --only Layout/EmptyLineAfterMagicComment</title>
<updated>2023-03-23T08:18:49+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-03-17T09:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f24a86d83f07f214e97aa98da190cda55092805f'/>
<id>f24a86d83f07f214e97aa98da190cda55092805f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] util/rubocop -A --only Style/ParallelAssignment</title>
<updated>2023-03-17T09:50:55+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-03-16T04:07:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3d4c3f9e4ffc31e652b1bfab4d78f8b27d5b8126'/>
<id>3d4c3f9e4ffc31e652b1bfab4d78f8b27d5b8126</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/5c88c77873
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/5c88c77873
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge RubyGems and Bundler master</title>
<updated>2023-01-10T06:53:07+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-01-10T04:53:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a43f1d90c2b3aed232d5f4ef9dfe226401cf5d81'/>
<id>a43f1d90c2b3aed232d5f4ef9dfe226401cf5d81</id>
<content type='text'>
  from https://github.com/rubygems/rubygems/commit/0635c1423db5d7c461d53bf0c3329bca75de7609
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  from https://github.com/rubygems/rubygems/commit/0635c1423db5d7c461d53bf0c3329bca75de7609
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Warn (rather than crash) when setting `nil` specification versions</title>
<updated>2022-08-02T21:56:18+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2022-08-01T07:56:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=20936eb3a95f3564e565f59228a35453ae94eee3'/>
<id>20936eb3a95f3564e565f59228a35453ae94eee3</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/a4ba1a4d97
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/a4ba1a4d97
</pre>
</div>
</content>
</entry>
</feed>
