dry-validation 1.4.1 → 1.5.3

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: 7da2738360b969decba415a2a6418b41ca8b55202d39dd6843871722b904164e
4
- data.tar.gz: 20cfc387c6ebe8ce8ffd9b6d9227d59393cf304ba70bdd01ace0ff13d67e99fe
3
+ metadata.gz: 335dfa8db4764cd1c86619371fea202bfeb0c80cf9a84a2069d7fe4c92a1f5af
4
+ data.tar.gz: 851e5d59e8c4a1c9ce338d5e3fb01b02159da120fb2a775bcec5168ac705c20e
5
5
  SHA512:
6
- metadata.gz: 5d86de3a87c58f51dabd171950a3d72398e3a93fde3ac521937c0e7b13518388519238127968eb330b991774a2d017b109e3ddc919e23d423771c2bee6361a63
7
- data.tar.gz: 86c6cc8cf5ea0ba31dda616f68cedd2481f9e1f8455d787d4575583af7ad7428cee4de45477bf454084adacd6778216f2867dc95ac0cbe1e9fad2889a07f124a
6
+ metadata.gz: 1da1b675edac12c4d7256cb15b770a87387ffc352330434db7a82f177c65ce21dcc8a4803fce2be1d85d29be8df26979fe6e91d43111cebe04c6875500523c29
7
+ data.tar.gz: 102cf75e197be20843af749584c2a6abd57ce8334d940bff7dd06dc4e37c54fd451bb244dc3365bca913334e3b0c3b3bd391c68b3f9c4e13c4da6efb9c69213f
@@ -1,4 +1,65 @@
1
- # v1.4.1 2020-01-08
1
+ ## 1.5.3 2020-07-27
2
+
3
+
4
+ ### Added
5
+
6
+ - You can now access current value's index via `rule(:foo).each do |index:|` (issue #606 done via #657) (@mrbongiolo)
7
+
8
+ ### Changed
9
+
10
+ - `Result#error?` is now a public API and it takes into consideration both schema and rule errors (issue #655 fixed via #656) (@PragTob)
11
+
12
+ [Compare v1.5.2...v1.5.3](https://github.com/dry-rb/dry-validation/compare/v1.5.2...v1.5.3)
13
+
14
+ ## 1.5.2 2020-07-14
15
+
16
+
17
+ ### Fixed
18
+
19
+ - `key?` predicate in rules no longer crashes when the rule path points to a non-existent array value (issue #653 fixed via #654) (@solnic)
20
+
21
+
22
+ [Compare v1.5.1...v1.5.2](https://github.com/dry-rb/dry-validation/compare/v1.5.1...v1.5.2)
23
+
24
+ ## 1.5.1 2020-06-18
25
+
26
+
27
+ ### Fixed
28
+
29
+ - dry-monads no longer required for the `:hints` extension (@schokomarie)
30
+ - Using `full: true` option works as expected with custom rule messages (issue #618 fixed via #651) (@sirfilip)
31
+ - Using `locale: ...` option works as expected with hints (issue #589 fixed via 652) (@sirfilip)
32
+
33
+
34
+ [Compare v1.5.0...v1.5.1](https://github.com/dry-rb/dry-validation/compare/v1.5.0...v1.5.1)
35
+
36
+ ## 1.5.0 2020-03-11
37
+
38
+
39
+ ### Added
40
+
41
+ - `schema_error?` rule helper (@waiting-for-dev)
42
+ - `rule_error?` rule helper (@waiting-for-dev)
43
+
44
+ ### Changed
45
+
46
+ - dry-schema dependency was bumped to `~> 1.5` (@solnic)
47
+ - [internal] `KeyMap` patches have been removed since dry-schema now provides required functionality (@solnic)
48
+
49
+ [Compare v1.4.2...v1.5.0](https://github.com/dry-rb/dry-validation/compare/v1.4.2...v1.5.0)
50
+
51
+ ## 1.4.2 2020-01-18
52
+
53
+
54
+ ### Fixed
55
+
56
+ - Macros using predicates that accept a range argument work as expected (no need to wrap the argument in an array) (@waiting-for-dev)
57
+
58
+
59
+ [Compare v1.4.1...v1.4.2](https://github.com/dry-rb/dry-validation/compare/v1.4.1...v1.4.2)
60
+
61
+ ## 1.4.1 2020-01-08
62
+
2
63
 
3
64
  ### Added
4
65
 
@@ -8,11 +69,12 @@
8
69
 
9
70
  - List tokens are correctly interpolated as a comma separated list in rule messages (see #611) (@waiting-for-dev)
10
71
  - Warnings about delegated keywords (@flash-gordon)
11
- - A few delegation warnings about keyword arguments (@flash-gordon)
72
+
12
73
 
13
74
  [Compare v1.4.0...v1.4.1](https://github.com/dry-rb/dry-validation/compare/v1.4.0...v1.4.1)
14
75
 
15
- # v1.4.0 2019-12-12
76
+ ## 1.4.0 2019-12-12
77
+
16
78
 
17
79
  ### Added
18
80
 
@@ -32,7 +94,8 @@
32
94
 
33
95
  [Compare v1.3.1...v1.4.0](https://github.com/dry-rb/dry-validation/compare/v1.3.1...v1.4.0)
34
96
 
35
- # v1.3.1 2019-08-16
97
+ ## 1.3.1 2019-08-16
98
+
36
99
 
37
100
  ### Changed
38
101
 
@@ -40,7 +103,8 @@
40
103
 
41
104
  [Compare v1.3.0...v1.3.1](https://github.com/dry-rb/dry-validation/compare/v1.3.0...v1.3.1)
42
105
 
43
- # v1.3.0 2019-08-14
106
+ ## 1.3.0 2019-08-14
107
+
44
108
 
45
109
  ### Added
46
110
 
@@ -56,7 +120,8 @@
56
120
 
57
121
  [Compare v1.2.1...v1.3.0](https://github.com/dry-rb/dry-validation/compare/v1.2.1...v1.3.0)
58
122
 
59
- # v1.2.1 2019-07-16
123
+ ## 1.2.1 2019-07-16
124
+
60
125
 
61
126
  ### Fixed
62
127
 
@@ -65,9 +130,11 @@
65
130
  - Fixed an issue where guarding a rule would crash when keys are missing in the input (issue #569) (@solnic)
66
131
  - Added missing "pathname" require (issue #570) (@solnic)
67
132
 
133
+
68
134
  [Compare v1.2.0...v1.2.1](https://github.com/dry-rb/dry-validation/compare/v1.2.0...v1.2.1)
69
135
 
70
- # v1.2.0 2019-07-08
136
+ ## 1.2.0 2019-07-08
137
+
71
138
 
72
139
  ### Added
73
140
 
@@ -83,15 +150,18 @@
83
150
 
84
151
  [Compare v1.1.1...v1.2.0](https://github.com/dry-rb/dry-validation/compare/v1.1.1...v1.2.0)
85
152
 
86
- # v1.1.1 2019-06-24
153
+ ## 1.1.1 2019-06-24
154
+
87
155
 
88
156
  ### Fixed
89
157
 
90
158
  - `Rule#each` works with array values from nested hashes (@mustardnoise)
91
159
 
160
+
92
161
  [Compare v1.1.0...v1.1.1](https://github.com/dry-rb/dry-validation/compare/v1.1.0...v1.1.1)
93
162
 
94
- # v1.1.0 2019-06-14
163
+ ## 1.1.0 2019-06-14
164
+
95
165
 
96
166
  ### Added
97
167
 
@@ -103,25 +173,18 @@
103
173
 
104
174
  - Passing multiple macro names to `validate` or `each` works correctly (fixed #538 #541) (@jandudulski)
105
175
 
106
- [Compare v1.0.0...v1.1.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0...v1.1.0)
107
176
 
108
- # v1.0.0 2019-06-10
177
+ [Compare v1.0.0...v1.1.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0...v1.1.0)
109
178
 
110
- This release is a complete rewrite on top of `dry-schema` that uses contract classes to define schema and validation rules. It's **not backward-compatible**. This release addressed over 150 known issues, including bugs and missing features.
179
+ ## 1.0.0 2019-06-10
111
180
 
112
181
  See [the list of all addressed issues](https://github.com/dry-rb/dry-validation/issues?utf8=✓&q=is%3Aissue+is%3Aclosed+closed%3A%3E%3D2019-01-01+) as well as issues that were moved to dry-schema and [addressed there](https://github.com/dry-rb/dry-schema/issues?q=is%3Aissue+is%3Aclosed+dry-validation+milestone%3A1.0.0).
113
182
 
114
- ### :sparkles: Release highlights :sparkles:
115
183
 
116
- - New `Dry::Validation::Contract` API for defining contract classes with schemas and validation rules
117
- - Improved message backends with support for `key` and `base` messages, and arbitrary meta-data (like error codes etc.)
118
- - Support for defining rules for array elements ie `rule(:items).each { ... }`
119
- - Support for macros that encapsulate common rule logic
120
- - Built-in `:acceptance` macro
184
+ [Compare v1.0.0...v1.0.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0...v1.0.0)
121
185
 
122
- [Compare v0.13.3...v1.0.0](https://github.com/dry-rb/dry-validation/compare/v0.13.3...v1.0.0)
186
+ ## 1.0.0 2019-06-10
123
187
 
124
- # v1.0.0 2019-06-10 (compared to 1.0.0.rc3)
125
188
 
126
189
  ### Added
127
190
 
@@ -144,7 +207,8 @@ See [the list of all addressed issues](https://github.com/dry-rb/dry-validation/
144
207
 
145
208
  [Compare v1.0.0.rc3...v1.0.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0.rc3...v1.0.0)
146
209
 
147
- # v1.0.0.rc3 2019-05-06
210
+ ## 1.0.0.rc3 2019-05-06
211
+
148
212
 
149
213
  ### Added
150
214
 
@@ -157,9 +221,10 @@ See [the list of all addressed issues](https://github.com/dry-rb/dry-validation/
157
221
 
158
222
  - `config/errors.yml` are now bundled with the gem, **`rc2` was broken because of this** (solnic)
159
223
 
224
+
160
225
  [Compare v1.0.0.rc2...v1.0.0.rc3](https://github.com/dry-rb/dry-validation/compare/v1.0.0.rc2...v1.0.0.rc3)
161
226
 
162
- # v1.0.0.rc2 2019-05-04
227
+ ## 1.0.0.rc2 2019-05-04
163
228
 
164
229
  This was **yanked** on rubygems.org because the bundled gem was missing `config` directory, thus it was not possible to require it. It was fixed in `rc3`.
165
230
 
@@ -179,7 +244,8 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
179
244
 
180
245
  [Compare v1.0.0.rc1...v1.0.0.rc2](https://github.com/dry-rb/dry-validation/compare/v1.0.0.rc1...v1.0.0.rc2)
181
246
 
182
- # v1.0.0.rc1 2019-04-26
247
+ ## 1.0.0.rc1 2019-04-26
248
+
183
249
 
184
250
  ### Added
185
251
 
@@ -198,7 +264,8 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
198
264
 
199
265
  [Compare v1.0.0.beta2...v1.0.0.rc1](https://github.com/dry-rb/dry-validation/compare/v1.0.0.beta2...v1.0.0.rc1)
200
266
 
201
- # v1.0.0.beta2 2019-04-04
267
+ ## 1.0.0.beta2 2019-04-04
268
+
202
269
 
203
270
  ### Added
204
271
 
@@ -226,7 +293,8 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
226
293
 
227
294
  [Compare v1.0.0.beta1...v1.0.0.beta2](https://github.com/dry-rb/dry-validation/compare/v1.0.0.beta1...v1.0.0.beta2)
228
295
 
229
- # v1.0.0.beta1 2019-03-26
296
+ ## 1.0.0.beta1 2019-03-26
297
+
230
298
 
231
299
  ### Added
232
300
 
@@ -247,7 +315,7 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
247
315
 
248
316
  [Compare v1.0.0.alpha2...v1.0.0.beta1](https://github.com/dry-rb/dry-validation/compare/v1.0.0.alpha2...v1.0.0.beta1)
249
317
 
250
- # v1.0.0.alpha2 2019-03-05
318
+ ## 1.0.0.alpha2 2019-03-05
251
319
 
252
320
  First round of bug fixes. Thanks for testing <3!
253
321
 
@@ -263,7 +331,7 @@ First round of bug fixes. Thanks for testing <3!
263
331
 
264
332
  [Compare v1.0.0.alpha1...v1.0.0.alpha2](https://github.com/dry-rb/dry-validation/compare/v1.0.0.alpha1...v1.0.0.alpha2)
265
333
 
266
- # v1.0.0.alpha1 2019-03-04
334
+ ## 1.0.0.alpha1 2019-03-04
267
335
 
268
336
  Complete rewrite on top of `dry-schema`.
269
337
 
@@ -272,22 +340,25 @@ Complete rewrite on top of `dry-schema`.
272
340
  - [BREAKING] `Dry::Validation::Contract` as a replacement for validation schemas (solnic)
273
341
  - [BREAKING] New `rule` DSL with an improved API for setting error messages (solnic)
274
342
 
275
- [Compare v0.13.0...v1.0.0.alpha1](https://github.com/dry-rb/dry-validation/compare/v0.13.0...v1.0.0.alpha1)
276
343
 
277
- # v0.13.0 2019-01-29
344
+ [Compare v0.13.0...v1.0.0.alpha1](https://github.com/dry-rb/dry-validation/compare/v0.13.0...v1.0.0.alpha1)
278
345
 
279
- ### Changed
346
+ ## 0.13.0 2019-01-29
280
347
 
281
- - `dry-logic` was bumped to `~> 0.5` (solnic)
282
- - `dry-types` was bumped to `~> 0.14` (solnic)
283
348
 
284
349
  ### Fixed
285
350
 
286
351
  - Warning about method redefined (amatsuda)
287
352
 
353
+ ### Changed
354
+
355
+ - `dry-logic` was bumped to `~> 0.5` (solnic)
356
+ - `dry-types` was bumped to `~> 0.14` (solnic)
357
+
288
358
  [Compare v0.12.3...v0.13.0](https://github.com/dry-rb/dry-validation/compare/v0.12.3...v0.13.0)
289
359
 
290
- # v0.12.3 2019-01-29
360
+ ## 0.12.3 2019-01-29
361
+
291
362
 
292
363
  ### Changed
293
364
 
@@ -295,23 +366,28 @@ Complete rewrite on top of `dry-schema`.
295
366
 
296
367
  [Compare v0.12.2...v0.12.3](https://github.com/dry-rb/dry-validation/compare/v0.12.2...v0.12.3)
297
368
 
298
- # v0.12.2 2018-08-29
369
+ ## 0.12.2 2018-08-29
370
+
299
371
 
300
372
  ### Fixed
301
373
 
302
374
  - Use correct key names for rule messages when using i18n (jozzi05)
303
375
 
376
+
304
377
  [Compare v0.12.1...v0.12.2](https://github.com/dry-rb/dry-validation/compare/v0.12.1...v0.12.2)
305
378
 
306
- # v0.12.1 2018-07-06
379
+ ## 0.12.1 2018-07-06
380
+
307
381
 
308
382
  ### Fixed
309
383
 
310
384
  - [internal] fixed deprecation warnings (flash-gordon)
311
385
 
386
+
312
387
  [Compare v0.12.0...v0.12.1](https://github.com/dry-rb/dry-validation/compare/v0.12.0...v0.12.1)
313
388
 
314
- # v0.12.0 2018-05-31
389
+ ## 0.12.0 2018-05-31
390
+
315
391
 
316
392
  ### Changed
317
393
 
@@ -320,7 +396,8 @@ Complete rewrite on top of `dry-schema`.
320
396
 
321
397
  [Compare v0.11.1...v0.12.0](https://github.com/dry-rb/dry-validation/compare/v0.11.1...v0.12.0)
322
398
 
323
- # v0.11.1 2017-09-15
399
+ ## 0.11.1 2017-09-15
400
+
324
401
 
325
402
  ### Changed
326
403
 
@@ -329,7 +406,8 @@ Complete rewrite on top of `dry-schema`.
329
406
 
330
407
  [Compare v0.11.0...v0.11.1](https://github.com/dry-rb/dry-validation/compare/v0.11.0...v0.11.1)
331
408
 
332
- # v0.11.0 2017-05-30
409
+ ## 0.11.0 2017-05-30
410
+
333
411
 
334
412
  ### Changed
335
413
 
@@ -337,32 +415,39 @@ Complete rewrite on top of `dry-schema`.
337
415
 
338
416
  [Compare v0.10.7...v0.11.0](https://github.com/dry-rb/dry-validation/compare/v0.10.7...v0.11.0)
339
417
 
340
- # v0.10.7 2017-05-15
418
+ ## 0.10.7 2017-05-15
419
+
341
420
 
342
421
  ### Fixed
343
422
 
344
423
  - `validate` can now be defined multiple times for the same key (kimquy)
345
424
  - Re-using rules between schemas no longer mutates original rule set (pabloh)
346
425
 
426
+
347
427
  [Compare v0.10.6...v0.10.7](https://github.com/dry-rb/dry-validation/compare/v0.10.6...v0.10.7)
348
428
 
349
- # v0.10.6 2017-04-26
429
+ ## 0.10.6 2017-04-26
430
+
350
431
 
351
432
  ### Fixed
352
433
 
353
434
  - Fixes issue with wrong localized error messages when namespaced messages are used (kbredemeier)
354
435
 
436
+
355
437
  [Compare v0.10.5...v0.10.6](https://github.com/dry-rb/dry-validation/compare/v0.10.5...v0.10.6)
356
438
 
357
- # v0.10.5 2017-01-12
439
+ ## 0.10.5 2017-01-12
440
+
358
441
 
359
442
  ### Fixed
360
443
 
361
444
  - Warnings under MRI 2.4.0 are gone (koic)
362
445
 
446
+
363
447
  [Compare v0.10.4...v0.10.5](https://github.com/dry-rb/dry-validation/compare/v0.10.4...v0.10.5)
364
448
 
365
- # v0.10.4 2016-12-03
449
+ ## 0.10.4 2016-12-03
450
+
366
451
 
367
452
  ### Fixed
368
453
 
@@ -375,31 +460,38 @@ Complete rewrite on top of `dry-schema`.
375
460
 
376
461
  [Compare v0.10.3...v0.10.4](https://github.com/dry-rb/dry-validation/compare/v0.10.3...v0.10.4)
377
462
 
378
- # v0.10.3 2016-09-27
463
+ ## 0.10.3 2016-09-27
464
+
379
465
 
380
466
  ### Fixed
381
467
 
382
468
  - Custom predicates work correctly with `each` macro (solnic)
383
469
 
470
+
384
471
  [Compare v0.10.2...v0.10.3](https://github.com/dry-rb/dry-validation/compare/v0.10.2...v0.10.3)
385
472
 
386
- # v0.10.2 2016-09-23
473
+ ## 0.10.2 2016-09-23
474
+
387
475
 
388
476
  ### Fixed
389
477
 
390
478
  - Constrained types + hints work again (solnic)
391
479
 
480
+
392
481
  [Compare v0.10.1...v0.10.2](https://github.com/dry-rb/dry-validation/compare/v0.10.1...v0.10.2)
393
482
 
394
- # v0.10.1 2016-09-22
483
+ ## 0.10.1 2016-09-22
484
+
395
485
 
396
486
  ### Fixed
397
487
 
398
488
  - Remove obsolete require of `dry/struct` which is now an optional extension (flash-gordon)
399
489
 
490
+
400
491
  [Compare v0.10.0...v0.10.1](https://github.com/dry-rb/dry-validation/compare/v0.10.0...v0.10.1)
401
492
 
402
- # v0.10.0 2016-09-21
493
+ ## 0.10.0 2016-09-21
494
+
403
495
 
404
496
  ### Added
405
497
 
@@ -422,34 +514,31 @@ Complete rewrite on top of `dry-schema`.
422
514
  - [BREAKING] `when` macro no longer supports multiple disconnected rules in its block, whatever the block returns will be used for the implication (solnic)
423
515
  - [BREAKING] `rule(some_name: %i(some keys))` will _always_ use `:some_name` as the key for failure messages (solnic)
424
516
 
425
- ### Internal
426
-
427
- - ~2 x performance boost (solnic)
428
- - Rule AST was updated to latest dry-logic (solnic)
429
- - `MessageCompiler` was drastically simplified based on the new result AST from dry-logic (solnic)
430
- - `HintCompiler` is gone as hints are now part of the result AST (solnic)
431
- - `maybe` macro creates an implication instead of a disjunction (`not(none?).then(*your-predicates)`) (solnic)
432
-
433
517
  [Compare v0.9.5...v0.10.0](https://github.com/dry-rb/dry-validation/compare/v0.9.5...v0.10.0)
434
518
 
435
- # v0.9.5 2016-08-16
519
+ ## 0.9.5 2016-08-16
520
+
436
521
 
437
522
  ### Fixed
438
523
 
439
524
  - Infering multiple predicates with options works as expected ie `value(:str?, min_size?: 3, max_size?: 6)` (solnic)
440
525
  - Default `locale` configured in `I18n` is now respected by the messages compiler (agustin + cavi21)
441
526
 
527
+
442
528
  [Compare v0.9.4...v0.9.5](https://github.com/dry-rb/dry-validation/compare/v0.9.4...v0.9.5)
443
529
 
444
- # v0.9.4 2016-08-11
530
+ ## 0.9.4 2016-08-11
531
+
445
532
 
446
533
  ### Fixed
447
534
 
448
535
  - Error messages for sibling deeply nested schemas are nested correctly (timriley)
449
536
 
537
+
450
538
  [Compare v0.9.3...v0.9.4](https://github.com/dry-rb/dry-validation/compare/v0.9.3...v0.9.4)
451
539
 
452
- # v0.9.3 2016-07-22
540
+ ## 0.9.3 2016-07-22
541
+
453
542
 
454
543
  ### Added
455
544
 
@@ -467,24 +556,29 @@ Complete rewrite on top of `dry-schema`.
467
556
 
468
557
  [Compare v0.9.2...v0.9.3](https://github.com/dry-rb/dry-validation/compare/v0.9.2...v0.9.3)
469
558
 
470
- # v0.9.2 2016-07-13
559
+ ## 0.9.2 2016-07-13
560
+
471
561
 
472
562
  ### Fixed
473
563
 
474
564
  - Constrained types now work with `each` macro (solnic)
475
565
  - Array coercion without member type works now ie `required(:arr).maybe(:array?)` (solnic)
476
566
 
567
+
477
568
  [Compare v0.9.1...v0.9.2](https://github.com/dry-rb/dry-validation/compare/v0.9.1...v0.9.2)
478
569
 
479
- # v0.9.1 2016-07-11
570
+ ## 0.9.1 2016-07-11
571
+
480
572
 
481
573
  ### Fixed
482
574
 
483
575
  - `I18n` backend is no longer required and set by default (solnic)
484
576
 
577
+
485
578
  [Compare v0.9.0...v0.9.1](https://github.com/dry-rb/dry-validation/compare/v0.9.0...v0.9.1)
486
579
 
487
- # v0.9.0 2016-07-08
580
+ ## 0.9.0 2016-07-08
581
+
488
582
 
489
583
  ### Added
490
584
 
@@ -497,10 +591,6 @@ Complete rewrite on top of `dry-schema`.
497
591
  - Support for message token transformations in custom predicates (fran-worley)
498
592
  - [EXPERIMENTAL] Ability to compose predicates that accept dynamic args provided by the schema (solnic)
499
593
 
500
- ### Changed
501
-
502
- - Tokens for `size?` were renamed `left` => `size_left` and `right` => `size_right` (fran-worley)
503
-
504
594
  ### Fixed
505
595
 
506
596
  - Duped key names in nested schemas no longer result in invalid error messages structure (solnic)
@@ -510,18 +600,14 @@ Complete rewrite on top of `dry-schema`.
510
600
  - Hints for elements are no longer provided for an array when the value is not an array (solnic)
511
601
  - `input` macro no longer messes up error messages for nested structures (solnic)
512
602
 
513
- ### Internal
603
+ ### Changed
514
604
 
515
- - Compiling messages is now ~5% faster (solnic + splattael)
516
- - Refactored Error and Hint compilers (solnic)
517
- - Refactored Schema to use an internal executor objects with steps (solnic)
518
- - Extracted root-rule into a separate validation step (solnic)
519
- - Added `MessageSet` that result objects now use (in 1.0.0 it'll be exposed via public API) (solnic)
520
- - We can now distinguish error messages from validation hints via `Message` and `Hint` objects (solnic)
605
+ - Tokens for `size?` were renamed `left` => `size_left` and `right` => `size_right` (fran-worley)
521
606
 
522
607
  [Compare v0.8.0...v0.9.0](https://github.com/dry-rb/dry-validation/compare/v0.8.0...v0.9.0)
523
608
 
524
- # v0.8.0 2016-07-01
609
+ ## 0.8.0 2016-07-01
610
+
525
611
 
526
612
  ### Added
527
613
 
@@ -567,19 +653,10 @@ Complete rewrite on top of `dry-schema`.
567
653
  - Deprecate key in favor of required (coop)
568
654
  - Remove nested key syntax (solnic)
569
655
 
570
- ### Internal
571
-
572
- - ~15% performance boost via various optimizations (solnic)
573
- - When using explicit type specs building a schema is ~80-85x faster (solnic)
574
- - No longer uses `Dry::Types::Predicates` as `:type?` predicate was moved to dry-logic (solnic)
575
- - Integration specs covering predicates with Form and Schema (jodosha)
576
- - Use latest ruby versions on travis (flash-gordon)
577
- - Make pry console optional with IRB as a default (flash-gordon)
578
- - Remove wrapping rules in :set nodes (solnic)
579
-
580
656
  [Compare v0.7.4...v0.8.0](https://github.com/dry-rb/dry-validation/compare/v0.7.4...v0.8.0)
581
657
 
582
- # v0.7.4 2016-04-06
658
+ ## 0.7.4 2016-04-06
659
+
583
660
 
584
661
  ### Added
585
662
 
@@ -590,9 +667,11 @@ Complete rewrite on top of `dry-schema`.
590
667
 
591
668
  - Depending on deeply nested values in high-level rules works now (solnic)
592
669
 
670
+
593
671
  [Compare v0.7.3...v0.7.4](https://github.com/dry-rb/dry-validation/compare/v0.7.3...v0.7.4)
594
672
 
595
- # v0.7.3 2016-03-30
673
+ ## 0.7.3 2016-03-30
674
+
596
675
 
597
676
  ### Added
598
677
 
@@ -605,22 +684,22 @@ Complete rewrite on top of `dry-schema`.
605
684
  - Creating a nested schema properly sets full path to nested data structure (solnic)
606
685
  - Error message for `empty?` predicate is now correct (jodosha)
607
686
 
608
- ### Internal
609
-
610
- - Switch from `thread_safe` to `concurrent` (joevandyk)
611
687
 
612
688
  [Compare v0.7.2...v0.7.3](https://github.com/dry-rb/dry-validation/compare/v0.7.2...v0.7.3)
613
689
 
614
- # v0.7.2 2016-03-28
690
+ ## 0.7.2 2016-03-28
691
+
615
692
 
616
693
  ### Added
617
694
 
618
695
  - Support for nested schemas inside high-level rules (solnic)
619
696
  - `Schema#to_proc` so that you can do `data.each(&schema)` (solnic)
620
697
 
698
+
621
699
  [Compare v0.7.1...v0.7.2](https://github.com/dry-rb/dry-validation/compare/v0.7.1...v0.7.2)
622
700
 
623
- # v0.7.1 2016-03-21
701
+ ## 0.7.1 2016-03-21
702
+
624
703
 
625
704
  ### Added
626
705
 
@@ -638,7 +717,8 @@ Complete rewrite on top of `dry-schema`.
638
717
 
639
718
  [Compare v0.7.0...v0.7.1](https://github.com/dry-rb/dry-validation/compare/v0.7.0...v0.7.1)
640
719
 
641
- # v0.7.0 2016-03-16
720
+ ## 0.7.0 2016-03-16
721
+
642
722
 
643
723
  ### Added
644
724
 
@@ -662,6 +742,12 @@ Complete rewrite on top of `dry-schema`.
662
742
  - `Validation::Result` responds to `#[]` and `#each` (delegating to its output)
663
743
  and it's an enumerable (solnic)
664
744
 
745
+ ### Fixed
746
+
747
+ - Qualified rule names properly use last node by default for error messages (solnic)
748
+ - Validation hints only include relevant messages (solnic)
749
+ - `:yaml` messages respect `:locale` option in `Result#messages` (solnic)
750
+
665
751
  ### Changed
666
752
 
667
753
  - `schema` was **removed** from the DSL, just use `key(:name).schema` instead (solnic)
@@ -672,15 +758,10 @@ Complete rewrite on top of `dry-schema`.
672
758
  - `Schema::Result` is now `Validation::Result` and it no longer has success and
673
759
  failure results, only error results are provided (solnic)
674
760
 
675
- ### Fixed
676
-
677
- - Qualified rule names properly use last node by default for error messages (solnic)
678
- - Validation hints only include relevant messages (solnic)
679
- - `:yaml` messages respect `:locale` option in `Result#messages` (solnic)
680
-
681
761
  [Compare v0.6.0...v0.7.0](https://github.com/dry-rb/dry-validation/compare/v0.6.0...v0.7.0)
682
762
 
683
- # v0.6.0 2016-01-20
763
+ ## 0.6.0 2016-01-20
764
+
684
765
 
685
766
  ### Added
686
767
 
@@ -691,38 +772,41 @@ Complete rewrite on top of `dry-schema`.
691
772
  - Support for `confirmation(:foo, some_predicate: some_argument)` shortcut syntax (solnic)
692
773
  - Support for error messages for grouped rules (like `confirmation`) (solnic)
693
774
  - Schemas support injecting rules from the outside (solnic)
694
-
695
- ## Changed
696
-
775
+ - ## Changed
697
776
  - `rule` uses objects that inherit from `BasicObject` to avoid conflicts with
698
777
  predicate names and built-in `Object` methods (solnic)
699
778
  - In `Schema::Form` both `key` and `optional` will apply `filled?` predicate by
700
779
  default when no block is passed (solnic)
701
780
 
702
- [Compare v0.5.0...v0.6.0](https://github.com/dry-rb/dry-validation/compare/v0.5.0...v0.6.0)
703
781
 
704
- # v0.5.0 2016-01-11
782
+ [Compare v0.5.0...v0.6.0](https://github.com/dry-rb/dry-validation/compare/v0.5.0...v0.6.0)
705
783
 
706
- ### Changed
784
+ ## 0.5.0 2016-01-11
707
785
 
708
- - Now depends on [dry-logic](https://github.com/dry-rb/dry-logic) for predicates and rules (solnic)
709
- - `dry/validation/schema/form` is now required by default (solnic)
710
786
 
711
787
  ### Fixed
712
788
 
713
789
  - `Schema::Form` uses safe `form.array` and `form.hash` types which fixes #42 (solnic)
714
790
 
791
+ ### Changed
792
+
793
+ - Now depends on [dry-logic](https://github.com/dry-rb/dry-logic) for predicates and rules (solnic)
794
+ - `dry/validation/schema/form` is now required by default (solnic)
795
+
715
796
  [Compare v0.4.1...v0.5.0](https://github.com/dry-rb/dry-validation/compare/v0.4.1...v0.5.0)
716
797
 
717
- # v0.4.1 2015-12-27
798
+ ## 0.4.1 2015-12-27
799
+
718
800
 
719
801
  ### Added
720
802
 
721
803
  - Support for `each` and type coercion inference in `Schema::Form` (solnic)
722
804
 
805
+
723
806
  [Compare v0.4.0...v0.4.1](https://github.com/dry-rb/dry-validation/compare/v0.4.0...v0.4.1)
724
807
 
725
- # v0.4.0 2015-12-21
808
+ ## 0.4.0 2015-12-21
809
+
726
810
 
727
811
  ### Added
728
812
 
@@ -736,9 +820,11 @@ Complete rewrite on top of `dry-schema`.
736
820
 
737
821
  - Error messages hash has now consistent structure `rule_name => [msgs_array, input_value]` (solnic)
738
822
 
823
+
739
824
  [Compare v0.3.1...v0.4.0](https://github.com/dry-rb/dry-validation/compare/v0.3.1...v0.4.0)
740
825
 
741
- # v0.3.1 2015-12-08
826
+ ## 0.3.1 2015-12-08
827
+
742
828
 
743
829
  ### Added
744
830
 
@@ -748,9 +834,11 @@ Complete rewrite on top of `dry-schema`.
748
834
 
749
835
  - Error compiler returns an empty hash rather than a nil when there are no errors (solnic)
750
836
 
837
+
751
838
  [Compare v0.3.0...v0.3.1](https://github.com/dry-rb/dry-validation/compare/v0.3.0...v0.3.1)
752
839
 
753
- # v0.3.0 2015-12-07
840
+ ## 0.3.0 2015-12-07
841
+
754
842
 
755
843
  ### Added
756
844
 
@@ -772,9 +860,10 @@ Complete rewrite on top of `dry-schema`.
772
860
  errors and messages
773
861
  - `Schema::Result#messages` returns a hash with rule names, messages and input values (solnic)
774
862
 
775
- [Compare v0.2.0...HEAD](https://github.com/dry-rb/dry-validation/compare/v0.2.0...HEAD)
863
+ [Compare v0.2.0...v0.3.0](https://github.com/dry-rb/dry-validation/compare/v0.2.0...v0.3.0)
864
+
865
+ ## 0.2.0 2015-11-30
776
866
 
777
- # v0.2.0 2015-11-30
778
867
 
779
868
  ### Added
780
869
 
@@ -795,8 +884,9 @@ Complete rewrite on top of `dry-schema`.
795
884
 
796
885
  - Added missing `and` / `or` interfaces to composite rules (solnic)
797
886
 
798
- [Compare v0.1.0...HEAD](https://github.com/dry-rb/dry-validation/compare/v0.1.0...HEAD)
799
887
 
800
- # v0.1.0 2015-11-25
888
+ [Compare v0.1.0...v0.2.0](https://github.com/dry-rb/dry-validation/compare/v0.1.0...v0.2.0)
889
+
890
+ ## 0.1.0 2015-11-25
801
891
 
802
892
  First public release