jwt 2.3.0 → 2.4.0.beta1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a43128b4e2f4d47a90b9834ad66b65411794d599660e459f3296ad5eea043a74
4
- data.tar.gz: 158319e4108c4001f499fe13195d6659e90e741a1e563fbc6f531bf820fb50e8
3
+ metadata.gz: 637320f6741edec8adfafb3513fdad0927b9c08271137e7ad47e2b7515a6b90a
4
+ data.tar.gz: a089bc9ef99438988ef542135cdfaa68496fd645877200059ab461122816e11e
5
5
  SHA512:
6
- metadata.gz: f2b714380b47796ead0390f84650d11b0c7a963256cb7475e122e71c7eebfd94af97bf029f091f7916c2c37819eef7795899112e0bdf685a5634445bdf307dce
7
- data.tar.gz: a80b9e615d14c8fb673973b4bd9b76aaf2c9685298c0d2c2fd39a50902ddc62900ba2680b2c207593dfc9ea7993c72649c0e535d2a04c50d34c95c37c220b242
6
+ metadata.gz: bdf07ebbbadc38c80b6eda44a6571d7bd8f5c0d806cb1955295fa201f8a77f9faba55567e23825eaf23350eaef391e6c34a09666297b1fe7cd0178348fe93586
7
+ data.tar.gz: 924d0f219493f2cf133753ca25fbd7682d7f307b7b3724a659c795ef864b9129137e2b6db8d3591f1a006c9925c325ff51f2a87f23ad0b1d6b198124135ce093
data/.codeclimate.yml ADDED
@@ -0,0 +1,8 @@
1
+ plugins:
2
+ fixme:
3
+ enabled: true
4
+ shellcheck:
5
+ enabled: true
6
+ rubocop:
7
+ enabled: true
8
+ channel: rubocop-1-23-0
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: coverage
3
+ on:
4
+ push:
5
+ branches:
6
+ - "master"
7
+ jobs:
8
+ coverage:
9
+ name: coverage
10
+ runs-on: ubuntu-20.04
11
+ env:
12
+ BUNDLE_GEMFILE: 'gemfiles/rbnacl.gemfile'
13
+ CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Install libsodium
17
+ run: |
18
+ sudo apt-get update -q
19
+ sudo apt-get install libsodium-dev -y
20
+ - name: Set up Ruby
21
+ uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: "2.7"
24
+ bundler-cache: true
25
+ - uses: paambaati/codeclimate-action@v3.0.0
26
+ with:
27
+ coverageCommand: bundle exec rspec
@@ -17,7 +17,7 @@ jobs:
17
17
  - name: Set up Ruby
18
18
  uses: ruby/setup-ruby@v1
19
19
  with:
20
- ruby-version: "2.4"
20
+ ruby-version: "2.7"
21
21
  bundler-cache: true
22
22
  - name: Run RuboCop
23
23
  run: bundle exec rubocop
@@ -26,26 +26,18 @@ jobs:
26
26
  fail-fast: false
27
27
  matrix:
28
28
  ruby:
29
- - 2.3
30
- - 2.4
31
29
  - 2.5
32
30
  - 2.6
33
31
  - 2.7
34
32
  - "3.0"
33
+ - 3.1
35
34
  gemfile:
36
35
  - gemfiles/standalone.gemfile
37
36
  - gemfiles/openssl.gemfile
38
37
  - gemfiles/rbnacl.gemfile
39
38
  experimental: [false]
40
39
  include:
41
- - ruby: 2.1
42
- gemfile: 'gemfiles/rbnacl.gemfile'
43
- experimental: false
44
- - ruby: 2.2
45
- gemfile: 'gemfiles/rbnacl.gemfile'
46
- experimental: false
47
40
  - ruby: 2.7
48
- coverage: "true"
49
41
  gemfile: 'gemfiles/rbnacl.gemfile'
50
42
  - ruby: "ruby-head"
51
43
  experimental: true
data/.gitignore CHANGED
@@ -9,3 +9,5 @@ coverage/
9
9
  .vscode/
10
10
  .bundle
11
11
  *gemfile.lock
