RubyGems Navigation menu

Blog

Back to blog posts

December 2023 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 December.

RubyGems News

In December, we released the following version of RubyGems 3.5.0, 3.5.1, 3.5.2, 3.5.3 and Bundler 2.5.0, 2.5.1, 2.5.2, 2.5.3. These updates mark significant milestones in our continuous effort to enhance the Rubygems development experience.

With the yearly minor version release of RubyGems 3.5 and Bundler 2.5, we have dropped support for Ruby versions less than 3.0.0. This enables the usage of more modern features of the Ruby language; improving efficiency, performance and memory usage. It also reduces our test runtimes and removes the more error prone Ruby 2.6 and 2.7 tests. We spent time this month modernizing the codebase to take advantage of this change.

A major enhancement was made to the generate_index command. It now has the capability to create compact index files. This feature has been integrated into the externally available rubygems-generate_index gem (#7085). This advancement not only improves efficiency but also extends the command’s utility.

The gem install command also saw an important update. To better accommodate environments where permissions might be restricted, it now automatically uses the user’s installation directory when the default gem home is not writable (#5327).

Additionally, Bundler introduced the bundle config set version feature. This allows users to explicitly select the Bundler version they wish to use, adding a layer of customization. It also provides the option to override the lockfile version by setting it to system (#6817).

Some other improvements that landed into our repo this month that are NOT included in the above releases are:

  • an upgraded documentation process, now utilizing nronn for generation (#7227).
  • the use of Minitest::TestTask in a template file for minitest streamlining the testing process (#7234).
  • avoidance of some allocations when evaluating ruby Gemfile DSL (#7251).
  • better install advice when some gems are not found (#7265).
  • implementation of a fix for the bundler test on the Ruby package (#7298).
  • a call to makebundle lock always touch the lockfile (even when nothing changed) to improve Make-style compatibility (#7220).
  • improved RubyGems and Bundler CI detection (#7205).
  • streamed output from ext builds when --verbose (#7240).
  • allowing bundle pristine to run in parallel, resulting in a remarkable speed improvement (#6927).
  • ensuring gem install respects system umask (#7300).

In December, RubyGems gained 280 new commits contributed by 17 authors. There were 28,544 additions and 8,338 deletions across 761 files.

RubyGems.org News

December’s updates to RubyGems.org reflect a strong commitment to improving user experience, enhancing security, and modernizing the platform.

A significant upgrade made was the complete transition to Ruby 3.3, [#4320]. This update represents a major step in keeping the platform current with the latest Ruby advancements.

We also added improvements to the trusted publishing feature. Notably, the pending publisher link is now visible to everyone in the settings edit section (#4290). Additionally, we added integration of passkeys as a single factor of authentication, this marks a significant improvement in security of the platform (#4271).

Some other improvements that landed into our repo this month that are NOT included in the above releases are:

  • implementation of Deletion#version_id for better version association (#4273).
  • resolution to issues in creating Rubygem trusted publishers when GitHub actions exist (#4282).
  • an added /profile/me action that redirects logged-in users to their profile (#4291).
  • an update to Bundler 2.5.1 with the addition of CHECKSUMS (#4296).
  • addition of ruby/setup-ruby for switching RubyGems versions (#4298).

In December, RubyGems.org gained 54 new commits contributed by 7 authors. There were 4,096 additions and 510 deletions across 139 files.

Thank you

Thank you to all the contributors of RubyGems and RubyGems.org for this month! Your contributions are greatly appreciated, and we are grateful for your support.

Contributors to RubyGems:

Contributors to RubyGems.org:


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