<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/bundler/dependency.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>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] Make Bundler never instantiate development dependencies</title>
<updated>2025-02-17T02:04:39+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-02-10T14:41:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c8f4df4ae93cec8825c919bfebaa5f1f744ba09c'/>
<id>c8f4df4ae93cec8825c919bfebaa5f1f744ba09c</id>
<content type='text'>
Bundler does not really have a concept of "development dependencies",
like RubyGems has. Bundler has the more generic concept of "groups".

Under the hood, the `gemspec` DSL will put gemspec development
dependencies under a `:development` Gemfile group, but there's no reason
to instantiate these as development dependencies, they are regular
runtime dependencies, except that they belong in a group named
:development.

By never instantiating development dependencies at all, we avoid having
to introduce hacks to "undo" the type Bundler does not know about, and I
also think the error messages read better.

https://github.com/rubygems/rubygems/commit/9a06fa5bda
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bundler does not really have a concept of "development dependencies",
like RubyGems has. Bundler has the more generic concept of "groups".

Under the hood, the `gemspec` DSL will put gemspec development
dependencies under a `:development` Gemfile group, but there's no reason
to instantiate these as development dependencies, they are regular
runtime dependencies, except that they belong in a group named
:development.

By never instantiating development dependencies at all, we avoid having
to introduce hacks to "undo" the type Bundler does not know about, and I
also think the error messages read better.

https://github.com/rubygems/rubygems/commit/9a06fa5bda
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Make `Bundler::Dependency` more memory efficient</title>
<updated>2025-02-06T06:57:55+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-01-30T14:08:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4c0cf2deed50e4dc9345b119ebd1f6e7f8a9eab8'/>
<id>4c0cf2deed50e4dc9345b119ebd1f6e7f8a9eab8</id>
<content type='text'>
When resolving from scratch a Gemfile including only `"gem "rails", "~&gt;
8.0.1"`, I get the following results:

### Before

Total allocated: 288.21 MB (3498515 objects)
Total retained:  119.10 MB (1357976 objects)

### After

Total allocated: 277.44 MB (3383182 objects)
Total retained:  117.55 MB (1338622 objects)

https://github.com/rubygems/rubygems/commit/2d3d6e5015
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When resolving from scratch a Gemfile including only `"gem "rails", "~&gt;
8.0.1"`, I get the following results:

### Before

Total allocated: 288.21 MB (3498515 objects)
Total retained:  119.10 MB (1357976 objects)

### After

Total allocated: 277.44 MB (3383182 objects)
Total retained:  117.55 MB (1338622 objects)

https://github.com/rubygems/rubygems/commit/2d3d6e5015
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Consolidate the platform into a single list:</title>
<updated>2025-01-31T05:34:26+00:00</updated>
<author>
<name>Edouard CHIN</name>
<email>chin.edouard@gmail.com</email>
</author>
<published>2025-01-23T14:58:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2ed30c9944aded2ab75943667610a83b1480b3cc'/>
<id>2ed30c9944aded2ab75943667610a83b1480b3cc</id>
<content type='text'>
- Similar change than https://github.com/rubygems/rubygems/commit/29a1be0008e6,
  keep a single source of truth where we store the platform.

  The only change worth highlighing is the platform "maglev".
  It was not part of the supported platform of dependencies,
  so calling `gem 'foo', plaftorm: 'maglev'` would not work.
  However, it was supposed to according to https://github.com/rubygems/rubygems/commit/45ec86e2e528.
  That's why it was possible to do `Bundler.current_ruby.maglev?` or
  `Bundler.current_ruby.maglev_30?`.

  I didn't change the current behaviour and maglev is not supported,
  though I kept the `*maglev` methods as I believe CurrentRuby is
  public API.

https://github.com/rubygems/rubygems/commit/29e219ebcf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Similar change than https://github.com/rubygems/rubygems/commit/29a1be0008e6,
  keep a single source of truth where we store the platform.

  The only change worth highlighing is the platform "maglev".
  It was not part of the supported platform of dependencies,
  so calling `gem 'foo', plaftorm: 'maglev'` would not work.
  However, it was supposed to according to https://github.com/rubygems/rubygems/commit/45ec86e2e528.
  That's why it was possible to do `Bundler.current_ruby.maglev?` or
  `Bundler.current_ruby.maglev_30?`.

  I didn't change the current behaviour and maglev is not supported,
  though I kept the `*maglev` methods as I believe CurrentRuby is
  public API.