12
+ .byebug_history
13
+ *.gem
data/.rubocop.yml CHANGED
@@ -1,24 +1,12 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  AllCops:
4
- TargetRubyVersion: 2.1
5
-
6
- Layout/AlignParameters:
7
- EnforcedStyle: with_fixed_indentation
8
-
9
- Layout/CaseIndentation:
10
- EnforcedStyle: end
11
-
12
- Style/AsciiComments:
13
- Enabled: false
14
-
15
- Layout/IndentHash:
16
- Enabled: false
17
-
18
- Style/CollectionMethods:
19
- Enabled: true
20
- PreferredMethods:
21
- inject: 'inject'
4
+ TargetRubyVersion: 2.5
5
+ NewCops: enable
6
+ SuggestExtensions: false
7
+ Exclude:
8
+ - 'gemfiles/*.gemfile'
9
+ - 'vendor/**/*'
22
10
 
23
11
  Style/Documentation:
24
12
  Enabled: false
@@ -27,10 +15,6 @@ Style/BlockDelimiters:
27
15
  Exclude:
28
16
  - spec/**/*_spec.rb
29
17
 
30
- Style/BracesAroundHashParameters:
31
- Exclude:
32
- - spec/**/*_spec.rb
33
-
34
18
  Style/GuardClause:
35
19
  Enabled: false
36
20
 
@@ -50,15 +34,15 @@ Style/SignalException:
50
34
  Enabled: false
51
35
 
52
36
  Metrics/AbcSize:
53
- Max: 20
37
+ Max: 25
54
38
 
55
39
  Metrics/ClassLength:
56
- Max: 101
40
+ Max: 103
57
41
 
58
42
  Metrics/ModuleLength:
59
43
  Max: 100
60
44
 
61
- Metrics/LineLength:
45
+ Layout/LineLength:
62
46
  Enabled: false
63
47
 
64
48
  Metrics/BlockLength:
@@ -71,7 +55,7 @@ Metrics/MethodLength:
71
55
  Style/SingleLineBlockParams:
72
56
  Enabled: false
73
57
 
74
- Lint/EndAlignment:
58
+ Layout/EndAlignment:
75
59
  EnforcedStyleAlignWith: variable
76
60
 
77
61
  Style/FormatString:
@@ -89,9 +73,9 @@ Style/WordArray:
89
73
  Style/RedundantSelf:
90
74
  Enabled: false
91
75
 
92
- Layout/AlignHash:
76
+ Layout/HashAlignment:
93
77
  Enabled: true
94
78
  EnforcedLastArgumentHashStyle: always_ignore
95
79
 
96
80
  Style/TrivialAccessors:
97
- AllowPredicates: true
81
+ AllowPredicates: true
data/.rubocop_todo.yml CHANGED
@@ -1,185 +1,22 @@
1
1
  # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2020-12-21 23:11:43 +0200 using RuboCop version 0.52.1.
2
+ # `rubocop --auto-gen-config --exclude-limit 1000000`
3
+ # on 2021-12-27 06:53:55 UTC using RuboCop version 1.23.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 2
9
+ # Offense count: 1
10
10
  # Cop supports --auto-correct.
11
- # Configuration parameters: Include, TreatCommentsAsGroupSeparators.
11
+ # Configuration parameters: Include.
12
12
  # Include: **/*.gemspec
13
- Gemspec/OrderedDependencies:
13
+ Gemspec/RequireMFA:
14
14
  Exclude:
15
15
  - 'ruby-jwt.gemspec'
16
16
 
17
17
  # Offense count: 1
18
- # Cop supports --auto-correct.
19
- Layout/EmptyLines:
20
- Exclude:
21
- - 'spec/integration/readme_examples_spec.rb'
22
-
23
- # Offense count: 1
24
- # Cop supports --auto-correct.
25
- # Configuration parameters: EnforcedStyle.
26
- # SupportedStyles: empty_lines, no_empty_lines
27
- Layout/EmptyLinesAroundBlockBody:
28
- Exclude:
29
- - 'spec/jwt_spec.rb'
30
-
31
- # Offense count: 1
32
- # Cop supports --auto-correct.
33
- # Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
34
- Layout/ExtraSpacing:
35
- Exclude:
36
- - 'spec/jwk_spec.rb'
37
-
38
- # Offense count: 2
39
- # Cop supports --auto-correct.
40
- # Configuration parameters: EnforcedStyle.
41
- # SupportedStyles: normal, rails
42
- Layout/IndentationConsistency:
43
- Exclude:
44
- - 'spec/jwt_spec.rb'
45
-
46
- # Offense count: 1
47
- # Cop supports --auto-correct.
48
- # Configuration parameters: Width, IgnoredPatterns.
49
- Layout/IndentationWidth:
50
- Exclude:
51
- - 'spec/jwt_spec.rb'
52
-
53
- # Offense count: 3
54
- # Cop supports --auto-correct.
55
- Layout/SpaceAfterComma:
18
+ # Configuration parameters: AllowedMethods.
19
+ # AllowedMethods: respond_to_missing?
20
+ Style/OptionalBooleanParameter:
56
21
  Exclude:
