Ruby Weekly
Plus RubyLLM 2.0 arrives, 37signals' new sandbox for untrusted uploads, and DHH's 'pencils down' keynote.

#​818 — September 24, 2026

Read on the Web

🤔 DHH opened Rails World yesterday with a keynote that may have implications for Rubyists. I know readers like and loathe DHH in equal measure, so my writeup is at the end of this issue to either read or skip as you prefer.

Together with  Cedarcode

Ruby Weekly

Benchmarking Compiled-Away Rails on Three Rubies — Roundhouse can compile (some!) Rails apps to simpler Spinel-compatible Ruby. But how does "Rails-free" Ruby fare on CRuby, JRuby and TruffleRuby? In Sam's tests, 3-17x faster than Rails, though TruffleRuby, the fastest at running stock Rails, gains least.

Sam Ruby

💡 Want to try for yourself? Roundhouse has been released, with Matz 𝕏 showing at Euruko he used it to compile Campfire to run on Spinel using 12x less memory. Bear in mind Roundhouse is still experimental and doesn't support every Rails feature.

Your Rails Startup Is Growing Faster Than Your Team — Cedarcode adds senior Ruby/Rails engineers who learn your product, figure out what needs to happen next, and stick with problems until they're solved. More capacity as you scale, without more management overhead.

Cedarcode sponsor

RubyLLM 2.0: A Big Upgrade for the Popular AI Framework — Its biggest release yet adds video and speech generation, human approval for tools, and caching, fallbacks and batches across providers. The agentic loop is also now exposed as steps you can drive yourself.

Carmine Paolino et al.

⚡️ IN BRIEF:

  • Ruby 3.4.11 is a routine bugfix release, fixing a stack corruption bug that could be triggered by methods with over 31 keyword args. A fix for Ruby 4.0 is still forthcoming.

  • JRuby 10.1.2.0 brings many fiber scheduler fixes and faster subclassing of Java classes. It and JRuby 10.0.7.0 both fix a startup speed issue on macOS.

  • Of 200+ vulnerability reports sent to Ruby this year, over 98% were "AI slop or unverified", 𝕏 says Hiroshi Shibata, with only four becoming CVEs.

Rails 8.1.4 Released — A hefty bug-fix release (all listed here), most notably stopping update_all and delete_all from ignoring having clauses.

Rafael Franca

Support Local Variables — A paper (PDF) from the ZJIT team – to be presented at VMIL 2026 next month – on the Ruby features that make local variables hard to compile, and how CRuby's new JIT optimizes them aggressively.

Bernstein, Kokubun, Patterson, Wu and Menard

Rails Hyperdrive: Supercharged Agentic Development for Rails — A dev-only Rails engine giving coding agents MCP tools to query your running app, plus skills from your gems, matched to your bundle.

Albert Pazderin (Evil Martians)

Rails World Week: One Gem for Errors, N+1s, Sidekiq and Logs — APM built for Ruby and Rails. Every feature on every plan, unlimited users, one bill. 30-day trial, no card.

AppSignal sponsor

📄 Herb on Rails – Auditing an app's views with Herb, now that it's directly supported in edge Rails. Juan Vasquez (FastRuby.io)

📄 Building a Web Crawler in Ruby with Vessel 0.3 – A walkthrough of Ruby's Scrapy-like framework. Josef Strzibny

📺 The Design and Implementation of ZJIT, and the Next Five Years Max Bernstein

🛠 Code & Tools

Amazing Print 3.0: Pretty Print Your Ruby Objects with Style — A fork of the long-fallow AwesomePrint that continues to get updates. v3.0 adds Ruby 4.0 support, more options, and updates dependencies.

AmazingPrint

🚨 Rails 7.2 is EOL, 8.0 Support Ends Nov 7. Is Your App Ready? — "FastRuby.io upgraded our app to Rails 8.1 on time and on budget." 🤖 AI + our senior team, fixed monthly fee.

Bonsai by FastRuby.io® sponsor

