File: README.md

package info (click to toggle)
ruby-oauth2 2.0.17-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,608 kB
  • sloc: ruby: 5,441; javascript: 529; makefile: 4; sh: 4
file content (110 lines) | stat: -rw-r--r-- 5,971 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# History

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.

```ruby
gem "faraday", [">= 0.17.3", "< 3.0"]
```

# Ruby

We use the Github Action `ruby/setup-ruby@master` to install Ruby, and it has a matrix of
[supported versions](https://github.com/ruby/setup-ruby/blob/master/README.md#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:

* 2.9.0, Ruby >= 3.0
* 2.2.0, Ruby >= 2.6
* 1.10.0, Ruby >= 2.4
* 0.17.4, Ruby >= 1.9

❌ - 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 |