<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/bundler/spec_set.rb, branch v4.0.3</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[rubygems/rubygems] Removed legacy_check option from SpecSet#for</title>
<updated>2025-10-14T10:41:48+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-10-14T09:12:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2002aa3ec295b4323cb10a7e80f057a1e61341f1'/>
<id>2002aa3ec295b4323cb10a7e80f057a1e61341f1</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/376e4ec8c7

Co-authored-by: David Rodríguez &lt;2887858+deivid-rodriguez@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/376e4ec8c7

Co-authored-by: David Rodríguez &lt;2887858+deivid-rodriguez@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Consolidate removal of `Bundler::SpecSet#-` and `Bundler::SpecSet#&lt;&lt;`</title>
<updated>2025-10-10T04:45:09+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>2887858+deivid-rodriguez@users.noreply.github.com</email>
</author>
<published>2025-09-09T17:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1399134f6a504cf647c02a00c67b6a04ad7c76a4'/>
<id>1399134f6a504cf647c02a00c67b6a04ad7c76a4</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/aee50b31db
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/aee50b31db
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Deprecate unused `Bundler#SpecSet` methods</title>
<updated>2025-06-23T02:06:59+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-03-05T07:26:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=746e0d3ef48a1313c67d93cd95c10b0bc9f01d3a'/>
<id>746e0d3ef48a1313c67d93cd95c10b0bc9f01d3a</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/380c95ce05
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/380c95ce05
</pre>
</div>
</content>
</entry>
<entry>
<title>Move most of Bundler::GemHelpers to Gem::Platform</title>
<updated>2025-06-06T01:22:18+00:00</updated>
<author>
<name>Samuel Giddins</name>
<email>segiddins@segiddins.me</email>
</author>
<published>2025-05-18T15:37:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c0a1e877b3c0c5dd69bb634262bd4e73a07eb27e'/>
<id>c0a1e877b3c0c5dd69bb634262bd4e73a07eb27e</id>
<content type='text'>
This will help centralize wheel platform selection logic eventually

Signed-off-by: Samuel Giddins &lt;segiddins@segiddins.me&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will help centralize wheel platform selection logic eventually

Signed-off-by: Samuel Giddins &lt;segiddins@segiddins.me&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Let `bundle lock --normalize-platforms` remove invalid platforms</title>
<updated>2025-04-15T07:47:22+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-04-12T19:06:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b8b4c15695ac4053b9d6c203e3948ea545be726b'/>
<id>b8b4c15695ac4053b9d6c203e3948ea545be726b</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/c39d2f84fd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/c39d2f84fd
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Raise an error if `bundle lock` target platform is incompatible</title>
<updated>2025-04-15T07:47:21+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-04-12T17:45:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1929e73a36958aee963d4e843716a3927d641d69'/>
<id>1929e73a36958aee963d4e843716a3927d641d69</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/282e4a8593
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/282e4a8593
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Fix edge case making `bundle update` behave incorrectly</title>
<updated>2025-04-14T07:17:50+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-04-10T19:03:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ce2640dde8c65d9e11c3bc2249c5cd5bb7d0dbce'/>
<id>ce2640dde8c65d9e11c3bc2249c5cd5bb7d0dbce</id>
<content type='text'>
If both a native and a generic version are locked, but the native
version is incompatible with the running Ruby, Bundler will still keep
the native version in the lockfile, since it could be potentially useful
when using other rubies.

However, when `bundle update` is run, this was not the case because the
locked native gems were not using the right source when materializing.
They were using the lockfile source instead of the Gemfile source, and
that meant they could not be found when materializing, because the
lockfile source always uses local mode so does not see them.

The effect of this was normally that they were incorrectly removed from
the lockfile and a strange "this spec has been possibly yanked" was
printed in verbose mode. However, in certain situations (i.e., when the
generic gem would bring extra dependencies), it could also make `bundle
update` crash.

The solution is, when adding this extra locked specs to the result after
resolving, maybe sure they inherit the source from the resolved specs,
so they can be found when materializing.

`bundle install` did not have the issue because it passes locked specs
to the resolver, and assigns the right source to them in
`Definition#converge_locked_specs`.

https://github.com/rubygems/rubygems/commit/91ce881fda
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If both a native and a generic version are locked, but the native
version is incompatible with the running Ruby, Bundler will still keep
the native version in the lockfile, since it could be potentially useful
when using other rubies.

However, when `bundle update` is run, this was not the case because the
locked native gems were not using the right source when materializing.
They were using the lockfile source instead of the Gemfile source, and
that meant they could not be found when materializing, because the
lockfile source always uses local mode so does not see them.

The effect of this was normally that they were incorrectly removed from
the lockfile and a strange "this spec has been possibly yanked" was
printed in verbose mode. However, in certain situations (i.e., when the
generic gem would bring extra dependencies), it could also make `bundle
update` crash.

The solution is, when adding this extra locked specs to the result after
resolving, maybe sure they inherit the source from the resolved specs,
so they can be found when materializing.

`bundle install` did not have the issue because it passes locked specs
to the resolver, and assigns the right source to them in
`Definition#converge_locked_specs`.

https://github.com/rubygems/rubygems/commit/91ce881fda
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Fix `bundle lock --normalize-platforms` regression</title>
<updated>2025-04-14T07:17:48+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-04-07T15:42:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c4a2f72b1bf0e43782ae38e0a456d8e18131c63a'/>
<id>c4a2f72b1bf0e43782ae38e0a456d8e18131c63a</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/458fa5dc4c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/458fa5dc4c
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Remove edge cases for not removing invalid platforms</title>
<updated>2025-03-31T00:39:22+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-03-24T17:19:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b2bcd360441c334f16148908684e9b409eac4949'/>
<id>b2bcd360441c334f16148908684e9b409eac4949</id>
<content type='text'>
Instead, remove them anytime we find dependencies don't match the
lockfile for a platform, and then add them back after resolution if
they ended up being valid.

https://github.com/rubygems/rubygems/commit/220bd77887
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead, remove them anytime we find dependencies don't match the
lockfile for a platform, and then add them back after resolution if
they ended up being valid.

https://github.com/rubygems/rubygems/commit/220bd77887
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] `SpecSet#add_extra_platforms!` doesn't need to return anything</title>
<updated>2025-03-31T00:39:22+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-03-27T14:34:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f72d5effb79a9957a0abd62c4f743e67cbf8e5ed'/>
<id>f72d5effb79a9957a0abd62c4f743e67cbf8e5ed</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/9fd92ade54
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/9fd92ade54
</pre>
</div>
</content>
</entry>
</feed>
