dry-validation 1.4.0 → 1.5.2

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