Skip to content

Prepare RubyGems 4.0.16 and Bundler 4.0.16 - #9682

Merged
hsbt merged 13 commits into
4.0from
release/4.0.16
Jul 10, 2026
Merged

Prepare RubyGems 4.0.16 and Bundler 4.0.16#9682
hsbt merged 13 commits into
4.0from
release/4.0.16

Conversation

@hsbt

@hsbt hsbt commented Jul 10, 2026

Copy link
Copy Markdown
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

Copilot AI review requested due to automatic review settings July 10, 2026 02:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 tsort vendor 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
hsbt force-pushed the release/4.0.16 branch 4 times, most recently from 75eceaf to 1225ef0 Compare July 10, 2026 04:42
hsbt and others added 13 commits July 10, 2026 14:11
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>
@hsbt
hsbt force-pushed the release/4.0.16 branch from 1225ef0 to fc18079 Compare July 10, 2026 05:11
@hsbt
hsbt merged commit 11d36d8 into 4.0 Jul 10, 2026
89 checks passed
@hsbt
hsbt deleted the release/4.0.16 branch July 10, 2026 05:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants