devise-secure_password 2.0.1 → 2.1.0

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: 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.