Welcome to another issue of the Newsletter!
November is here and with it, a cascade of updates that continue to make the Ruby typing ecosystem sharper, lighter, and more integrated. 🔧
Let’s unpack what’s new.
You can find all the previous issues of the newsletter in my archive.
I’d really appreciate any feedback that could help improve the newsletter. Feel free to share your thoughts using this form.
Cheers,
First up, rbs-inline lands version 0.12.0. At first glance, it might look like a routine update, but it carries big news: maintainer Soutaro Matsumoto announced plans to move it directly into the RBS repository. That means this elegant inline annotation tool will soon be an official part of the RBS core gem. A quiet release, but a loud statement. 📦
Meanwhile, Andrey Eremin published a reflective essay, Static Typing: The Missing Ruby Tool. In it, he explores how typing can bring long-missing clarity and stability to Ruby applications, framing it not as a constraint but as a new superpower. Thought-provoking reading for anyone reconsidering Ruby’s relationship with types. 🧠
And in one of the most practical evolutions this year, the protobuf Ruby implementation is gaining native RBS type generation. That means automatic typing for message definitions without relying on external RBS collections. This brings Ruby’s integration with Protobuf to a new level of self-sufficiency. 🚀
PROMOTION
Start writing robust Ruby software with static typing!
My RBS course equips you with essential knowledge you can apply to any Ruby-based software.
|
Vicente Reig keeps pushing the typed Ruby + AI frontier forward. His new library exa-ruby takes inspiration from openai-ruby but adds Sorbet support for typed, reliable LLM workflows. It joins his earlier project DSPy.rb, which itself recently hit v0.30.1 - fusing Sorbet typing, ReAct loops, and non-blocking OpenTelemetry instrumentation into a cohesive, Ruby-native AI framework. 🤖
Speaking of AI conversations, Jake Zimmerman, who leads Sorbet development at Stripe, sat down with Joshua Goldberg for a Software Engineering Daily episode. They dug into the why and how of typing in Ruby, Sorbet’s architecture, and the balance between flexibility and rigor. A must-listen for anyone building at scale. 🎙️
In the tools department, rbs-validate is a neat newcomer—a simple Rake task that acts as a Steep decorator, validating all the signatures inside your /rbs folder with clarity and speed. 🧩
And if you prefer writing inline types over .rbs files, rbs-inline-annotator will make your day. It automatically converts your RBS signatures into inline rbs-inline comments, keeping code and types perfectly in sync. 🪄
The updates continue across the gem ecosystem:
- aasm_rbs → v0.3.1, now supports Ruby 3.2–3.4, refreshed dependencies, updated RBS signatures, and new CI configurations. 🧱
- ruby-shale-builder - an addon for the Shale gem—received updates to its Sorbet- and Tapioca-friendly builder DSL. Small gem, big ergonomics. 🧰
- vscode-sorbetto → v0.3.6 improves context tracking, fixes LSP diagnostic mismatches, and enhances multi-root project awareness - a thoughtful evolution of the Sorbet VS Code experience. 💻
- rails-on-sorbet → v0.4.0 introduces an
Map::Params alias, smoothing param typing in Rails. 🏗️
- sorbet-baml → v0.4.0, now lighter and leaner—stripped of unused files but still the same magic that turns
T::Struct and T::Enum into 60%-smaller BAML schemas. 🧮
- sorbetlight.vim debuts as a new light theme for Vim/NeoVim users, because type precision deserves visual calm. 🎨
- rubocop-sorbet → v0.11.0, adding new cops like
ForbidTSig, ForbidTHelpers, and ForbidTAnyWithNilClass, plus a style toggle (sig | rbs | both) for enforcing signature conventions. 👮
- spoom → v1.7.9, featuring a rewrite of type aliases, streamlining introspection, and improving performance. ⚙️
TL;DR
October marks a quiet but meaningful consolidation: rbs-inline joins RBS core, Protobuf gains self-typed definitions, and new gems: from rbs-validate to exa-ruby extend static typing into every corner of the Ruby universe. With maintainers like Vicente Reig, Soutaro Matsumoto, and Shopify’s Sorbet team driving this momentum, typed Ruby feels less like an experiment and more like a movement. 🌍
Your faithful static typing guy ✍️
Your essential Static Typing toolset
rbs
official Ruby Signature solution from the Ruby team
repo
rbs-inline
extension to rbs lets you write signatures in line with your code
repo
steep
type checker for the Ruby signatures
repo
sorbet
type signature and type checking solution designed by Stripe
repo
ruby-lsp
essential toolset and extension, which helps with Ruby development in the VS Code
repo
steep VS Code extension
steep integration with the IDE
repo
rbs syntax VS Code extension
ease the work with RBS signature files
repo
|
“Let's do TDD - type-driven development”