jsonschema_rs 0.49.3-aarch64-linux → 0.49.5-aarch64-linux
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 +4 -4
- data/CHANGELOG.md +45 -1
- data/lib/jsonschema/3.3/jsonschema_rb.so +0 -0
- data/lib/jsonschema/3.4/jsonschema_rb.so +0 -0
- data/lib/jsonschema/4.0/jsonschema_rb.so +0 -0
- data/lib/jsonschema/version.rb +1 -1
- data/sig/jsonschema.rbs +16 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4769283677c6dd78d9fee5a261b092dc3c1988f0b5c3719294a6d35b47b8f3e7
|
|
4
|
+
data.tar.gz: 5f722cec6c6a475dc6e30db09e64c9c226bfa51858204ddd04177f1d64c91713
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4084ff4aaf896f59841e10c18967244a4d77342a5bc44e88f68ae0f579c7affc2ef2d136d6c2233f894a9d0162a977880c1492ec744662734063dadaecc26da6
|
|
7
|
+
data.tar.gz: 5c5ea50c3291595e8e8b80e0214b6bd2e780e1aaa8b5404593550c5cbfa3462b08af998d2f97e9f0a1be17b7772e4c1ab0aa6be87ca8b5e95ac053646bd4342e
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.49.5] - 2026-08-05
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Canonicalization of `not` an integer schema under Draft 4, which the number leaf carries as barred integers.
|
|
10
|
+
- Canonicalization of `not` a `multipleOf`, which numeric leaves carry as barred divisors.
|
|
11
|
+
- Canonicalization of `not` an integer schema, where a barred divisor of one spells the non-integer numbers.
|
|
12
|
+
- Canonicalization of `not` a `pattern`, which string leaves carry as barred patterns.
|
|
13
|
+
- Canonicalization of `not` a typed value set under Draft 4, such as `{"type": "integer", "enum": [1, 2]}`.
|
|
14
|
+
- `CanonicalSchema#is_subset_of`, whether the other schema admits every value this one admits.
|
|
15
|
+
- Canonicalization of a reference cycle carrying no assertion, which admits every value.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- `CanonicalSchema#is_subset_of` failing to prove a union of array branches a subset of itself.
|
|
20
|
+
- Two spellings of one number canonicalizing to different texts when the fraction exceeds the expansion cap.
|
|
21
|
+
- Numeric bounds and `multipleOf` comparing values through a lossy `f64` conversion, such as `1e-400` passing `{"maximum": 0}`.
|
|
22
|
+
|
|
23
|
+
## [0.49.4] - 2026-08-04
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- Canonicalization of `not` a string format, which the string leaf carries as barred formats.
|
|
28
|
+
- Canonicalization of `not` an existential demand, which an array fails exactly when no element matches.
|
|
29
|
+
- Canonicalization of `not` a string value set, which the string leaf carries as excluded values.
|
|
30
|
+
- Canonicalization of `unevaluatedItems` beside `contains`, where the elements it matches are evaluated and the tail admits either.
|
|
31
|
+
- Canonicalization of `unevaluated*` beside `anyOf` or `oneOf`, where every branch evaluating the same keys or indexes pins what is left over.
|
|
32
|
+
- Canonicalization of `not` an array element schema, which an array fails exactly when one element violates it.
|
|
33
|
+
- `CanonicalSchema#intersect`, the values both schemas admit.
|
|
34
|
+
- `CanonicalSchema#negate`, the values a schema rejects.
|
|
35
|
+
- `CanonicalSchema#definition`, one reference target by URI.
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- An integer past `i64` admitted by a fractional bound `f64` rounds it onto, such as `-10000000000000000000000000` under `{"maximum": -10000000000000000000000000.1}`.
|
|
40
|
+
- An integer past `2^53` admitted by a bound `f64` rounds onto it, such as `9007199254740992` under `{"minimum": 9007199254740993}`.
|
|
41
|
+
- A `contains` subschema beside both `minContains` and `maxContains` overwriting a sibling keyword of the same name, such as `items`.
|
|
42
|
+
|
|
43
|
+
### Performance
|
|
44
|
+
|
|
45
|
+
- `CanonicalSchema` hashing and equality cost the node instead of the whole document.
|
|
46
|
+
|
|
5
47
|
## [0.49.3] - 2026-08-02
|
|
6
48
|
|
|
7
49
|
### Added
|
|
@@ -262,7 +304,9 @@
|
|
|
262
304
|
|
|
263
305
|
- Initial public release
|
|
264
306
|
|
|
265
|
-
[Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.
|
|
307
|
+
[Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.5...HEAD
|
|
308
|
+
[0.49.5]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.4...ruby-v0.49.5
|
|
309
|
+
[0.49.4]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.3...ruby-v0.49.4
|
|
266
310
|
[0.49.3]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.2...ruby-v0.49.3
|
|
267
311
|
[0.49.2]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.1...ruby-v0.49.2
|
|
268
312
|
[0.49.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.0...ruby-v0.49.1
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/lib/jsonschema/version.rb
CHANGED
data/sig/jsonschema.rbs
CHANGED
|
@@ -32,12 +32,22 @@ module JSONSchema
|
|
|
32
32
|
class InvalidPattern < CanonicalizationError
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
+
class IncompatibleOperands < CanonicalizationError
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class UnmodeledOperand < CanonicalizationError
|
|
39
|
+
end
|
|
40
|
+
|
|
35
41
|
# A schema reduced to canonical form: schemas accepting the same values share one form.
|
|
36
42
|
class CanonicalSchema
|
|
37
43
|
def to_json_schema: () -> untyped
|
|
38
44
|
def draft: () -> JSONSchema::draft
|
|
39
45
|
def kind: () -> kind
|
|
40
46
|
def view: () -> view
|
|
47
|
+
def intersect: (CanonicalSchema other) -> CanonicalSchema
|
|
48
|
+
def is_subset_of: (CanonicalSchema other) -> bool?
|
|
49
|
+
def negate: () -> CanonicalSchema?
|
|
50
|
+
def definition: (String uri) -> CanonicalSchema?
|
|
41
51
|
def definitions: () -> Hash[String, CanonicalSchema]
|
|
42
52
|
def satisfiable?: () -> bool
|
|
43
53
|
def inspect: () -> String
|
|
@@ -74,9 +84,12 @@ module JSONSchema
|
|
|
74
84
|
def min_length: () -> Integer?
|
|
75
85
|
def max_length: () -> Integer?
|
|
76
86
|
def patterns: () -> Array[String]
|
|
87
|
+
def excluded_patterns: () -> Array[String]
|
|
77
88
|
def formats: () -> Array[String]
|
|
89
|
+
def excluded_formats: () -> Array[String]
|
|
78
90
|
def content_media_types: () -> Array[String]
|
|
79
91
|
def content_encodings: () -> Array[String]
|
|
92
|
+
def excluded: () -> Array[String]
|
|
80
93
|
def inspect: () -> String
|
|
81
94
|
def deconstruct_keys: (untyped keys) -> Hash[Symbol, untyped]
|
|
82
95
|
end
|
|
@@ -88,6 +101,8 @@ module JSONSchema
|
|
|
88
101
|
def maximum: () -> (Integer | Float)?
|
|
89
102
|
def exclusive_maximum: () -> bool
|
|
90
103
|
def multiple_of: () -> Array[Integer | Float]
|
|
104
|
+
def not_multiple_of: () -> Array[Integer | Float]
|
|
105
|
+
def excludes_integers: () -> bool
|
|
91
106
|
def inspect: () -> String
|
|
92
107
|
def deconstruct_keys: (untyped keys) -> Hash[Symbol, untyped]
|
|
93
108
|
end
|
|
@@ -97,6 +112,7 @@ module JSONSchema
|
|
|
97
112
|
def minimum: () -> Integer?
|
|
98
113
|
def maximum: () -> Integer?
|
|
99
114
|
def multiple_of: () -> Array[Integer | Float]
|
|
115
|
+
def not_multiple_of: () -> Array[Integer | Float]
|
|
100
116
|
def inspect: () -> String
|
|
101
117
|
def deconstruct_keys: (untyped keys) -> Hash[Symbol, untyped]
|
|
102
118
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jsonschema_rs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.49.
|
|
4
|
+
version: 0.49.5
|
|
5
5
|
platform: aarch64-linux
|
|
6
6
|
authors:
|
|
7
7
|
- Dmitry Dygalo
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bigdecimal
|