Today November 2

Saeloun

Rails 8.2 Adds Fallback Reads for RAILS_MASTER_KEY

Rails main enables ActiveSupport::EncryptedFile to attempt decryption with comma-separated keys, including those supplied via RAILSMASTERKEY. While unreleased functionality planned for Rails 8.2, this allows fallback reads without yet introducing support for multi-key writes or full credentials editing.

Yesterday November 1

Drifting Ruby

Idempotency

This screencast explores several examples of background jobs and demonstrates how to refactor them to handle duplicate execution from user actions or retries, highlighting practical scenarios to prevent duplicate actions.

Saturday October 31

Ruby land was quiet today.

Friday October 30

Greg Molnar

SQL Injection in the Trilogy MySQL Adapter

A critical security advisory was published for Trilogy, the MySQL client used by GitHub and Rails. The SQL injection vulnerability in Trilogy#escape (GHSA-744p-w4gc-m3gh) carries a CVSS score of 9.3, affects all versions up to 2.13.1, and is fixed in version 2.13.2.

RubySec

Addressable: Denial of Service in URI Path Normalization

A security advisory for the addressable gem: Addressable::URI.normalize_path takes quadratic time when handling nested dot segments. Normalizing, comparing, or joining untrusted URIs can result in uncontrolled resource consumption and denial of service across all supported Ruby implementations.

Ruby on Rails

No Tricks, Just Treats

An official roundup of the week's changes to the Rails codebase, highlighting the latest updates, performance tweaks, and bug fixes merged into the framework. No tricks here, just treats for Rails developers.

Julik Tarkhanov

Batching the Billing Ledger (But with Less)

An exploration of minimalist software design for microbilling and LLM token counting workloads, inspired by Vicente Reig's article on ledger batching. A look at how much infrastructure is actually needed to handle high-frequency writes with fewer moving parts.

Thursday October 29

Rails Designer

Introducing Hanami Icons

A look at Hanami Icons, a wrapper around the core functionality extracted from Rails Icons into the icons Ruby gem. It brings the same interface to Hanami applications, letting you easily pull, normalize, and render SVGs from Heroicons, Lucide, Tabler, or custom local folders.

RubySec

SQL Injection Through Trilogy#escape with Multibyte Encodings

A security advisory reveals that Trilogy#escape produces unsafe output for strings in multibyte encodings like Shift_JIS and Big5, allowing potential SQL injection. Rails applications using the Trilogy MySQL adapter may be affected when escaping attacker-influenced strings.

Ruby Weekly

How Fast Can You Actually Patch Ruby?

In this issue of the Ruby Weekly newsletter, a look at how quickly recent CRuby security fixes reached version managers and Docker images. Plus, building custom images locally for deployment with Kamal, and other news from across the ecosystem.

code.dblock.org

One Tool for the (Spell Checking) Job

Instead of adding extra language runtimes and CI steps to check spelling, consider building plugins tailored to your existing stack. For a Jekyll site, that meant replacing a slow Python tool with a custom RuboCop plugin, turning spelling into another cop with unified configuration and CI integration.

Wednesday October 28

Ruby Central

OSS Changelog: October 2026

Ruby Central brings back its open source changelog detailing ongoing work across RubyGems.org and the Ruby packaging ecosystem. A recap of recent maintenance and infrastructure updates supporting the tools Rubyists rely on every day.

Island94

Bad Requests and the Dream of a Quiet Rails App

When a Rails app hits production on the public internet, it encounters a firehose of garbage requests from bots and vulnerability scanners. Here is a look at common bad request exceptions that clutter monitoring tools like Sentry, and strategies to quiet down that background noise.

Ruby on Rails Podcast

Background Batches with JP Camara

In this podcast episode, JP Camara discusses bringing background job batches to Solid Queue, allowing developers to coordinate complex workflows across groups of jobs. The conversation also explores Mission Control Jobs, implementation challenges with database transactions, and his work on YRBY.

RubyGems Blog

4.1.0.beta3 Released

An official release announcement: RubyGems and Bundler 4.1.0.beta3 bring several enhancements and bug fixes. Notable changes include installing Bundler 4.1.0.beta3 as a default gem, recording overrides in Gemfile.lock, and refining file lock handling and password prompts.

RubyGems Blog

