dry-schema 1.14.1 → 1.15.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.
data/CHANGELOG.md CHANGED
@@ -1,7 +1,88 @@
1
- <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
1
+ # Changelog
2
2
 
3
- ## 1.14.0 2025-01-06
3
+ All notable changes to this project will be documented in this file.
4
4
 
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Break Versioning](https://www.taoensso.com/break-versioning).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+
12
+ ### Changed
13
+
14
+ ### Deprecated
15
+
16
+ ### Removed
17
+
18
+ ### Fixed
19
+
20
+ ### Security
21
+
22
+ [Unreleased]: https://github.com/dry-rb/dry-schema/compare/v1.15.0...main
23
+
24
+ ## [1.15.0] - 2026-01-09
25
+
26
+ ### Changed
27
+
28
+ - Set mimimum Ruby version to 3.2 (@timriley)
29
+ - Support UUID v6, v7 and v8 predicates (`:uuid_v6?`, `:uuid_v7?` and `:uuid_v8?`). (@illiatdesdindes in #509)
30
+ - Support `size?`, `format?`, `true?` and `false?` predicates when generating JSON schemas. (@cramt in #499)
31
+ - Allow symbols to be given for `top_namespace` setting. (@unused in #491)
32
+
33
+ ### Fixed
34
+
35
+ - Support intersection types (created with `&` operator) in schema definitions. (@baweaver in #496)
36
+
37
+ Now works without errors:
38
+ ```ruby
39
+ intersection_type =
40
+ Types::Hash.schema(a: Types::String) &
41
+ (Types::Hash.schema(b: Types::String) | Types::Hash.schema(c: Types::String))
42
+
43
+ schema = Dry::Schema.Params do
44
+ required(:body).value(intersection_type)
45
+ end
46
+
47
+ schema.call(body: {a: "test", b: "value"}) # passes
48
+ schema.call(body: {b: "value"}) # fails - missing 'a'
49
+ ```
50
+ - JSON schema generation now properly handles `Dry::Struct` instances wrapped in constructors. (@baweaver in #497)
51
+
52
+ Before, when generating JSON schema for a schema containing a Dry::Struct wrapped in a constructor (e.g., `Address.constructor(&:itself)`), all struct properties were omitted from the generated schema, returning only `{type: "object"}` instead of the full schema with properties.
53
+
54
+ Before/after:
55
+ ```ruby
56
+ # Before: Missing struct properties
57
+ Dry::Schema.Params do
58
+ required(:address).value(Address.constructor(&:itself))
59
+ end.json_schema
60
+ # => {:properties=>{:address=>{:type=>"object"}}} # No properties
61
+
62
+ # After: Full struct schema included
63
+ Dry::Schema.Params do
64
+ required(:address).value(Address.constructor(&:itself))
65
+ end.json_schema
66
+ # => {:properties=>{:address=>{:type=>"object", :properties=>{:street=>{...}}}}} # Properties included
67
+ ```
68
+ - JSON schema generation now correctly uses `minItems`/`maxItems` for array size predicates instead of `minLength`/`maxLength`. (@baweaver in #498)
69
+ - Show correct index in errors when validating unexpected keys in arrays. (@katafrakt in #510)
70
+ - Support validating nested arrays when using `config.validate_keys = true`. (@misdoro in #508)
71
+ - Fix handling of i18n messages from proc/lambda-produced hashes. (@rrothenberger in #493)
72
+ - Fix error arising when generating errors when a key is repeated in a nested schema. (@jacob-carlborg in #503)
73
+ - Fix method call typo in `Dry::Schema::Trace#respond_to_missing?`. (@flash-gordon in 13ddb51)
74
+
75
+ [1.15.0]: https://github.com/dry-rb/dry-schema/compare/v1.14.1...v1.15.0
76
+
77
+ ## [1.14.1] - 2025-03-03
78
+
79
+ ### Fixed
80
+
81
+ - Syntax errors on 3.3.0 (@flash-gordon, see #488)
82
+
83
+ [1.14.1]: https://github.com/dry-rb/dry-schema/compare/v1.14.0...v1.14.1
84
+
85
+ ## [1.14.0] - 2025-01-06
5
86
 
6
87
  ### Added
7
88
 
@@ -18,10 +99,9 @@
18
99
  - Set minimum Ruby version to 3.1 (@flash-gordon)
19
100
  - `KeyValidator` works faster for large schemas (via #461) (@radarek)
20
101
 
21
- [Compare v1.13.4...v1.14.0](https://github.com/dry-rb/dry-schema/compare/v1.13.4...v1.14.0)
22
-
23
- ## 1.13.4 2024-05-22
102
+ [1.14.0]: https://github.com/dry-rb/dry-schema/compare/v1.13.4...v1.14.0
24
103
 
104
+ ## [1.13.4] - 2024-05-22
25
105
 
26
106
  ### Added
27
107
 
@@ -35,40 +115,33 @@
35
115
 
36
116
  - i18n backend is no longer eager-loaded (via 85a9e0b) (@adam12)
37
117
 
38
- [Compare v1.13.3...v1.13.4](https://github.com/dry-rb/dry-schema/compare/v1.13.3...v1.13.4)
39
-
40
- ## 1.13.3 2023-08-26
118
+ [1.13.4]: https://github.com/dry-rb/dry-schema/compare/v1.13.3...v1.13.4
41
119
 
120
+ ## [1.13.3] - 2023-08-26
42
121
 
43
122
  ### Fixed
44
123
 
45
124
  - Fix struct extension for nested struct definitions (via #466) (@flash-gordon)
46
125
 
126
+ [1.13.3]: https://github.com/dry-rb/dry-schema/compare/v1.13.2...v1.13.3
47
127
 
48
- [Compare v1.13.2...v1.13.3](https://github.com/dry-rb/dry-schema/compare/v1.13.2...v1.13.3)
49
-
50
- ## 1.13.2 2023-05-31
51
-
128
+ ## [1.13.2] - 2023-05-31
52
129
 
53
130
  ### Fixed
54
131
 
55
132
  - Fix custom predicates setting (via #460) (@solnic)
56
133
 
134
+ [1.13.2]: https://github.com/dry-rb/dry-schema/compare/v1.13.1...v1.13.2
57
135
 
58
- [Compare v1.13.1...v1.13.2](https://github.com/dry-rb/dry-schema/compare/v1.13.1...v1.13.2)
59
-
60
- ## 1.13.1 2023-04-07
61
-
136
+ ## [1.13.1] - 2023-04-07
62
137
 
63
138
  ### Fixed
64
139
 
65
140
  - Support sum types of hashes (issue #446 fixed via #457) (@segiddins)
66
141
 
142
+ [1.13.1]: https://github.com/dry-rb/dry-schema/compare/v1.13.0...v1.13.1
67
143
 
68
- [Compare v1.13.0...v1.13.1](https://github.com/dry-rb/dry-schema/compare/v1.13.0...v1.13.1)
69
-
70
- ## 1.13.0 2022-11-24
71
-
144
+ ## [1.13.0] - 2022-11-24
72
145
 
73
146
  ### Fixed
74
147
 
@@ -77,118 +150,98 @@
77
150
  - Warnings about using pattern matching on Ruby 2.7 (issue #441 fixed via #442) (@r7kamura)
78
151
  - Make message cache fully thread-safe (via #440) (@mensfeld)
79
152
 
153
+ [1.13.0]: https://github.com/dry-rb/dry-schema/compare/v1.12.0...v1.13.0
80
154
 
81
- [Compare v1.12.0...v1.13.0](https://github.com/dry-rb/dry-schema/compare/v1.12.0...v1.13.0)
82
-
83
- ## 1.12.0 2022-11-04
84
-
155
+ ## [1.12.0] - 2022-11-04
85
156
 
86
157
  ### Changed
87
158
 
88
159
  - This version depends on dry-core 1.0 and dry-configurable 1.0 (@flash-gordon)
89
160
 
90
- [Compare v1.11.3...v1.12.0](https://github.com/dry-rb/dry-schema/compare/v1.11.3...v1.12.0)
91
-
92
- ## 1.11.3 2022-10-21
161
+ [1.12.0]: https://github.com/dry-rb/dry-schema/compare/v1.11.3...v1.12.0
93
162
 
163
+ ## [1.11.3] - 2022-10-21
94
164
 
95
165
  ### Fixed
96
166
 
97
167
  - Fixed `array(sum_type)` syntax which was a regression introduced in 1.10.0 (issue #436 fixed via #437) (@solnic)
98
168
 
169
+ [1.11.3]: https://github.com/dry-rb/dry-schema/compare/v1.11.2...v1.11.3
99
170
 
100
- [Compare v1.11.2...v1.11.3](https://github.com/dry-rb/dry-schema/compare/v1.11.2...v1.11.3)
101
-
102
- ## 1.11.2 2022-10-16
103
-
171
+ ## [1.11.2] - 2022-10-16
104
172
 
105
173
  ### Fixed
106
174
 
107
175
  - Setting up message backends with custom settings should work as before (see dry-rb/dry-validation#717 fixed via #435) (@solnic)
108
176
 
177
+ [1.11.2]: https://github.com/dry-rb/dry-schema/compare/v1.11.1...v1.11.2
109
178
 
110
- [Compare v1.11.1...v1.11.2](https://github.com/dry-rb/dry-schema/compare/v1.11.1...v1.11.2)
111
-
112
- ## 1.11.1 2022-10-15
113
-
179
+ ## [1.11.1] - 2022-10-15
114
180
 
115
181
  ### Changed
116
182
 
117
183
  - Depend on dry-configurable >= 0.16 - this was needed to play nice with Zeitwerk (@solnic)
118
184
 
119
- [Compare v1.11.0...v1.11.1](https://github.com/dry-rb/dry-schema/compare/v1.11.0...v1.11.1)
120
-
121
- ## 1.11.0 2022-10-15
185
+ [1.11.1]: https://github.com/dry-rb/dry-schema/compare/v1.11.0...v1.11.1
122
186
 
187
+ ## [1.11.0] - 2022-10-15
123
188
 
124
189
  ### Changed
125
190
 
126
191
  - Use zeitwerk for auto-loading which speeds up requires (via #427) (@flash-gordon + @solnic)
127
192
 
128
- [Compare v1.10.6...v1.11.0](https://github.com/dry-rb/dry-schema/compare/v1.10.6...v1.11.0)
129
-
130
- ## 1.10.6 2022-10-01
193
+ [1.11.0]: https://github.com/dry-rb/dry-schema/compare/v1.10.6...v1.11.0
131
194
 
195
+ ## [1.10.6] - 2022-10-01
132
196
 
133
197
  ### Fixed
134
198
 
135
199
  - Fix issues with rule name when top_namespace and namespace passed (issue #304 fixed via #432) (@RudskikhIvan)
136
200
 
201
+ [1.10.6]: https://github.com/dry-rb/dry-schema/compare/v1.10.5...v1.10.6
137
202
 
138
- [Compare v1.10.5...v1.10.6](https://github.com/dry-rb/dry-schema/compare/v1.10.5...v1.10.6)
139
-
140
- ## 1.10.5 2022-09-21
141
-
203
+ ## [1.10.5] - 2022-09-21
142
204
 
143
205
  ### Fixed
144
206
 
145
207
  - Key maps no longer include duped keys when using inheritance (issues #428 #372 fixed via #429) (@solnic)
146
208
  - Key validator and coercer no longer include duped keys when using parent schemas (via #430) (@solnic)
147
209
 
210
+ [1.10.5]: https://github.com/dry-rb/dry-schema/compare/v1.10.4...v1.10.5
148
211
 
149
- [Compare v1.10.4...v1.10.5](https://github.com/dry-rb/dry-schema/compare/v1.10.4...v1.10.5)
150
-
151
- ## 1.10.4 2022-09-13
152
-
212
+ ## [1.10.4] - 2022-09-13
153
213
 
154
214
  ### Fixed
155
215
 
156
216
  - Once again reverting zeitwerk related changes that were included in 1.10.3 by an accident :( (@solnic)
157
217
 
218
+ [1.10.4]: https://github.com/dry-rb/dry-schema/compare/v1.10.3...v1.10.4
158
219
 
159
- [Compare v1.10.3...v1.10.4](https://github.com/dry-rb/dry-schema/compare/v1.10.3...v1.10.4)
160
-
161
- ## 1.10.3 2022-09-10
162
-
220
+ ## [1.10.3] - 2022-09-10
163
221
 
164
222
  ### Fixed
165
223
 
166
224
  - Addressed regressions causing issues with handling sum types (see #419 and #423 fixed via #425) (@robhanlon22)
167
225
 
226
+ [1.10.3]: https://github.com/dry-rb/dry-schema/compare/v1.10.2...v1.10.3
168
227
 
169
- [Compare v1.10.2...v1.10.3](https://github.com/dry-rb/dry-schema/compare/v1.10.2...v1.10.3)
170
-
171
- ## 1.10.2 2022-08-23
172
-
228
+ ## [1.10.2] - 2022-08-23
173
229
 
174
230
  ### Fixed
175
231
 
176
232
  - Fix value coercion for composed schemas (via #421) (@robhanlon22)
177
233
 
234
+ [1.10.2]: https://github.com/dry-rb/dry-schema/compare/v1.10.1...v1.10.2
178
235
 
179
- [Compare v1.10.1...v1.10.2](https://github.com/dry-rb/dry-schema/compare/v1.10.1...v1.10.2)
180
-
181
- ## 1.10.1 2022-08-22
182
-
236
+ ## [1.10.1] - 2022-08-22
183
237
 
184
238
  ### Changed
185
239
 
186
240
  - Reverted zeitwerk-related changes that were included in 1.10.0 by an accident (@solnic)
187
241
 
188
- [Compare v1.10.0...v1.10.1](https://github.com/dry-rb/dry-schema/compare/v1.10.0...v1.10.1)
189
-
190
- ## 1.10.0 2022-08-16
242
+ [1.10.1]: https://github.com/dry-rb/dry-schema/compare/v1.10.0...v1.10.1
191
243
 
244
+ ## [1.10.0] - 2022-08-16
192
245
 
193
246
  ### Added
194
247
 
@@ -205,10 +258,9 @@
205
258
 
206
259
  - Freeze message hash (fixes #417 via #418) (@solnic)
207
260
 
208
- [Compare v1.9.3...v1.10.0](https://github.com/dry-rb/dry-schema/compare/v1.9.3...v1.10.0)
209
-
210
- ## 1.9.3 2022-06-23
261
+ [1.10.0]: https://github.com/dry-rb/dry-schema/compare/v1.9.3...v1.10.0
211
262
 
263
+ ## [1.9.3] - 2022-06-23
212
264
 
213
265
  ### Added
214
266
 
@@ -218,11 +270,9 @@
218
270
 
219
271
  - Allow composition of multiple ors (issue #307 fixed via #409) (@robhanlon22)
220
272
 
273
+ [1.9.3]: https://github.com/dry-rb/dry-schema/compare/v1.9.2...v1.9.3
221
274
 
222
- [Compare v1.9.2...v1.9.3](https://github.com/dry-rb/dry-schema/compare/v1.9.2...v1.9.3)
223
-
224
- ## 1.9.2 2022-05-28
225
-
275
+ ## [1.9.2] - 2022-05-28
226
276
 
227
277
  ### Fixed
228
278
 
@@ -233,20 +283,17 @@
233
283
 
234
284
  - [performance] YAML message backend allocates less strings (via #399) (@casperisfine)
235
285
 
236
- [Compare v1.9.1...v1.9.2](https://github.com/dry-rb/dry-schema/compare/v1.9.1...v1.9.2)
237
-
238
- ## 1.9.1 2022-02-17
286
+ [1.9.2]: https://github.com/dry-rb/dry-schema/compare/v1.9.1...v1.9.2
239
287
 
288
+ ## [1.9.1] - 2022-02-17
240
289
 
241
290
  ### Fixed
242
291
 
243
292
  - Namespaced messages no longer crashes in certain scenarios (see dry-rb/dry-validation#692 fixed via #398) (@krekoten)
244
293
 
294
+ [1.9.1]: https://github.com/dry-rb/dry-schema/compare/v1.9.0...v1.9.1
245
295
 
246
- [Compare v1.9.0...v1.9.1](https://github.com/dry-rb/dry-schema/compare/v1.9.0...v1.9.1)
247
-
248
- ## 1.9.0 2022-02-15
249
-
296
+ ## [1.9.0] - 2022-02-15
250
297
 
251
298
  ### Added
252
299
 
@@ -257,28 +304,25 @@
257
304
  - Composing schemas no longer crashes in certain scenarios (issue #342 fixed via #366) (@vsuhachev)
258
305
  - Fix info extension for typed arrays (issue #394 fixed via #397) (@CandyFet)
259
306
 
307
+ [1.9.0]: https://github.com/dry-rb/dry-schema/compare/v1.8.0...v1.9.0
260
308
 
261
- [Compare v1.8.0...v1.9.0](https://github.com/dry-rb/dry-schema/compare/v1.8.0...v1.9.0)
262
-
263
- ## 1.8.0 2021-09-12
264
-
309
+ ## [1.8.0] - 2021-09-12
265
310
 
266
311
  ### Changed
267
312
 
268
313
  - [internal] Upgraded to new `setting` API provided in dry-configurable 0.13.0 (@timriley in #356)
269
314
 
270
- [Compare v1.7.1...v1.8.0](https://github.com/dry-rb/dry-schema/compare/v1.7.1...v1.8.0)
271
-
272
- ## 1.7.1 2021-08-29
315
+ [1.8.0]: https://github.com/dry-rb/dry-schema/compare/v1.7.1...v1.8.0
273
316
 
317
+ ## [1.7.1] - 2021-08-29
274
318
 
275
319
  ### Changed
276
320
 
277
321
  - [internal] Use explicit `#to_h` conversion of Dry::Configurable::Config, to ensure compatibility with upcoming dry-configurable 0.13.0 release (via #371) (@timriley)
278
322
 
279
- [Compare v1.7.0...v1.7.1](https://github.com/dry-rb/dry-schema/compare/v1.7.0...v1.7.1)
323
+ [1.7.1]: https://github.com/dry-rb/dry-schema/compare/v1.7.0...v1.7.1
280
324
 
281
- ## 1.7.0 2021-06-29
325
+ ## [1.7.0] - 2021-06-29
282
326
 
283
327
  This release ships with a bunch of internal refactorings that should improve performance but if you see any unexpected behavior please do report issues.
284
328
 
@@ -296,10 +340,9 @@ This release ships with a bunch of internal refactorings that should improve per
296
340
  - [internal] `Dry::Schema::Path` clean up and performance improvements (via #358) (@ojab)
297
341
  - [internal] simplify and speed up handling of steps in nested schemas (via #360) (@ojab)
298
342
 
299
- [Compare v1.6.2...v1.7.0](https://github.com/dry-rb/dry-schema/compare/v1.6.2...v1.7.0)
300
-
301
- ## 1.6.2 2021-04-15
343
+ [1.7.0]: https://github.com/dry-rb/dry-schema/compare/v1.6.2...v1.7.0
302
344
 
345
+ ## [1.6.2] - 2021-04-15
303
346
 
304
347
  ### Added
305
348
 
@@ -309,21 +352,17 @@ This release ships with a bunch of internal refactorings that should improve per
309
352
 
310
353
  - Using `respond_to?` predicate in blocks works now (@rindek)
311
354
 
355
+ [1.6.2]: https://github.com/dry-rb/dry-schema/compare/v1.6.1...v1.6.2
312
356
 
313
- [Compare v1.6.1...v1.6.2](https://github.com/dry-rb/dry-schema/compare/v1.6.1...v1.6.2)
314
-
315
- ## 1.6.1 2021-02-02
316
-
357
+ ## [1.6.1] - 2021-02-02
317
358
 
318
359
  ### Fixed
319
360
 
320
361
  - Messages#[] handles meta/no meta cases more gracefully and has better interoperability with the I18n backend. This brings MessageCompiler#visit_unexpected_key up to parity with MessageCompiler#visit_predicate. Uses visit_predicate as basis for visit_unexpected_key. (@robhanlon22)
321
362
 
363
+ [1.6.1]: https://github.com/dry-rb/dry-schema/compare/v1.6.0...v1.6.1
322
364
 
323
- [Compare v1.6.0...v1.6.1](https://github.com/dry-rb/dry-schema/compare/v1.6.0...v1.6.1)
324
-
325
- ## 1.6.0 2021-01-21
326
-
365
+ ## [1.6.0] - 2021-01-21
327
366
 
328
367
  ### Fixed
329
368
 
@@ -348,20 +387,17 @@ This release ships with a bunch of internal refactorings that should improve per
348
387
 
349
388
  See https://github.com/dry-rb/dry-schema/issues/335 for rationale.
350
389
 
351
- [Compare v1.5.6...v1.6.0](https://github.com/dry-rb/dry-schema/compare/v1.5.6...v1.6.0)
352
-
353
- ## 1.5.6 2020-10-21
390
+ [1.6.0]: https://github.com/dry-rb/dry-schema/compare/v1.5.6...v1.6.0
354
391
 
392
+ ## [1.5.6] - 2020-10-21
355
393
 
356
394
  ### Fixed
357
395
 
358
396
  - Fixed stack error which was a regression introduced in 1.5.5 (issue #322 fixed via #323) (@flash-gordon)
359
397
 
398
+ [1.5.6]: https://github.com/dry-rb/dry-schema/compare/v1.5.5...v1.5.6
360
399
 
361
- [Compare v1.5.5...v1.5.6](https://github.com/dry-rb/dry-schema/compare/v1.5.5...v1.5.6)
362
-
363
- ## 1.5.5 2020-10-08
364
-
400
+ ## [1.5.5] - 2020-10-08
365
401
 
366
402
  ### Fixed
367
403
 
@@ -369,22 +405,15 @@ This release ships with a bunch of internal refactorings that should improve per
369
405
  - Using an external schema along with a key specified as a `:hash` works as expected (issue #296 fixed via #315) (@tadeusz-niemiec + @solnic)
370
406
  - `Result#error?(path)` works correctly when the path points to an array item (issue #317 fixed via #318) (@solnic)
371
407
 
408
+ [1.5.5]: https://github.com/dry-rb/dry-schema/compare/v1.5.4...v1.5.5
372
409
 
373
- [Compare v1.5.4...v1.5.5](https://github.com/dry-rb/dry-schema/compare/v1.5.4...v1.5.5)
374
-
375
- ## 1.5.4
376
-
377
- 2020-09-03
410
+ ## [1.5.4] - 2020-09-03
378
411
 
379
412
  ### Fixed
380
413
 
381
414
  - Key validation works correctly with a non-nested maybe hashes (issue #311 fixed via #312) (@svobom57)
382
415
 
383
-
384
- [Compare v1.5.3...main](https://github.com/dry-rb/dry-schema/compare/v1.5.3...main)
385
-
386
- ## 1.5.3 2020-08-21
387
-
416
+ ## [1.5.3] - 2020-08-21
388
417
 
389
418
  ### Fixed
390
419
 
@@ -394,10 +423,9 @@ This release ships with a bunch of internal refactorings that should improve per
394
423
 
395
424
  - [info extension] small performance improvement in the set visitor (see #305 for more details) (@esparta)
396
425
 
397
- [Compare v1.5.2...v1.5.3](https://github.com/dry-rb/dry-schema/compare/v1.5.2...v1.5.3)
398
-
399
- ## 1.5.2 2020-06-26
426
+ [1.5.3]: https://github.com/dry-rb/dry-schema/compare/v1.5.2...v1.5.3
400
427
 
428
+ ## [1.5.2] - 2020-06-26
401
429
 
402
430
  ### Fixed
403
431
 
@@ -407,10 +435,9 @@ This release ships with a bunch of internal refactorings that should improve per
407
435
 
408
436
  - Using `full` option no longer adds a space between the name of a key and the message in case of languages that have no spaces between words (ie Japanese) (issue #161 closed via #292 by @tadeusz-niemiec)
409
437
 
410
- [Compare v1.5.1...v1.5.2](https://github.com/dry-rb/dry-schema/compare/v1.5.1...v1.5.2)
411
-
412
- ## 1.5.1 2020-05-21
438
+ [1.5.2]: https://github.com/dry-rb/dry-schema/compare/v1.5.1...v1.5.2
413
439
 
440
+ ## [1.5.1] - 2020-05-21
414
441
 
415
442
  ### Fixed
416
443
 
@@ -418,11 +445,9 @@ This release ships with a bunch of internal refactorings that should improve per
418
445
  - Fixed circular require warning (issue #279 closed via #282 by @landongrindheim)
419
446
  - Validating keys against an array with non-hash members no longer crashes (issue #283 fixed via #284 by @beechnut and issue #289 fixed via #288 by @tadeusz-niemiec)
420
447
 
448
+ [1.5.1]: https://github.com/dry-rb/dry-schema/compare/v1.5.0...v1.5.1
421
449
 
422
- [Compare v1.5.0...v1.5.1](https://github.com/dry-rb/dry-schema/compare/v1.5.0...v1.5.1)
423
-
424
- ## 1.5.0 2020-03-11
425
-
450
+ ## [1.5.0] - 2020-03-11
426
451
 
427
452
  ### Added
428
453
 
@@ -462,10 +487,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
462
487
  - Raise ArgumentError in DSL if parent DSL configs differ (@robhanlon22)
463
488
  - (internal) `PredicateInferrer` was removed. `Dry::Types::PredicateInferrer` is a drop-in replacement (@flash-gordon)
464
489
 
465
- [Compare v1.4.3...v1.5.0](https://github.com/dry-rb/dry-schema/compare/v1.4.3...v1.5.0)
466
-
467
- ## 1.4.3 2020-01-08
490
+ [1.5.0]: https://github.com/dry-rb/dry-schema/compare/v1.4.3...v1.5.0
468
491
 
492
+ ## [1.4.3] - 2020-01-08
469
493
 
470
494
  ### Added
471
495
 
@@ -491,11 +515,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
491
515
 
492
516
  - Some keyword warnings that slipped into the previous release (@flash-gordon)
493
517
 
518
+ [1.4.3]: https://github.com/dry-rb/dry-schema/compare/v1.4.2...v1.4.3
494
519
 
495
- [Compare v1.4.2...v1.4.3](https://github.com/dry-rb/dry-schema/compare/v1.4.2...v1.4.3)
496
-
497
- ## 1.4.2 2019-12-19
498
-
520
+ ## [1.4.2] - 2019-12-19
499
521
 
500
522
  ### Fixed
501
523
 
@@ -504,21 +526,17 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
504
526
  - Fixed keyword warnings from MRI 2.7.0 (@flash-gordon)
505
527
  - Array with a member works correctly with `maybe` (issue #206) (@solnic)
506
528
 
529
+ [1.4.2]: https://github.com/dry-rb/dry-schema/compare/v1.4.1...v1.4.2
507
530
 
508
- [Compare v1.4.1...v1.4.2](https://github.com/dry-rb/dry-schema/compare/v1.4.1...v1.4.2)
509
-
510
- ## 1.4.1 2019-10-08
511
-
531
+ ## [1.4.1] - 2019-10-08
512
532
 
513
533
  ### Fixed
514
534
 
515
535
  - Child schemas no longer mutate processing steps of their parent classes (@skryukov)
516
536
 
537
+ [1.4.1]: https://github.com/dry-rb/dry-schema/compare/v1.4.0...v1.4.1
517
538
 
518
- [Compare v1.4.0...v1.4.1](https://github.com/dry-rb/dry-schema/compare/v1.4.0...v1.4.1)
519
-
520
- ## 1.4.0 2019-10-08
521
-
539
+ ## [1.4.0] - 2019-10-08
522
540
 
523
541
  ### Added
524
542
 
@@ -547,21 +565,17 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
547
565
 
548
566
  - Added/fixed support for custom optional types (@flash-gordon)
549
567
 
568
+ [1.4.0]: https://github.com/dry-rb/dry-schema/compare/v1.3.4...v1.4.0
550
569
 
551
- [Compare v1.3.4...v1.4.0](https://github.com/dry-rb/dry-schema/compare/v1.3.4...v1.4.0)
552
-
553
- ## 1.3.4 2019-09-11
554
-
570
+ ## [1.3.4] - 2019-09-11
555
571
 
556
572
  ### Fixed
557
573
 
558
574
  - Fixed regression where using `array?` predicate within a block would crach (issue #186) (@skryukov)
559
575
 
576
+ [1.3.4]: https://github.com/dry-rb/dry-schema/compare/v1.3.3...v1.3.4
560
577
 
561
- [Compare v1.3.3...v1.3.4](https://github.com/dry-rb/dry-schema/compare/v1.3.3...v1.3.4)
562
-
563
- ## 1.3.3 2019-08-14
564
-
578
+ ## [1.3.3] - 2019-08-14
565
579
 
566
580
  ### Fixed
567
581
 
@@ -570,32 +584,26 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
570
584
  - Default processor uses strict types by default, which fixes various cases when `maybe` is used with a constructor type (@flash-gordon)
571
585
  - Namespaced messages no longer causes a crash when used with nested schemas (fixed #176) (@solnic)
572
586
 
587
+ [1.3.3]: https://github.com/dry-rb/dry-schema/compare/v1.3.2...v1.3.3
573
588
 
574
- [Compare v1.3.2...v1.3.3](https://github.com/dry-rb/dry-schema/compare/v1.3.2...v1.3.3)
575
-
576
- ## 1.3.2 2019-08-01
577
-
589
+ ## [1.3.2] - 2019-08-01
578
590
 
579
591
  ### Added
580
592
 
581
593
  - Support for new predicates: `bytesize?`, `min_bytesize?` and `max_bytesize?` (@bmalinconico)
582
594
 
595
+ [1.3.2]: https://github.com/dry-rb/dry-schema/compare/v1.3.1...v1.3.2
583
596
 
584
- [Compare v1.3.1...v1.3.2](https://github.com/dry-rb/dry-schema/compare/v1.3.1...v1.3.2)
585
-
586
- ## 1.3.1 2019-07-08
587
-
597
+ ## [1.3.1] - 2019-07-08
588
598
 
589
599
  ### Fixed
590
600
 
591
601
  - `Result#error?` works correctly with nested hashes and arrays (@solnic)
592
602
  - `:hints` extension no longer causes a crash where base messages are generated too (issue #165) (@solnic)
593
603
 
604
+ [1.3.1]: https://github.com/dry-rb/dry-schema/compare/v1.3.0...v1.3.1
594
605
 
595
- [Compare v1.3.0...v1.3.1](https://github.com/dry-rb/dry-schema/compare/v1.3.0...v1.3.1)
596
-
597
- ## 1.3.0 2019-07-06
598
-
606
+ ## [1.3.0] - 2019-07-06
599
607
 
600
608
  ### Added
601
609
 
@@ -616,11 +624,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
616
624
 
617
625
  - Type container is passed down to nested schemas (@flash-gordon)
618
626
 
627
+ [1.3.0]: https://github.com/dry-rb/dry-schema/compare/v1.2.0...v1.3.0
619
628
 
620
- [Compare v1.2.0...v1.3.0](https://github.com/dry-rb/dry-schema/compare/v1.2.0...v1.3.0)
621
-
622
- ## 1.2.0 2019-06-13
623
-
629
+ ## [1.2.0] - 2019-06-13
624
630
 
625
631
  ### Added
626
632
 
@@ -654,10 +660,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
654
660
  - Fixes related to `filled` restored pre-1.1.0 behavior of `:hints` which are again included (@solnic)
655
661
  - `filled` no longer uses filter rules to handle empty strings in `Params` (@solnic)
656
662
 
657
- [Compare v1.1.0...v1.2.0](https://github.com/dry-rb/dry-schema/compare/v1.1.0...v1.2.0)
658
-
659
- ## 1.1.0 2019-05-30
663
+ [1.2.0]: https://github.com/dry-rb/dry-schema/compare/v1.1.0...v1.2.0
660
664
 
665
+ ## [1.1.0] - 2019-05-30
661
666
 
662
667
  ### Added
663
668
 
@@ -674,11 +679,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
674
679
  - `Config#eql?` works as expected (@solnic)
675
680
  - Predicates are properly inferred from array with a member type spec, ie `array[:integer]` results in `array? + each(:integer?)` (issue #140) (@solnic)
676
681
 
682
+ [1.1.0]: https://github.com/dry-rb/dry-schema/compare/v1.0.3...v1.1.0
677
683
 
678
- [Compare v1.0.3...v1.1.0](https://github.com/dry-rb/dry-schema/compare/v1.0.3...v1.1.0)
679
-
680
- ## 1.0.3 2019-05-21
681
-
684
+ ## [1.0.3] - 2019-05-21
682
685
 
683
686
  ### Fixed
684
687
 
@@ -686,31 +689,25 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
686
689
  - Predicate arguments are used again for template cache keys (@solnic)
687
690
  - `I18n` messages backend no longer evaluates templates twice (@solnic)
688
691
 
692
+ [1.0.3]: https://github.com/dry-rb/dry-schema/compare/v1.0.2...v1.0.3
689
693
 
690
- [Compare v1.0.2...v1.0.3](https://github.com/dry-rb/dry-schema/compare/v1.0.2...v1.0.3)
691
-
692
- ## 1.0.2 2019-05-12
693
-
694
+ ## [1.0.2] - 2019-05-12
694
695
 
695
696
  ### Fixed
696
697
 
697
698
  - Caching message templates uses restricted set of known keys to calculate cache keys (issue #132) (@solnic)
698
699
 
700
+ [1.0.2]: https://github.com/dry-rb/dry-schema/compare/v1.0.1...v1.0.2
699
701
 
700
- [Compare v1.0.1...v1.0.2](https://github.com/dry-rb/dry-schema/compare/v1.0.1...v1.0.2)
701
-
702
- ## 1.0.1 2019-05-08
703
-
702
+ ## [1.0.1] - 2019-05-08
704
703
 
705
704
  ### Fixed
706
705
 
707
706
  - Applying `key?` predicate no longer causes recursive calls to `Result#errors` (issue #130) (@solnic)
708
707
 
708
+ [1.0.1]: https://github.com/dry-rb/dry-schema/compare/v1.0.0...v1.0.1
709
709
 
710
- [Compare v1.0.0...v1.0.1](https://github.com/dry-rb/dry-schema/compare/v1.0.0...v1.0.1)
711
-
712
- ## 1.0.0 2019-05-03
713
-
710
+ ## [1.0.0] - 2019-05-03
714
711
 
715
712
  ### Fixed
716
713
 
@@ -721,10 +718,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
721
718
 
722
719
  - [BREAKING] `Result#to_hash` was removed (@solnic)
723
720
 
724
- [Compare v0.6.0...v1.0.0](https://github.com/dry-rb/dry-schema/compare/v0.6.0...v1.0.0)
725
-
726
- ## 0.6.0 2019-04-24
721
+ [1.0.0]: https://github.com/dry-rb/dry-schema/compare/v0.6.0...v1.0.0
727
722
 
723
+ ## [0.6.0] - 2019-04-24
728
724
 
729
725
  ### Changed
730
726
 
@@ -732,20 +728,17 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
732
728
  - Dependency on `dry-logic` was bumped to `~> 1.0` (@solnic)
733
729
  - Dependency on `dry-initializer` was bumped to `~> 3.0` (@solnic)
734
730
 
735
- [Compare v0.5.1...v0.6.0](https://github.com/dry-rb/dry-schema/compare/v0.5.1...v0.6.0)
736
-
737
- ## 0.5.1 2019-04-17
731
+ [0.6.0]: https://github.com/dry-rb/dry-schema/compare/v0.5.1...v0.6.0
738
732
 
733
+ ## [0.5.1] - 2019-04-17
739
734
 
740
735
  ### Fixed
741
736
 
742
737
  - Key map no longer crashes on unexpected input (issue #118) (@solnic)
743
738
 
739
+ [0.5.1]: https://github.com/dry-rb/dry-schema/compare/v0.5.0...v0.5.1
744
740
 
745
- [Compare v0.5.0...v0.5.1](https://github.com/dry-rb/dry-schema/compare/v0.5.0...v0.5.1)
746
-
747
- ## 0.5.0 2019-04-04
748
-
741
+ ## [0.5.0] - 2019-04-04
749
742
 
750
743
  ### Added
751
744
 
@@ -783,10 +776,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
783
776
  - [BREAKING] `:monads` extension wraps entire result objects in `Success` or `Failure` (@flash-gordon)
784
777
  - When `:hints` are disabled, result AST will not include hint nodes (@solnic)
785
778
 
786
- [Compare v0.4.0...v0.5.0](https://github.com/dry-rb/dry-schema/compare/v0.4.0...v0.5.0)
787
-
788
- ## 0.4.0 2019-03-26
779
+ [0.5.0]: https://github.com/dry-rb/dry-schema/compare/v0.4.0...v0.5.0
789
780
 
781
+ ## [0.4.0] - 2019-03-26
790
782
 
791
783
  ### Added
792
784
 
@@ -815,10 +807,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
815
807
  - [BREAKING] `Messages::I18n` uses `I18.store_translations` instead of messing with `I18n.load_path` (@solnic)
816
808
  - Schemas (`Params` and `JSON`) have nicer inspect (@solnic)
817
809
 
818
- [Compare v0.3.0...v0.4.0](https://github.com/dry-rb/dry-schema/compare/v0.3.0...v0.4.0)
819
-
820
- ## 0.3.0 2018-03-04
810
+ [0.4.0]: https://github.com/dry-rb/dry-schema/compare/v0.3.0...v0.4.0
821
811
 
812
+ ## [0.3.0] - 2018-03-04
822
813
 
823
814
  ### Fixed
824
815
 
@@ -833,10 +824,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
833
824
 
834
825
  - Required ruby version was removed from gemspec for people who are stuck on MRI 2.3.x (@solnic)
835
826
 
836
- [Compare v0.2.0...v0.3.0](https://github.com/dry-rb/dry-schema/compare/v0.2.0...v0.3.0)
837
-
838
- ## 0.2.0 2019-02-26
827
+ [0.3.0]: https://github.com/dry-rb/dry-schema/compare/v0.2.0...v0.3.0
839
828
 
829
+ ## [0.2.0] - 2019-02-26
840
830
 
841
831
  ### Added
842
832
 
@@ -863,10 +853,9 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
863
853
  - [BREAKING] `schema` macro no longer prepends `hash?` check, for this behavior use the new `hash` macro (see #31) (@solnic)
864
854
  - [BREAKING] Support for MRI < 2.4 was dropped (@solnic)
865
855
 
866
- [Compare v0.1.1...v0.2.0](https://github.com/dry-rb/dry-schema/compare/v0.1.1...v0.2.0)
867
-
868
- ## 0.1.1 2019-02-17
856
+ [0.2.0]: https://github.com/dry-rb/dry-schema/compare/v0.1.1...v0.2.0
869
857
 
858
+ ## [0.1.1] - 2019-02-17
870
859
 
871
860
  ### Added
872
861
 
@@ -877,9 +866,8 @@ require this behavior, we recommend using a custom type (see Advanced -> Custom
877
866
  - Fix issues with templates and invalid tokens (issue #27) (@solnic)
878
867
  - Fix Ruby warnings (@flash-gordon)
879
868
 
869
+ [0.1.1]: https://github.com/dry-rb/dry-schema/compare/v0.1.0...v0.1.1
880
870
 
881
- [Compare v0.1.0...v0.1.1](https://github.com/dry-rb/dry-schema/compare/v0.1.0...v0.1.1)
882
-
883
- ## 0.1.0 2019-01-30
871
+ ## [0.1.0] - 2019-01-30
884
872
 
885
873
  Initial release.