jsonschema_rs 0.49.3-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 796c242552855def82fe580ddaed469ed1508ba95eda4a23e1ea9edca8e09c96
4
- data.tar.gz: ad4e6ac809720c63cb559c0ec510895a333ee624a34d9ce6343b404a86326d56
3
+ metadata.gz: 8c22c51afb1f4c0c651addda328c1891df9e51c4ed61f7b0f86780cea0a33d09
4
+ data.tar.gz: 0ae9dae7df879372a2449023872549170734966232a323bc2771eef5df972e08
5
5
  SHA512:
6
- metadata.gz: adf3ea5c89f305349c4165a941b81dca11df5ef4ee46e8e84e141b743ca1683a2b165ea78fbf3270b297df7ea2f7c0ff5eb5899be99992aebd026a231e22323b
7
- data.tar.gz: 9ce46a4892e3472a370e2b39cfa6c22d9250395fb153b8c8280c9aafbdae3dfd5c4eba717793dd357f508807c72ac01ae2e0e73039532ce84dcaf0b2cbbaae63
6
+ metadata.gz: efa3a48af6657314d679e4cb3f8c485413c6da789d8e87b900a1eb9e1f7e8286d17b3ba142cf144af82c3018c805dbbc1a969c445674f7d8332a8649830811db
7
+ data.tar.gz: 5c6601d718193f2934023cbeda5bb9fb7533e2f113b7c61e5554baf1d4f4d151556dd8b1e7e0c34ef30f1c269004e833391499f173e36485dc5c20fdce8ec507
data/CHANGELOG.md CHANGED
@@ -2,6 +2,30 @@
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
+
5
29
  ## [0.49.3] - 2026-08-02
6
30
 
7
31
  ### Added
@@ -262,7 +286,8 @@
262
286
 
263
287
  - Initial public release
264
288
 
265
- [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.3...HEAD
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
266
291
  [0.49.3]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.2...ruby-v0.49.3
267
292
  [0.49.2]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.1...ruby-v0.49.2
268
293
  [0.49.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.0...ruby-v0.49.1
Binary file
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JSONSchema
4
- VERSION = "0.49.3"
4
+ VERSION = "0.49.4"
5
5
  end
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.3
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-08-02 00:00:00.000000000 Z
11
+ date: 2026-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bigdecimal