Skip to content

Releases: ruby/rbs

3.10.0

23 Dec 07:45
d95a129

Choose a tag to compare

Release note

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)
  • Merge pull request #2728 from ruby/cgi (#2747)
  • Merge pull request #2729 from ruby/rbs-assert (#2748)
  • Merge pull request #2749 from ruby/fix-test (#2750)
  • Backport RBS file updates (#2742)
  • Backport JSON PRs (#2740)
  • Merge pull request #2718 from ruby/ruby-4 (#2741)
  • [Backport] Move Pathname to core from stdlib (#2730)
  • Backport rdoc 6.16 (#2722)
  • Backport rdoc support (#2719)
  • Backport "Remove sig for IO#{ready?,nread}" (#2720)
  • Backport more pure C parsers (#2679)
  • Backport module name normalization (#2673)
  • Backport pure-C parser (#2671)
  • Fix test failure (#2672)

3.10.0.pre.2

23 Dec 07:29
408baff

Choose a tag to compare

3.10.0.pre.2 Pre-release
Pre-release

3.10.0.pre.1

23 Dec 07:29
a22fbf1

Choose a tag to compare

3.10.0.pre.1 Pre-release
Pre-release

3.9.5

08 Sep 13:01
ba2829a

Choose a tag to compare

Release note

Signature updates

  • Merge pull request #2655 from ruby/silence-string-deprecation (#2656)

Miscellaneous

  • Allows the use of a path list as RBS_SKIP_TESTS (#2641)
  • Suppress to GCC warning with multi-line comment (#2646)
  • Backport to 3.9 (#2487)
  • Use erb instead of set for load path testing (#2468)

3.9.4

15 May 07:45
8c362dc

Choose a tag to compare

Release note

Miscellaneous

  • Backport test/CI fixes to 3.9 (#2487)
  • Use erb instead of set for load path testing (#2468)

3.9.3

23 Dec 07:30
ee913ff

Choose a tag to compare

Release note

Miscellaneous

  • Use erb instead of set for load path testing (#2468)

3.9.2

31 Mar 04:10
525126f

Choose a tag to compare

Release note

Library changes

  • Change {} to { 0 } (#2354)

3.9.1

24 Mar 03:51
f8fabaa

Choose a tag to compare

Release note

Miscellaneous

  • did_you_mean is a default gem (#2348)
  • Skip loading ruby_memcheck (#2347)

3.9.0

18 Mar 04:18
40f127c

Choose a tag to compare

Release note

Miscellaneous

3.9.0.pre.2

14 Mar 04:54
113ea90

Choose a tag to compare

3.9.0.pre.2 Pre-release
Pre-release

Release note

Signature updates

  • Hash.new type (#2323)
  • Module#define_method (#2325)
  • Object#define_singleton_method (#2324)

Language updates

  • Fix define_method method block self type (#2325)