<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/bundler/fetcher.rb, branch v3_4_1</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] Include original error when openssl fails to load</title>
<updated>2024-11-13T08:35:40+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-11-11T12:32:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ae733a693b8c5eaea44841c58c1507ffcf3b2d58'/>
<id>ae733a693b8c5eaea44841c58c1507ffcf3b2d58</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/440343b791
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/440343b791
</pre>
</div>
</content>
</entry>
<entry>
<title>Vendor `securerandom` in Bundler as well</title>
<updated>2024-09-03T01:49:13+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-08-30T12:38:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=81c71efc55740ac5bdeb5817703110fd879f3693'/>
<id>81c71efc55740ac5bdeb5817703110fd879f3693</id>
<content type='text'>
It is loaded by `Fetcher` so in most case it's fine.

But if using `bundler/inline` and a gem need to be fetched,
`securerandom` will be loaded and cause a conflict.

Can be reproduced with:

```ruby
require 'bundler/inline'

gemfile do
  source 'https://rubygems.org'
  gem 'graphql', '~&gt; 2.0'
  gem 'graphql-client', '~&gt; 0.18'
end

require 'json'
require 'graphql/client'
require 'graphql/client/http'
```

Ref: https://github.com/rails/rails/pull/52473#issuecomment-2284667451

Co-authored-by: Jean Boussier &lt;jean.boussier@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is loaded by `Fetcher` so in most case it's fine.

But if using `bundler/inline` and a gem need to be fetched,
`securerandom` will be loaded and cause a conflict.

Can be reproduced with:

```ruby
require 'bundler/inline'

gemfile do
  source 'https://rubygems.org'
  gem 'graphql', '~&gt; 2.0'
  gem 'graphql-client', '~&gt; 0.18'
end

require 'json'
require 'graphql/client'
require 'graphql/client/http'
```

Ref: https://github.com/rails/rails/pull/52473#issuecomment-2284667451

Co-authored-by: Jean Boussier &lt;jean.boussier@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Use rubygems vendored uri from Bundler when available</title>
<updated>2024-01-29T03:15:10+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-01-15T19:51:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f3123f8af2c79d3e40719865fc3700277fe1ae72'/>
<id>f3123f8af2c79d3e40719865fc3700277fe1ae72</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/5d6a8f2fb4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/5d6a8f2fb4
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Remove more methods now defined in all RubyGems versions</title>
<updated>2023-12-14T12:22:48+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2023-12-12T20:21:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5cf6f7f8859a0418bbbe2b608a88557d4f06e098'/>
<id>5cf6f7f8859a0418bbbe2b608a88557d4f06e098</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/e015200ffa
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/e015200ffa
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Use vendored timeout from 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-07-04T16:34:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f188a41afee554e46ea2125f22e7d989afc52be0'/>
<id>f188a41afee554e46ea2125f22e7d989afc52be0</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/cfc5018c54
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/cfc5018c54
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Use vendored net-http in Bundler</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:28:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=90317472e87692fff1c864d129d60130dc3bab2c'/>
<id>90317472e87692fff1c864d129d60130dc3bab2c</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/0d758e8926
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/0d758e8926
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Require `rubygems/request` where it's used</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:28:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8d1a2036643faecf55b9c09d6b788d1cd3b1f064'/>
<id>8d1a2036643faecf55b9c09d6b788d1cd3b1f064</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/73b9498658
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/73b9498658
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Use modern hashes consistently</title>
<updated>2023-12-07T22:29:33+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2023-12-07T21:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2755cb1b2fbc4a5f08ca56345b5945bd452da74e'/>
<id>2755cb1b2fbc4a5f08ca56345b5945bd452da74e</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/bb66253f2c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/bb66253f2c
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Bundler::Fetcher uses Bundler::CIDetector</title>
<updated>2023-12-06T20:05:25+00:00</updated>
<author>
<name>Eric Mueller</name>
<email>nevinera@gmail.com</email>
</author>
<published>2023-12-02T04:23:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9336bbb0b268cb655e6c07ad2a83b9a28cb98911'/>
<id>9336bbb0b268cb655e6c07ad2a83b9a28cb98911</id>
<content type='text'>
Additionally, the result is memoized, as it's used twice in a row.

This change does result in a net behavioral diff, as the list of ENVs
being checked has been updated (now includes buildkite, taskcluster,
cirrus, dsari, and drops buildbox and snap)

https://github.com/rubygems/rubygems/commit/3fb445a5a1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Additionally, the result is memoized, as it's used twice in a row.

This change does result in a net behavioral diff, as the list of ENVs
being checked has been updated (now includes buildkite, taskcluster,
cirrus, dsari, and drops buildbox and snap)

https://github.com/rubygems/rubygems/commit/3fb445a5a1
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] User bundler UA when downloading gems</title>
<updated>2023-11-15T08:33:14+00:00</updated>
<author>
<name>Samuel Giddins</name>
<email>segiddins@segiddins.me</email>
</author>
<published>2023-10-22T20:25:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b69bbf588a3dd167d62dbb89f0cef25ebae4a7ea'/>
<id>b69bbf588a3dd167d62dbb89f0cef25ebae4a7ea</id>
<content type='text'>
Gem::RemoteFetcher uses Gem::Request, which adds the RubyGems UA.
Gem::RemoteFetcher is used to download gems, as well as the full index.
We would like the bundler UA to be used whenever bundler is making
requests.

This PR also avoids unsafely mutating the headers hash on the shared
`Gem::RemoteFetcher.fetcher` instance, which could cause corruption or
incorrect headers when making parallel requests. Instead, we create one
remote fetcher per rubygems remote, which is similar to the connection
segregation bundler is already doing

https://github.com/rubygems/rubygems/commit/f0e8dacdec
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Gem::RemoteFetcher uses Gem::Request, which adds the RubyGems UA.
Gem::RemoteFetcher is used to download gems, as well as the full index.
We would like the bundler UA to be used whenever bundler is making
requests.

This PR also avoids unsafely mutating the headers hash on the shared
`Gem::RemoteFetcher.fetcher` instance, which could cause corruption or
incorrect headers when making parallel requests. Instead, we create one
remote fetcher per rubygems remote, which is similar to the connection
segregation bundler is already doing

https://github.com/rubygems/rubygems/commit/f0e8dacdec
</pre>
</div>
</content>
</entry>
</feed>
