Prepare RubyGems 4.0.16 and Bundler 4.0.16 - #9682
Merged
Merged
Conversation
hsbt
commented
Jul 10, 2026
Member
- Reuse RubyGems' vendored tsort in Bundler #9647
- Point Bundler gemspec metadata at the moved docs #9648
- Pin rdoc below 8 on JRuby in install CI #9656
- bundler: Fix Bundler::Fetcher for PQC support, adding integration connection tests #9637
- Fix the gemspec error snippet on Windows drive-letter paths #9668
- Preserve CRLF lockfile line endings on Windows #9669
- Initialize the new gem's git repo without a subshell #9670
- Skip the make job server when using BSD make #9676
- Disable git background maintenance in bundler specs #9681
Contributor
There was a problem hiding this comment.
Pull request overview
Prepares the RubyGems/Bundler 4.0.16 release by bumping versions and lockfiles, updating changelogs, and forward-porting multiple fixes across Bundler, RubyGems tests, and CI (Windows path/CRLF correctness, PQC SSL client cert support, BSD make jobserver handling, and spec harness stability).
Changes:
- Bump RubyGems/Bundler versions to 4.0.16 and refresh associated lockfiles/fixtures/changelogs.
- Deduplicate Bundler’s
tsortvendor usage to RubyGems’Gem::TSort, and extend SSL client cert handling to support non-RSA keys (PQC). - Adjust CI/spec harness for newer tooling (JRuby rdoc pin, Git maintenance disablement), plus platform fixes (Windows, BSD make).
Reviewed changes
Copilot reviewed 26 out of 35 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tool/bundler/vendor_gems.rb.lock | Update Bundler lock “BUNDLED WITH” to 4.0.16. |
| tool/bundler/test_gems.rb.lock | Update Bundler lock “BUNDLED WITH” to 4.0.16. |
| tool/bundler/standard_gems.rb.lock | Update Bundler lock “BUNDLED WITH” to 4.0.16. |
| tool/bundler/rubocop_gems.rb.lock | Update Bundler lock “BUNDLED WITH” to 4.0.16. |
| tool/bundler/release_gems.rb.lock | Update Bundler lock “BUNDLED WITH” to 4.0.16. |
| tool/bundler/lint_gems.rb.lock | Update Bundler lock “BUNDLED WITH” to 4.0.16. |
| tool/bundler/dev_gems.rb.lock | Update Bundler lock “BUNDLED WITH” to 4.0.16. |
| tool/automatiek/vendor.rb | Remove Bundler’s vendored tsort from Automatiek vendored gem list. |
| test/rubygems/test_gem_remote_fetcher_local_ssl_server.rb | Refactor to shared SSL server utilities and update cert path usage; PQC skip logic delegates to utility helper. |
| test/rubygems/local_ssl_server_utilities.rb | New shared helper for local SSL server + PQC capability probing for both RubyGems (test-unit) and Bundler (rspec). |
| Manifest.txt | Remove Bundler’s vendored tsort files from manifest. |
| lib/rubygems.rb | Bump RubyGems version to 4.0.16. |
| CHANGELOG.md | Add RubyGems 4.0.16 entry. |
| bundler/spec/support/windows_tag_group.rb | Add new local SSL server fetcher spec to Windows tag grouping. |
| bundler/spec/support/path.rb | Add helper path accessor for test/rubygems to load shared test utilities from Bundler specs. |
| bundler/spec/support/artifice/helpers/artifice.rb | Fix Artifice activation/deactivation to reliably restore the original Gem::Net::HTTP. |
| bundler/spec/spec_helper.rb | Disable Git background maintenance in spec environment to reduce flakiness. |
| bundler/spec/runtime/setup_spec.rb | Remove Windows skip for gemspec LoadError snippet test. |
| bundler/spec/realworld/fixtures/warbler/Gemfile.lock | Update fixture lock “BUNDLED WITH” to 4.0.16. |
| bundler/spec/realworld/fixtures/tapioca/Gemfile.lock | Update fixture lock “BUNDLED WITH” to 4.0.16. |
| bundler/spec/lock/lockfile_spec.rb | Enable Windows CRLF lockfile preservation spec; use binary read for line ending assertions. |
| bundler/spec/commands/newgem_spec.rb | Remove Windows skip for bundle gem git init path-with-spaces spec. |
| bundler/spec/bundler/installer/parallel_installer_spec.rb | Ensure Artifice is activated where needed and add coverage for BSD make jobserver behavior. |
| bundler/spec/bundler/fetcher/gem_remote_fetcher_local_ssl_server_spec.rb | New integration spec for local SSL server connections including PQC client cert auth. |
| bundler/spec/bundler/fetcher_spec.rb | Update expectations to match OpenSSL::PKey.read behavior for client cert key loading. |
| bundler/lib/bundler/version.rb | Bump Bundler version to 4.0.16. |
| bundler/lib/bundler/vendored_tsort.rb | Switch Bundler tsort shim to rubygems/vendored_tsort with stdlib fallback. |
| bundler/lib/bundler/spec_set.rb | Use Gem::TSort and rescue Gem::TSort::Cyclic to align with RubyGems vendor namespace. |
| bundler/lib/bundler/installer/parallel_installer.rb | Skip make jobserver when BSD make is in use (unless explicitly using gmake). |
| bundler/lib/bundler/fetcher.rb | Load SSL client key via OpenSSL::PKey.read to support non-RSA (e.g., PQC) keys. |
| bundler/lib/bundler/dsl.rb | Fix backtrace line number parsing to handle Windows drive-letter paths. |
| bundler/lib/bundler/definition.rb | Preserve CRLF lockfile endings on Windows by checking raw bytes on disk and converting after equality check. |
| bundler/lib/bundler/cli/gem.rb | Initialize git repo without invoking a shell (Windows-safe) by spawning git with argv. |
| bundler/CHANGELOG.md | Add Bundler 4.0.16 entry covering the included fixes/backports. |
| .github/workflows/install-rubygems.yml | Pin rdoc <8 on JRuby in install CI to avoid native-extension dependency issues. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| end | ||
|
|
||
| context "when bunder ssl ssl configuration is set" do | ||
| context "when bunder ssl configuration is set" do |
Comment on lines
+6
to
+8
| require "socket" | ||
| require "openssl" | ||
|
|
hsbt
force-pushed
the
release/4.0.16
branch
4 times, most recently
from
July 10, 2026 04:42
75eceaf to
1225ef0
Compare
Reuse RubyGems' vendored tsort in Bundler (cherry picked from commit 25bcc2c)
Pin rdoc below 8 on JRuby in install CI (cherry picked from commit e4d0134)
…n-tests bundler: Fix Bundler::Fetcher for PQC support, adding integration connection tests (cherry picked from commit 9bb130e)
Fix the gemspec error snippet on Windows drive-letter paths (cherry picked from commit 4781616)
Preserve CRLF lockfile line endings on Windows (cherry picked from commit 0d35496)
Initialize the new gem's git repo without a subshell (cherry picked from commit 3d3e02d)
Skip the make job server when using BSD make (cherry picked from commit 81c7eb5)
Disable git background maintenance in bundler specs (cherry picked from commit c452a34)
truffleruby-24.1.2 lacks the ruby_vm_at_exit C-API symbol that the rbs native extension pulled in by rdoc 8.0.0 requires, so the rdoc step fails with a symbol lookup error. Master already pins 34.0.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.