jsonschema_rs 0.49.2-aarch64-linux → 0.49.4-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 +57 -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 +10 -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: 8c22c51afb1f4c0c651addda328c1891df9e51c4ed61f7b0f86780cea0a33d09
|
|
4
|
+
data.tar.gz: 0ae9dae7df879372a2449023872549170734966232a323bc2771eef5df972e08
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: efa3a48af6657314d679e4cb3f8c485413c6da789d8e87b900a1eb9e1f7e8286d17b3ba142cf144af82c3018c805dbbc1a969c445674f7d8332a8649830811db
|
|
7
|
+
data.tar.gz: 5c6601d718193f2934023cbeda5bb9fb7533e2f113b7c61e5554baf1d4f4d151556dd8b1e7e0c34ef30f1c269004e833391499f173e36485dc5c20fdce8ec507
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,60 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.49.4] - 2026-08-04
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Canonicalization of `not` a string format, which the string leaf carries as barred formats.
|
|
10
|
+
- Canonicalization of `not` an existential demand, which an array fails exactly when no element matches.
|
|
11
|
+
- Canonicalization of `not` a string value set, which the string leaf carries as excluded values.
|
|
12
|
+
- Canonicalization of `unevaluatedItems` beside `contains`, where the elements it matches are evaluated and the tail admits either.
|
|
13
|
+
- Canonicalization of `unevaluated*` beside `anyOf` or `oneOf`, where every branch evaluating the same keys or indexes pins what is left over.
|
|
14
|
+
- Canonicalization of `not` an array element schema, which an array fails exactly when one element violates it.
|
|
15
|
+
- `CanonicalSchema#intersect`, the values both schemas admit.
|
|
16
|
+
- `CanonicalSchema#negate`, the values a schema rejects.
|
|
17
|
+
- `CanonicalSchema#definition`, one reference target by URI.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- An integer past `i64` admitted by a fractional bound `f64` rounds it onto, such as `-10000000000000000000000000` under `{"maximum": -10000000000000000000000000.1}`.
|
|
22
|
+
- An integer past `2^53` admitted by a bound `f64` rounds onto it, such as `9007199254740992` under `{"minimum": 9007199254740993}`.
|
|
23
|
+
- A `contains` subschema beside both `minContains` and `maxContains` overwriting a sibling keyword of the same name, such as `items`.
|
|
24
|
+
|
|
25
|
+
### Performance
|
|
26
|
+
|
|
27
|
+
- `CanonicalSchema` hashing and equality cost the node instead of the whole document.
|
|
28
|
+
|
|
29
|
+
## [0.49.3] - 2026-08-02
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
- Canonicalization of a recursive schema with no finite witness, which now folds to `false`.
|
|
34
|
+
- Canonicalization of `$dynamicRef` and `$recursiveRef`, which resolve through the dynamic scope and stay symbolic like any other reference. A dangling `$dynamicRef` errors rather than staying `Raw`.
|
|
35
|
+
- Canonicalization of `minContains` under `uniqueItems`, where a demand asking for more matches than its own schema has distinct values now folds to `false`.
|
|
36
|
+
- Canonicalization of a Draft 4 `patternProperties` coverage closed by `additionalProperties: false`, spelled as the closed map it was parsed from.
|
|
37
|
+
- Canonicalization of a `oneOf` whose branches repeat, where a repeated branch can never contribute exactly one match.
|
|
38
|
+
- Canonicalization of a `$ref` whose target is an empty schema, which now folds to `false`.
|
|
39
|
+
- Canonicalization of `unevaluatedItems` beside `allOf`, where every branch must pass and so the indexes they evaluate are known without the instance.
|
|
40
|
+
- Canonicalization of `unevaluatedProperties` beside `allOf`, where every branch must pass and so what they evaluate is known without the instance.
|
|
41
|
+
- Canonicalization of a Draft 4 `type` list holding `integer` beside other types with `enum`, which previously modeled only when spelled as an `allOf`.
|
|
42
|
+
- Canonicalization of `patternProperties` patterns matching finitely many keys, such as `^a$` and `^(a|b)$`.
|
|
43
|
+
- Canonicalization of `unevaluatedProperties` and `unevaluatedItems` when no in-place applicator sits beside them.
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
|
|
47
|
+
- `additionalItems` values that are not schemas silently ignored beside an array-form `items` (they should fail the build like `additionalProperties`).
|
|
48
|
+
- `additionalItems` beside a boolean `items` rejecting every instance, such as `{"additionalItems": false, "items": false}`.
|
|
49
|
+
- Draft 4 rejecting a size bound at or past `2^64`, such as `{"maxItems": 18446744073709551616}`.
|
|
50
|
+
- An integer past the `f64` range admitted by a fractional bound it exceeds, such as `1e400` under `{"exclusiveMaximum": 0.1}`.
|
|
51
|
+
- A `$ref` at the root of an `$id`-bearing subresource dropped as a self-reference when its pointer matched the one that reached that subresource.
|
|
52
|
+
- Canonicalization reusing one definition's body for a same-named definition in another resource, when the name spells a canonical URI.
|
|
53
|
+
- `unevaluatedItems` counting `prefixItems` as evaluating elements before Draft 2020-12, where it is not a keyword.
|
|
54
|
+
|
|
55
|
+
### Performance
|
|
56
|
+
|
|
57
|
+
- Up to 70% faster `evaluate`.
|
|
58
|
+
|
|
5
59
|
## [0.49.2] - 2026-07-28
|
|
6
60
|
|
|
7
61
|
### Performance
|
|
@@ -232,7 +286,9 @@
|
|
|
232
286
|
|
|
233
287
|
- Initial public release
|
|
234
288
|
|
|
235
|
-
[Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.
|
|
289
|
+
[Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.4...HEAD
|
|
290
|
+
[0.49.4]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.3...ruby-v0.49.4
|
|
291
|
+
[0.49.3]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.2...ruby-v0.49.3
|
|
236
292
|
[0.49.2]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.1...ruby-v0.49.2
|
|
237
293
|
[0.49.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.0...ruby-v0.49.1
|
|
238
294
|
[0.49.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.48.5...ruby-v0.49.0
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/lib/jsonschema/version.rb
CHANGED
data/sig/jsonschema.rbs
CHANGED
|
@@ -32,12 +32,21 @@ 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 negate: () -> CanonicalSchema?
|
|
49
|
+
def definition: (String uri) -> CanonicalSchema?
|
|
41
50
|
def definitions: () -> Hash[String, CanonicalSchema]
|
|
42
51
|
def satisfiable?: () -> bool
|
|
43
52
|
def inspect: () -> String
|
|
@@ -77,6 +86,7 @@ module JSONSchema
|
|
|
77
86
|
def formats: () -> Array[String]
|
|
78
87
|
def content_media_types: () -> Array[String]
|
|
79
88
|
def content_encodings: () -> Array[String]
|
|
89
|
+
def excluded: () -> Array[String]
|
|
80
90
|
def inspect: () -> String
|
|
81
91
|
def deconstruct_keys: (untyped keys) -> Hash[Symbol, untyped]
|
|
82
92
|
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.4
|
|
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-
|
|
11
|
+
date: 2026-08-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bigdecimal
|