devise-secure_password 2.0.1 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7228c3eafd3d7554a37b96786de8d2ee9cfb7ea60fa57da8eb5dff00546c7336
4
- data.tar.gz: b8c98102fabdd8522648e736c147cdcfd57ea6bb61657ad69c0f20ce71abfca1
3
+ metadata.gz: a2e80099b8c322cd261f7a0fbd90084067f7dddfdd54f3dae8fcddb5332f8699
4
+ data.tar.gz: d2d48b58dc422ff894eec4d13628059fb41dcbbd80adc7e7a3a5062c7bb78ae3
5
5
  SHA512:
6
- metadata.gz: 8b7244208f39e2053fe73a300c1d3591f8e6a43bbebd72702fc6061f7ba2ad277b5b60064b14439c76d7cc5bebcd3059477d8db102048631c90948a74fb7ec76
7
- data.tar.gz: 823302d61a5589a8444552ed2f4f2647795e025ef803d08b7a27cf06e131c79638a926fa46f73ae5a95a66c7ecbb25e0a9549b330e1e323c45d932b7055bfc9c
6
+ metadata.gz: c4bd7731fedbef2c0fcc378e7b99a1f062b219158d111474d9610b66ae65f57810f4919fe2041b9834afde0aa80b81ffeff449d83c29d4790c1dbcc686e659f3
7
+ data.tar.gz: ba5e45d193293c1e3e76899fea8b1689772bf8cfd19f54f5a61659f1a4e2868df7cca5e297de504dc73809bb99000b6217fcfe60c477281c77aa22621fba06d1
data/Changelog.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog: devise-secure_password
2
2
 
3
+ ## 2.1.0 / 2024-06-02
4
+
5
+ * Various CircleCI updates.
6
+ * Update README for (Rails, Ruby) versions tested.
7
+ * Drop support for old Ruby and Rails; add support for Rails 7.0.
8
+ * Implement support to additional special characters. #71
9
+ * several years worth of dependabot updates
10
+
3
11
  ## 1.1.0 / 2018-08-08
4
12
 
5
13
  With this release, the __devise-secure_password__ gem drops official support for Rails < 5.1. Supported versions are now
data/Gemfile.lock CHANGED
@@ -1,232 +1,298 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- devise-secure_password (2.0.1)
4
+ devise-secure_password (2.1.0)
5
5
  devise (>= 4.0.0, < 5.0.0)
