<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/bundler/gem_version_promoter.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>[rubygems/rubygems] Fix locked gems being upgraded when locked dependencies are incorrect</title>
<updated>2025-02-18T03:12:51+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-02-12T14:45:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c77354157f7a0af8de5f16dc1b4f352f4bc1402f'/>
<id>c77354157f7a0af8de5f16dc1b4f352f4bc1402f</id>
<content type='text'>
Resolver had internal logic to prioritize locked versions when sorting
versions, however part of it was not being actually hit because of how
unlocking worked in the resolver: a package was allow to be unlocked
when that was explicit requested or when the list of unlocks was empty.
That did not make a lot of sense and other cases were working because
the explicit list of unlocks was getting "artificially filled".

Now we consider a package unlocked when explicitly requested (`bundle
update &lt;package&gt;`), or when everything is being unlocked (`bundle
install` with no lockfile or `bundle update`).

This makes things simpler and gets the edge case added as a test case
working as expected.

https://github.com/rubygems/rubygems/commit/b8e55087f0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resolver had internal logic to prioritize locked versions when sorting
versions, however part of it was not being actually hit because of how
unlocking worked in the resolver: a package was allow to be unlocked
when that was explicit requested or when the list of unlocks was empty.
That did not make a lot of sense and other cases were working because
the explicit list of unlocks was getting "artificially filled".

Now we consider a package unlocked when explicitly requested (`bundle
update &lt;package&gt;`), or when everything is being unlocked (`bundle
install` with no lockfile or `bundle update`).

This makes things simpler and gets the edge case added as a test case
working as expected.

https://github.com/rubygems/rubygems/commit/b8e55087f0
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Let GemVersionPromoter sort in preferred order directly</title>
<updated>2024-04-01T15:03:25+00:00</updated>
<author>
<name>David Rodriguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-03-21T16:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d69ef1cc52b34d3242376ea5b4893b1b55e71517'/>
<id>d69ef1cc52b34d3242376ea5b4893b1b55e71517</id>
<content type='text'>
So that we don't need to reverse the Array.

https://github.com/rubygems/rubygems/commit/aeea5e2e00
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So that we don't need to reverse the Array.

https://github.com/rubygems/rubygems/commit/aeea5e2e00
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Update docs</title>
<updated>2024-04-01T15:03:25+00:00</updated>
<author>
<name>David Rodriguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-03-21T16:27:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2b82b7d192d26b1153186187dbe3bef84de7ed3f'/>
<id>2b82b7d192d26b1153186187dbe3bef84de7ed3f</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/ac24a68486
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/ac24a68486
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Remove unnecessary filtering</title>
<updated>2024-04-01T15:03:25+00:00</updated>
<author>
<name>David Rodriguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-03-21T16:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0a1e36964dfa634bfd3088da5362093b89103a33'/>
<id>0a1e36964dfa634bfd3088da5362093b89103a33</id>
<content type='text'>
We do that when first caching versions, and then it's no longer
necessary.

https://github.com/rubygems/rubygems/commit/ede15847db
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We do that when first caching versions, and then it's no longer
necessary.

https://github.com/rubygems/rubygems/commit/ede15847db
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] No need to sort twice when filling versions</title>
<updated>2024-04-01T15:03:24+00:00</updated>
<author>
<name>David Rodriguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-03-21T15:55:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=acbd91e47ff36216459bbba4368b04e6a3079b2a'/>
<id>acbd91e47ff36216459bbba4368b04e6a3079b2a</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/13294528c4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/13294528c4
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Fix `bundle lock --minor --update &lt;dep&gt;` edge case</title>
<updated>2023-09-27T03:29:37+00:00</updated>
<author>
<name>David Rodriguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2023-09-25T14:26:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=57c3e45ee8d43c401ff1e52105ecbca2bd4e7550'/>
<id>57c3e45ee8d43c401ff1e52105ecbca2bd4e7550</id>
<content type='text'>
When the latest allowed minor of `dep` adds a new dependency, that new
dependency would be incorrectly resolved to the latest minor of the
first major version.

https://github.com/rubygems/rubygems/commit/fd50c9d4f3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the latest allowed minor of `dep` adds a new dependency, that new
dependency would be incorrectly resolved to the latest minor of the
first major version.

https://github.com/rubygems/rubygems/commit/fd50c9d4f3
</pre>
</div>
</content>
</entry>
<entry>
<title>Consider prereleases regardless of whether locked</title>
<updated>2023-03-28T01:18:50+00:00</updated>
<author>
<name>Michael Siegfried</name>
<email>michaeldsiegfried@gmail.com</email>
</author>
<published>2023-03-24T04:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=67f37b010a6bcaab90255f3899a504346dbfac63'/>
<id>67f37b010a6bcaab90255f3899a504346dbfac63</id>
<content type='text'>
Prereleases are NOT considered even when the dependency specification
includes a prerelease segment, if the dependency is not locked. To me
that doesn't make sense, because I could create a Gemfile with say gem
"rails", "&gt;= 7.0.0.beta1" and I'd expect prereleases considered there
even if there's no lock file yet.

Co-authored-by: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prereleases are NOT considered even when the dependency specification
includes a prerelease segment, if the dependency is not locked. To me
that doesn't make sense, because I could create a Gemfile with say gem
"rails", "&gt;= 7.0.0.beta1" and I'd expect prereleases considered there
even if there's no lock file yet.

Co-authored-by: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Fix tiny typo</title>
<updated>2022-12-20T04:15:02+00:00</updated>
<author>
<name>Michael Siegfried</name>
<email>michaeldsiegfried@gmail.com</email>
</author>
<published>2022-11-17T01:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c436f52fe81b90e09376c9b75ac4cb4a4b090e32'/>
<id>c436f52fe81b90e09376c9b75ac4cb4a4b090e32</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/390e3e1ebd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/390e3e1ebd
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Support for pre flag in `bundle update`</title>
<updated>2022-12-20T04:15:02+00:00</updated>
<author>
<name>Michael Siegfried</name>
<email>michael@procore.com</email>
</author>
<published>2022-01-04T22:54:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2bc4f1dea5e663acba1d3c662390e8fc20bf6721'/>
<id>2bc4f1dea5e663acba1d3c662390e8fc20bf6721</id>
<content type='text'>
Passing this flag allows bumping to the current version, even if that
version is prerelease. This works in concert with the current flags.

https://github.com/rubygems/rubygems/commit/a6409e3509
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Passing this flag allows bumping to the current version, even if that
version is prerelease. This works in concert with the current flags.

https://github.com/rubygems/rubygems/commit/a6409e3509
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Clarify segment equality check</title>
<updated>2022-12-20T04:15:02+00:00</updated>
<author>
<name>Michael Siegfried</name>
<email>michaeldsiegfried@gmail.com</email>
</author>
<published>2022-11-17T00:19:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1ee31f9d9dc8da4b0eb8ca39b79a6b270c6c2f2d'/>
<id>1ee31f9d9dc8da4b0eb8ca39b79a6b270c6c2f2d</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/6624474c5a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/6624474c5a
</pre>
</div>
</content>
</entry>
</feed>