Ruby Central's OSS Changelog: October 2026

In this official update from Ruby Central and RubyGems, the open source team relaunches their OSS Changelog. Covering operational work across RubyGems.org and the packaging ecosystem, this issue details service monitoring, incident handling, abuse mitigation, and ways to get involved.

Tuesday October 27

Rails Tech Debt

Making AI Agents Safe to Retry

Moving an AI agent's reasoning loop into a Sidekiq job is the easy part. Making it safe to retry and visible while it runs is what actually takes work; here is how to achieve both within a Rails application.

Monday October 26

October 25 2026

Sam Ruby

Benchmarking Campfire with Many Users

Simulating thousands of concurrent socket connections in Campfire revealed cache misses, unshared message fragments, and expensive cache key generation. A breakdown of three pull requests that cut Rails room page rendering from 46 ms to 11 ms, an Action Cable ordering bug, and tips for your own app.

Saeloun

Rails 8.2 Drops Marshal Message Fallback

Rails 8.2 sets config.activesupport.messageserializer to :json for applications using config.load_defaults 8.2. This change ceases acceptance of legacy Marshal payloads when reading messages through ActiveSupport::MessageVerifier and ActiveSupport::MessageEncryptor, potentially affecting older serialized tokens.

October 24 2026

October 23 2026

Sam Ruby

What the Campfire Benchmark Measures

Campfire now has eight implementations and a shared benchmark that checks every response and audits every write. A survey of how each implementation caches, why single-viewer benchmarks reward whole-page caching that a busy chat deployment rarely hits, and a proposal for what the benchmark should cover next.

Ruby News

Ruby 3.3.13 Released

An official security release for Ruby 3.3. This maintenance update addresses vulnerabilities by updating the default resolv gem to 0.3.2 to fix CVE-2026-80212 and CVE-2026-80213, while also incorporating Regexp compilation bug fixes tied to several GitLab CVEs.

Ruby News

Ruby 3.4.12 Released

An official release of Ruby 3.4.12 is out, addressing bug fixes in Regexp compilation associated with multiple GitLab CVE security advisories alongside several general bug fixes.

Ruby News

Ruby 4.0.9 Released

An official release announcement for Ruby 4.0.9. This maintenance release includes important Regexp compilation fixes addressing security issues related to several GitLab CVEs, including CVE-2026-110264.

Ruby on Rails

Safer Secrets, ZJIT, and More!

In this week's official Rails roundup, new applications stop falling back to Marshal for signed messages, local secret files are no longer world-readable, and SQLite column renaming gets an update, alongside other core framework changes.

Ruby Weekly

Ruby Regexp Security Fixes: A Newsflash

A special out-of-band issue of the Ruby Weekly newsletter covers urgent security releases for CRuby versions 4.0.9, 3.4.12, and 3.3.13. The updates address memory corruption vulnerabilities in the Onigmo regular expression engine affecting regex pattern compilation.

code.dblock.org

I Am Just One Engineer Armed with AI

A look at burning 1.2 billion AI tokens across ten days to open 295 pull requests and ship 30 releases across 49 repositories, including working through open-source backlogs like Mongoid, CI maintenance, library features, and application upgrades.

October 22 2026

Ruby News

Ruby 4.0.8 Released

An official release announcement for Ruby 4.0.8, bringing a routine update that includes bug fixes and stability improvements. Check the official release notes and GitHub repository for full details.

Ruby Weekly

How Rails Made Its Enums 4.5x Faster

This issue of the Ruby Weekly newsletter features the latest Rails Community Survey results showing strong monolith and Postgres adoption, an exploration into making Rails enums 4.5x faster, and building a custom static analyzer from scratch.

October 21 2026

Rails Tech Debt

Can You Remove DatabaseCleaner?

A look at whether your test suite still needs DatabaseCleaner. Explores its traditional use cases, the performance and simplicity gains from removing it in modern Rails applications, and a case study from a production app.

Ruby on Rails Podcast

Episode 557: Jessica Kerr and Avdi Grimm

In this podcast episode, Jessica Kerr and Avdi Grimm join David Hill to discuss the changing nature of software engineering in the age of AI. They explore developer identity, managing AI-generated code with reviewer agents, and maintaining human curiosity and satisfaction.

Rails at Scale

Rails Is a JIT Compiler

