|
| 1 | +--- |
| 2 | +title: May 2025 RubyGems Updates |
| 3 | +layout: post |
| 4 | +author: Gift Egwuenu |
| 5 | +author_email: laurandidi21@gmail.com |
| 6 | +--- |
| 7 | + |
| 8 | +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 May. |
| 9 | + |
| 10 | +## RubyGems News |
| 11 | + |
| 12 | +In May, we released RubyGems [3.6.9](https://github.com/rubygems/rubygems/blob/master/CHANGELOG.md#369--2025-05-13) and Bundler [2.6.9](https://github.com/rubygems/rubygems/blob/master/bundler/CHANGELOG.md#269-may-13-2025). These releases bring a series of enhancements and bug fixes designed to improve the overall developer experience with RubyGems. |
| 13 | + |
| 14 | +Notable improvements include [fixing the `doctor` command’s parsing of `otool` output](https://github.com/rubygems/rubygems/pull/8665), [adding SSL troubleshooting to `bundle doctor`](https://github.com/rubygems/rubygems/pull/8624), [printing WebAuthn authentication links on a separate line for easier access](https://github.com/rubygems/rubygems/pull/8663), [adding an `mtime` argument to `Gem::Package::TarWriter#add_file`](https://github.com/rubygems/rubygems/pull/8673), and [removing the unnecessary `shellwords` autoload](https://github.com/rubygems/rubygems/pull/8644). |
| 15 | + |
| 16 | +We also made substantial progress on the upcoming **Bundler 4** release. We're planning to introduce an environment variable or CLI flag that lets users **opt in to upcoming functionality** and share feedback ahead of the final release. |
| 17 | + |
| 18 | +Another important accomplishment from the team this month include: |
| 19 | + |
| 20 | +**Improved Support for Precompiled Binaries** |
| 21 | + |
| 22 | +- This month, we laid foundational work toward bringing Python-style **wheels** to RubyGem, aimed at improving the overall experience of both **using and producing gems with native extensions**. |
| 23 | +- Following several rounds of community feedback, the focus has shifted toward a broader vision: combining **compatibility tags**, **sigstore attestations**, and **common platform build workflows** (with SLSA, trusted publishing, etc.) to streamline how precompiled gems are distributed and consumed. |
| 24 | +- We’re actively incorporating the feedback we've received and will be sharing **updated, concrete proposals** for these improvements soon. |
| 25 | + |
| 26 | +## RubyGems.org News |
| 27 | + |
| 28 | +The updates made this month to [RubyGems.org](http://rubygems.org/) reflect a strong commitment to improving user experience, enhancing security, and modernizing the platform. Sponsored hosting for [RubyGems.org](http://rubygems.org/) in May was provided by [AWS](https://aws.amazon.com/?ref=rubycentral.org), [Fastly](https://www.fastly.com/?ref=rubycentral.org) and [Datadog](https://www.datadoghq.com/?ref=rubycentral.org). |
| 29 | + |
| 30 | +[RubyGems.org](http://rubygems.org/) served **4.06 billion gems** in May 2025 — up from **2.87 billion** in May 2024. The busiest day was Wednesday, May 14th, with a record-breaking 193 million downloads, while the quietest was Saturday, May 31st, with 36 million. Star of the Month goes to [`gitlab-crystalbal](https://rubygems.org/gems/gitlab-crystalball/)l` (gem inspired by [Predicting Test Failures](https://tenderlovemaking.com/2015/02/13/predicting-test-failues.html#) post by top [RubyGems.org](http://rubygems.org/) maintainer [tenderlove](https://rubygems.org/profiles/tenderlove)), a new gem published on May 8th, already reaching 785,000 downloads in its debut month! |
| 31 | + |
| 32 | +**Ruby Usage Stats 2024-2025** |
| 33 | + |
| 34 | +Ruby version usage continues to trend steadily toward modern releases. In May 2025, Ruby 3.3 became the most widely used version, growing to 24.25%, while Ruby 3.4, released in December 2024, jumped to 9.3% adoption in just five months. Ruby 3.2 held stable at 33%, but its share may begin declining soon as newer versions take over. Meanwhile, Ruby 3.1, which reached end-of-life on March 31, 2025, dropped from 25.3% a year ago to 14.5%. Ruby 3.0, already EOL since April 2024, continues to decline (now 3.5%), and older Ruby 2.x versions are steadily fading as the ecosystem moves forward. |
| 35 | + |
| 36 | +*Note: These numbers represent all downloads in given month, not only downloads of Bundler gem as in previous month* |
| 37 | + |
| 38 | +The following are highlights of what the team worked on this month: |
| 39 | + |
| 40 | +**Experimental Namespacing Lands in Ruby Master** |
| 41 | + |
| 42 | +- A new **experimental namespacing** feature has been introduced in Ruby master, allowing the creation of **virtual top-level namespaces**. |
| 43 | +- This enables applications to `require` or `load` libraries in isolation from the global namespace—including `.rb` files and native extensions. Dependencies loaded within a namespace remain confined to it. |
| 44 | +- Namespacing helps avoid **name conflicts** between libraries that define the same modules or classes, and prevents **unintended sharing of global objects**. |
| 45 | +- The feature is fully compatible with libraries that use relative name resolution and opens the door for safer, more modular Ruby applications. |
| 46 | + |
| 47 | +## Thank you |
| 48 | + |
| 49 | +A huge thank you to all the contributors to RubyGems and [RubyGems.org](http://rubygems.org/) this month! We deeply appreciate your support and dedication. |
| 50 | + |
| 51 | +### Contributors to RubyGems: |
| 52 | + |
| 53 | +- [@deivid-rodriguez](https://github.com/deivid-rodriguez) David Rodríguez |
| 54 | +- [@duckinator](https://github.com/duckinator) Ellen Marie Dash |
| 55 | +- [@hsbt](https://github.com/hsbt) Hiroshi Shibata |
| 56 | +- [@jbampton](https://github.com/jbampton) John Bampton |
| 57 | +- [@larouxn](https://github.com/larouxn) Nicholas La Roux |
| 58 | +- [@martinemde](https://github.com/martinemde) Martin Emde |
| 59 | +- [@matthewhively](https://github.com/matthewhively) Matthew Hively |
| 60 | +- [@nobu](https://github.com/nobu) Nobuyoshi Nakada |
| 61 | +- [@ntkme](https://github.com/ntkme) なつき |
| 62 | +- [@ntl](https://github.com/ntl) Nathan Ladd |
| 63 | +- [@rwstauner](https://github.com/rwstauner) Randy Stauner |
| 64 | +- [@segiddins](https://github.com/segiddins) Samuel Giddins |
| 65 | +- [@simi](https://github.com/simi) Josef Šimánek |
| 66 | +- [@tangrufus](https://github.com/tangrufus) Tang Rufus |
| 67 | +- [@thatrobotdev](https://github.com/thatrobotdev) James Kerrane |
| 68 | +- [@unasuke](https://github.com/unasuke) Yusuke Nakamura |
| 69 | +- [@voxik](https://github.com/voxik) Vít Ondruch |
| 70 | +- [@antoinem](https://github.com/antoinem) Antoine Marguerie |
| 71 | +- [@woodruffw](https://github.com/woodruffw) William Woodruff |
| 72 | + |
| 73 | +### Contributors to [RubyGems.org](http://rubygems.org/): |
| 74 | + |
| 75 | +- [@colby-swandale](https://github.com/colby-swandale) Colby Swandale |
| 76 | +- [@hsbt](https://github.com/hsbt) Hiroshi Shibata |
| 77 | +- [@mghaught](https://github.com/mghaught) Marty Haught |
| 78 | +- [@segiddins](https://github.com/segiddins) Samuel Giddins |
| 79 | +- [@simi](https://github.com/simi) Josef Šimánek |
| 80 | + |
| 81 | +*If we missed you, please let us know so we can include you in our shout out!* |
| 82 | + |
| 83 | +--- |
| 84 | +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. |
0 commit comments