Compatibility
RuboCop targets Ruby 2.0+ code analysis.[1]
RuboCop officially supports MRI (a.k.a. CRuby) and JRuby at runtime.
-
MRI 2.7+
-
JRuby 9.4+
The oldest supported JRuby version is derived from the oldest compatible MRI version.
| RuboCop might be working with other Ruby implementations as well, but it’s tested only on MRI and JRuby. |
Support Matrix
RuboCop generally aims to follow MRI’s own support policy - meaning RuboCop would support all officially supported MRI releases.[2] To give people extra time for a smooth transition, we’ve customarily provided support for about one year after EOL of a MRI version.[3]
The following table is the runtime support matrix.
| Supported runtime Ruby version | Last supported RuboCop version |
|---|---|
1.9 |
0.41 |
2.0 |
0.50 |
2.1 |
0.57 |
2.2 |
0.68 |
2.3 |
0.81 |
2.4 |
1.12 |
2.5 |
1.28 |
2.6 |
1.50 |
2.7 |
- |
3.0 |
- |
3.1 |
- |
3.2 |
- |
3.3 |
- |
3.4 |
- |
4.0 |
- |
4.1 (experimental) |
- |
The table above is about runtime support (which Ruby can run RuboCop itself). Code analysis support is broader — RuboCop can analyze code targeting Ruby 2.0+ regardless of the Ruby version it runs on. See TargetRubyVersion for details.
|
Parser engines
RuboCop supports two parser backends, configured via
ParserEngine:
Since RuboCop 1.75, parser_prism is used by default when TargetRubyVersion is 3.4 or higher.