3.10.0
RBS 3.10.0 ships with a pure C parser implementation, signature updates for Ruby 4.0, and various bug fixes.
Pure C parser implementation
The new parser implementation was announced at RubyKaigi 2025 and is finally shipped as a RubyGem!
The new parser is faster than the one in 3.9 and is portable — it is independent of the Ruby runtime and is used to implement Sorbet’s RBS support.
Type definition of bundled gems
The type definitions of cgi have been moved to gem_rbs_collection, as it has been migrated to a bundled gem in Ruby 4.0
cgi-escape has been added to stdlib. You may need to declare a dependency on cgi-escape in your manifest.yaml, add -r cgi-escape to your command line, or update your type checker configuration.
dependencies:
- name: cgi-escape
The type definitions for pathname have also been moved from stdlib to core, as it is now implemented as part of the core library.
Pull Requests
- [Backport] Support rdoc v7 (#2770)
- [Backport] Check tuple type length (#2766)
- Backport update to 4.0.0-preview3 (#2768)
- [Backport] Remove test code for bundled gems (#2762)
- Merge pull request #2761 from ruby/update-minitest (#2763)
- [Backport] Support BigDecimal v4 (#2759)
- Parser/lexer backports (#2756)
- Merge pull request #2753 from ruby/delete-printf (#2754)
- Backports (#2751)