Welcome to another issue of the Newsletter!
August is here, bringing the peak of summer and another lively round of developer debates over whether dynamically typed languages are pretty much dead. But as the Ruby ecosystem continues to show, the real answer is not a forced choice between unconstrained dynamism and rigid ceremony. It is about gradual tools that meet developers where they work. In her Brighton Ruby talk, Emily Samp captured this mindset perfectly in Beyond Type Checking, explaining how static analysis in Ruby is ultimately about improving editor navigation, refactoring confidence, and everyday developer happiness.
The official tooling layer continues to move forward at a steady pace. RBS 4.1.0 officially arrived, shipping with JRuby support by compiling its C parser to WebAssembly so that native AST parsing can run cleanly on the JVM. It also brought fresh inline RBS syntax enhancements, followed quickly by RBS 4.1.3 with portability fixes for Clang nullability qualifiers in ISO C mode and optimized call trace inspection.
At the same time, community builders are pushing the boundaries of type theory and signature generation. minamorl released spinel, exploring a semantic subtyping core for Ruby with set-theoretic types, negation, and BDD normalization. When it comes to everyday Rails performance in CI, AndyGauge published sentinel-rb, a high-speed RBS generator written in Rust. For codebase introspection, felixefelip continues refining rbs_infer to deduce RBS signatures straight from Ruby source code via static analysis.
Language servers and IDE integrations are also receiving dedicated attention. TERUZvxght introduced OvalLSP, a semantic Ruby language server pairing a core engine and VS Code extension with a Rails runtime agent for deeper context. On the Ruby LSP side, tk0miya released updates for both ruby-lsp-rbs_rails and ruby-lsp-rbs-inline, tightening editor feedback for inline annotations and Rails models.
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!
|
Over in the Sorbet ecosystem, regular Sorbet releases keep the engine snappy while companion gems expand its practical reach. franklinhu updated sorbet_erb to verify Ruby logic inside ERB templates. For API layers, thatch-health maintains grape_sorbet for Grape and Tapioca compilers, while maxveldink created sorbet-schema to handle serialization across T::Struct objects. On the LLM side, vicentereig continues refining dspy.rb with Sorbet runtime validations to make AI programs predictable.
Whether through WASM parsers, Rust generators, or smarter LSPs, static typing in Ruby keeps getting more practical and accessible.
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,