dry-validation 1.4.0 → 1.5.2

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