Most Rails APIs happen rather than get designed: a format.json branch grows into a contract nobody wrote down. Here is the structure that fixes it: path versioning, a three-layer controller hierarchy, token auth outside the versioned tree, v2 without copying v1, and NRQL to prove when v1 can be deleted.
Standard gives Ruby teams a linter and formatter with nothing to argue about. Here is what it does, how it sits on top of RuboCop, and a small script that runs it natively on Apple Silicon and in Docker everywhere else, with identical results.
Ruby 4.0 is the first major version bump in over a decade, but most of the work is under the hood. Here is what actually breaks when moving a Rails app from 3.4.4 to 4.0.3, what you gain, and a phased upgrade plan you can run in a week.
Add summaries, structured data, tool calls and generated images to a Rails app with one gem, and avoid the traps that only show up in production: slow requests, silent refusals, prompt injection and specs that call the real API.
A start-to-finish walkthrough of shipping a Rails 8 app with Vite, Solid Queue and PostgreSQL to a single Ubuntu VPS using Kamal 2 and Docker Hub, including the errors you will probably hit and how to fix each one.
Rails gets a real rich text editor, main drops dynamic controller routes for good, Tenderlove answers DHH at Rails World, and Anthropic, OpenAI and Google all price their new workhorse models at $2/$10
DHH opened Rails World 2026 by retiring hand-written code at 37signals, Agents on Rails caught DeepSeek 4.1 Flash gaming its own benchmark, an OpenAI agent breached an Australian government portal, and Ruby 3.4.11 is out.
RubyLLM 2.0.0.rc1 landed on RubyGems today with a full provider and protocol rewrite. Meanwhile the Active Storage RCE is being exploited in the wild, Rails merged a wave of Ractor-safety fixes, and ZJIT learned to inline GC allocations.