oauth2 1.4.9 → 2.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +706 -88
  4. data/CITATION.cff +20 -0
  5. data/CODE_OF_CONDUCT.md +24 -23
  6. data/CONTRIBUTING.md +229 -0
  7. data/FUNDING.md +77 -0
  8. data/{LICENSE → LICENSE.txt} +2 -2
  9. data/OIDC.md +158 -0
  10. data/README.md +1513 -251
  11. data/REEK +0 -0
  12. data/RUBOCOP.md +71 -0
  13. data/SECURITY.md +21 -0
  14. data/lib/oauth2/access_token.rb +276 -39
  15. data/lib/oauth2/authenticator.rb +45 -8
  16. data/lib/oauth2/client.rb +406 -129
  17. data/lib/oauth2/error.rb +59 -24
  18. data/lib/oauth2/filtered_attributes.rb +52 -0
  19. data/lib/oauth2/response.rb +127 -36
  20. data/lib/oauth2/strategy/assertion.rb +68 -40
  21. data/lib/oauth2/strategy/auth_code.rb +25 -4
  22. data/lib/oauth2/strategy/client_credentials.rb +3 -3
  23. data/lib/oauth2/strategy/implicit.rb +17 -2
  24. data/lib/oauth2/strategy/password.rb +14 -4
  25. data/lib/oauth2/version.rb +1 -59
  26. data/lib/oauth2.rb +79 -12
  27. data/sig/oauth2/access_token.rbs +25 -0
  28. data/sig/oauth2/authenticator.rbs +22 -0
  29. data/sig/oauth2/client.rbs +52 -0
  30. data/sig/oauth2/error.rbs +8 -0
  31. data/sig/oauth2/filtered_attributes.rbs +6 -0
  32. data/sig/oauth2/response.rbs +18 -0
  33. data/sig/oauth2/strategy.rbs +34 -0
  34. data/sig/oauth2/version.rbs +5 -0
  35. data/sig/oauth2.rbs +9 -0
  36. data.tar.gz.sig +0 -0
  37. metadata +336 -89
  38. metadata.gz.sig +0 -0
  39. data/lib/oauth2/mac_token.rb +0 -130
  40. data/spec/fixtures/README.md +0 -11
  41. data/spec/fixtures/RS256/jwtRS256.key +0 -51
  42. data/spec/fixtures/RS256/jwtRS256.key.pub +0 -14
  43. data/spec/helper.rb +0 -33
  44. data/spec/oauth2/access_token_spec.rb +0 -218
  45. data/spec/oauth2/authenticator_spec.rb +0 -86
  46. data/spec/oauth2/client_spec.rb +0 -556
  47. data/spec/oauth2/mac_token_spec.rb +0 -122
  48. data/spec/oauth2/response_spec.rb +0 -96
  49. data/spec/oauth2/strategy/assertion_spec.rb +0 -113
  50. data/spec/oauth2/strategy/auth_code_spec.rb +0 -108
  51. data/spec/oauth2/strategy/base_spec.rb +0 -7
  52. data/spec/oauth2/strategy/client_credentials_spec.rb +0 -71
  53. data/spec/oauth2/strategy/implicit_spec.rb +0 -28
  54. data/spec/oauth2/strategy/password_spec.rb +0 -58
  55. data/spec/oauth2/version_spec.rb +0 -23