6
- railties (>= 5.0.0, < 7.0.0)
6
+ railties (>= 5.0.0, < 8.0.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actioncable (6.1.3.1)
12
- actionpack (= 6.1.3.1)
13
- activesupport (= 6.1.3.1)
11
+ actioncable (7.1.3.2)
12
+ actionpack (= 7.1.3.2)
13
+ activesupport (= 7.1.3.2)
14
14
  nio4r (~> 2.0)
15
15
  websocket-driver (>= 0.6.1)
16
- actionmailbox (6.1.3.1)
17
- actionpack (= 6.1.3.1)
18
- activejob (= 6.1.3.1)
19
- activerecord (= 6.1.3.1)
20
- activestorage (= 6.1.3.1)
21
- activesupport (= 6.1.3.1)
16
+ zeitwerk (~> 2.6)
17
+ actionmailbox (7.1.3.2)
18
+ actionpack (= 7.1.3.2)
19
+ activejob (= 7.1.3.2)
20
+ activerecord (= 7.1.3.2)
21
+ activestorage (= 7.1.3.2)
22
+ activesupport (= 7.1.3.2)
22
23
  mail (>= 2.7.1)
23
- actionmailer (6.1.3.1)
24
- actionpack (= 6.1.3.1)
25
- actionview (= 6.1.3.1)
26
- activejob (= 6.1.3.1)
27
- activesupport (= 6.1.3.1)
24
+ net-imap
25
+ net-pop
26
+ net-smtp
27
+ actionmailer (7.1.3.2)
28
+ actionpack (= 7.1.3.2)
29
+ actionview (= 7.1.3.2)
30
+ activejob (= 7.1.3.2)
31
+ activesupport (= 7.1.3.2)
28
32
  mail (~> 2.5, >= 2.5.4)
29
- rails-dom-testing (~> 2.0)
30
- actionpack (6.1.3.1)
31
- actionview (= 6.1.3.1)
32
- activesupport (= 6.1.3.1)
33
- rack (~> 2.0, >= 2.0.9)
33
+ net-imap
34
+ net-pop
35
+ net-smtp
36
+ rails-dom-testing (~> 2.2)
37
+ actionpack (7.1.3.2)
38
+ actionview (= 7.1.3.2)
39
+ activesupport (= 7.1.3.2)
40
+ nokogiri (>= 1.8.5)
41
+ racc
42
+ rack (>= 2.2.4)
43
+ rack-session (>= 1.0.1)
34
44
  rack-test (>= 0.6.3)
35
- rails-dom-testing (~> 2.0)
36
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
- actiontext (6.1.3.1)
38
- actionpack (= 6.1.3.1)
39
- activerecord (= 6.1.3.1)
40
- activestorage (= 6.1.3.1)
41
- activesupport (= 6.1.3.1)
45
+ rails-dom-testing (~> 2.2)
46
+ rails-html-sanitizer (~> 1.6)
47
+ actiontext (7.1.3.2)
48
+ actionpack (= 7.1.3.2)
49
+ activerecord (= 7.1.3.2)
50
+ activestorage (= 7.1.3.2)
51
+ activesupport (= 7.1.3.2)
52
+ globalid (>= 0.6.0)
42
53
  nokogiri (>= 1.8.5)
43
- actionview (6.1.3.1)
44
- activesupport (= 6.1.3.1)
54
+ actionview (7.1.3.2)
55
+ activesupport (= 7.1.3.2)
45
56
  builder (~> 3.1)
46
- erubi (~> 1.4)
47
- rails-dom-testing (~> 2.0)
48
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
- activejob (6.1.3.1)
50
- activesupport (= 6.1.3.1)
57
+ erubi (~> 1.11)
58
+ rails-dom-testing (~> 2.2)
59
+ rails-html-sanitizer (~> 1.6)
60
+ activejob (7.1.3.2)
61
+ activesupport (= 7.1.3.2)
51
62
  globalid (>= 0.3.6)
52
- activemodel (6.1.3.1)
53
- activesupport (= 6.1.3.1)
54
- activerecord (6.1.3.1)
55
- activemodel (= 6.1.3.1)
56
- activesupport (= 6.1.3.1)
57
- activestorage (6.1.3.1)
58
- actionpack (= 6.1.3.1)
59
- activejob (= 6.1.3.1)
60
- activerecord (= 6.1.3.1)
61
- activesupport (= 6.1.3.1)
62
- marcel (~> 1.0.0)
63
- mini_mime (~> 1.0.2)
64
- activesupport (6.1.3.1)
63
+ activemodel (7.1.3.2)
64
+ activesupport (= 7.1.3.2)
65
+ activerecord (7.1.3.2)
66
+ activemodel (= 7.1.3.2)
67
+ activesupport (= 7.1.3.2)
68
+ timeout (>= 0.4.0)
69
+ activestorage (7.1.3.2)
70
+ actionpack (= 7.1.3.2)
71
+ activejob (= 7.1.3.2)
72
+ activerecord (= 7.1.3.2)
73
+ activesupport (= 7.1.3.2)
74
+ marcel (~> 1.0)
75
+ activesupport (7.1.3.2)
76
+ base64
77
+ bigdecimal
65
78
  concurrent-ruby (~> 1.0, >= 1.0.2)
79
+ connection_pool (>= 2.2.5)
80
+ drb
66
81
  i18n (>= 1.6, < 2)
67
82
  minitest (>= 5.1)
83
+ mutex_m
68
84
  tzinfo (~> 2.0)
69
- zeitwerk (~> 2.3)
70
- addressable (2.7.0)
71
- public_suffix (>= 2.0.2, < 5.0)
85
+ addressable (2.8.6)
86
+ public_suffix (>= 2.0.2, < 6.0)
72
87
  ansi (1.5.0)
73
88
  ast (2.4.2)
74
- bcrypt (3.1.16)
89
+ base64 (0.2.0)
90
+ bcrypt (3.1.20)
91
+ bigdecimal (3.1.7)
75
92
  builder (3.2.4)
76
- capybara (3.35.3)
93
+ capybara (3.40.0)
77
94
  addressable
95
+ matrix
78
96
  mini_mime (>= 0.1.3)
79
- nokogiri (~> 1.8)
97
+ nokogiri (~> 1.11)
80
98
  rack (>= 1.6.0)
81
99
  rack-test (>= 0.6.3)
82
100
  regexp_parser (>= 1.5, < 3.0)
83
101
  xpath (~> 3.2)
84
- capybara-screenshot (1.0.25)
102
+ capybara-screenshot (1.0.26)
85
103
  capybara (>= 1.0, < 4)
86
104
  launchy
87
- childprocess (3.0.0)
88
- codecov (0.5.2)
105
+ childprocess (5.0.0)
106
+ codecov (0.6.0)
89
107
  simplecov (>= 0.15, < 0.22)
90
- concurrent-ruby (1.1.8)
108
+ concurrent-ruby (1.2.3)
109
+ connection_pool (2.4.1)
91
110
  crass (1.0.6)
92
- database_cleaner (2.0.1)
93
- database_cleaner-active_record (~> 2.0.0)
94
- database_cleaner-active_record (2.0.0)
111
+ database_cleaner (2.0.2)
112
+ database_cleaner-active_record (>= 2, < 3)
113
+ database_cleaner-active_record (2.1.0)
95
114
  activerecord (>= 5.a)
96
115
  database_cleaner-core (~> 2.0.0)
97
116
  database_cleaner-core (2.0.1)
98
- devise (4.8.0)
117
+ date (3.3.4)
118
+ devise (4.9.3)
99
119
  bcrypt (~> 3.0)
100
120
  orm_adapter (~> 0.1)
101
121
  railties (>= 4.1.0)
102
122
  responders
103
123
  warden (~> 1.2.3)
104
- diff-lcs (1.4.4)
105
- docile (1.3.5)
106
- erubi (1.10.0)
107
- erubis (2.7.0)
108
- flay (2.12.1)
109
- erubis (~> 2.7.0)
124
+ diff-lcs (1.5.1)
125
+ docile (1.4.0)
126
+ drb (2.2.1)
127
+ erubi (1.12.0)
128
+ flay (2.13.2)
129
+ erubi (~> 1.10)
110
130
  path_expander (~> 1.0)
111
131
  ruby_parser (~> 3.0)
112
132
  sexp_processor (~> 4.0)
113
- globalid (0.4.2)
114
- activesupport (>= 4.2.0)
115
- i18n (1.8.10)
133
+ globalid (1.2.1)
134
+ activesupport (>= 6.1)
135
+ i18n (1.14.4)
116
136
  concurrent-ruby (~> 1.0)
117
- launchy (2.5.0)
118
- addressable (~> 2.7)
119
- loofah (2.9.1)
137
+ io-console (0.7.2)
138
+ irb (1.12.0)
139
+ rdoc
140
+ reline (>= 0.4.2)
141
+ json (2.7.1)
142
+ language_server-protocol (3.17.0.3)
143
+ launchy (3.0.0)
144
+ addressable (~> 2.8)
145
+ childprocess (~> 5.0)
146
+ loofah (2.22.0)
120
147
  crass (~> 1.0.2)
121
- nokogiri (>= 1.5.9)
122
- mail (2.7.1)
148
+ nokogiri (>= 1.12.0)
149
+ mail (2.8.1)
123
150
  mini_mime (>= 0.1.1)
124
- marcel (1.0.1)
125
- method_source (1.0.0)
126
- mini_mime (1.0.3)
127
- mini_portile2 (2.5.1)
128
- minitest (5.14.4)
129
- nio4r (2.5.7)
130
- nokogiri (1.11.3)
131
- mini_portile2 (~> 2.5.0)
151
+ net-imap
152
+ net-pop
153
+ net-smtp
154
+ marcel (1.0.4)
155
+ matrix (0.4.2)
156
+ mini_mime (1.1.5)
157
+ mini_portile2 (2.8.5)
158
+ minitest (5.22.3)
159
+ mutex_m (0.2.0)
160
+ net-imap (0.4.10)
161
+ date
162
+ net-protocol
163
+ net-pop (0.1.2)
164
+ net-protocol
165
+ net-protocol (0.2.2)
166
+ timeout
167
+ net-smtp (0.4.0.1)
168
+ net-protocol
169
+ nio4r (2.7.1)
170
+ nokogiri (1.16.3)
171
+ mini_portile2 (~> 2.8.2)
132
172
  racc (~> 1.4)
133
173
  orm_adapter (0.5.0)
134
- parallel (1.20.1)
135
- parser (3.0.1.1)
174
+ parallel (1.24.0)
175
+ parser (3.3.0.5)
136
176
  ast (~> 2.4.1)
137
- path_expander (1.1.0)
138
- public_suffix (4.0.6)
139
- racc (1.5.2)
140
- rack (2.2.3)
141
- rack-test (1.1.0)
142
- rack (>= 1.0, < 3)
143
- rails (6.1.3.1)
144
- actioncable (= 6.1.3.1)
145
- actionmailbox (= 6.1.3.1)
146
- actionmailer (= 6.1.3.1)
147
- actionpack (= 6.1.3.1)
148
- actiontext (= 6.1.3.1)
149
- actionview (= 6.1.3.1)
150
- activejob (= 6.1.3.1)
151
- activemodel (= 6.1.3.1)
152
- activerecord (= 6.1.3.1)
153
- activestorage (= 6.1.3.1)
154
- activesupport (= 6.1.3.1)
177
+ racc
178
+ path_expander (1.1.1)
179
+ psych (5.1.2)
180
+ stringio
181
+ public_suffix (5.0.4)
182
+ racc (1.7.3)
183
+ rack (3.0.10)
184
+ rack-session (2.0.0)
185
+ rack (>= 3.0.0)
186
+ rack-test (2.1.0)
187
+ rack (>= 1.3)
188
+ rackup (2.1.0)
189
+ rack (>= 3)
190
+ webrick (~> 1.8)
191
+ rails (7.1.3.2)
192
+ actioncable (= 7.1.3.2)
193
+ actionmailbox (= 7.1.3.2)
194
+ actionmailer (= 7.1.3.2)
195
+ actionpack (= 7.1.3.2)
196
+ actiontext (= 7.1.3.2)
197
+ actionview (= 7.1.3.2)
198
+ activejob (= 7.1.3.2)
199
+ activemodel (= 7.1.3.2)
200
+ activerecord (= 7.1.3.2)
201
+ activestorage (= 7.1.3.2)
202
+ activesupport (= 7.1.3.2)
155
203
  bundler (>= 1.15.0)
156
- railties (= 6.1.3.1)
157
- sprockets-rails (>= 2.0.0)
158
- rails-dom-testing (2.0.3)
159
- activesupport (>= 4.2.0)
204
+ railties (= 7.1.3.2)
205
+ rails-dom-testing (2.2.0)
206
+ activesupport (>= 5.0.0)
207
+ minitest
160
208
  nokogiri (>= 1.6)
161
- rails-html-sanitizer (1.3.0)
162
- loofah (~> 2.3)
163
- railties (6.1.3.1)
164
- actionpack (= 6.1.3.1)
165
- activesupport (= 6.1.3.1)
166
- method_source
167
- rake (>= 0.8.7)
168
- thor (~> 1.0)
169
- rainbow (3.0.0)
170
- rake (13.0.3)
171
- regexp_parser (2.1.1)
172
- responders (3.0.1)
173
- actionpack (>= 5.0)
174
- railties (>= 5.0)
175
- rexml (3.2.5)
176
- rspec (3.10.0)
177
- rspec-core (~> 3.10.0)
178
- rspec-expectations (~> 3.10.0)
179
- rspec-mocks (~> 3.10.0)
180
- rspec-core (3.10.1)
181
- rspec-support (~> 3.10.0)
182
- rspec-expectations (3.10.1)
183
- diff-lcs (>= 1.2.0, < 2.0)
184
- rspec-support (~> 3.10.0)
185
- rspec-mocks (3.10.2)
186
- diff-lcs (>= 1.2.0, < 2.0)
187
- rspec-support (~> 3.10.0)
188
- rspec-rails (5.0.1)
209
+ rails-html-sanitizer (1.6.0)
210
+ loofah (~> 2.21)
211
+ nokogiri (~> 1.14)
212
+ railties (7.1.3.2)
213
+ actionpack (= 7.1.3.2)
214
+ activesupport (= 7.1.3.2)
215
+ irb
216
+ rackup (>= 1.0.0)
217
+ rake (>= 12.2)
218
+ thor (~> 1.0, >= 1.2.2)
219
+ zeitwerk (~> 2.6)
220
+ rainbow (3.1.1)
221
+ rake (13.1.0)
222
+ rdoc (6.6.3.1)
223
+ psych (>= 4.0.0)
224
+ regexp_parser (2.9.0)
225
+ reline (0.4.3)
226
+ io-console (~> 0.5)
227
+ responders (3.1.1)
189
228
  actionpack (>= 5.2)
190
- activesupport (>= 5.2)
191
229
  railties (>= 5.2)
192
- rspec-core (~> 3.10)
193
- rspec-expectations (~> 3.10)
194
- rspec-mocks (~> 3.10)
195
- rspec-support (~> 3.10)
196
- rspec-support (3.10.2)
197
- rspec_junit_formatter (0.4.1)
230
+ rexml (3.2.6)
231
+ rspec (3.13.0)
232
+ rspec-core (~> 3.13.0)
233
+ rspec-expectations (~> 3.13.0)
234
+ rspec-mocks (~> 3.13.0)
235
+ rspec-core (3.13.0)
236
+ rspec-support (~> 3.13.0)
237
+ rspec-expectations (3.13.0)
238
+ diff-lcs (>= 1.2.0, < 2.0)
239
+ rspec-support (~> 3.13.0)
240
+ rspec-mocks (3.13.0)
241
+ diff-lcs (>= 1.2.0, < 2.0)
242
+ rspec-support (~> 3.13.0)
243
+ rspec-rails (6.1.2)
244
+ actionpack (>= 6.1)
245
+ activesupport (>= 6.1)
246
+ railties (>= 6.1)
247
+ rspec-core (~> 3.13)
248
+ rspec-expectations (~> 3.13)
249
+ rspec-mocks (~> 3.13)
250
+ rspec-support (~> 3.13)
251
+ rspec-support (3.13.1)
252
+ rspec_junit_formatter (0.6.0)
198
253
  rspec-core (>= 2, < 4, != 2.12.0)
199
- rubocop (1.13.0)
254
+ rubocop (1.62.1)
255
+ json (~> 2.3)
256
+ language_server-protocol (>= 3.17.0)
200
257
  parallel (~> 1.10)
201
- parser (>= 3.0.0.0)
258
+ parser (>= 3.3.0.2)
202
259
  rainbow (>= 2.2.2, < 4.0)
203
260
  regexp_parser (>= 1.8, < 3.0)
204
- rexml
205
- rubocop-ast (>= 1.2.0, < 2.0)
261
+ rexml (>= 3.2.5, < 4.0)
262
+ rubocop-ast (>= 1.31.1, < 2.0)
206
263
  ruby-progressbar (~> 1.7)
207
- unicode-display_width (>= 1.4.0, < 3.0)
208
- rubocop-ast (1.5.0)
209
- parser (>= 3.0.1.1)
210
- rubocop-rails (2.9.1)
264
+ unicode-display_width (>= 2.4.0, < 3.0)
265
+ rubocop-ast (1.31.2)
266
+ parser (>= 3.3.0.4)
267
+ rubocop-capybara (2.20.0)
268
+ rubocop (~> 1.41)
269
+ rubocop-factory_bot (2.25.1)
270
+ rubocop (~> 1.41)
271
+ rubocop-rails (2.24.0)
211
272
  activesupport (>= 4.2.0)
212
273
  rack (>= 1.1)
213
- rubocop (>= 0.90.0, < 2.0)
214
- rubocop-rspec (2.3.0)
215
- rubocop (~> 1.0)
216
- rubocop-ast (>= 1.1.0)
217
- ruby-progressbar (1.11.0)
218
- ruby2ruby (2.4.4)
274
+ rubocop (>= 1.33.0, < 2.0)
275
+ rubocop-ast (>= 1.31.1, < 2.0)
276
+ rubocop-rspec (2.27.1)
277
+ rubocop (~> 1.40)
278
+ rubocop-capybara (~> 2.17)
279
+ rubocop-factory_bot (~> 2.22)
280
+ ruby-progressbar (1.13.0)
281
+ ruby2ruby (2.5.0)
219
282
  ruby_parser (~> 3.1)
220
283
  sexp_processor (~> 4.6)
221
- ruby_parser (3.15.1)
222
- sexp_processor (~> 4.9)
223
- rubyzip (2.3.0)
224
- selenium-webdriver (3.142.7)
225
- childprocess (>= 0.5, < 4.0)
226
- rubyzip (>= 1.2.2)
227
- sexp_processor (4.15.2)
228
- shoulda-matchers (4.5.1)
229
- activesupport (>= 4.2.0)
284
+ ruby_parser (3.21.0)
285
+ racc (~> 1.5)
286
+ sexp_processor (~> 4.16)
287
+ rubyzip (2.3.2)
288
+ selenium-webdriver (4.18.1)
289
+ base64 (~> 0.2)
290
+ rexml (~> 3.2, >= 3.2.5)
291
+ rubyzip (>= 1.2.2, < 3.0)
292
+ websocket (~> 1.0)
293
+ sexp_processor (4.17.1)
294
+ shoulda-matchers (6.2.0)
295
+ activesupport (>= 5.2.0)
230
296
  simplecov (0.21.2)
231
297
  docile (~> 1.1)
232
298
  simplecov-html (~> 0.11)
@@ -236,29 +302,27 @@ GEM
236
302
  simplecov
237
303
  terminal-table
238
304
  simplecov-html (0.12.3)
239
- simplecov_json_formatter (0.1.3)
240
- sprockets (4.0.2)
241
- concurrent-ruby (~> 1.0)
242
- rack (> 1, < 3)
243
- sprockets-rails (3.2.2)
244
- actionpack (>= 4.0)
245
- activesupport (>= 4.0)
246
- sprockets (>= 3.0.0)
247
- sqlite3 (1.4.2)
248
- terminal-table (3.0.0)
249
- unicode-display_width (~> 1.1, >= 1.1.1)
250
- thor (1.1.0)
251
- tzinfo (2.0.4)
305
+ simplecov_json_formatter (0.1.4)
306
+ sqlite3 (1.7.3)
307
+ mini_portile2 (~> 2.8.0)
308
+ stringio (3.1.0)
309
+ terminal-table (3.0.2)
310
+ unicode-display_width (>= 1.1.1, < 3)
311
+ thor (1.3.1)
312
+ timeout (0.4.1)
313
+ tzinfo (2.0.6)
252
314
  concurrent-ruby (~> 1.0)
253
- unicode-display_width (1.7.0)
315
+ unicode-display_width (2.5.0)
254
316
  warden (1.2.9)
255
317
  rack (>= 2.0.9)
256
- websocket-driver (0.7.3)
318
+ webrick (1.8.1)
319
+ websocket (1.2.10)
320
+ websocket-driver (0.7.6)
257
321
  websocket-extensions (>= 0.1.0)
258
322
  websocket-extensions (0.1.5)
259
323
  xpath (3.2.0)
260
324
  nokogiri (~> 1.8)
261
- zeitwerk (2.4.2)
325
+ zeitwerk (2.6.13)
262
326
 
263
327
  PLATFORMS
264
328
  ruby
@@ -273,7 +337,7 @@ DEPENDENCIES
273
337
  devise-secure_password!
274
338
  flay (>= 2.10.0)
275
339
  launchy (>= 2.4.3)
276
- rails (>= 5.2.0)
340
+ rails (>= 6.1.0)
277
341
  rake (>= 12.3)
278
342
  rspec (>= 3.7)
279
343
  rspec-rails (>= 3.7)
@@ -286,7 +350,7 @@ DEPENDENCIES
286
350
  shoulda-matchers
287
351
  simplecov (>= 0.18.2)
288
352
  simplecov-console (>= 0.4.2)
289
- sqlite3 (>= 1.3.13)
353
+ sqlite3 (>= 1.7.0)
290
354
 
291
355
  BUNDLED WITH
292
- 2.2.16
356
+ 2.5.10
data/README.md CHANGED
@@ -7,12 +7,6 @@ added to a Rails project to enforce password policies. The gem is implemented as
7
7
  [devise](https://github.com/plataformatec/devise) authentication solution gem and requires that __devise__ is installed
8
8
  as well.
9
9
 
10
- ## Build Status
11
-
12
- | Service | rails 6.1 |
13
- |:-----------|:-----------:|
14
- | Circle CI | [![Circle CI](https://circleci.com/gh/ValiMail/devise-secure_password/tree/master.svg?style=shield&circle-token=cd173d5f9d2944a9b14737c2d4339b20b08565cf)]() |
15
-
16
10
  ## Overview
17
11
 
18
12
  The __Devise Secure Password Extension__ is composed of the following modules:
@@ -32,15 +26,48 @@ The goal of this project is to provide compatibility for officially supported st
32
26
  and [Ruby on Rails](http://guides.rubyonrails.org/maintenance_policy.html). More specifically, the following releases
33
27
  are currently supported by the __Devise Secure Password Extension__:
34
28
 
35
- - Ruby on Rails: __6.1.x__, __6.0.x__ (current and previous stable release)
36
- - Ruby: __3.0.x__, __2.7.x__ (current and previous stable release)
29
+ - Ruby on Rails: __6.1.x__, __7.0.x__
30
+ - Ruby: __3.1.x__, __3.2.x__, __3.3.x__
31
+
32
+ ### Updating to a New Rails Version
33
+
34
+ This gem uses so-called "dummy" apps in the specs to verify compatibility with a major/minor version of Rails. Adding a new major/minor version of Rails requires us to add a new "dummy" app in the spec folder, and a corresponding Gemfile in the gemfiles directory. While manual, this process is relatively straightforward:
35
+
36
+ 1. Create a new Rails app in the directory `spec/rails_<major>_<minor>` by using the Rails generator for that version, ensuring you skip Git setup. (e.g. `cd spec; rails _6.0.3.6_ new rails-app-6_0 --skip-git`)
37
+ 2. Move the Gemfile from the newly created app to the `gemfiles` directory and rename it with the major/minor version (e.g. `mv spec/rails_6_1/Gemfile gemfiles/rails_6_1.gemfile`)
38
+ 3. Update the Gemfile to include the Rails target and gemspec immediately beneath the source declarations, like this:
39
+
40
+ ```ruby
41
+ source 'https://rubygems.org'
42
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
43
+
44
+ ENV['RAILS_TARGET'] ||= '6.1'
45
+
46
+ gemspec path: '../'
47
+ ```
48
+
49
+ 4. Add `gem 'shoulda-matchers'` under the test group in the new Gemfile
50
+ 5. Ensure you can bundle by running `bundle` with the `BUNDLE_GEMFILE` variable set to the new Gemfile (i.e. `BUNDLE_GEMFILE=gemfiles/rails_6_1.gemfile bundle`). This should run successfully - fix as needed.
51
+ 6. Copy the file `config/initializers/devise.rb` from an existing "dummy" app to the same location in the new app.
52
+ 7. Copy the file `config/routes.rb` from an existing "dummy" app to the same location in the new app.
53
+ 8. Copy the contents of the `db/migrate` directory from an existing "dummy" app to the same location in the new app. Copy the `db/schema.rb` and `db/test.sqlite3` as well
54
+ 9. Copy the `app/controllers/static_pages_controller.rb` from an existing "dummy" app to the same location in the new app.
55
+ 10. Copy the `app/models/isolated` directory and the `app/models/user.rb` file from an existing "dummy" app to the same location in the new app.
56
+ 11. Copy the `app/views/static_pages` directory from an existing "dummy" app to the same location in the new app.
57
+ 12. Update the `app/views/layouts/application.html.erb` in the new app to have the same `<body>` content and `<title>` as the same file in an existing "dummy" app.
58
+ 13. At this point you should be able to run specs. (i.e. `BUNDLE_GEMFILE=gemfiles/rails_6_1.gemfile bundle exec rake`). Run specs and fix version specific issues, taking care to maintain backwards compatibility with supported versions.
59
+ 14. You should also run Rubocop (i.e. `BUNDLE_GEMFILE=gemfiles/rails_6_1.gemfile bundle exec rubocop`) and fix whatever issues are reported (again, maintaining backwards compatibility)
60
+ 15. In the `.circleci/config.yml` file update the `current_rails_gemfile` and `previous_rails_gemfile` to reference the new version and the previous version of Rails to be supported
61
+ 16. Delete any files for old Rails versions that are no longer supported - "dummy" apps and the corresponding `gemfiles` Gemfile.
62
+ 17. Update the Circle CI badge label in this README to reflect the newly supported Rails version.
63
+
37
64
 
38
65
  ## Installation
39
66
 
40
67
  Add this line to your application's Gemfile:
41
68
 
42
69
  ```ruby
43
- gem 'devise', '~> 4.7'
70
+ gem 'devise', '~> 4.8'
44
71
  gem 'devise-secure_password', '~> 2.0'
45
72
  ```
46
73
 
@@ -88,7 +115,7 @@ Devise.setup do |config|
88
115
  # The number of numbers (0-9) required in a password:
89
116
  # config.password_required_number_count = 1
90
117
 
91
- # The number of special characters (!@#$%^&*()_+-=[]{}|') required in a password:
118
+ # The number of special characters ( !@#$%^&*()_+-=[]{}|'"/\.,`<>:;?~) required in a password:
92
119
  # config.password_required_special_character_count = 1
93
120
 
94
121
  # ==> Configuration for the Devise Secure Password extension
@@ -228,14 +255,14 @@ To determine the Ruby on Rails versions supported by this release, run the follo
228
255
  prompt> gem install flay ruby2ruby rubocop rspec
229
256
  prompt> rake test:spec:targets
230
257
 
231
- Available Rails targets: 5.1, 5.2
258
+ Available Rails targets: 7.0, 6.1
232
259
  ```
233
260
 
234
261
  Reconfigure the project by specifying the correct Gemfile when running bundler, followed by running tests:
235
262
 
236
263
  ```bash
237
- prompt> BUNDLE_GEMFILE=gemfiles/rails_5_2.gemfile bundle
238
- prompt> BUNDLE_GEMFILE=gemfiles/rails_5_2.gemfile bundle exec rake
264
+ prompt> BUNDLE_GEMFILE=gemfiles/rails_7_0.gemfile bundle
265
+ prompt> BUNDLE_GEMFILE=gemfiles/rails_7_0.gemfile bundle exec rake
239
266
  ```
240
267
 
241
268
  The only time you need to define the `BUNDLE_GEMFILE` environment variable is when testing a non-default target.