57
- - 'spec/jwt_spec.rb'
58
-
59
- # Offense count: 2
60
- # Cop supports --auto-correct.
61
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
62
- # SupportedStyles: space, no_space
63
- # SupportedStylesForEmptyBraces: space, no_space
64
- Layout/SpaceBeforeBlockBraces:
65
- Exclude:
66
- - 'spec/jwk/ec_spec.rb'
67
- - 'spec/jwt/verify_spec.rb'
68
-
69
- # Offense count: 1
70
- # Cop supports --auto-correct.
71
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
72
- # SupportedStyles: space, no_space
73
- # SupportedStylesForEmptyBraces: space, no_space
74
- Layout/SpaceInsideBlockBraces:
75
- Exclude:
76
- - 'spec/jwt/verify_spec.rb'
77
-
78
- # Offense count: 1
79
- # Cop supports --auto-correct.
80
- # Configuration parameters: EnforcedStyle.
81
- # SupportedStyles: final_newline, final_blank_line
82
- Layout/TrailingBlankLines:
83
- Exclude:
84
- - 'bin/console.rb'
85
-
86
- # Offense count: 3
87
- # Cop supports --auto-correct.
88
- # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
89
- Lint/UnusedBlockArgument:
90
- Exclude:
91
- - 'spec/jwk/decode_with_jwk_spec.rb'
92
- - 'spec/jwk/ec_spec.rb'
93
- - 'spec/jwt/verify_spec.rb'
94
-
95
- # Offense count: 2
96
- Metrics/CyclomaticComplexity:
97
- Max: 7
98
-
99
- # Offense count: 1
100
- Metrics/PerceivedComplexity:
101
- Max: 8
102
-
103
- # Offense count: 1
104
- # Cop supports --auto-correct.
105
- # Configuration parameters: MaxKeyValuePairs.
106
- Performance/RedundantMerge:
107
- Exclude:
108
- - 'spec/jwt_spec.rb'
109
-
110
- # Offense count: 1
111
- # Cop supports --auto-correct.
112
- Style/Encoding:
113
- Exclude:
114
- - 'lib/jwt/version.rb'
115
-
116
- # Offense count: 1
117
- # Cop supports --auto-correct.
118
- # Configuration parameters: InverseMethods, InverseBlocks.
119
- Style/InverseMethods:
120
- Exclude:
121
- - 'spec/jwk/ec_spec.rb'
122
-
123
- # Offense count: 2
124
- # Cop supports --auto-correct.
125
- Style/MethodCallWithoutArgsParentheses:
126
- Exclude:
127
- - 'spec/jwt_spec.rb'
128
-
129
- # Offense count: 2
130
- # Configuration parameters: EnforcedStyle.
131
- # SupportedStyles: module_function, extend_self
132
- Style/ModuleFunction:
133
- Exclude:
134
- - 'lib/jwt/algos.rb'
135
- - 'lib/jwt/signature.rb'
136
-
137
- # Offense count: 1
138
- # Cop supports --auto-correct.
139
- Style/MutableConstant:
140
- Exclude:
141
- - 'lib/jwt/version.rb'
142
-
143
- # Offense count: 1
144
- # Cop supports --auto-correct.
145
- # Configuration parameters: Strict.
146
- Style/NumericLiterals:
147
- MinDigits: 6
148
-
149
- # Offense count: 1
150
- # Cop supports --auto-correct.
151
- Style/ParallelAssignment:
152
- Exclude:
153
- - 'spec/integration/readme_examples_spec.rb'
154
-
155
- # Offense count: 11
156
- # Cop supports --auto-correct.
157
- # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
158
- # SupportedStyles: single_quotes, double_quotes
159
- Style/StringLiterals:
160
- Exclude:
161
- - 'bin/console.rb'
162
- - 'spec/jwk/ec_spec.rb'
163
- - 'spec/jwk/rsa_spec.rb'
164
- - 'spec/jwk_spec.rb'
165
- - 'spec/jwt_spec.rb'
166
-
167
- # Offense count: 1
168
- # Cop supports --auto-correct.
169
- # Configuration parameters: EnforcedStyleForMultiline.
170
- # SupportedStylesForMultiline: comma, consistent_comma, no_comma
171
- Style/TrailingCommaInArguments:
172
- Exclude:
173
- - 'spec/jwt_spec.rb'
174
-
175
- # Offense count: 1
176
- # Cop supports --auto-correct.
177
- Style/UnlessElse:
178
- Exclude:
179
- - 'spec/jwt_spec.rb'
180
-
181
- # Offense count: 162
182
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
183
- # URISchemes: http, https
184
- Metrics/LineLength:
185
- Max: 420
22
+ - 'lib/jwt.rb'
data/AUTHORS CHANGED
@@ -1,6 +1,6 @@
1
1
  Tim Rudat
