RubyGems Navigation menu

Blog

Back to blog posts

January 2025 RubyGems Updates

Welcome to the RubyGems monthly update! As part of our efforts at Ruby Central, we publish a recap of the work that we’ve done the previous month. Read on to find out what updates were made to RubyGems and RubyGems.org in January.

Open Source Program Announcements

Our Security Engineer in Residence’s year in review

Samuel Giddins published a review of his 2024 work as Security Engineer in Residence at Ruby Central.  It was a busy year with the sigstore work as the centerpiece.  He finishes with an overview of what he’ll focus on in 2025.

RubyGems News

In January, we released RubyGems 3.6.3 and Bundler 2.6.3. These releases bring a series of enhancements and bug fixes designed to improve the overall developer experience with RubyGems. Notable improvements include adding the credentials file path to gem env, preventing fallback to evaluating YAML gemspecs as Ruby code, adding support for the Mise version manager file, and including Ruby 3.5 in Gemfile DSL platform values for better compatibility.

Some other important accomplishments from the team this month include:

Improvements to the Bundler documentation site

  • The end-of-year Bundler release required documentation updates, but the process was challenging due to warnings, outdated dependencies, and minor issues. Additionally, longstanding problems (such as poor SEO and broken links caused by recent structural changes in the rubygems/rubygems repository) needed attention.
  • To improve the site, we addressed build warnings, upgraded all dependencies, fixed broken links, and enhanced SEO to make the Bundler documentation easier to find and navigate.

Improved “multi-Ruby” lockfile support

  • In Bundler 2.6 we implemented several changes to allow the same lockfile to be used across different Ruby versions, however, a minor issue was reported related to this functionality.
  • To address this, we introduced an additional update to minimize lockfile changes when switching between Ruby versions, reducing unnecessary modifications and improving stability.

Bundler support for ARM architecture on Windows

  • Windows RubyInstaller2 added support for running Ruby on ARM architecture and we received a community contribution to enable Bundler compatibility. However, the existing Windows support code was somewhat cumbersome, making it difficult for the contributor to complete the implementation.
  • To resolve this, we reworked how platform: :windows is handled in the Gemfile, which was the primary blocker. We also refactored the logic to ensure that the :windows value can accommodate similar scenarios in the future.

RubyGems.org News

The updates made this month to RubyGems.org reflect a strong commitment to improving user experience, enhancing security, and modernizing the platform. Sponsored hosting for RubyGems.org in January was provided by AWS, Fastly and Datadog.

The following are highlights of what the team worked on this month:

Fixed endless 5xx responses leading to pages

  • Rails returned response headers exceeding Nginx’s 4KB limit, triggering an upstream sent too big header error and causing persistent 502 Bad Gateway responses. The issue stemmed from the Redirector middleware, which generated 301 redirects with excessively long Location headers, particularly for api.rubygems.org. Debugging was further complicated by a logging issue that hid these errors.
  • We fixed the logging pipeline to correctly capture errors and updated the middleware to prevent oversized headers. This fix was tested and verified in staging, successfully resolving the 502 errors.

Upgraded to Ruby 3.4.1

  • We upgraded RubyGems.org to Ruby 3.4.1 to ensure compatibility with the latest Ruby version and take advantage of performance improvements and security updates.

Removed the Forwarded and X-Forwarded-Host headers

  • We removed the Forwarded and X-Forwarded-Host headers to enhance security and mitigate the risk of header spoofing attacks.

Thank you

A huge thank you to all the contributors to RubyGems and RubyGems.org this month! We deeply appreciate your support and dedication.

Contributors to RubyGems:

Contributors to RubyGems.org:

If we missed you, please let us know so we can include you in our shout out!


Learn more about contributing to RubyGems by visiting the RubyGems Contributing Guide. We welcome all kinds of contributions, including bug fixes, feature implementation, writing and updating documentation, and bug triage.

Gift Egwuenu