This document will become out-of-date quickly, but remains historically relevant until such time as this gem is released with support for non-EOL Ruby only.
faraday
v0.17.3 is the first version that stops using &Proc.new
for block forwarding,
and thus is the oldest version oauth2 is compatible with.
gem "faraday", [">= 0.17.3", "< 3.0"]
We use the Github Action ruby/setup-ruby@master
to install Ruby, and it has a matrix of
supported versions (copied below).
Interpreter | Versions |
---|---|
ruby |
1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 3.1.1, head, debug, mingw, mswin |
jruby |
9.1.17.0 - 9.3.3.0, head |
truffleruby |
19.3.0 - 22.0.0, head |
truffleruby+graalvm |
21.2.0 - 22.0.0, head |
In the naming of gemfiles, we will use the below shorthand for interpreter, and version. Platforms will be represented without modification.
Interpreter | Shorthand |
---|---|
ruby |
r |
jruby |
jr |
truffleruby |
tr |
truffleruby+graalvm |
trg |
Building onto that, we can add the MRI target spec, since thatβs what all Rubygems use for minimum version compatibility.
Interpreter + Version | MRI spec | Shorthand |
---|---|---|
ruby-1.9.3 | 1.9 | r1_9 |
ruby-2.0.0 | 2.0 | r2_0 |
ruby-2.1.9 | 2.1 | r2_1 |
ruby-2.2.x | 2.2 | r2_2 |
ruby-2.3.x | 2.3 | r2_3 |
ruby-2.4.x | 2.4 | r2_4 |
ruby-2.5.x | 2.5 | r2_5 |
ruby-2.6.x | 2.6 | r2_6 |
ruby-2.7.x | 2.7 | r2_7 |
ruby-3.0.x | 3.0 | r3_0 |
ruby-3.1.x | 3.1 | r3_1 |
ruby-head | 3.2 | rH3_2 |
ruby-mingw | (?) | rmin |
ruby-mswin | (?) | rMS |
jruby-9.1.x.x | 2.3 | jr9_1-r2_3 |
jruby-9.2.x.x | 2.5 | jr9_2-r2_5 |
jruby-9.3.x.x | 2.6 | jr9_3-r2_6 |
jruby-head | 2.7 | jrH-r2_7 |
truffleruby-19.3.x | 2.5(?) | tr19-r2_5 |
truffleruby-20.x.x | 2.6.5 | tr20-r2_6 |
truffleruby-21.x.x | 2.7.4 | tr21-r2_7 |
truffleruby-22.x.x | 3.0.2 | tr22-r3_0 |
truffleruby-head | 3.1(?) | trH-r3_1 |
truffleruby+graalvm-21.2.x | 2.7.4 | trg21-r2_7 |
truffleruby+graalvm-22.x.x | 3.0.2 | trg22-r3_0 |
truffleruby+graalvm-head | 3.1(?) | trgH-r3_1 |
We will run tests on as many of these as possible, in a matrix with each supported major version of faraday
,
which means 0.17.3+ (as f0
), 1.10.x (as f1
), 2.2.x (as f2
).
Discrete versions of faraday
to test against, as of 2025.05.14, with minimum version of Ruby for each:
β - Incompatible β - Official Support π§ - Unofficial Support π€‘ - Incidental Compatibility π - Unknown Compatibility
Shorthand | f0 - 0.17.3+ | f1 - 1.10.x | f2 - 2.2.x |
---|---|---|---|
r1_9 | π€‘ f0-r1_9 | β | β |
r2_0 | π€‘ f0-r2_0 | β | β |
r2_1 | π€‘ f0-r2_1 | β | β |
r2_2 | π€‘ f0-r2_2 | β | β |
r2_3 | π§ f0-r2_3 | β | β |
r2_4 | π§ f0-r2_4 | π§ f1-r2_4 | β |
r2_5 | π§ f0-r2_5 | π§ f1-r2_5 | β |
r2_6 | π§ f0-r2_6 | π§ f1-r2_6 | π§ f2-r2_6 |
r2_7 | β f0-r2_7 | β f1-r2_7 | β f2-r2_7 |
r3_0 | β f0-r3_0 | β f1-r3_0 | β f2-r3_0 |
r3_1 | β f0-r3_1 | β f1-r3_1 | β f2-r3_1 |
rH3_2 | π§ f0-rH3_2 | π§ f1-rH3_2 | π§ f2-rH3_2 |
rmin | π f0-rmin | π f1-rmin | π f2-rmin |
rMS | π f0-rMS | π f1-rMS | π f2-rMS |
jr9_1-r2_3 | π§ f0-jr9_1-r2_3 | β | β |
jr9_2-r2_5 | π§ f0-jr9_2-r2_5 | π§ f1-jr9_2-r2_5 | β |
jr9_3-r2_6 | β f0-jr9_3-r2_6 | β f1-jr9_3-r2_6 | β f2-jr9_3-r2_6 |
jrH-r2_7 | π§ f0-jrH-r2_7 | π§ f1-jrH-r2_7 | π§ f2-jrH-r2_7 |
tr19-r2_5 | π§ f0-tr19-r2_5 | π§ f1-tr19-r2_5 | β |
tr20-r2_6 | π§ f0-tr20-r2_6 | π§ f1-tr20-r2_6 | π§ f2-tr20-r2_6 |
tr21-r2_7 | β f0-tr21-r2_7 | β f1-tr21-r2_7 | β f2-tr21-r2_7 |
tr22-r3_0 | β f0-tr22-r3_0 | β f1-tr22-r3_0 | β f2-tr22-r3_0 |
trH-r3_1 | π§ f0-trH-r3_1 | π§ f1-trH-r3_1 | π§ f2-trH-r3_1 |
trg21-r2_7 | β f0-trg21-r2_7 | β f1-trg21-r2_7 | β f2-trg21-r2_7 |
trg22-r3_0 | β f0-trg22-r3_0 | β f1-trg22-r3_0 | β f2-trg22-r3_0 |
trgH-r3_1 | π§ f0-trgH-r3_1 | π§ f1-trgH-r3_1 | π§ f2-trgH-r3_1 |