2
- Jeff Lindsay
3
2
  Joakim Antman
3
+ Jeff Lindsay
4
4
  A.B
5
5
  shields
6
6
  Bob Aman
@@ -11,102 +11,109 @@ Nikita Shatov
11
11
  Paul Battley
12
12
  Oliver
13
13
  blackanger
14
- Adam Michael
15
- James Stonehill
16
14
  Ville Lautanala
17
15
  Tyler Pickett
18
- Peter M. Goldstein
16
+ James Stonehill
17
+ Adam Michael
19
18
  Martin Emde
19
+ Saverio Trioni
20
+ Peter M. Goldstein
20
21
  Korstiaan de Ridder
21
22
  Richard Larocque
22
23
  Andrew Davis
23
- Bill Mill
24
24
  Yason Khaburzaniya
25
- Steve Sloan
25
+ Klaas Jan Wierenga
26
26
  Nick Hammond
27
+ Bart de Water
28
+ Steve Sloan
27
29
  Antonis Berkakis
28
- Klaas Jan Wierenga
29
- yann ARMAND
30
- Brian Flethcer
31
- Erik Michaels-Ober
32
- Jurriaan Pruis
30
+ Bill Mill
33
31
  Kevin Olbrich
34
- Larry Lv
35
- Rodrigo López Dato
36
32
  Simon Fish
37
- Steven Davidovitz
38
- Tom Wey
39
33
  jb08
40
34
  lukas
35
+ Rodrigo López Dato
41
36
  ojab
37
+ Ritikesh
42
38
  sawyerzhang
39
+ Larry Lv
43
40
  smudge
44
41
  wohlgejm
45
- Julio Lopez
46
- Katelyn Kasperowicz
47
- fusagiko/takayamaki
48
- Dorian Marié
49
- rono23
50
- Leonardo Saraiva
51
- Lowell Kirsh
52
- Lucas Mazza
53
- Makoto Chiba
54
- Manuel Bustillo
55
- Marco Adkins
56
- Dave Grijalva
57
- Micah Gates
58
- Michał Begejowicz
59
- Mike Eirih
60
- Mike Pastore
61
- Mingan
62
- Mitch Birti
63
- Dan Leyden
42
+ Tom Wey
43
+ yann ARMAND
44
+ Brian Flethcer
45
+ Jurriaan Pruis
46
+ Erik Michaels-Ober
47
+ Matthew Simpson
48
+ Steven Davidovitz
64
49
  Nicolas Leger
65
- Brandon Keepers
66
- Bouke van der Bijl
67
- B
68
50
  Pierre Michard
69
51
  RahulBajaj
70
- Austin Kabiru
71
- Ritikesh
72
52
  Rob Wygand
73
- Adam Greene
74
53
  Ryan Brushett
75
54
  Ryan McIlmoyl
76
55
  Ryan Metzler
77
56
  Severin Schoepke
78
57
  Shaun Guth
79
- mai fujii
80
- Artsiom Kuts
81
58
  Steve Teti
82
- nycvotes-dev
83
59
  T.J. Schuck
84
60
  Taiki Sugawara
85
61
  Takehiro Adachi
86
- Arnaud Mesureur
87
62
  Tobias Haar
88
63
  Toby Pinder
89
- revodoge
90
64
  Tomé Duarte
91
65
  Travis Hunter
92
- Ariel Salomon
93
- Aman Gupta
94
- Alexandr Kostrikov
95
66
  Yuji Yaginuma
