<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/bundler/fetcher, branch v3_4_9</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] Update required_ruby_version to 3.1</title>
<updated>2024-10-04T20:01:51+00:00</updated>
<author>
<name>Samuel Giddins</name>
<email>segiddins@segiddins.me</email>
</author>
<published>2024-10-02T01:20:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bdc3363d0f045b1a6d81b72c3cd9b10d5759f71e'/>
<id>bdc3363d0f045b1a6d81b72c3cd9b10d5759f71e</id>
<content type='text'>
3.0 has been EOL since march, drop support for it before the 3.4 release is cut

Signed-off-by: Samuel Giddins &lt;segiddins@segiddins.me&gt;

https://github.com/rubygems/rubygems/commit/fc1f03b06a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
3.0 has been EOL since march, drop support for it before the 3.4 release is cut

Signed-off-by: Samuel Giddins &lt;segiddins@segiddins.me&gt;

https://github.com/rubygems/rubygems/commit/fc1f03b06a
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Move compact index concurrency to fetcher</title>
<updated>2024-05-31T16:41:25+00:00</updated>
<author>
<name>Martin Emde</name>
<email>me@martinemde.com</email>
</author>
<published>2024-05-31T00:32:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=78860b8e52b66b4239c755362a5ca4deeb4f67e3'/>
<id>78860b8e52b66b4239c755362a5ca4deeb4f67e3</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/ffd3711d00
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/ffd3711d00
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Reorganize and refactor CompactIndexClient</title>
<updated>2024-05-25T17:47:07+00:00</updated>
<author>
<name>Martin Emde</name>
<email>me@martinemde.com</email>
</author>
<published>2024-05-22T04:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6b0afbb111716e7b1fdc711d8afd26c723a9bb0c'/>
<id>6b0afbb111716e7b1fdc711d8afd26c723a9bb0c</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/71bcf354f5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/71bcf354f5
</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] 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>Opaque Etags for compact index requests</title>
<updated>2023-11-27T06:04:40+00:00</updated>
<author>
<name>Josef Šimánek</name>
<email>josef.simanek@gmail.com</email>
</author>
<published>2023-06-27T00:36:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=71a8daecd9ad10ba8aa0d66131e326722f1d78ad'/>
<id>71a8daecd9ad10ba8aa0d66131e326722f1d78ad</id>
<content type='text'>
This changes the CompactIndexClient to store etags received from the
compact index in separate files rather than relying on the MD5 checksum
of the file as the etag.

Smoothes the upgrade from md5 etags to opaque by generating them when no
etag file exists. This should reduce the initial impact of changing the
caching behavior by reducing cache misses when the MD5 etag is the same.

Eventually, the MD5 behavior should be retired and the etag should be
considered completely opaque with no assumption that MD5 would match.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This changes the CompactIndexClient to store etags received from the
compact index in separate files rather than relying on the MD5 checksum
of the file as the etag.

Smoothes the upgrade from md5 etags to opaque by generating them when no
etag file exists. This should reduce the initial impact of changing the
caching behavior by reducing cache misses when the MD5 etag is the same.

Eventually, the MD5 behavior should be retired and the etag should be
considered completely opaque with no assumption that MD5 would match.
</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>
<entry>
<title>[rubygems/rubygems] Lazily construct fetcher debug messages</title>
<updated>2023-09-19T07:14:53+00:00</updated>
<author>
<name>Samuel Giddins</name>
<email>segiddins@segiddins.me</email>
</author>
<published>2023-09-18T21:16:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cea7e6ecca99ae7730ea5ac44ed15f62b1599664'/>
<id>cea7e6ecca99ae7730ea5ac44ed15f62b1599664</id>
<content type='text'>
Avoids constructing several strings

https://github.com/rubygems/rubygems/commit/8a322dbe11
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoids constructing several strings

https://github.com/rubygems/rubygems/commit/8a322dbe11
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Refactor Fetcher#api_fetcher? and fetcher loading logic</title>
<updated>2023-08-28T02:15:32+00:00</updated>
<author>
<name>Martin Emde</name>
<email>martin.emde@gmail.com</email>
</author>
<published>2023-08-21T21:05:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7bf5f780281edc2fca83a0657e3a8d256e6e7065'/>
<id>7bf5f780281edc2fca83a0657e3a8d256e6e7065</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/f664d60114
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/f664d60114
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Show better error when PAT can't authenticate to a private server</title>
<updated>2023-08-16T06:03:38+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2023-08-10T19:37:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fe240b672b709e800f2b4fb996f04f2005329dab'/>
<id>fe240b672b709e800f2b4fb996f04f2005329dab</id>
<content type='text'>
Before:

```
Fetching gem metadata from https://rubygems.org/........
Fetching source index from https://rubygems.pkg.github.com/my-org/

Bad username or password for https://x-access-token@rubygems.pkg.github.com/my-org/.
Please double-check your credentials and correct them.
```

After:

```
Fetching gem metadata from https://rubygems.org/........
Fetching source index from https://rubygems.pkg.github.com/my-org/

Access token could not be authenticated for https://x-access-token@rubygems.pkg.github.com/my-org/.
Make sure it's valid and has the necessary scopes configured.
```

https://github.com/rubygems/rubygems/commit/2ae69c964a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before:

```
Fetching gem metadata from https://rubygems.org/........
Fetching source index from https://rubygems.pkg.github.com/my-org/

Bad username or password for https://x-access-token@rubygems.pkg.github.com/my-org/.
Please double-check your credentials and correct them.
```

After:

```
Fetching gem metadata from https://rubygems.org/........
Fetching source index from https://rubygems.pkg.github.com/my-org/

Access token could not be authenticated for https://x-access-token@rubygems.pkg.github.com/my-org/.
Make sure it's valid and has the necessary scopes configured.
```

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