HotCell: Securely Run Untrusted Code on Untrusted Inputs — A "still pre-release" way to hand untrusted input processing work (e.g. processing user uploaded files) off to a separate process in a container for improved security and to reduce the potential for fallout from things like Active Storage's recent vulnerability.

37signals

Suture 1.2: A Tool for Refactoring Legacy Code — Create ‘seams’ around code you want to refactor, record its inputs and outputs, then verify your rewrite against them and run both side by side. v1.2 is the first release in 8 years and adds Ruby 3.4 and 4.0 support.

Test Double

  • Gem in a Box 4.0 – Self-hosted gem server. Now serves the compact index Bundler prefers, and drops the long-sunset RubyGems proxy mode.

  • Extralite 3.1 – Fast, lightweight SQLite library. Now caches prepared statements for parameterized queries automatically.

  • Receipts 3.0 – Library to generate PDF receipts, invoices and statements. Now uses a pure-Ruby PDF generator instead of Prawn.

  • Rails Pulse 0.4 – Self-hosted performance dashboard for Rails (see what it looks like here). Now tracks exceptions too.

  • Magnus 0.9 – Write Ruby extensions in Rust. Now also works with the in-development Ruby 4.1.

📰 Classifieds

💎 Shipping Ruby code with AI agents? Undercover CI catches untested methods in your PRs before you merge. Coverage percentages won't.


At Rails World? Say hi to the AppSignal team in Austin. Demos, swag and honest answers about your monitoring bill.


🌍 New keys in config/locales? Localhero translates them on-brand in the same PR, consistent with your existing translations. Your team tweaks copy, not YAML.

The DHH Rails World 2026 Keynote

No stranger to controversy, DHH said his keynote might "ruffle a few feathers" and it certainly did, judging by the reaction on social media and this extensive Reddit thread.

No Rails news. The keynote, ▶️ which you can watch here, will leave anyone hoping for Rails news disappointed. In a departure from prior keynotes, he didn't cover any new core Rails developments, though this may not be a total surprise (his last commit to the Rails repo was in December 2025).

Pencils down? A key theme was 37signals' now almost total use of coding agents to build software, increasingly in non-Ruby languages like Rust (which HEY's backend is being rewritten in). He called the move away from hand coding "the biggest thing that has happened in the history of computing" and predicted this would quickly become the status quo.

Writing less code, more English. He replayed a clip from a 2005 talk where he was building a Rails app on stage, reflecting: "I was so excited about all the code I wasn't writing." His argument is agentic development takes Rails' idea of convention over configuration to its extreme, by describing what you want and, now, writing no code. He went further, declaring English "a better programming language than Ruby." 🫢

Where does that leave Rails? What little he said about Rails was mostly positive. While HEY is moving towards non-Ruby native apps, he said Rails remains "particularly well positioned" for the web, and that its conventions help agents write Rails apps well, as recent benchmarks suggest.

He closed with a call to remain optimistic about the changing nature of software development. Earlier, he'd said he had "retired from being a professional programmer", describing programmers' new role as "professional makers of things".

Initial reactions have been mixed:

  • In the YouTube comments, Stefan Lindbohm dryly noted: "This is the most confusing funeral I've ever experienced."
  • Olly Headey came away with mixed impressions, finding it fascinating, and mused: "I actually think this might be the last Rails World ever, at least in the traditional conference form."
  • Irina Nazarova of Evil Martians 𝕏 said the keynote left her "depressed", arguing "Ruby > English for describing the logic".
  • Hongli Lai, co-creator of Passenger, 𝕏 argued that developers are "in the business of delivering user value" and still have plenty to do in providing vision, design, philosophy and constraints.
  • Richard Worrall loved the keynote and, having been through "the existential dread phase already", 𝕏 said he was "ready to run through a damn wall."

I'm looking forward to seeing the rest of the Rails World talks, which may show off more of the technical Ruby and Rails-specific aspects the event is known for. Fingers crossed for an epic tenderlove closer!… 😅

Issue 817 #818