96
- Alexander Boyd
97
67
  Zuzanna Stolińska
98
68
  aarongray
69
+ danielgrippi
70
+ fusagiko/takayamaki
71
+ mai fujii
72
+ nycvotes-dev
73
+ revodoge
74
+ rono23
75
+ antonmorant
76
+ Adam Greene
77
+ Alexander Boyd
78
+ Alexandr Kostrikov
79
+ Aman Gupta
80
+ Ariel Salomon
81
+ Arnaud Mesureur
82
+ Artsiom Kuts
83
+ Austin Kabiru
84
+ B
85
+ Bouke van der Bijl
86
+ Brandon Keepers
87
+ Dan Leyden
88
+ Dave Grijalva
89
+ Dmitry Pashkevich
90
+ Dorian Marié
91
+ Ernie Miller
92
+ Evgeni Golov
93
+ Ewoud Kohl van Wijngaarden
99
94
  HoneyryderChuck
100
95
  Igor Victor
101
96
  Ilyaaaaaaaaaaaaa Zhitomirskiy
102
- Ewoud Kohl van Wijngaarden
103
- Evgeni Golov
104
97
  Jens Hausherr
105
98
  Jeremiah Wuenschel
106
- Ernie Miller
107
99
  John Downey
108
100
  Jordan Brough
109
101
  Josh Bodah
110
102
  JotaSe
111
103
  Juanito Fatas
112
- danielgrippi
104
+ Julio Lopez
105
+ Katelyn Kasperowicz
106
+ Leonardo Saraiva
107
+ Lowell Kirsh
108
+ Loïc Lengrand
109
+ Lucas Mazza
110
+ Makoto Chiba
111
+ Manuel Bustillo
112
+ Marco Adkins
113
+ Meredith Leu
114
+ Micah Gates
115
+ Michał Begejowicz
116
+ Mike Eirih
117
+ Mike Pastore
118
+ Mingan
119
+ Mitch Birti
data/Appraisals CHANGED
@@ -1,4 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  appraise 'standalone' do
4
+ # No additions
2
5
  end
3
6
 
4
7
  appraise 'openssl' do
data/CHANGELOG.md CHANGED
@@ -1,5 +1,52 @@
1
1
  # Changelog
2
2
 
