<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/rubygems/test_gem_requirement.rb, branch v4.0.2</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<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>[rubygems/rubygems] feat: Gem::Requirement#initialize_copy deep-copies @requirements</title>
<updated>2024-02-02T21:38:04+00:00</updated>
<author>
<name>Mike Dalessio</name>
<email>mike.dalessio@gmail.com</email>
</author>
<published>2024-01-30T13:05:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=66a6f2b15a8827f830db7bf8cf8c8ebba79fa237'/>
<id>66a6f2b15a8827f830db7bf8cf8c8ebba79fa237</id>
<content type='text'>
to avoid accidentally mutating the original's state when doing:

```ruby
req2 = req.dup
req2.concat(["&gt;= 3.3.22"])
```

see https://github.com/rake-compiler/rake-compiler/pull/236 for a
real-world use case that would be made simpler with this behavior.

https://github.com/rubygems/rubygems/commit/8e0c03144e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to avoid accidentally mutating the original's state when doing:

```ruby
req2 = req.dup
req2.concat(["&gt;= 3.3.22"])
```

see https://github.com/rake-compiler/rake-compiler/pull/236 for a
real-world use case that would be made simpler with this behavior.

https://github.com/rubygems/rubygems/commit/8e0c03144e
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Vendor net-http and net-protocol in RubyGems</title>
<updated>2023-12-13T03:16:55+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2023-01-29T20:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ce924ce1fb029f19fd34a43f2012a485f4f62b53'/>
<id>ce924ce1fb029f19fd34a43f2012a485f4f62b53</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/99d91c9ed2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/99d91c9ed2
</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>util/rubocop -A --only Layout/SpaceInsideArrayLiteralBrackets</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-16T02:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=03736159484cb7f9eeaaed3737beec924a175679'/>
<id>03736159484cb7f9eeaaed3737beec924a175679</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/ParenthesesAroundCondition</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:45:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4cd8a46f459c7813237501409b1a1c379128d1d3'/>
<id>4cd8a46f459c7813237501409b1a1c379128d1d3</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/c766a65885
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/c766a65885
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] util/rubocop -A --only Style/NegatedIf</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:35:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=52ea7afa5f33d1a586866e0f12ede3b4a2a083e8'/>
<id>52ea7afa5f33d1a586866e0f12ede3b4a2a083e8</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/aa95ee27a2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/aa95ee27a2
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge RubyGems/Bundler master</title>
<updated>2022-12-12T01:49:43+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-12-12T00:09:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bbe56a643734025aef6a3cbeb07c5306505040f6'/>
<id>bbe56a643734025aef6a3cbeb07c5306505040f6</id>
<content type='text'>
  from https://github.com/rubygems/rubygems/commit/bfb0ae69776069155d2092702bfbb5a12617d85a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  from https://github.com/rubygems/rubygems/commit/bfb0ae69776069155d2092702bfbb5a12617d85a
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge rubygems/bundler HEAD</title>
<updated>2022-08-03T04:14:10+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-08-03T03:24:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=71794a75db5d3da810146da106baf7eb5e86f745'/>
<id>71794a75db5d3da810146da106baf7eb5e86f745</id>
<content type='text'>
  Pick from https://github.com/rubygems/rubygems/commit/8331e63263081a6aa690d8025d2957f30c4e814a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Pick from https://github.com/rubygems/rubygems/commit/8331e63263081a6aa690d8025d2957f30c4e814a
</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>
