Welcome to another issue of the Newsletter!
September arrives with a subtle change in season and a clear shift in how typing tools fit into daily development. With RubyConf 2026 session recordings rolling out, discussions about language evolution and runtime capabilities are everywhere. On the Technology for Humans podcast, Charles Oliver Nutter explored the present and future of JRuby, highlighting how WebAssembly compilation now allows native C extensions such as RBS to run cleanly on the JVM without custom binary builds.
The standout milestone this month comes from the type checking layer itself. Soutaro Matsumoto released Steep 2.1.0, introducing an architectural upgrade that opens the running language server to external tools. Instead of launching fresh background daemons, the steep langserver process now binds a per project UNIX socket. Commands like steep check and steep query reuse the active server, and the new steep query diagnostics command provides cached diagnostics instantly. This design directly benefits coding agents and automated tools that modify files on disk and need immediate feedback without re running full validation passes. Steep 2.1 also adds support for the Ruby 3.4 it block parameter and adopts RBS 4.2.0.
Core signature infrastructure took an equally substantial leap with the arrival of RBS 4.2.0 from the Ruby team. The headline feature is support for non ASCII identifiers across any script, meaning method names, instance variables, and parameter signatures can now be authored naturally in languages other than English. The release also adds parser support for forwarding parameters (...), refines standard library definitions for IO, ERB, and StringIO by replacing untyped returns with concrete types, and formally requires Ruby 3.3 or higher. A preview release, RBS 4.2.1.pre.1, followed shortly after to bring clearer gem provenance reporting to rbs collection.
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!
|
Developer environments and editor extensions are moving in parallel. TERUZvxght updated OvalLSP, blending a core semantic engine and VS Code extension with a dedicated Rails runtime agent for deeper context during editing. For developers on Ruby LSP, tk0miya pushed fresh improvements to ruby-lsp-rbs_rails and ruby-lsp-rbs-inline, making inline annotations and Rails model associations much easier to navigate. Meanwhile, ybiquitous keeps Emacs users well equipped through continuous updates to rbs-mode, and felixefelip continues refining rbs_infer to deduce signatures straight from existing Ruby source code.
Across the Sorbet landscape, regular Sorbet releases continue delivering compiler optimizations, while companion projects expand into specialized problem spaces. ilkecan introduced schema_org-rb, generating Schema.org type descriptors with complete RBS signatures and JSON LD validation. For API builders, thatch-health maintains grape_sorbet to bridge Grape endpoints with Shopify Tapioca compilers. On the experimental front, reuben-sutton shared typey to explore lightweight Sorbet compatible checking, and olivierbellone published r, bringing typed Result structures inspired by Rust for railway oriented programming.
Whether through UNIX socket sharing for AI agents, broader international identifier support, or tighter editor agents, static typing in Ruby is steadily becoming faster, more responsive, and more natural to use.
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,