3
+ ## [v2.4.0](https://github.com/jwt/ruby-jwt/tree/v2.4.0) (2022-05-03)
4
+
5
+ [Full Changelog](https://github.com/jwt/ruby-jwt/compare/v2.3.0...v2.4.0)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - Ensure presence of claims [\#244](https://github.com/jwt/ruby-jwt/issues/244)
10
+ - Support verifying signature signed using x5c header [\#59](https://github.com/jwt/ruby-jwt/issues/59)
11
+ - Add x5c header key finder [\#338](https://github.com/jwt/ruby-jwt/pull/338) ([bdewater](https://github.com/bdewater))
12
+
13
+ **Security fixes:**
14
+
15
+ - Importing JWK then exporting results in different `kid` [\#313](https://github.com/jwt/ruby-jwt/issues/313)
16
+
17
+ **Closed issues:**
18
+
19
+ - Is there a way to decode a ES256 encoded JWT with a root certificate but without a public key or a private key? [\#471](https://github.com/jwt/ruby-jwt/issues/471)
20
+ - Encode output with extra quote [\#469](https://github.com/jwt/ruby-jwt/issues/469)
21
+ - Please release new gem version [\#444](https://github.com/jwt/ruby-jwt/issues/444)
22
+ - HS512 signature verification fails for valid tokens [\#438](https://github.com/jwt/ruby-jwt/issues/438)
23
+ - ArgumentError: invalid base64 while calling JWT::JWK.import\(hash\) [\#361](https://github.com/jwt/ruby-jwt/issues/361)
24
+ - NoMethodError (undefined method `encode' for JsonWebToken:Module\) [\#329](https://github.com/jwt/ruby-jwt/issues/329)
25
+
26
+ **Merged pull requests:**
27
+
28
+ - Fix RuboCop TODOs [\#476](https://github.com/jwt/ruby-jwt/pull/476) ([typhoon2099](https://github.com/typhoon2099))
29
+ - Update note about supported JWK types [\#475](https://github.com/jwt/ruby-jwt/pull/475) ([dpashkevich](https://github.com/dpashkevich))
30
+ - Make specific algorithms in README linkable [\#472](https://github.com/jwt/ruby-jwt/pull/472) ([milieu](https://github.com/milieu))
31
+ - Add tests for keyfinder logic to ensure the argument count does not matter [\#467](https://github.com/jwt/ruby-jwt/pull/467) ([anakinj](https://github.com/anakinj))
32
+ - More tests for none token [\#466](https://github.com/jwt/ruby-jwt/pull/466) ([anakinj](https://github.com/anakinj))
33
+ - Improve non algorithm tests [\#465](https://github.com/jwt/ruby-jwt/pull/465) ([anakinj](https://github.com/anakinj))
34
+ - Bring back Ruby 2.5 support and CodeClimate coverage reports [\#464](https://github.com/jwt/ruby-jwt/pull/464) ([anakinj](https://github.com/anakinj))
35
+ - Fix a little RuboCop issue [\#462](https://github.com/jwt/ruby-jwt/pull/462) ([anakinj](https://github.com/anakinj))
36
+ - Fixes with latest RuboCop [\#459](https://github.com/jwt/ruby-jwt/pull/459) ([anakinj](https://github.com/anakinj))
37
+ - Removed bundler-audit from codeclimate config [\#458](https://github.com/jwt/ruby-jwt/pull/458) ([anakinj](https://github.com/anakinj))
38
+ - Updated rubocop to 1.23.0 [\#457](https://github.com/jwt/ruby-jwt/pull/457) ([anakinj](https://github.com/anakinj))
39
+ - Add Ruby 3.1 to test matrix [\#456](https://github.com/jwt/ruby-jwt/pull/456) ([anakinj](https://github.com/anakinj))
40
+ - Use Ruby built-in url-safe base64 methods [\#454](https://github.com/jwt/ruby-jwt/pull/454) ([bdewater](https://github.com/bdewater))
41
+ - Stop running tests on EOL rubies. [\#453](https://github.com/jwt/ruby-jwt/pull/453) ([anakinj](https://github.com/anakinj))
42
+ - Fix openssl gem version check to support versons greater than 3 [\#452](https://github.com/jwt/ruby-jwt/pull/452) ([anakinj](https://github.com/anakinj))
43
+ - Readme: Typo fix re MissingRequiredClaim [\#451](https://github.com/jwt/ruby-jwt/pull/451) ([antonmorant](https://github.com/antonmorant))
44
+ - Fix for exception after mergeing \#385 [\#450](https://github.com/jwt/ruby-jwt/pull/450) ([anakinj](https://github.com/anakinj))
45
+ - Create CODE\_OF\_CONDUCT.md [\#449](https://github.com/jwt/ruby-jwt/pull/449) ([loic5](https://github.com/loic5))
46
+ - Allow regular expressions and procs to verify issuer [\#437](https://github.com/jwt/ruby-jwt/pull/437) ([rewritten](https://github.com/rewritten))
47
+ - Add Support to be able to verify from multiple keys [\#425](https://github.com/jwt/ruby-jwt/pull/425) ([ritikesh](https://github.com/ritikesh))
48
+ - Define the secp256r1 curve [\#385](https://github.com/jwt/ruby-jwt/pull/385) ([anakinj](https://github.com/anakinj))
49
+
3
50
  ## [v2.3.0](https://github.com/jwt/ruby-jwt/tree/v2.3.0) (2021-10-03)
4
51
 
5
52
  [Full Changelog](https://github.com/jwt/ruby-jwt/compare/v2.2.3...v2.3.0)
@@ -16,6 +63,7 @@
16
63
 
17
64
  **Merged pull requests:**
18
65
 
66
+ - Release 2.3.0 [\#448](https://github.com/jwt/ruby-jwt/pull/448) ([excpt](https://github.com/excpt))
19
67
  - Fix Style/MultilineIfModifier issues [\#447](https://github.com/jwt/ruby-jwt/pull/447) ([anakinj](https://github.com/anakinj))
20
68
  - feat\(EdDSA\): Accept EdDSA as algorithm header [\#446](https://github.com/jwt/ruby-jwt/pull/446) ([Pierre-Michard](https://github.com/Pierre-Michard))
21
69
  - Pass kid param through JWT::JWK.create\_from [\#445](https://github.com/jwt/ruby-jwt/pull/445) ([shaun-guth-allscripts](https://github.com/shaun-guth-allscripts))