data/CHANGELOG.md CHANGED
@@ -1,81 +1,560 @@
1
- # Change Log
1
+ # Changelog
2
+
3
+ [![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog]
4
+
2
5
  All notable changes to this project will be documented in this file.
3
6
 
4
- ## unreleased
7
+ The format is based on [Keep a Changelog][📗keep-changelog],
8
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
9
+ and [yes][📌major-versions-not-sacred], platform and engine support are part of the [public API][📌semver-breaking].
10
+ Please file a bug if you notice a violation of semantic versioning.
11
+
12
+ [📌semver]: https://semver.org/spec/v2.0.0.html
13
+ [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
14
+ [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
15
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
16
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
17
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
18
+
19
+ ## [Unreleased]
20
+
21
+ ### Added
22
+
23
+ ### Changed
24
+
25
+ ### Deprecated
26
+
27
+ ### Removed
28
+
29
+ ### Fixed
30
+
31
+ ### Security
32
+
33
+ ## [2.0.17] - 2025-09-15
34
+
35
+ - TAG: [v2.0.17][2.0.17t]
36
+ - COVERAGE: 100.00% -- 526/526 lines in 14 files
37
+ - BRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files
38
+ - 90.48% documented
39
+
40
+ ### Added
41
+
42
+ - [gh!682][gh!682] - AccessToken: support Hash-based verb-dependent token transmission mode (e.g., {get: :query, post: :header})
43
+
44
+ ## [2.0.16] - 2025-09-14
45
+
46
+ - TAG: [v2.0.16][2.0.16t]
47
+ - COVERAGE: 100.00% -- 520/520 lines in 14 files
48
+ - BRANCH COVERAGE: 100.00% -- 176/176 branches in 14 files
49
+ - 90.48% documented
50
+
51
+ ### Added
52
+
53
+ - [gh!680][gh!680] - E2E example using mock test server added in v2.0.11 by @pboling
54
+ - mock-oauth2-server upgraded to v2.3.0
55
+ - https://github.com/navikt/mock-oauth2-server
56
+ - `docker compose -f docker-compose-ssl.yml up -d --wait`
57
+ - `ruby examples/e2e.rb`
58
+ - `docker compose -f docker-compose-ssl.yml down`
59
+ - mock server readiness wait is 90s
60
+ - override via E2E_WAIT_TIMEOUT
61
+ - [gh!676][gh!676], [gh!679][gh!679] - Apache SkyWalking Eyes dependency license check by @pboling
62
+
63
+ ### Changed
64
+
65
+ - [gh!678][gh!678] - Many improvements to make CI more resilient (past/future proof) by @pboling
66
+ - [gh!681][gh!681] - Upgrade to kettle-dev v1.1.19
67
+
68
+ [gh!676]: https://github.com/ruby-oauth/oauth2/pull/676
69
+ [gh!678]: https://github.com/ruby-oauth/oauth2/pull/678
70
+ [gh!679]: https://github.com/ruby-oauth/oauth2/pull/679
71
+ [gh!680]: https://github.com/ruby-oauth/oauth2/pull/680
72
+ [gh!681]: https://github.com/ruby-oauth/oauth2/pull/681
73
+
74
+ ## [2.0.15] - 2025-09-08
75
+
76
+ - TAG: [v2.0.15][2.0.15t]
77
+ - COVERAGE: 100.00% -- 519/519 lines in 14 files
78
+ - BRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files
79
+ - 90.48% documented
80
+
81
+ ### Added
82
+
83
+ - [gh!671][gh!671] - Complete documentation example for Instagram by @pboling
84
+ - .env.local.example for contributor happiness
85
+ - note lack of builds for JRuby 9.2, 9.3 & Truffleruby 22.3, 23.0
86
+ - [actions/runner - issues/2347][GHA-continue-on-error-ui]
87
+ - [community/discussions/15452][GHA-allow-failure]
88
+ - [gh!670][gh!670] - AccessToken: verb-dependent token transmission mode by @mrj
89
+ - e.g., Instagram GET=:query, POST/DELETE=:header
90
+
91
+ ### Changed
92
+
93
+ - [gh!669][gh!669] - Upgrade to kettle-dev v1.1.9 by @pboling
94
+
95
+ ### Fixed
96
+
97
+ - Remove accidentally duplicated lines, and fix typos in CHANGELOG.md
98
+ - point badge to the correct workflow for Ruby 2.3 (caboose.yml)
99
+
100
+ [gh!669]: https://github.com/ruby-oauth/oauth2/pull/669
101
+ [gh!670]: https://github.com/ruby-oauth/oauth2/pull/670
102
+ [gh!671]: https://github.com/ruby-oauth/oauth2/pull/671
103
+ [GHA-continue-on-error-ui]: https://github.com/actions/runner/issues/2347
104
+ [GHA-allow-failure]: https://github.com/orgs/community/discussions/15452
105
+
106
+ ## [2.0.14] - 2025-08-31
107
+
108
+ - TAG: [v2.0.14][2.0.14t]
109
+ - COVERAGE: 100.00% -- 519/519 lines in 14 files
110
+ - BRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files
111
+ - 90.48% documented
112
+
113
+ ### Added
114
+
115
+ - improved documentation by @pboling
116
+ - [gh!665][gh!665] - Document Mutual TLS (mTLS) usage with example in README (connection_opts.ssl client_cert/client_key and auth_scheme: :tls_client_auth) by @pboling
117
+ - [gh!666][gh!666] - Document usage of flat query params using Faraday::FlatParamsEncoder, with example URI, in README by @pboling
118
+ - Spec: verify flat params are preserved with Faraday::FlatParamsEncoder (skips on Faraday without FlatParamsEncoder)
119
+ - [gh!662][gh!662] - documentation notes in code comments and README highlighting OAuth 2.1 differences, with references, by @pboling
120
+ - PKCE required for auth code,
121
+ - exact redirect URI match,
122
+ - implicit/password grants omitted,
123
+ - avoid bearer tokens in query,
124
+ - refresh token guidance for public clients,
125
+ - simplified client definitions
126
+ - [gh!663][gh!663] - document how to implement an OIDC client with this gem in OIDC.md by @pboling
127
+ - also, list libraries built on top of the oauth2 gem that implement OIDC
128
+ - [gh!664][gh!664] - README: Add example for JHipster UAA (Spring Cloud) password grant, converted from Postman/Net::HTTP by @pboling
129
+
130
+ [gh!662]: https://github.com/ruby-oauth/oauth2/pull/662
131
+ [gh!663]: https://github.com/ruby-oauth/oauth2/pull/663
132
+ [gh!664]: https://github.com/ruby-oauth/oauth2/pull/664
133
+ [gh!665]: https://github.com/ruby-oauth/oauth2/pull/665
134
+ [gh!666]: https://github.com/ruby-oauth/oauth2/pull/666
135
+
136
+ ## [2.0.13] - 2025-08-30
137
+
138
+ - TAG: [v2.0.13][2.0.13t]
139
+ - COVERAGE: 100.00% -- 519/519 lines in 14 files
140
+ - BRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files
141
+ - 90.48% documented
142
+
143
+ ### Added
144
+
145
+ - [gh!656][gh!656] - Support revocation with URL-encoded parameters
146
+ - [gh!660][gh!660] - Inline yard documentation by @pboling
147
+ - [gh!660][gh!660] - Complete RBS types documentation by @pboling
148
+ - [gh!660][gh!660]- (more) Comprehensive documentation / examples by @pboling
149
+ - [gh!657][gh!657] - Updated documentation for org-rename by @pboling
150
+ - More funding links by @Aboling0
151
+ - Documentation: Added docs/OIDC.md with OIDC 1.0 overview, example, and references
152
+
153
+ ### Changed
154
+
155
+ - Upgrade Code of Conduct to Contributor Covenant 2.1 by @pboling
156
+ - [gh!660][gh!660] - Shrink post-install message by 4 lines by @pboling
157
+
158
+ ### Fixed
159
+
160
+ - [gh!660][gh!660] - Links in README (including link to HEAD documentation) by @pboling
161
+
162
+ ### Security
163
+
164
+ [gh!660]: https://github.com/ruby-oauth/oauth2/pull/660
165
+ [gh!657]: https://github.com/ruby-oauth/oauth2/pull/657
166
+ [gh!656]: https://github.com/ruby-oauth/oauth2/pull/656
167
+
168
+ ## [2.0.12] - 2025-05-31
169
+
170
+ - TAG: [v2.0.12][2.0.12t]
171
+ - Line Coverage: 100.0% (520 / 520)
172
+ - Branch Coverage: 100.0% (174 / 174)
173
+ - 80.00% documented
174
+
175
+ ### Added
176
+
177
+ - [gh!652][gh!652] - Support IETF rfc7515 JSON Web Signature - JWS by @mridang
178
+ - Support JWT `kid` for key discovery and management
179
+ - More Documentation by @pboling
180
+ - Documented Serialization Extensions
181
+ - Added Gatzo.com FLOSS logo by @Aboling0, CC BY-SA 4.0
182
+ - Documentation site @ https://oauth2.galtzo.com now complete
183
+
184
+ ### Changed
185
+
186
+ - Updates to gemspec (email, funding url, post install message)
187
+
188
+ ### Fixed
189
+
190
+ - Documentation Typos by @pboling
191
+
192
+ [gh!652]: https://github.com/ruby-oauth/oauth2/pull/652
193
+
194
+ ## [2.0.11] - 2025-05-23
195
+
196
+ - TAG: [v2.0.11][2.0.11t]
197
+ - COVERAGE: 100.00% -- 518/518 lines in 14 files
198
+ - BRANCH COVERAGE: 100.00% -- 172/172 branches in 14 files
199
+ - 80.00% documented
200
+
201
+ ### Added
202
+
203
+ - [gh!651](https://github.com/ruby-oauth/oauth2/pull/651) - `:snaky_hash_klass` option (@pboling)
204
+ - More documentation
205
+ - Codeberg as ethical mirror (@pboling)
206
+ - https://codeberg.org/ruby-oauth/oauth2
207
+ - Don't check for cert if SKIP_GEM_SIGNING is set (@pboling)
208
+ - All runtime deps, including oauth-xx sibling gems, are now tested against HEAD (@pboling)
209
+ - All runtime deps, including ruby-oauth sibling gems, are now tested against HEAD (@pboling)
210
+ - YARD config, GFM compatible with relative file links (@pboling)
211
+ - Documentation site on GitHub Pages (@pboling)
212
+ - [oauth2.galtzo.com](https://oauth2.galtzo.com)
213
+ - [!649](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/649) - Test compatibility with all key minor versions of Hashie v0, v1, v2, v3, v4, v5, HEAD (@pboling)
214
+ - [gh!651](https://github.com/ruby-oauth/oauth2/pull/651) - Mock OAuth2 server for testing (@pboling)
215
+ - https://github.com/navikt/mock-oauth2-server
216
+
217
+ ### Changed
218
+
219
+ - [gh!651](https://github.com/ruby-oauth/oauth2/pull/651) - Upgraded to snaky_hash v2.0.3 (@pboling)
220
+ - Provides solution for serialization issues
221
+ - Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site (@pboling)
222
+
223
+ ### Fixed
224
+
225
+ - [gh!650](https://github.com/ruby-oauth/oauth2/pull/650) - Regression in return type of `OAuth2::Response#parsed` (@pboling)
226
+ - Incorrect documentation related to silencing warnings (@pboling)
227
+
228
+ ## [2.0.10] - 2025-05-17
229
+
230
+ - TAG: [v2.0.10][2.0.10t]
231
+ - COVERAGE: 100.00% -- 518/518 lines in 14 files
232
+ - BRANCH COVERAGE: 100.00% -- 170/170 branches in 14 files
233
+ - 79.05% documented
234
+
235
+ ### Added
236
+
237
+ - [gh!632](https://github.com/ruby-oauth/oauth2/pull/632) - Added `funding.yml` (@Aboling0)
238
+ - [!635](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/635) - Added `.gitlab-ci.yml` (@jessieay)
239
+ - [#638](https://gitlab.com/ruby-oauth/oauth2/-/issues/638) - Documentation of support for **ILO Fundamental Principles of Rights at Work** (@pboling)
240
+ - [!642](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/642) - 20-year certificate for signing gem releases, expires 2045-04-29 (@pboling)
241
+ - Gemspec metadata
242
+ - funding_uri
243
+ - news_uri
244
+ - mailing_list_uri
245
+ - SHA256 and SHA512 Checksums for release
246
+ - [!643](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/643) - Add `token_name` option (@pboling)
247
+ - Specify the parameter name that identifies the access token
248
+ - [!645](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/645) - Add `OAuth2::OAUTH_DEBUG` constant, based on `ENV["OAUTH_DEBUG"] (@pboling)
249
+ - [!646](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/646) - Add `OAuth2.config.silence_extra_tokens_warning`, default: false (@pboling)
250
+ - [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - Add IETF RFC 7009 Token Revocation compliant (@pboling)
251
+ - `OAuth2::Client#revoke_token`
252
+ - `OAuth2::AccessToken#revoke`
253
+ - See: https://datatracker.ietf.org/doc/html/rfc7009
254
+ - [gh!644](https://github.com/ruby-oauth/oauth2/pull/644), [gh!645](https://github.com/ruby-oauth/oauth2/pull/645) - Added CITATION.cff (@Aboling0)
255
+ - [!648](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/648) - Improved documentation (@pboling)
256
+
257
+ ### Changed
258
+
259
+ - Default value of `OAuth2.config.silence_extra_tokens_warning` was `false`, now `true` (@pboling)
260
+ - Gem releases are now cryptographically signed, with a 20-year cert (@pboling)
261
+ - Allow linux distros to build release without signing, as their package managers sign independently
262
+ - [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - `OAuth2::AccessToken#refresh` now supports block param pass through (@pboling)
263
+ - [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - `OAuth2.config` is no longer writable (@pboling)
264
+ - [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - Errors raised by `OAuth2::AccessToken` are now always `OAuth2::Error` and have better metadata (@pboling)
265
+
266
+ ### Fixed
267
+
268
+ - [#95](https://gitlab.com/ruby-oauth/oauth2/-/issues/95) - restoring an access token via `AccessToken#from_hash` (@pboling)
269
+ - This was a 13 year old bug report. 😘
270
+ - [#619](https://gitlab.com/ruby-oauth/oauth2/-/issues/619) - Internal options (like `snaky`, `raise_errors`, and `parse`) are no longer included in request (@pboling)
271
+ - [!633](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/633) - Spaces will now be encoded as `%20` instead of `+` (@nov.matake)
272
+ - [!634](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/634) - `CHANGELOG.md` documentation fix (@skuwa229)
273
+ - [!638](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/638) - fix `expired?` when `expires_in` is `0` (@disep)
274
+ - [!639](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/639) - Only instantiate `OAuth2::Error` if `raise_errors` option is `true` (@glytch2)
275
+ - [#639](https://gitlab.com/ruby-oauth/oauth2/-/issues/639) - `AccessToken#to_hash` is now serializable, just a regular Hash (@pboling)
276
+ - [!640](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/640) - `README.md` documentation fix (@martinezcoder)
277
+ - [!641](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/641) - Do not include sensitive information in the `inspect` (@manuelvanrijn)
278
+ - [#641](https://gitlab.com/ruby-oauth/oauth2/-/issues/641) - Made default JSON response parser more resilient (@pboling)
279
+ - [#645](https://gitlab.com/ruby-oauth/oauth2/-/issues/645) - Response no longer becomes a snaky hash (@pboling)
280
+ - [gh!646](https://github.com/ruby-oauth/oauth2/pull/646) - Change `require` to `require_relative` (improve performance) (@Aboling0)
281
+
282
+ ## [2.0.9] - 2022-09-16
283
+
284
+ - TAG: [v2.0.9][2.0.9t]
285
+
286
+ ### Added
287
+
288
+ - More specs (@pboling)
289
+
290
+ ### Changed
291
+
292
+ - Complete migration to main branch as default (@pboling)
293
+ - Complete migration to Gitlab, updating all links, and references in VCS-managed files (@pboling)
294
+
295
+ ## [2.0.8] - 2022-09-01
296
+
297
+ - TAG: [v2.0.8][2.0.8t]
298
+
299
+ ### Changed
300
+
301
+ - [!630](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/630) - Extract snaky_hash to external dependency (@pboling)
302
+
303
+ ### Added
304
+
305
+ - [!631](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/631) - New global configuration option OAuth2.config.silence_extra_tokens_warning (default: false) fixes [#628](https://gitlab.com/ruby-oauth/oauth2/-/issues/628)
306
+
307
+ ## [2.0.7] - 2022-08-22
308
+
309
+ - TAG: [v2.0.7][2.0.7t]
310
+
311
+ ### Added
312
+
313
+ - [!629](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/629) - Allow POST of JSON to get token (@pboling, @terracatta)
314
+
315
+ ### Fixed
316
+
317
+ - [!626](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/626) - Fixes a regression in 2.0.6. Will now prefer the key order from the lookup, not the hash keys (@rickselby)
318
+ - Note: This fixes compatibility with `omniauth-oauth2` and AWS
319
+ - [!625](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/625) - Fixes the printed version in the post install message (@hasghari)
320
+
321
+ ## [2.0.6] - 2022-07-13
322
+
323
+ - TAG: [v2.0.6][2.0.6t]
324
+
325
+ ### Fixed
326
+
327
+ - [!624](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/624) - Fixes a [regression](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/623) in v2.0.5, where an error would be raised in refresh_token flows due to (legitimate) lack of access_token (@pboling)
328
+
329
+ ## [2.0.5] - 2022-07-07
330
+
331
+ - TAG: [v2.0.5][2.0.5t]
332
+
333
+ ### Fixed
334
+
335
+ - [!620](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/620) - Documentation improvements, to help with upgrading (@swanson)
336
+ - [!621](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/621) - Fixed [#528](https://gitlab.com/ruby-oauth/oauth2/-/issues/528) and [#619](https://gitlab.com/ruby-oauth/oauth2/-/issues/619) (@pboling)
337
+ - All data in responses is now returned, with the access token removed and set as `token`
338
+ - `refresh_token` is no longer dropped
339
+ - **BREAKING**: Microsoft's `id_token` is no longer left as `access_token['id_token']`, but moved to the standard `access_token.token` that all other strategies use
340
+ - Remove `parse` and `snaky` from options so they don't get included in response
341
+ - There is now 100% test coverage, for lines _and_ branches, and it will stay that way.
342
+
343
+ ## [2.0.4] - 2022-07-01
344
+
345
+ - TAG: [v2.0.4][2.0.4t]
346
+
347
+ ### Fixed
348
+
349
+ - [!618](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/618) - In some scenarios the `snaky` option default value was not applied (@pboling)
350
+
351
+ ## [2.0.3] - 2022-06-28
352
+
353
+ - TAG: [v2.0.3][2.0.3t]
354
+
355
+ ### Added
356
+
357
+ - [!611](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/611) - Proper deprecation warnings for `extract_access_token` argument (@pboling)
358
+ - [!612](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/612) - Add `snaky: false` option to skip conversion to `OAuth2::SnakyHash` (default: true) (@pboling)
359
+
360
+ ### Fixed
361
+
362
+ - [!608](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/608) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@nbibler)
363
+ - [!615](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/615) - Fix support for requests with blocks, see `Faraday::Connection#run_request` (@pboling)
364
+
365
+ ## [2.0.2] - 2022-06-24
366
+
367
+ - TAG: [v2.0.2][2.0.2t]
368
+
369
+ ### Fixed
370
+
371
+ - [!604](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/604) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@stanhu)
372
+ - [!606](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/606) - Ruby 2.7 deprecation warning fix: Move `access_token_class` parameter into `Client` constructor (@stanhu)
373
+ - [!607](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/607) - CHANGELOG correction, reference to `OAuth2::ConnectionError` (@zavan)
374
+
375
+ ## [2.0.1] - 2022-06-22
376
+
377
+ - TAG: [v2.0.1][2.0.1t]
378
+
379
+ ### Added
380
+
381
+ - Documentation improvements (@pboling)
382
+ - Increased test coverage to 99% (@pboling)
383
+
384
+ ## [2.0.0] - 2022-06-21
385
+
386
+ - TAG: [v2.0.0][2.0.0t]
387
+
388
+ ### Added
389
+
390
+ - [!158](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/158), [!344](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/344) - Optionally pass raw response to parsers (@niels)
391
+ - [!190](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/190), [!332](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/332), [!334](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/334), [!335](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/335), [!360](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/360), [!426](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/426), [!427](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/427), [!461](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/461) - Documentation (@josephpage, @pboling, @meganemura, @joshRpowell, @elliotcm)
392
+ - [!220](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/220) - Support IETF rfc7523 JWT Bearer Tokens Draft 04+ (@jhmoore)
393
+ - [!298](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/298) - Set the response object on the access token on Client#get_token for debugging (@cpetschnig)
394
+ - [!305](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/305) - Option: `OAuth2::Client#get_token` - `:access_token_class` (`AccessToken`); user specified class to use for all calls to `get_token` (@styd)
395
+ - [!346](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/571) - Modern gem structure (@pboling)
396
+ - [!351](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/351) - Support Jruby 9k (@pboling)
397
+ - [!362](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/362) - Support SemVer release version scheme (@pboling)
398
+ - [!363](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/363) - New method `OAuth2::AccessToken#refresh!` same as old `refresh`, with backwards compatibility alias (@pboling)
399
+ - [!364](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/364) - Support `application/hal+json` format (@pboling)
400
+ - [!365](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/365) - Support `application/vnd.collection+json` format (@pboling)
401
+ - [!376](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/376) - _Documentation_: Example / Test for Google 2-legged JWT (@jhmoore)
402
+ - [!381](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/381) - Spec for extra header params on client credentials (@nikz)
403
+ - [!394](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/394) - Option: `OAuth2::AccessToken#initialize` - `:expires_latency` (`nil`); number of seconds by which AccessToken validity will be reduced to offset latency (@klippx)
404
+ - [!412](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/412) - Support `application/vdn.api+json` format (from jsonapi.org) (@david-christensen)
405
+ - [!413](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/413) - _Documentation_: License scan and report (@meganemura)
406
+ - [!442](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/442) - Option: `OAuth2::Client#initialize` - `:logger` (`::Logger.new($stdout)`) logger to use when OAUTH_DEBUG is enabled (for parity with `1-4-stable` branch) (@rthbound)
407
+ - [!494](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/494) - Support [OIDC 1.0 Private Key JWT](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication); based on the OAuth JWT assertion specification [(RFC 7523)](https://tools.ietf.org/html/rfc7523) (@SteveyblamWork)
408
+ - [!549](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/549) - Wrap `Faraday::ConnectionFailed` in `OAuth2::ConnectionError` (@nikkypx)
409
+ - [!550](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/550) - Raise error if location header not present when redirecting (@stanhu)
410
+ - [!552](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/552) - Add missing `version.rb` require (@ahorek)
411
+ - [!553](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/553) - Support `application/problem+json` format (@janz93)
412
+ - [!560](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/560) - Support IETF rfc6749, section 2.3.1 - don't set auth params when `nil` (@bouk)
413
+ - [!571](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/571) - Support Ruby 3.1 (@pboling)
414
+ - [!575](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/575) - Support IETF rfc7231, section 7.1.2 - relative location in redirect (@pboling)
415
+ - [!581](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/581) - _Documentation_: of breaking changes (@pboling)
416
+
417
+ ### Changed
418
+
419
+ - [!191](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/191) - **BREAKING**: Token is expired if `expired_at` time is `now` (@davestevens)
420
+ - [!312](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/312) - **BREAKING**: Set `:basic_auth` as default for `:auth_scheme` instead of `:request_body`. This was default behavior before 1.3.0. (@tetsuya, @wy193777)
421
+ - [!317](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/317) - _Dependency_: Upgrade `jwt` to 2.x.x (@travisofthenorth)
422
+ - [!338](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/338) - _Dependency_: Switch from `Rack::Utils.escape` to `CGI.escape` (@josephpage)
423
+ - [!339](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/339), [!368](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/368), [!424](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/424), [!479](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/479), [!493](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/493), [!539](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/539), [!542](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/542), [!553](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/553) - CI Updates, code coverage, linting, spelling, type fixes, New VERSION constant (@pboling, @josephpage, @ahorek)
424
+ - [!410](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/410) - **BREAKING**: Removed the ability to call .error from an OAuth2::Response object (@jhmoore)
425
+ - [!414](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/414) - Use Base64.strict_encode64 instead of custom internal logic (@meganemura)
426
+ - [!469](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/469) - **BREAKING**: Default value for option `OAuth2::Client` - `:authorize_url` removed leading slash to work with relative paths by default (`'oauth/authorize'`) (@ghost)
427
+ - [!469](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/469) - **BREAKING**: Default value for option `OAuth2::Client` - `:token_url` removed leading slash to work with relative paths by default (`'oauth/token'`) (@ghost)
428
+ - [!507](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/507), [!575](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/575) - **BREAKING**: Transform keys to snake case, always, by default (ultimately via `rash_alt` gem)
429
+ - Original keys will still work as previously, in most scenarios, thanks to `rash_alt` gem.
430
+ - However, this is a _breaking_ change if you rely on `response.parsed.to_h`, as the keys in the result will be snake case.
431
+ - As of version 2.0.4 you can turn key transformation off with the `snaky: false` option.
432
+ - [!576](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/576) - **BREAKING**: Stop rescuing parsing errors (@pboling)
433
+ - [!591](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/576) - _DEPRECATION_: `OAuth2::Client` - `:extract_access_token` option is deprecated
434
+
435
+ ### Fixed
436
+
437
+ - [!158](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/158), [!344](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/344) - Handling of errors when using `omniauth-facebook` (@niels)
438
+ - [!294](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/294) - Fix: "Unexpected middleware set" issue with Faraday when `OAUTH_DEBUG=true` (@spectator, @gafrom)
439
+ - [!300](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/300) - _Documentation_: `Oauth2::Error` - Error codes are strings, not symbols (@NobodysNightmare)
440
+ - [!318](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/318), [!326](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/326), [!343](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/343), [!347](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/347), [!397](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/397), [!464](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/464), [!561](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/561), [!565](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/565) - _Dependency_: Support all versions of `faraday` (see [gemfiles/README.md][gemfiles/readme] for compatibility matrix with Ruby engines & versions) (@pboling, @raimondasv, @zacharywelch, @Fudoshiki, @ryogift, @sj26, @jdelStrother)
441
+ - [!322](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/322), [!331](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/331), [!337](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/337), [!361](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/361), [!371](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/371), [!377](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/377), [!383](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/383), [!392](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/392), [!395](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/395), [!400](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/400), [!401](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/401), [!403](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/403), [!415](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/415), [!567](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/567) - Updated Rubocop, Rubocop plugins and improved code style (@pboling, @bquorning, @lautis, @spectator)
442
+ - [!328](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/328) - _Documentation_: Homepage URL is SSL (@amatsuda)
443
+ - [!339](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/339), [!479](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/479) - Update testing infrastructure for all supported Rubies (@pboling and @josephpage)
444
+ - [!366](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/366) - **Security**: Fix logging to `$stdout` of request and response bodies via Faraday's logger and `ENV["OAUTH_DEBUG"] == 'true'` (@pboling)
445
+ - [!380](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/380) - Fix: Stop attempting to encode non-encodable objects in `Oauth2::Error` (@jhmoore)
446
+ - [!399](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/399) - Fix: Stop duplicating `redirect_uri` in `get_token` (@markus)
447
+ - [!410](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/410) - Fix: `SystemStackError` caused by circular reference between Error and Response classes (@jhmoore)
448
+ - [!460](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/460) - Fix: Stop throwing errors when `raise_errors` is set to `false`; analog of [!524](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/524) for `1-4-stable` branch (@joaolrpaulo)
449
+ - [!472](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/472) - **Security**: Add checks to enforce `client_secret` is *never* passed in authorize_url query params for `implicit` and `auth_code` grant types (@dfockler)
450
+ - [!482](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/482) - _Documentation_: Update last of `intridea` links to `ruby-oauth` (@pboling)
451
+ - [!536](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/536) - **Security**: Compatibility with more (and recent) Ruby OpenSSL versions, Github Actions, Rubocop updated, analogous to [!535](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/535) on `1-4-stable` branch (@pboling)
452
+ - [!595](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/595) - Graceful handling of empty responses from `Client#get_token`, respecting `:raise_errors` config (@stanhu)
453
+ - [!596](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/596) - Consistency between `AccessToken#refresh` and `Client#get_token` named arguments (@stanhu)
454
+ - [!598](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/598) - Fix unparseable data not raised as error in `Client#get_token`, respecting `:raise_errors` config (@stanhu)
455
+
456
+ ### Removed
457
+
458
+ - [!341](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/341) - Remove Rdoc & Jeweler related files (@josephpage)
459
+ - [!342](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/342) - **BREAKING**: Dropped support for Ruby 1.8 (@josephpage)
460
+ - [!539](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/539) - Remove reliance on globally included OAuth2 in tests, analog of [!538](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/538) for 1-4-stable (@anderscarling)
461
+ - [!566](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/566) - _Dependency_: Removed `wwtd` (@bquorning)
462
+ - [!589](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/589), [!593](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/593) - Remove support for expired MAC token draft spec (@stanhu)
463
+ - [!590](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/590) - _Dependency_: Removed `multi_json` (@stanhu)
464
+
465
+ ## [1.4.11] - 2022-09-16
466
+
467
+ - TAG: [v1.4.11][1.4.11t]
468
+ - Complete migration to main branch as default (@pboling)
469
+ - Complete migration to Gitlab, updating all links, and references in VCS-managed files (@pboling)
470
+
471
+ ## [1.4.10] - 2022-07-01
472
+
473
+ - TAG: [v1.4.10][1.4.10t]
474
+ - FIPS Compatibility [!587](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/587) (@akostadinov)
5
475
 
6
476
  ## [1.4.9] - 2022-02-20
7
477
 
8
- - Fixes compatibility with Faraday v2 [572](https://github.com/oauth-xx/oauth2/issues/572)
478
+ - TAG: [v1.4.9][1.4.9t]
479
+ - Fixes compatibility with Faraday v2 [572](https://gitlab.com/ruby-oauth/oauth2/-/issues/572)
9
480
  - Includes supported versions of Faraday in test matrix:
10
- - Faraday ~> 2.2.0 with Ruby >= 2.6
11
- - Faraday ~> 1.10 with Ruby >= 2.4
12
- - Faraday ~> 0.17.3 with Ruby >= 1.9
481
+ - Faraday ~> 2.2.0 with Ruby >= 2.6
482
+ - Faraday ~> 1.10 with Ruby >= 2.4
483
+ - Faraday ~> 0.17.3 with Ruby >= 1.9
13
484
  - Add Windows and MacOS to test matrix
14
485
 
15
486
  ## [1.4.8] - 2022-02-18
16
487
 
488
+ - TAG: [v1.4.8][1.4.8t]
17
489
  - MFA is now required to push new gem versions (@pboling)
18
- - README overhaul w/ new Ruby Verion and Engine compatibility policies (@pboling)
19
- - [#569](https://github.com/oauth-xx/oauth2/pull/569) Backport fixes ([#561](https://github.com/oauth-xx/oauth2/pull/561) by @ryogift), and add more fixes, to allow faraday 1.x and 2.x (@jrochkind)
490
+ - README overhaul w/ new Ruby Version and Engine compatibility policies (@pboling)
491
+ - [!569](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/569) Backport fixes ([!561](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/561) by @ryogift), and add more fixes, to allow faraday 1.x and 2.x (@jrochkind)
20
492
  - Improve Code Coverage tracking (Coveralls, CodeCov, CodeClimate), and enable branch coverage (@pboling)
21
493
  - Add CodeQL, Security Policy, Funding info (@pboling)
22
494
  - Added Ruby 3.1, jruby, jruby-head, truffleruby, truffleruby-head to build matrix (@pboling)
23
- - [#543](https://github.com/oauth-xx/oauth2/pull/543) - Support for more modern Open SSL libraries (@pboling)
495
+ - [!543](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/543) - Support for more modern Open SSL libraries (@pboling)
24
496
 
25
497
  ## [1.4.7] - 2021-03-19
26
498
 
27
- - [#541](https://github.com/oauth-xx/oauth2/pull/541) - Backport fix to expires_at handling [#533](https://github.com/oauth-xx/oauth2/pull/533) to 1-4-stable branch. (@dobon)
499
+ - TAG: [v1.4.7][1.4.7t]
500
+ - [!541](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/541) - Backport fix to expires_at handling [!533](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/533) to 1-4-stable branch. (@dobon)
28
501
 
29
502
  ## [1.4.6] - 2021-03-19
30
503
 
31
- - [#540](https://github.com/oauth-xx/oauth2/pull/540) - Add VERSION constant (@pboling)
32
- - [#537](https://github.com/oauth-xx/oauth2/pull/537) - Fix crash in OAuth2::Client#get_token (@anderscarling)
33
- - [#538](https://github.com/oauth-xx/oauth2/pull/538) - Remove reliance on globally included OAuth2 in tests for version 1.4 (@anderscarling)
504
+ - TAG: [v1.4.6][1.4.6t]
505
+ - [!540](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/540) - Add VERSION constant (@pboling)
506
+ - [!537](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/537) - Fix crash in OAuth2::Client#get_token (@anderscarling)
507
+ - [!538](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/538) - Remove reliance on globally included OAuth2 in tests, analogous to [!539](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/539) on main branch (@anderscarling)
34
508
 
35
509
  ## [1.4.5] - 2021-03-18
36
510
 
37
- - [#535](https://github.com/oauth-xx/oauth2/pull/535) - Compatibility with range of supported Ruby OpenSSL versions, Rubocop updates, Github Actions (@pboling)
38
- - [#518](https://github.com/oauth-xx/oauth2/pull/518) - Add extract_access_token option to OAuth2::Client (@jonspalmer)
39
- - [#507](https://github.com/oauth-xx/oauth2/pull/507) - Fix camel case content type, response keys (@anvox)
40
- - [#500](https://github.com/oauth-xx/oauth2/pull/500) - Fix YARD documentation formatting (@olleolleolle)
511
+ - TAG: [v1.4.5][1.4.5t]
512
+ - [!535](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/535) - Compatibility with range of supported Ruby OpenSSL versions, Rubocop updates, Github Actions, analogous to [!536](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/536) on main branch (@pboling)
513
+ - [!518](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/518) - Add extract_access_token option to OAuth2::Client (@jonspalmer)
514
+ - [!507](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/507) - Fix camel case content type, response keys (@anvox)
515
+ - [!500](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/500) - Fix YARD documentation formatting (@olleolleolle)
41
516
 
42
517
  ## [1.4.4] - 2020-02-12
43
518
 
44
- - [#408](https://github.com/oauth-xx/oauth2/pull/408) - Fixed expires_at for formatted time (@Lomey)
519
+ - TAG: [v1.4.4][1.4.4t]
520
+ - [!408](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/408) - Fixed expires_at for formatted time (@Lomey)
45
521
 
46
522
  ## [1.4.3] - 2020-01-29
47
523
 
48
- - [#483](https://github.com/oauth-xx/oauth2/pull/483) - add project metadata to gemspec (@orien)
49
- - [#495](https://github.com/oauth-xx/oauth2/pull/495) - support additional types of access token requests (@SteveyblamFreeagent, @thomcorley, @dgholz)
50
- - Adds support for private_key_jwt and tls_client_auth
51
- - [#433](https://github.com/oauth-xx/oauth2/pull/433) - allow field names with square brackets and numbers in params (@asm256)
524
+ - TAG: [v1.4.3][1.4.3t]
525
+ - [!483](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/483) - add project metadata to gemspec (@orien)
526
+ - [!495](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/495) - support additional types of access token requests (@SteveyblamFreeagent, @thomcorley, @dgholz)
527
+ - Adds support for private_key_jwt and tls_client_auth
528
+ - [!433](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/433) - allow field names with square brackets and numbers in params (@asm256)
52
529
 
53
530
  ## [1.4.2] - 2019-10-01
54
531
 
55
- - [#478](https://github.com/oauth-xx/oauth2/pull/478) - support latest version of faraday & fix build (@pboling)
56
- - officially support Ruby 2.6 and truffleruby
532
+ - TAG: [v1.4.2][1.4.2t]
533
+ - [!478](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/478) - support latest version of faraday & fix build (@pboling)
534
+ - Officially support Ruby 2.6 and truffleruby
57
535
 
58
536
  ## [1.4.1] - 2018-10-13
59
537
 
60
- - [#417](https://github.com/oauth-xx/oauth2/pull/417) - update jwt dependency (@thewoolleyman)
61
- - [#419](https://github.com/oauth-xx/oauth2/pull/419) - remove rubocop dependency (temporary, added back in [#423](https://github.com/oauth-xx/oauth2/pull/423)) (@pboling)
62
- - [#418](https://github.com/oauth-xx/oauth2/pull/418) - update faraday dependency (@pboling)
63
- - [#420](https://github.com/oauth-xx/oauth2/pull/420) - update [oauth2.gemspec](https://github.com/oauth-xx/oauth2/blob/1-4-stable/oauth2.gemspec) (@pboling)
64
- - [#421](https://github.com/oauth-xx/oauth2/pull/421) - fix [CHANGELOG.md](https://github.com/oauth-xx/oauth2/blob/1-4-stable/CHANGELOG.md) for previous releases (@pboling)
65
- - [#422](https://github.com/oauth-xx/oauth2/pull/422) - update [LICENSE](https://github.com/oauth-xx/oauth2/blob/1-4-stable/LICENSE) and [README.md](https://github.com/oauth-xx/oauth2/blob/1-4-stable/README.md) (@pboling)
66
- - [#423](https://github.com/oauth-xx/oauth2/pull/423) - update [builds](https://travis-ci.org/oauth-xx/oauth2/builds), [Rakefile](https://github.com/oauth-xx/oauth2/blob/1-4-stable/Rakefile) (@pboling)
67
- - officially document supported Rubies
68
- * Ruby 1.9.3
69
- * Ruby 2.0.0
70
- * Ruby 2.1
71
- * Ruby 2.2
72
- * [JRuby 1.7][jruby-1.7] (targets MRI v1.9)
73
- * [JRuby 9.0][jruby-9.0] (targets MRI v2.0)
74
- * Ruby 2.3
75
- * Ruby 2.4
76
- * Ruby 2.5
77
- * [JRuby 9.1][jruby-9.1] (targets MRI v2.3)
78
- * [JRuby 9.2][jruby-9.2] (targets MRI v2.5)
538
+ - TAG: [v1.4.1][1.4.1t]
539
+ - [!417](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/417) - update jwt dependency (@thewoolleyman)
540
+ - [!419](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/419) - remove rubocop dependency (temporary, added back in [!423](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/423)) (@pboling)
541
+ - [!418](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/418) - update faraday dependency (@pboling)
542
+ - [!420](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/420) - update [oauth2.gemspec](https://gitlab.com/ruby-oauth/oauth2/-/blob/1-4-stable/oauth2.gemspec) (@pboling)
543
+ - [!421](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/421) - fix [CHANGELOG.md](https://gitlab.com/ruby-oauth/oauth2/-/blob/1-4-stable/CHANGELOG.md) for previous releases (@pboling)
544
+ - [!422](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/422) - update [LICENSE](https://gitlab.com/ruby-oauth/oauth2/-/blob/1-4-stable/LICENSE) and [README.md](https://gitlab.com/ruby-oauth/oauth2/-/blob/1-4-stable/README.md) (@pboling)
545
+ - [!423](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/423) - update [builds](https://travis-ci.org/ruby-oauth/oauth2/builds), [Rakefile](https://gitlab.com/ruby-oauth/oauth2/-/blob/1-4-stable/Rakefile) (@pboling)
546
+ - officially document supported Rubies
547
+ * Ruby 1.9.3
548
+ * Ruby 2.0.0
549
+ * Ruby 2.1
550
+ * Ruby 2.2
551
+ * [JRuby 1.7][jruby-1.7] (targets MRI v1.9)
552
+ * [JRuby 9.0][jruby-9.0] (targets MRI v2.0)
553
+ * Ruby 2.3
554
+ * Ruby 2.4
555
+ * Ruby 2.5
556
+ * [JRuby 9.1][jruby-9.1] (targets MRI v2.3)
557
+ * [JRuby 9.2][jruby-9.2] (targets MRI v2.5)
79
558
 
80
559
  [jruby-1.7]: https://www.jruby.org/2017/05/11/jruby-1-7-27.html
81
560
  [jruby-9.0]: https://www.jruby.org/2016/01/26/jruby-9-0-5-0.html
@@ -84,6 +563,7 @@ All notable changes to this project will be documented in this file.
84
563
 
85
564
  ## [1.4.0] - 2017-06-09
86
565
 
566
+ - TAG: [v1.4.0][1.4.0t]
87
567
  - Drop Ruby 1.8.7 support (@sferik)
88
568
  - Fix some RuboCop offenses (@sferik)
89
569
  - _Dependency_: Remove Yardstick (@sferik)
@@ -91,11 +571,13 @@ All notable changes to this project will be documented in this file.
91
571
 
92
572
  ## [1.3.1] - 2017-03-03
93
573
 
574
+ - TAG: [v1.3.1][1.3.1t]
94
575
  - Add support for Ruby 2.4.0 (@pschambacher)
95
576
  - _Dependency_: Upgrade Faraday to Faraday 0.11 (@mcfiredrill, @rhymes, @pschambacher)
96
577
 
97
578
  ## [1.3.0] - 2016-12-28
98
579
 
580
+ - TAG: [v1.3.0][1.3.0t]
99
581
  - Add support for header-based authentication to the `Client` so it can be used across the library (@bjeanes)
100
582
  - Default to header-based authentication when getting a token from an authorisation code (@maletor)
101
583
  - **Breaking**: Allow an `auth_scheme` (`:basic_auth` or `:request_body`) to be set on the client, defaulting to `:request_body` to maintain backwards compatibility (@maletor, @bjeanes)
@@ -106,91 +588,227 @@ All notable changes to this project will be documented in this file.
106
588
 
107
589
  ## [1.2.0] - 2016-07-01
108
590
 
591
+ - TAG: [v1.2.0][1.2.0t]
109
592
  - Properly handle encoding of error responses (so we don't blow up, for example, when Google's response includes a ∞) (@Motoshi-Nishihira)
110
593
  - Make a copy of the options hash in `AccessToken#from_hash` to avoid accidental mutations (@Linuus)
111
594
  - Use `raise` rather than `fail` to throw exceptions (@sferik)
112
595
 
113
596
  ## [1.1.0] - 2016-01-30
114
597
 
598
+ - TAG: [v1.1.0][1.1.0t]
115
599
  - Various refactors (eliminating `Hash#merge!` usage in `AccessToken#refresh!`, use `yield` instead of `#call`, freezing mutable objects in constants, replacing constants with class variables) (@sferik)
116
600
  - Add support for Rack 2, and bump various other dependencies (@sferik)
117
601
 
118
602
  ## [1.0.0] - 2014-07-09
119
603
 
604
+ - TAG: [v1.0.0][1.0.0t]
605
+
120
606
  ### Added
607
+
121
608
  - Add an implementation of the MAC token spec.
122
609
 
123
610
  ### Fixed
611
+
124
612
  - Fix Base64.strict_encode64 incompatibility with Ruby 1.8.7.
125
613
 
126
614
  ## [0.5.0] - 2011-07-29
127
615
 
616
+ - TAG: [v0.5.0][0.5.0t]
617
+
128
618
  ### Changed
129
- - [breaking] `oauth_token` renamed to `oauth_bearer`.
130
- - [breaking] `authorize_path` Client option renamed to `authorize_url`.
131
- - [breaking] `access_token_path` Client option renamed to `token_url`.
132
- - [breaking] `access_token_method` Client option renamed to `token_method`.
133
- - [breaking] `web_server` renamed to `auth_code`.
619
+
620
+ - *breaking* `oauth_token` renamed to `oauth_bearer`.
621
+ - *breaking* `authorize_path` Client option renamed to `authorize_url`.
622
+ - *breaking* `access_token_path` Client option renamed to `token_url`.
623
+ - *breaking* `access_token_method` Client option renamed to `token_method`.
624
+ - *breaking* `web_server` renamed to `auth_code`.
134
625
 
135
626
  ## [0.4.1] - 2011-04-20
136
627
 
628
+ - TAG: [v0.4.1][0.4.1t]
629
+
137
630
  ## [0.4.0] - 2011-04-20
138
631
 
632
+ - TAG: [v0.4.0][0.4.0t]
633
+
139
634
  ## [0.3.0] - 2011-04-08
140
635
 
636
+ - TAG: [v0.3.0][0.3.0t]
637
+
141
638
  ## [0.2.0] - 2011-04-01
142
639
 
640
+ - TAG: [v0.2.0][0.2.0t]
641
+
143
642
  ## [0.1.1] - 2011-01-12
144
643
 
644
+ - TAG: [v0.1.1][0.1.1t]
645
+
145
646
  ## [0.1.0] - 2010-10-13
146
647
 
147
- ## [0.0.13] + [0.0.12] + [0.0.11] - 2010-08-17
648
+ - TAG: [v0.1.0][0.1.0t]
649
+
650
+ ## [0.0.13] - 2010-08-17
651
+
652
+ - TAG: [v0.0.13][0.0.13t]
653
+
654
+ ## [0.0.12] - 2010-08-17
655
+
656
+ - TAG: [v0.0.12][0.0.12t]
657
+
658
+ ## [0.0.11] - 2010-08-17
659
+
660
+ - TAG: [v0.0.11][0.0.11t]
148
661
 
149
662
  ## [0.0.10] - 2010-06-19
150
663
 
664
+ - TAG: [v0.0.10][0.0.10t]
665
+
151
666
  ## [0.0.9] - 2010-06-18
152
667
 
153
- ## [0.0.8] + [0.0.7] - 2010-04-27
668
+ - TAG: [v0.0.9][0.0.9t]
669
+
670
+ ## [0.0.8] - 2010-04-27
671
+
672
+ - TAG: [v0.0.8][0.0.8t]
673
+
674
+ ## [0.0.7] - 2010-04-27
675
+
676
+ - TAG: [v0.0.7][0.0.7t]
154
677
 
155
678
  ## [0.0.6] - 2010-04-25
156
679
 
680
+ - TAG: [v0.0.6][0.0.6t]
681
+
157
682
  ## [0.0.5] - 2010-04-23
158
683
 
159
- ## [0.0.4] + [0.0.3] + [0.0.2] + [0.0.1] - 2010-04-22
160
-
161
-
162
- [0.0.1]: https://github.com/oauth-xx/oauth2/compare/311d9f4...v0.0.1
163
- [0.0.2]: https://github.com/oauth-xx/oauth2/compare/v0.0.1...v0.0.2
164
- [0.0.3]: https://github.com/oauth-xx/oauth2/compare/v0.0.2...v0.0.3
165
- [0.0.4]: https://github.com/oauth-xx/oauth2/compare/v0.0.3...v0.0.4
166
- [0.0.5]: https://github.com/oauth-xx/oauth2/compare/v0.0.4...v0.0.5
167
- [0.0.6]: https://github.com/oauth-xx/oauth2/compare/v0.0.5...v0.0.6
168
- [0.0.7]: https://github.com/oauth-xx/oauth2/compare/v0.0.6...v0.0.7
169
- [0.0.8]: https://github.com/oauth-xx/oauth2/compare/v0.0.7...v0.0.8
170
- [0.0.9]: https://github.com/oauth-xx/oauth2/compare/v0.0.8...v0.0.9
171
- [0.0.10]: https://github.com/oauth-xx/oauth2/compare/v0.0.9...v0.0.10
172
- [0.0.11]: https://github.com/oauth-xx/oauth2/compare/v0.0.10...v0.0.11
173
- [0.0.12]: https://github.com/oauth-xx/oauth2/compare/v0.0.11...v0.0.12
174
- [0.0.13]: https://github.com/oauth-xx/oauth2/compare/v0.0.12...v0.0.13
175
- [0.1.0]: https://github.com/oauth-xx/oauth2/compare/v0.0.13...v0.1.0
176
- [0.1.1]: https://github.com/oauth-xx/oauth2/compare/v0.1.0...v0.1.1
177
- [0.2.0]: https://github.com/oauth-xx/oauth2/compare/v0.1.1...v0.2.0
178
- [0.3.0]: https://github.com/oauth-xx/oauth2/compare/v0.2.0...v0.3.0
179
- [0.4.0]: https://github.com/oauth-xx/oauth2/compare/v0.3.0...v0.4.0
180
- [0.4.1]: https://github.com/oauth-xx/oauth2/compare/v0.4.0...v0.4.1
181
- [0.5.0]: https://github.com/oauth-xx/oauth2/compare/v0.4.1...v0.5.0
182
- [1.0.0]: https://github.com/oauth-xx/oauth2/compare/v0.9.4...v1.0.0
183
- [1.1.0]: https://github.com/oauth-xx/oauth2/compare/v1.0.0...v1.1.0
184
- [1.2.0]: https://github.com/oauth-xx/oauth2/compare/v1.1.0...v1.2.0
185
- [1.3.0]: https://github.com/oauth-xx/oauth2/compare/v1.2.0...v1.3.0
186
- [1.3.1]: https://github.com/oauth-xx/oauth2/compare/v1.3.0...v1.3.1
187
- [1.4.0]: https://github.com/oauth-xx/oauth2/compare/v1.3.1...v1.4.0
188
- [1.4.1]: https://github.com/oauth-xx/oauth2/compare/v1.4.0...v1.4.1
189
- [1.4.2]: https://github.com/oauth-xx/oauth2/compare/v1.4.1...v1.4.2
190
- [1.4.3]: https://github.com/oauth-xx/oauth2/compare/v1.4.2...v1.4.3
191
- [1.4.4]: https://github.com/oauth-xx/oauth2/compare/v1.4.3...v1.4.4
192
- [1.4.5]: https://github.com/oauth-xx/oauth2/compare/v1.4.4...v1.4.5
193
- [1.4.6]: https://github.com/oauth-xx/oauth2/compare/v1.4.5...v1.4.6
194
- [1.4.7]: https://github.com/oauth-xx/oauth2/compare/v1.4.6...v1.4.7
195
- [1.4.8]: https://github.com/oauth-xx/oauth2/compare/v1.4.7...v1.4.8
196
- [unreleased]: https://github.com/oauth-xx/oauth2/compare/v1.4.1...HEAD
684
+ - TAG: [v0.0.5][0.0.5t]
685
+
686
+ ## [0.0.4] - 2010-04-22
687
+
688
+ - TAG: [v0.0.4][0.0.4t]
689
+
690
+ ## [0.0.3] - 2010-04-22
691
+
692
+ - TAG: [v0.0.3][0.0.3t]
693
+
694
+ ## [0.0.2] - 2010-04-22
695
+
696
+ - TAG: [v0.0.2][0.0.2t]
697
+
698
+ ## [0.0.1] - 2010-04-22
699
+
700
+ - TAG: [v0.0.1][0.0.1t]
701
+
702
+ [gemfiles/readme]: gemfiles/README.md
703
+
704
+ [Unreleased]: https://github.com/ruby-oauth/oauth2/compare/v2.0.17...HEAD
705
+ [2.0.17]: https://github.com/ruby-oauth/oauth2/compare/v2.0.16...v2.0.17
706
+ [2.0.17t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.17
707
+ [2.0.16]: https://github.com/ruby-oauth/oauth2/compare/v2.0.15...v2.0.16
708
+ [2.0.16t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.16
709
+ [2.0.15]: https://github.com/ruby-oauth/oauth2/compare/v2.0.14...v2.0.15
710
+ [2.0.15t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.15
711
+ [2.0.14]: https://github.com/ruby-oauth/oauth2/compare/v2.0.13...v2.0.14
712
+ [2.0.14t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.14
713
+ [2.0.13]: https://github.com/ruby-oauth/oauth2/compare/v2.0.12...v2.0.13
714
+ [2.0.13t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.13
715
+ [2.0.12]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.11...v2.0.12
716
+ [2.0.12t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.12
717
+ [2.0.11]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.10...v2.0.11
718
+ [2.0.11t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.11
719
+ [2.0.10]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.9...v2.0.10
720
+ [2.0.10t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.10
721
+ [2.0.9]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.8...v2.0.9
722
+ [2.0.9t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.9
723
+ [2.0.8]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.7...v2.0.8
724
+ [2.0.8t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.8
725
+ [2.0.7]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.6...v2.0.7
726
+ [2.0.7t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.7
727
+ [2.0.6]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.5...v2.0.6
728
+ [2.0.6t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.6
729
+ [2.0.5]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.4...v2.0.5
730
+ [2.0.5t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.5
731
+ [2.0.4]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.3...v2.0.4
732
+ [2.0.4t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.4
733
+ [2.0.3]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.2...v2.0.3
734
+ [2.0.3t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.3
735
+ [2.0.2]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.1...v2.0.2
736
+ [2.0.2t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.2
737
+ [2.0.1]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v2.0.0...v2.0.1
738
+ [2.0.1t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.1
739
+ [2.0.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.11...v2.0.0
740
+ [2.0.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.0
741
+ [1.4.11]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.10...v1.4.11
742
+ [1.4.11t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.11
743
+ [1.4.10]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.9...v1.4.10
744
+ [1.4.10t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.10
745
+ [1.4.9]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.8...v1.4.9
746
+ [1.4.9t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.9
747
+ [1.4.8]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.7...v1.4.8
748
+ [1.4.8t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.8
749
+ [1.4.7]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.6...v1.4.7
750
+ [1.4.7t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.7
751
+ [1.4.6]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.5...v1.4.6
752
+ [1.4.6t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.6
753
+ [1.4.5]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.4...v1.4.5
754
+ [1.4.5t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.5
755
+ [1.4.4]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.3...v1.4.4
756
+ [1.4.4t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.4
757
+ [1.4.3]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.2...v1.4.3
758
+ [1.4.3t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.3
759
+ [1.4.2]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.1...v1.4.2
760
+ [1.4.2t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.2
761
+ [1.4.1]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.4.0...v1.4.1
762
+ [1.4.1t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.1
763
+ [1.4.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.3.1...v1.4.0
764
+ [1.4.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.4.0
765
+ [1.3.1]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.3.0...v1.3.1
766
+ [1.3.1t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.3.1
767
+ [1.3.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.2.0...v1.3.0
768
+ [1.3.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.3.0
769
+ [1.2.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.1.0...v1.2.0
770
+ [1.2.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.2.0
771
+ [1.1.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v1.0.0...v1.1.0
772
+ [1.1.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.1.0
773
+ [1.0.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.9.4...v1.0.0
774
+ [1.0.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v1.0.0
775
+ [0.5.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.4.1...v0.5.0
776
+ [0.5.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.5.0
777
+ [0.4.1]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.4.0...v0.4.1
778
+ [0.4.1t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.4.1
779
+ [0.4.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.3.0...v0.4.0
780
+ [0.4.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.4.0
781
+ [0.3.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.2.0...v0.3.0
782
+ [0.3.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.3.0
783
+ [0.2.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.1.1...v0.2.0
784
+ [0.2.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.2.0
785
+ [0.1.1]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.1.0...v0.1.1
786
+ [0.1.1t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.1.1
787
+ [0.1.0]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.13...v0.1.0
788
+ [0.1.0t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.1.0
789
+ [0.0.13]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.12...v0.0.13
790
+ [0.0.13t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.13
791
+ [0.0.12]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.11...v0.0.12
792
+ [0.0.12t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.12
793
+ [0.0.11]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.10...v0.0.11
794
+ [0.0.11t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.11
795
+ [0.0.10]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.9...v0.0.10
796
+ [0.0.10t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.10
797
+ [0.0.9]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.8...v0.0.9
798
+ [0.0.9t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.9
799
+ [0.0.8]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.7...v0.0.8
800
+ [0.0.8t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.8
801
+ [0.0.7]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.6...v0.0.7
802
+ [0.0.7t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.7
803
+ [0.0.6]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.5...v0.0.6
804
+ [0.0.6t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.6
805
+ [0.0.5]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.4...v0.0.5
806
+ [0.0.5t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.5
807
+ [0.0.4]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.3...v0.0.4
808
+ [0.0.4t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.4
809
+ [0.0.3]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.2...v0.0.3
810
+ [0.0.3t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.3
811
+ [0.0.2]: https://gitlab.com/ruby-oauth/oauth2/-/compare/v0.0.1...v0.0.2
812
+ [0.0.2t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.2
813
+ [0.0.1]: https://github.com/ruby-oauth/oauth2/compare/311d9f4...v0.0.1
814
+ [0.0.1t]: https://github.com/ruby-oauth/oauth2/releases/tag/v0.0.1