A deep dive into how Rails acts like a JIT compiler, exploring how Aaron Patterson improved ActiveRecord enum performance by dynamically generating specialized code at runtime.

code.dblock.org

Introducing RuboCop Spellcheck

An introduction to rubocop-spellcheck, a RuboCop plugin for spell checking Ruby comments, strings, identifiers, Markdown, RDoc, and plain text. Built on Kotoshu with a pure Ruby backend, it ships with an American English dictionary requiring no external system packages.

Julik Tarkhanov

Serving Your Packages with Paquette

Distributing commercial Ruby gems like geneva_drive presents unique challenges. Here is a look at Paquette, a custom-built engine designed to serve and distribute libraries privately, detailing how it works and why it was built.

October 20 2026

RubySec

PgHero: Insecure Direct Object Reference (IDOR)

A security advisory for PgHero reports that an authenticated user can kill connections and certain Postgres backend processes for other databases on the same instance if the database user has privileges to do so.

October 19 2026

Passenger

Passenger 7 Preview

Version 7 of the Passenger application server is now available in preview. This release introduces support for WebSockets with Apache httpd alongside parallel rolling restarts, allowing restarts to complete faster at the cost of increased memory usage.

Passenger

Passenger 6.2.1

Version 6.2.1 of the Passenger application server is out. This release updates minimum OS support requirements, adds packages for Ubuntu 26.10, improves error reporting, and enhances compatibility with SELinux and Ruby frozen strings.

Tenderlove

Static Analysis for the Uninitialized

A deep dive into using bipartite graphs to detect possibly uninitialized variables via static program analysis. After demonstrating the concept with a toy language, the technique is applied directly to Ruby code.

October 18 2026

The gems were resting today.

October 17 2026

Saeloun

Rails 8.2 Adds Relation#default_order

Rails 8.2 introduces default_order to Active Record relations, providing a fallback sort that applies only when a query has no explicit order. This eliminates the need to reach for reorder when chaining custom sort criteria onto a relation.

October 16 2026

Sam Ruby

Taking Flight

Roundhouse's Ruby output now runs under Falcon as well as Puma. On the Campfire benchmark, it beats Tobi Lütke's hand-written Ruby port on five of eight routes and ties on two more, with most gains coming from bypassing Rack on the hot path despite GVL hurdles.

October 15 2026

Mike Perham

Coming Soon: The 2027 Gem Fellowship

Following an inaugural round that funded eight projects, the Gem Fellowship returns with another $100,000 commitment to support Ruby open source maintainers. Companies and community members are invited to join as sponsors to provide crucial financial backing for vital Ruby infrastructure.

Ruby Weekly

Ruby 4.1's First Preview Is Here

The latest issue of the Ruby Weekly newsletter highlights the release of Ruby 4.1 Preview 1, featuring Module#descendants, Ractor-local GC, and YJIT on Windows. Other featured stories include Shopify running ZJIT in production to match YJIT speeds, alongside the latest community updates.

RubyGems Blog

RubyGems.org Now Shows Security Warnings for Gems

In an official announcement, RubyGems.org now displays security warnings directly on gem pages when a version is affected by known vulnerabilities. Advisories pull from sources like GitHub Advisory Database and Ruby Advisory Database, showing severity levels and summaries before you install.

code.dblock.org

AI Wants to Eat Your Project Backlog

A look at using AI coding agents to clear open-source backlogs across projects in the Mongoid organization. AI tools helped reproduce tricky bugs, write missing tests, and resolve a complex sharding issue in mongoid-locker that sat open since 2013.

October 14 2026

Ruby on Rails Podcast

Building What Matters with Tom Rossi

In this podcast episode recorded at Rails World, Buzzsprout co-founder Tom Rossi discusses AI, product thinking, and the evolving role of developers. Topics include using AI to maintain older Rails applications and shifting focus from pure coding toward deciding what is actually worth building.

RubyGems Blog

4.0.23 Released

An official release announcement for RubyGems and Bundler 4.0.23. This version updates vendored gems, drops setuid/setgid and sticky bits when extracting gems, improves Windows path handling, and resolves issues with lockfile handling and retrying 416 responses.

October 13 2026

The Bike Shed

510: Technical Debt Is Technically Risk