https://github.com/rubygems/rubygems/commit/29e219ebcf
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Consolidated the Ruby version list:</title>
<updated>2025-01-31T05:34:25+00:00</updated>
<author>
<name>Edouard CHIN</name>
<email>chin.edouard@gmail.com</email>
</author>
<published>2025-01-23T14:45:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=dc7c66510523631e0ca316e9df73f0889666d937'/>
<id>dc7c66510523631e0ca316e9df73f0889666d937</id>
<content type='text'>
- We keep 2 list of supported ruby versions and each time a new ruby
  version is released we need to maintain both list. Forgetting
  to update one would prevent users from adding gem for a specific
  plaftorm (i.e. https://github.com/rubygems/rubygems/commit/7cd19d824d17 and https://github.com/rubygems/rubygems/commit/5462322f8f0c).

  Extracted the list from the Dependency class and moved it to the
  CurrentRuby class (which I believe was originally added for that
  reason).

https://github.com/rubygems/rubygems/commit/a91edd6c1f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- We keep 2 list of supported ruby versions and each time a new ruby
  version is released we need to maintain both list. Forgetting
  to update one would prevent users from adding gem for a specific
  plaftorm (i.e. https://github.com/rubygems/rubygems/commit/7cd19d824d17 and https://github.com/rubygems/rubygems/commit/5462322f8f0c).

  Extracted the list from the Dependency class and moved it to the
  CurrentRuby class (which I believe was originally added for that
  reason).

https://github.com/rubygems/rubygems/commit/a91edd6c1f
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Remove unnecessary `@autorequire` initialization</title>
<updated>2025-01-28T06:31:53+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-01-24T15:08:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f6e7f5337b882611c44628467a97358156cff62c'/>
<id>f6e7f5337b882611c44628467a97358156cff62c</id>
<content type='text'>
It's initialized again later on.

https://github.com/rubygems/rubygems/commit/c3ddc81659
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's initialized again later on.

https://github.com/rubygems/rubygems/commit/c3ddc81659
</pre>
</div>
</content>
</entry>
<entry>
<title>Support Ruby 3.5 for bundler platforms</title>
<updated>2024-12-25T11:10:18+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-12-25T10:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=69bb296fa61cc488769227187c95f4cf15ce463c'/>
<id>69bb296fa61cc488769227187c95f4cf15ce463c</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] Enable `Performance/MapCompact` cop</title>
<updated>2024-11-26T06:11:05+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-11-18T19:53:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=963f98a94f978552c9ceb413dab085d2cdfc1236'/>
<id>963f98a94f978552c9ceb413dab085d2cdfc1236</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/0c3a65871a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/0c3a65871a
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] bundler CLI option for add gem --glob=</title>
<updated>2024-04-12T13:31:43+00:00</updated>
<author>
<name>David Marshall</name>
<email>depmarshall@gmail.com</email>
</author>
<published>2024-04-04T17:33:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c4b5f3f1422b1c83bc4c7e03d32218881c0b6945'/>
<id>c4b5f3f1422b1c83bc4c7e03d32218881c0b6945</id>
<content type='text'>
Bundler online documentation says that if the gem is located within a subdirectory of a git repository,
you can use the `:glob` option to specify the location of its .gemspec

`gem 'cf-copilot', git: 'https://github.com/cloudfoundry/copilot', glob: 'sdk/ruby/*.gemspec'`

This change allows for equivalent functionality from the bundler CLI

`bundle add cf-copilot --git=https://github.com/cloudfoundry/copilot --glob=sdk/ruby/*.gemspec`

https://github.com/rubygems/rubygems/commit/91052e5868
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bundler online documentation says that if the gem is located within a subdirectory of a git repository,
you can use the `:glob` option to specify the location of its .gemspec

`gem 'cf-copilot', git: 'https://github.com/cloudfoundry/copilot', glob: 'sdk/ruby/*.gemspec'`

This change allows for equivalent functionality from the bundler CLI

`bundle add cf-copilot --git=https://github.com/cloudfoundry/copilot --glob=sdk/ruby/*.gemspec`

https://github.com/rubygems/rubygems/commit/91052e5868
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge RubyGems-3.5.3 and Bundler-2.5.3</title>
<updated>2023-12-23T00:34:26+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-12-23T00:08:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7d7a84e99fca816ec352c95965687db240fb56d3'/>
<id>7d7a84e99fca816ec352c95965687db240fb56d3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
