<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/spec/bundler/commands/list_spec.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>[rubygems/rubygems] Introduce `bundle list --format=json`</title>
<updated>2025-08-18T03:31:51+00:00</updated>
<author>
<name>Schneems</name>
<email>richard.schneeman+foo@gmail.com</email>
</author>
<published>2025-05-29T16:11:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=813603994a388ad8f22ab831d2b554671dfd23b6'/>
<id>813603994a388ad8f22ab831d2b554671dfd23b6</id>
<content type='text'>
The `bundle list` command is a convenient way for human to know what gems and versions are available. By introducing a `--format=json` option, we can provide the same information to machines in a stable format that is robust to UI additions or modifications. It indirectly supports  `Gemfile.lock` modifications by discouraging external tools from attempting to parse that format.

This addition allows for the scripting of installation tools, such as buildpacks, that wish to branch logic based on gem versions. For example:

```ruby
require "json"

command = "bundle list --format=json"
output = `#{command}`
raise "Command `#{command}` errored: #{output}" unless $?.success?

railties = JSON.parse(output).find {|gem| gem["name"] == railties }
if railties &amp;&amp; Gem::Version.new(railties["version"]) &gt;= Gem::Version.new("7")
  puts "Using Rails greater than 7!"
end
```

The top level is an object with a single key, "gems", this structure allows us to add other information in the future (should we desire) without having to change the json schema.

https://github.com/rubygems/rubygems/commit/9e081b0689
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `bundle list` command is a convenient way for human to know what gems and versions are available. By introducing a `--format=json` option, we can provide the same information to machines in a stable format that is robust to UI additions or modifications. It indirectly supports  `Gemfile.lock` modifications by discouraging external tools from attempting to parse that format.

This addition allows for the scripting of installation tools, such as buildpacks, that wish to branch logic based on gem versions. For example:

```ruby
require "json"

command = "bundle list --format=json"
output = `#{command}`
raise "Command `#{command}` errored: #{output}" unless $?.success?

railties = JSON.parse(output).find {|gem| gem["name"] == railties }
if railties &amp;&amp; Gem::Version.new(railties["version"]) &gt;= Gem::Version.new("7")
  puts "Using Rails greater than 7!"
end
```

The top level is an object with a single key, "gems", this structure allows us to add other information in the future (should we desire) without having to change the json schema.

https://github.com/rubygems/rubygems/commit/9e081b0689
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Fix Bundler printing more flags than actually passed in verbose mode</title>
<updated>2025-08-18T03:31:51+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-08-08T10:42:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8d5f00c5371ff71f33ef57b1419fd8d4b1aa9074'/>
<id>8d5f00c5371ff71f33ef57b1419fd8d4b1aa9074</id>
<content type='text'>
This reverts commit https://github.com/rubygems/rubygems/commit/bea87eab0b17 and adds a
regression spec for it.

https://github.com/rubygems/rubygems/commit/ac98107864
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit https://github.com/rubygems/rubygems/commit/bea87eab0b17 and adds a
regression spec for it.

https://github.com/rubygems/rubygems/commit/ac98107864
</pre>
</div>
</content>
</entry>
<entry>
<title>Synchronize Bundler &amp; RubyGems (#11071)</title>
<updated>2024-06-28T14:12:29+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-06-28T14:12:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=98c923ff4bbeeb4a8f9f63ea2695a38471da42c2'/>
<id>98c923ff4bbeeb4a8f9f63ea2695a38471da42c2</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] The `tmp` test helper already joins internally</title>
<updated>2024-06-06T18:44:37+00:00</updated>
<author>
<name>David Rodriguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2021-10-18T09:25:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f5c6a395a529c81f2baa7f40a0eaa6a999b7c0cb'/>
<id>f5c6a395a529c81f2baa7f40a0eaa6a999b7c0cb</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/2d9eeadb62
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/2d9eeadb62
</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>Merge prepare version of Bundler 2.2.0</title>
<updated>2020-12-08T08:30:02+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2020-12-08T07:36:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=473f9d2df0ddd7fdb5cc73fa3ad49b2f19f22b06'/>
<id>473f9d2df0ddd7fdb5cc73fa3ad49b2f19f22b06</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] s/bundle!/bundle</title>
<updated>2020-06-18T10:14:15+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2020-06-03T18:45:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1436b5026cd1b2ac4b428955aeadaac8e8b12b1b'/>
<id>1436b5026cd1b2ac4b428955aeadaac8e8b12b1b</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/746a4b3d74
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/746a4b3d74
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Make helpers raise by default</title>
<updated>2020-06-18T10:14:15+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2020-06-03T16:43:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=61b6f53337cb71b35c56d480ec6044ba7e85cb71'/>
<id>61b6f53337cb71b35c56d480ec6044ba7e85cb71</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/ade0c441d5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/ade0c441d5
</pre>
</div>
</content>
</entry>
<entry>
<title>Update the bundler version with master branch</title>
<updated>2020-05-12T22:54:37+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2020-05-08T05:19:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0e60b59d5884edb8f9aea023efd9b24f1ff02049'/>
<id>0e60b59d5884edb8f9aea023efd9b24f1ff02049</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[bundler/bundler] Normalize file:// handling in specs</title>
<updated>2019-08-03T00:29:55+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2019-05-06T16:06:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c3ddd47ce7b546530e2241b0ea6a96817977886a'/>
<id>c3ddd47ce7b546530e2241b0ea6a96817977886a</id>
<content type='text'>
https://github.com/bundler/bundler/commit/5946d62ad0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/bundler/bundler/commit/5946d62ad0
</pre>
</div>
</content>
</entry>
</feed>
