Ruby Weekly
Plus how Rails shares generated code, a closer look at last week's Active Storage bug, and RubyLLM gets sandboxed code execution.

#​826 — November 12, 2026

Read on the Web

Together with  AppSignal logo

Ruby Weekly

Metaprogramming on a Budget — A "peek behind the curtain of Rails' metaprogramming magic!" Active Record generates 21 methods for every column, which could eat a lot of memory, but a little define_method trick allows methods to share compiled instruction sequences…

Hartley McGuire (Rails at Scale)

💡 The follow-up Hartley mentions at the end has just been merged: Aaron Patterson's PR stores Active Record attributes in an array so reader methods can be shared by column position, with the reading of attributes getting up to 1.3x faster.

Leaving New Relic? No NRQL, No Regex, No API Calls Required — AppSignal skips the query language: tags filter in the UI, deploy markers work out of the box, and sensitive data is scrubbed with a simple denylist. Errors, N+1s, Sidekiq and logs in one Ruby gem. Unlimited users, 30-day trial.

AppSignal sponsor

What's New in RubyGems and Bundler 4.1 — RubyGems' maintainer wraps up a three-part tour of version 4.1, currently in beta. In this final part, Hiroshi focuses on gem install's improved efficiency, but if you want to go back, part 1 covers override (to rewrite version constraints) and prune (for cleaning up after installs), and part 2 focuses on supply chain defenses like cooldown.

Hiroshi Shibata

⚡️ IN BRIEF:

Releasing Gems with OIDC and GitHub Actions — Releasing a gem has always involved numerous steps and modern security concerns have added a few more… but automation can help. ruby-gem-release does it all from a GitHub Actions workflow, using Trusted Publishing so no RubyGems API key is needed.

Daniel Doubrovkine

Hand-Coding a Feature in a Ruby Gem — After a year off from technical blogging, Felipe comes back with a tale of adding a feature to his personal reading log gem and the benefits he got from not using AI.

Felipe Vogel

A Closer Look at the Critical Active Storage ImageMagick Issue — Greg reproduces the 9.8-rated bug fixed in last week's Rails releases by showing how crafted uploads can expose files like master.key in a vulnerable app using MiniMagick and local disk storage.

Greg Molnar

🚨 Rails 8.0 Support Has Ended. Get Your Upgrade on Autopilot — Join the beta to get access to our AI agent + a free 8.1 readiness check; get small green PRs you can review and merge.

FastRuby.io® | AI-native Rails Maintenance sponsor

📄 Drawing an SVG Sky Map with Ruby and Astronoby – Plot the sky for any date and place with a star catalogue and a little trigonometry. Rémy Hannequin

📄 Going All-In on Sorbet: Typing an Entire Rails App in Four Days Nathan Broadbent (DocSpring)

🤖 How Can You Be Responsible for Code You Don't Understand? David Bryant Copeland

📄 Writing Ruby Extensions in Odin Michael Kohl

🛠 Code & Tools

🤖 RubyLLM 2.2: Sandboxed Code Execution, Skills, and More — The AI framework now lets models run code they write in a sandbox (using Bubblewrap on Linux or macOS's native sandbox). Also new are skills, tools that can pause to ask questions, and four more providers. What's New in 2.2 has the full laundry list!

Carmine Paolino

Deleting Old Rows Shouldn’t Be Your Slowest Rake Task — TimescaleDB drops old data by the chunk, no bloat. Same Postgres, same ActiveRecord. $1000 credit on Tiger Cloud.

Tiger Data (creators of TimescaleDB) sponsor

Panko 1.0: The Fast JSON Serializer Drops Its C Extension — Panko made its name as a fast JSON serializer that shipped a C extension, but v1.0 goes for a pure Ruby engine that compiles each serializer into code YJIT can optimize (and it's now faster in most cases too). More on its design here.

Yosi Attias

protostar: Protocol Buffers in Pure Ruby — A "slightly unhinged" take on protobufs that compiles .proto files without protoc. It's slower than native and experimental, but passes protobuf's conformance suite.

Julik Tarkhanov

📢  Elsewhere in the ecosystem

  • A few months ago we linked to Rémi Mercier's project to create a Ruby-themed stained glass panel and it's now almost ready for sale. Along the way, he's been blogging about how it's coming together, including the design of its lighting stand.

  • 🎥 Paul Irish's chrome-capture records Chrome tabs directly to MP4 at 60+ FPS, including audio. Could be handy for recording app demos or reproducing bugs, and no ffmpeg is required.

  • 🤖 Chrome's Modern Web Guidance has reached 1.0, giving coding agents access to browser compatibility data, HTML, CSS and accessibility advice, and frontend best practices.

  • 🔎 Betterleaks, started by Gitleaks' original creator, is a Go-powered tool to scan Git repos for leaked secrets.

Issue 825 #826