#​755 — June 19, 2025

Read on the Web

Together with  FastRuby.io

Ruby Weekly

As part of Gift Egwuenu's latest RubyGems monthly update post, some Ruby version and gem download stats from RubyGems.org were shared. Some insights:

  • 📈 RubyGems.org served 4.06 billion gems in May 2025, versus 2.87 billion in the same month last year.
  • Ruby 3.2 is the most deployed version for now.
  • The latest Ruby branch – 3.4 – has reached almost 10%
  • About 33% of users are using versions that have reached End-of-Life (EOL).
  • All Ruby 3.x releases total about 85%, all Ruby 2.x releases about 14%, and, thankfully, only about 0.2% for Ruby 1.9 or earlier.

Tech Debt Dragging You Down? See How This SaaS Company Overcame It — Too many security CVEs in production? Is your Rails app lagging due to tech debt? See how Bonsai delivered 2–5× performance gains, smoother upgrades, and enhanced security for our client, a leading SaaS company. Let’s reclaim your time! 🚀

🌳 Bonsai by FastRuby.io sponsor

PDF: Reworking Memory Management in CRuby — A paper presented at the ACM’s International Symposium on Memory Management this week that digs into CRuby’s multi-year refactoring of its garbage collection system so that more powerful GC options can be plugged in. It’s an accessible summary of what’s going on with memory management in Ruby if you’re happy to look under the hood.

Wang, Blackburn, Zhu and Valentine-House

IN BRIEF:

  • 🇹🇭 2025 isn't half finished yet, but if you want an event for your 2026 calendar, RubyConf Thailand is back in Bangkok next January.

  • OpalStimulus is an interesting new project to let you write Stimulus controllers in Ruby rather than JavaScript, leaning on the Opal Ruby to JavaScript transpiler.

  • Git 2.50.0 has been released and it's quite a significant release. GitHub also rounded up some of what's new.

GETting Conditionally - The Bare Basics — An interesting look at how HTTP caching really works, from the perspective of a Ruby developer. Julik walks through building a local ‘nano-CDN’ using Rack and shows how to properly use common HTTP caching headers.

Julik Tarkhanov

Win a Free Ticket to RailsConf (Enter to Win by 6/23) — This is the FINAL RailsConf. If you've ever wanted to attend, or you missed grabbing a ticket, this is your last chance!

Honeybadger sponsor

📄 Deploying Bugsink with Kamal for Error Tracking – Admittedly Bugsink is a Python-powered self-hosted error tracking system, but you can use it with Ruby apps as it’s Sentry SDK compatible. Stefan Wienert

📄 Weird Ruby: Anonymous Heredocs – How about heredocs that don’t need a name? Matz rejected the proposal but Bozhidar has a cute alternative. Bozhidar Batsov

📄 Authentication with Devise and CanCanCan in Rails 8 – How to set up Devise and CanCanCan in a modern Rails 8 app. James Hibbard

📄 A Deep Dive into Solid Queue for Ruby on Rails Hans-Jörg Schnedlitz

🛠 Code & Tools

BinData: A Declarative Way to Read/Write Binary Data — Rather than messing around with lots of unpack when dealing with data at the bit/byte level, this makes the process more declarative and Ruby-like (example).

Dion Mendel

Grape 2.4: Opinionated Framework for Creating REST-like APIs — Grape can run on Rack or be easily pulled into existing apps using Rails or Sinatra, say, and provides a neat DSL to build RESTful APIs.

Michael Bleigh

Why We Coach the System, Not Just the Team ⚙️ — People over processes, right? Focus on systems creating blockers, for behavioral changes that create lasting impact.

Test Double sponsor

AnnotateRb 4.16: Add Annotations to Your Rails Models and Route Files — A way to add comments summarizing the model schema or routes in your ActiveRecord models, fixture files, test, specs, and other places. This could also potentially help LLMs analyzing your code.

Andrew W. Lee

📰 Classifieds

📈 If your Rails team needs a little boost... SINAPTIA can augment your team with devs to help you increase your productivity. Test us! 


📱 Competitors scaling faster? Hire senior Ruby on Rails devs from Rubyroid Labs (Volvo’s choice) | CVs in 24h | Get your devs now.


📚 Level up your non-technical colleagues! Professor-led Rails & AI for beginners. Remote, with 1:1 support. Starts July 1st! firstdraft.com.

✂︎  Deep cuts from the queue

As it's a quieter week than usual, we went back to look through our (extensive!) queue of items which hadn't yet made it into the newsletter for one reason or another. Here are some of the things that jumped out at us:

  • Textbringer v10 (above) is the latest version of an Emacs-like text editor written in pure Ruby (and which you can extend using Ruby too). We first linked to it eight years ago and it's still under active development. Ruco is a similar project taking a more nano-esque approach.

  • At the recent Balkan Ruby event, Franz Fischbach and Stanislav Yasilev gave ▶️ a talk about CodeTracer, a new way to debug Ruby code with time travel. If you'd rather just see the code, it's here.

  • 📉 YouPlot is a Ruby-powered CLI tool to draw plots (graphs, histograms, scatter plots, etc.) at the terminal.

  • PicoRuby is a specialized, low-footprint Ruby implementation for use with single-chip microcontrollers.

  • A performance comparison of alternative regular expression engines you can use in Ruby apps.

  • I forgot to link this at the time, but a few years ago I wanted to see if you could write and distribute a Ruby gem from a GitHub Gist. It turns out you can. Sort of.