Welcome to another issue of the Newsletter!
Summer is finally here, and today I have the smallest newsletter so far for you. Either it is the summer sun keeping everyone busy and away from contributing to static typing gems, or maybe it is AI. Perhaps AI just needs guidance rather than tools, as it is already using types just fine with what it has. Either way, the static Ruby world continues to mature with a balance of fresh experiments and steady refinements.
Let’s start with some inspiration from Caio Bianchi, who shares a thoughtful post on why Ruby still feels like home after fifteen years. From refinements and delegation to the performance gains of ZJIT in Ruby 4, Caio highlights a crucial modern benefit: Ruby’s dense syntax is incredibly token-efficient when prompting LLMs. But when we need strict security, typescope is pushing the envelope with Jo. Recently discussed on Reddit, Jo compiles to Ruby and Python, introducing compile-time sandboxing via capability control to secure AI-generated code.
Speaking of AI, clacky-ai has released OpenClacky 1.3.0, a full-featured AI agent written in Ruby. With a complete Web UI overhaul, video and TTS generation, and direct IM channel management, it raises the question of whether AI agents will help us write better typed code. In parallel, vicentereig released DSPy.rb 1.0.1, bringing structured LLM programming to Ruby. This latest release ensures ReAct signature descriptions carry user constraints directly into internal planning loops, keeping AI responses aligned.
PROMOTION
Level up your Ruby skills with Static Typing!
Master RBS and write more robust, maintainable, and error-free Ruby code. This course gives you practical, real-world techniques you can apply immediately to any Ruby project.
🚀 Start building smarter Ruby software today!
|
On the Sorbet side of the fence, corsonknowles updated sorbet-deadcode 0.2.0, adding history annotations, cascaded deletion, and custom configurations. Recent unreleased work also hardens type safety by preventing the automatic deletion of attribute setters to avoid runtime mass assignment issues. For Rails templates, franklinhu updated sorbet_erb 0.7.0 for typechecking ERB files, while the thatch-health team released grape_sorbet 0.1.3 to fix API superclass endpoint resolution. To round out the Sorbet updates, Verseth released ruby-enhance_module 0.2.0, updating Sorbet support for extending object instances.
Finally, tk0miya keeps the RBS ecosystem moving forward. This month brings updates to rubocop-rbs_inline 1.5.5, resolving false positives in parameters separation and missing type annotations, alongside rbs_activesupport 1.7.1 for generating Active Support signatures.
Thanks for reading, and see you next month. ✍️
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”
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,