In this podcast episode, Joël and Aji ponder technical risk as a different lens on the idea of technical debt, exploring the perils inherent with introducing debt into a system and how to keep projects from blowing up.

October 12 2026

Island94

Adding Custom Thor Commands to Your Rails App

Thor offers better argument handling than Rake, and Rails uses it for built-in commands like bin/rails generate. While gems and engines easily auto-discover commands in lib/commands, Rails applications need a small tweak in config/boot.rb to unlock the same behavior.

RailsCarma

A CTO's Guide to LLM Integration with Rails

Large Language Models are transforming how businesses build software, automate operations, and deliver digital products. A guide examining how technical leaders can evaluate and integrate LLMs into existing Rails applications for features like intelligent customer support, document analysis, and workflow automation.

Sam Ruby

Whole Routes in a Box

Roundhouse's Futamura target leaves Rails applications intact while removing ahead-of-time work normally done on every request. For verified routes, requests skip Rails entirely: a plain-Ruby version answers directly inside the process in a Ruby::Box, running 2.3 to 4.7 times faster.

Rails Tech Debt

DHH, AI, and the Future of Rails

A reflection on DHH's Rails World keynote and panel discussion with Matz, examining disagreements regarding Rust and black-box code, alongside reasons to remain bullish on the future of Rails.

Andy Croll

Escape LIKE Wildcards With sanitize_sql_like

When adding a search box backed by a LIKE or ILIKE query, user input containing characters like % or can unintentionally alter the search pattern. Active Record's sanitizesql_like properly escapes these wildcards before wrapping queries in your own patterns.

Ruby News

Ruby 4.1.0-preview1 Released

The official release announcement for Ruby 4.1.0-preview1. This preview introduces Ruby Box and ZJIT, along with various language improvements, updates to Ractor, and bug fixes around refinements and module method aliases.

Julik Tarkhanov

Living in the Weimar Era of Ruby

Reflections on DHH's Rails World keynote and what it signals for the ecosystem. Even if prominent leaders seem jaded or lose interest in the framework, the community does not need to follow suit; stepping back simply creates room for others to build.

Aha! Engineering

Is the Tech Stack Irrelevant?

Reflections on David Heinemeier Hansson's opening keynote at Rails World, where he discussed building HEY and asked whether the tech stack is truly becoming irrelevant for modern development teams, offering perspective from an established Rails shop.

Ryan Bigg

Leaving Tech

Longtime Ruby author and gem maintainer Ryan Bigg reflects on the brutal state of the tech job market, the mental toll of widespread hiring rejections, and his decision to step away from tech after twenty years in software development.

October 11 2026

Sam Ruby

What a JIT Can't Know

Using the Lobsters benchmark created by Shopify's Rails at Scale team, an exploration into what Rails does on every request that an ahead-of-time compiler could resolve beforehand. While YJIT and ahead-of-time compilation remove different costs, much of the remaining overhead falls outside what a JIT can optimize.

October 10 2026

The gems were resting today.

October 9 2026

Sam Ruby

Many Keepers

Slides and speaker notes from Deccan Queen on Rails exploring the idea that Rails has been a fourth-generation language all along. While 4GLs historically struggled because their compilers cost too much, modern tooling has made them cheap, leaving its future to the keepers.

Ruby on Rails

Better ACL S3 Control and More

In this edition of This Week in Rails from the official Rails blog, explore the latest changes across the Rails codebase, including improved S3 ACL control in Active Storage alongside other recent fixes and enhancements.

Robby

The Keynote I Thought I Was Going to Give

A behind-the-scenes look at the backstory of the Rails World keynote, "The Most Valuable Engineer Isn't Shipping Features." Robby shares how an initial retreat to draft tangible codebase tactics for humans and AI agents evolved into an entirely different talk.

Rails at Scale

ZJIT Is Now as Fast as YJIT

Following infrastructure deployment updates, Shopify rolled out regions of its storefront renderer running on ZJIT. Early production benchmarks show promising numbers, with Ruby's experimental compiler now matching YJIT performance across real-world workloads.

October 8 2026

Saeloun

When Rails World Met Pune's Ruby Community

A recap of Deccan Queen on Rails in Pune, celebrating the intersection of local culture and the international Rails community. The event welcomed guests with traditional Maharashtrian hospitality, an all-women dhol-tasha pathak, and ceremonies bringing together developers from around the world.

