Skip to content

build(deps-dev): bump rbs from 4.0.3 to 4.2.0 - #1371

Open
dependabot[bot] wants to merge 3 commits into
mainfrom
dependabot/bundler/rbs-4.2.0
Open

build(deps-dev): bump rbs from 4.0.3 to 4.2.0#1371
dependabot[bot] wants to merge 3 commits into
mainfrom
dependabot/bundler/rbs-4.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bumps rbs from 4.0.3 to 4.2.0.

Release notes

Sourced from rbs's releases.

4.2.0

Release note

RBS 4.2 accepts non-ASCII characters in identifiers. Method names, instance variable names and parameter names can be written in any script, and other names may contain non-ASCII characters as long as they start with an ASCII letter, which is what tells a constant from a method name.

class Greeter
  @挨拶: String
def こんにちは: () -> String
end

The parser and the AST support Ruby-style ... forwarding parameters in method types, but the layers built on top of the parser do not yet. The syntax is disabled by default in 4.2 and is not enabled by the public RBS::Parser API, so it cannot be used in regular RBS signatures yet.

Ruby 3.2 reached EOL on 2026-04-01, and this release requires Ruby 3.3 or later. Applications on 3.2 stay on the 4.1 line.

Signature updates

Updated classes/modules/methods: ERB, ERB::DefMethod, IO, Monitor, MonitorMixin::ConditionVariable, Singleton, StringIO, Zlib::GzipFile, Zlib::GzipWriter

  • Replace deterministic untyped return types with concrete types (#2966)
  • Declare Singleton::SingletonInstanceMethods (#3037)

Language updates

  • Gate forwarding parameter syntax behind parser option (#3087)
  • Support non-ASCII identifiers (#3082)
  • Support forwarding parameters in method types (#3042)

Library changes

  • Drop runtime support for Ruby 3.2 (#3095)
  • Stop the lexer reading past the end of a byte_range (#3040)
  • Exclude CR from comment tokens to fix an off-by-one Location#end_line on CRLF files (#3069)
  • Handle the NULL parser in the WebAssembly shim (#3085)
  • Reject a byte position the lexer cannot start on (#3083)
  • Don't use Clang nullability qualifiers in strict ISO C mode (#3074)
  • Avoid eagerly inspecting call traces in type assertions (#3073)
  • Fix TypeParam.rename to substitute variables in bounds and default types (#3068)
  • Extract per-declaration type param alignment into entry-level align_params (#3070)
  • Align type params across declarations in module-self types and superclass validation (#3067)
  • Build the wasm module with -DNDEBUG (#3066)
  • Rename NODISCARD macro to RBS_NODISCARD (#3065)

Miscellaneous

  • Omit forwarding parameter tests on JRuby (#3092)
  • Skip JSON 2-only tests with JSON 3 (#3084)
  • Pin GitHub Actions to commit hashes (#3020)

... (truncated)

Changelog

Sourced from rbs's changelog.

4.2.0 (2026-08-23)

RBS 4.2 accepts non-ASCII characters in identifiers. Method names, instance variable names and parameter names can be written in any script, and other names may contain non-ASCII characters as long as they start with an ASCII letter, which is what tells a constant from a method name.

class Greeter
  @挨拶: String
def こんにちは: () -> String
end

The parser and the AST support Ruby-style ... forwarding parameters in method types, but the layers built on top of the parser do not yet. The syntax is disabled by default in 4.2 and is not enabled by the public RBS::Parser API, so it cannot be used in regular RBS signatures yet.

Ruby 3.2 reached EOL on 2026-04-01, and this release requires Ruby 3.3 or later. Applications on 3.2 stay on the 4.1 line.

Signature updates

Updated classes/modules/methods: ERB, ERB::DefMethod, IO, Monitor, MonitorMixin::ConditionVariable, Singleton, StringIO, Zlib::GzipFile, Zlib::GzipWriter

  • Replace deterministic untyped return types with concrete types (#2966)
  • Declare Singleton::SingletonInstanceMethods (#3037)

Language updates

  • Gate forwarding parameter syntax behind parser option (#3087)
  • Support non-ASCII identifiers (#3082)
  • Support forwarding parameters in method types (#3042)

Library changes

  • Drop runtime support for Ruby 3.2 (#3095)
  • Stop the lexer reading past the end of a byte_range (#3040)
  • Exclude CR from comment tokens to fix an off-by-one Location#end_line on CRLF files (#3069)
  • Handle the NULL parser in the WebAssembly shim (#3085)
  • Reject a byte position the lexer cannot start on (#3083)
  • Don't use Clang nullability qualifiers in strict ISO C mode (#3074)
  • Avoid eagerly inspecting call traces in type assertions (#3073)
  • Fix TypeParam.rename to substitute variables in bounds and default types (#3068)
  • Extract per-declaration type param alignment into entry-level align_params (#3070)
  • Align type params across declarations in module-self types and superclass validation (#3067)
  • Build the wasm module with -DNDEBUG (#3066)
  • Rename NODISCARD macro to RBS_NODISCARD (#3065)

Miscellaneous

  • Omit forwarding parameter tests on JRuby (#3092)
  • Skip JSON 2-only tests with JSON 3 (#3084)
  • Pin GitHub Actions to commit hashes (#3020)

... (truncated)

Commits
  • 8aee3b6 Merge pull request #3096 from ruby/claude/4-2-release-tasks-h6thzx
  • 6f97c87 Version 4.2.0
  • 03d4281 Merge pull request #2966 from zonuexe/fix/concrete-untyped-returns
  • bdecacf Make putc signatures type-preserving overloads
  • 69539d6 Replace deterministic untyped return types with concrete types
  • c9957e4 Merge pull request #3037 from infiton/rxc/declare-singleton-instance-methods
  • 1f40487 Merge pull request #3095 from ruby/claude/4-2-release-tasks-h6thzx
  • e721ad1 Drop runtime support for Ruby 3.2
  • 584b4cf Merge pull request #3092 from ruby/claude/rbs-ci-failure-sinnfd
  • e709673 Merge pull request #3090 from ruby/claude/release-4-2-0-pre-1-vyzb7g
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [rbs](https://github.com/ruby/rbs) from 4.0.3 to 4.2.0.
- [Release notes](https://github.com/ruby/rbs/releases)
- [Changelog](https://github.com/ruby/rbs/blob/master/CHANGELOG.md)
- [Commits](ruby/rbs@v4.0.3...v4.2.0)

---
updated-dependencies:
- dependency-name: rbs
  dependency-version: 4.2.0
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Sep 1, 2026
@dependabot dependabot Bot added the ruby Pull requests that update Ruby code label Sep 1, 2026
github-actions Bot and others added 2 commits September 1, 2026 22:49
rbs 4.2 retypes Hash#[]/#fetch/Hash.new's block key param as `_Key`
(hash+eql? only) instead of `K`, breaking type checks wherever custom
interfaces (_Client, _Operation, SupportsFilteringAndAggregation) are
used as hash keys, since those interfaces don't declare hash/eql?.

- Bump steep to ~> 2.1.0 (fixes rbs 4.2's Hash#to_h `_Pair` block sig).
- Add `client`/`operation`/`filterableAndAggregatableType` aliases
  (interface & ::Object) and use them wherever these values flow into
  hash keys, since every real implementer is a Ruby object.
- Reassign-with-annotation inside `Hash.new { |h, key| ... }` blocks
  where the key param's type isn't tied to any generic.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant