oauth2 1.4.11 → 2.0.20

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