RailsCarma

Generative AI Development with Rails

Generative AI is transforming how companies build digital products and automate workflows. Combining Generative AI with Rails provides a flexible foundation for integrating features like AI chatbots, content generation, intelligent document processing, and personalized recommendations into modern web applications.

RailsCarma

Generative AI Development with Rails

Generative AI is transforming how teams build digital products, automate workflows, and process information. An exploration of practical ways to integrate generative AI into applications, covering AI chatbots, content generation, and document processing using Rails as a flexible foundation.

RubyGems Blog

4.1.0.beta2 Released

An official release announcement for RubyGems and Bundler 4.1.0.beta2, introducing support for content-addressable gems in Gem::PackageTask, permissions cleanup when extracting gems, improved handling of invalid Windows paths, and breaking changes when building platform gems.

Ruby Weekly

Making a Case for Real Macros in Ruby

In this issue of the Ruby Weekly newsletter, highlights include warming up the Puma master before forking at Basecamp, DHH porting Campfire to Elixir and Rust, plus other notable articles and updates across the Ruby community.

October 7 2026

Ruby on Rails Podcast

Herb and ReactionView with Marco Roth

In this podcast episode recorded at Rails World, Marco Roth discusses Herb's integration into Rails 8.2, improved HTML+ERB tooling, and ReactionView. He explains how ReactionView brings fine-grained reactivity to Rails templates without needing to manually wire Turbo Frames, Turbo Streams, and Stimulus controllers.

Noteflakes

Unrolled Code

An exploration of the coding style in grubby, a minimal static site generator for git repositories written in Ruby. The project embraces a straightforward, unrolled approach using available tools without premature optimization.

October 6 2026

Sam Ruby

Keep the Gems

Tobi Lütke ported Campfire to Ruby without Rails and made it 15 to 27 times faster. A conversation about Roundhouse explores achieving similar speed by deterministically transpiling Rails to plain Ruby while preserving gem dependencies, how this approach fits Shopify-scale apps, and current progress.

The Bike Shed

Bringing Back Rails Generators with Rachel Wright-Munn

In this podcast episode recorded at Rails World, Rachael Wright-Munn discusses her project indexing global Ruby events, augmenting developer workflows using classic Rails generators instead of LLMs, and why AI might not always be the right solution for every problem.

October 5 2026

Tim Riley

Continuations 2026/40: Green on JRuby

A weekly update covering fixes for Hanami Minitest scheduled build failures caused by ongoing work on Hanami's reloading support, alongside efforts to get the test suite green on JRuby.

RubySec

Net::SSH: Pre-Auth Unbounded Banner/Identification Buffering DoS

A security advisory for net-ssh. Net::SSH::Transport::ServerVersion#read! appends received bytes without enforcing a maximum line length or byte cap. A malicious server sending a long identification line without a newline causes unbounded client memory growth pre-authentication, leading to a denial of service.

October 4 2026

Sam Ruby

Resolvers Have Types Too

A GraphQL schema is a typed contract that graphql-ruby enforces on incoming queries, but whether the Ruby backing each field honors that contract usually only surfaces at runtime. Roundhouse now checks this statically without booting the app, revealing type mismatches across different Rails applications.

Matijs

Make Capybara Use HTML5 with Rack::Test

When testing Rails applications with the Rack::Test driver, Capybara defaults to parsing HTML as HTML4. This can hide real-world markup issues such as nested form tags. You can ensure your test suite catches modern HTML5 parser quirks by setting Capybara.usehtml5parsing = true.

Sam Ruby

Generated Rails

An exploration into combining Hifumi, which turns a sentence into a Rails 8 app, with Roundhouse to compile Rails apps. A breakdown of what it takes to put them together, navigating Rails 8 authentication generator quirks, and where a compiler fits into Hifumi's pipeline.

Drifting Ruby

Short URLs

In this video episode, walk through a cool little project you can create and build upon: taking a full-length URL and squishing it down into a shortened link.

October 3 2026

Sam Ruby

The Browser Half

Two ports of 37signals' Campfire now exist: Roundhouse and a Rust rewrite. While both translated the server, neither touched the client-side JavaScript. Rust parsers like Oxc for JavaScript and Herb for ERB could change that, opening up new possibilities for analyzing and porting the frontend.