jsonschema_rs 0.55.1-x86_64-linux → 0.56.0-x86_64-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: ceaa63e0d4395e6566029969f8e5c9fe1ba11a5784a8985df76d6983e45d43f7
4
- data.tar.gz: 584806bea7a152ec3c7a57f9aa2a0332124215ed62c4b08abaf1e364717674ba
3
+ metadata.gz: 385c09b17decf7b8ceaa2c9f59bd1fb02baa61f8ad6d5b935c4c1e2427bc17fe
4
+ data.tar.gz: ea00f2de96932981eb0c9708518d6826ff437742d8d239de67b12e22fcf3b033
5
5
  SHA512:
6
- metadata.gz: 87e7fdfb0ec5387d107dcc5f16be21b2d7f22abe076eab6f41e499b869666aad9441184391099e689409d9086bd0071b08c1e92c29c779ba9cb6c7036c61c2b1
7
- data.tar.gz: cf9b138a95f7a8995421bb6af7066605cf5d47d2cf831e3395d9dad95adda7f4bcac523d45a22f69b5619af63c7dabfa5f60f59342df3c821d5ab63d29373d99
6
+ metadata.gz: b4bc094dd2ec85d6d012a399fecbfcf22f7731f0cef1eb1b5492df7800df57e60a3e16ac656246f6ca30c21de6c8340f5c602779793aecd6bed5708f270db855
7
+ data.tar.gz: 57535b14756e4dfcb75e459ded220271e00684f843101d56812b675a18c83ee269a7d0a0ccec683fc5d934487441e76951280dca8f22e945cc914f2024831b0f
data/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.56.0] - 2026-09-10
6
+
7
+ ### Added
8
+
9
+ - `JSONSchema::Canonical::RawReason`, what stopped a run from modeling a document, and `RawView#reason` and `RawView#pointer`, carrying it beside the subschema the run stopped on.
10
+
11
+ ### Changed
12
+
13
+ - Canonicalization of a `oneOf` whose branches share a region too wide to expand, which spent the document's whole intersection allowance on that choice and kept the document `Raw`.
14
+
15
+ ### Performance
16
+
17
+ - Preparing or building a schema that names no base URI parses the default one once for the process instead of once per schema.
18
+ - Canonicalization reads the facets no checker covers once per node instead of once per containment query.
19
+
5
20
  ## [0.55.1] - 2026-09-08
6
21
 
7
22
  ### Changed
@@ -552,7 +567,8 @@
552
567
 
553
568
  - Initial public release
554
569
 
555
- [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.55.1...HEAD
570
+ [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.56.0...HEAD
571
+ [0.56.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.55.1...ruby-v0.56.0
556
572
  [0.55.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.55.0...ruby-v0.55.1
557
573
  [0.55.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.54.0...ruby-v0.55.0
558
574
  [0.54.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.53.0...ruby-v0.54.0
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.55.1"
4
+ VERSION = "0.56.0"
5
5
  end
data/sig/jsonschema.rbs CHANGED
@@ -23,6 +23,10 @@ module JSONSchema
23
23
  # What an array requires of its elements: all distinct, some repeated, or neither.
24
24
  type distinctness = :unconstrained | :all_distinct | :some_repeated
25
25
 
26
+ # What stopped a run from modeling a document.
27
+ type raw_reason = :unknown_dialect | :unmodeled | :outgrew_intersections
28
+ | :outgrew_cases | :inexact_intersection
29
+
26
30
  # Whether one schema admits every value another does. Only `:yes` proves containment: test
27
31
  # for `:yes`, and treat `:unknown` like `:no`.
28
32
  type containment = :yes | :no | :unknown
@@ -57,6 +61,15 @@ module JSONSchema
57
61
  ALL: Array[distinctness]
58
62
  end
59
63
 
64
+ module RawReason
65
+ UNKNOWN_DIALECT: :unknown_dialect
66
+ UNMODELED: :unmodeled
67
+ OUTGREW_INTERSECTIONS: :outgrew_intersections
68
+ OUTGREW_CASES: :outgrew_cases
69
+ INEXACT_INTERSECTION: :inexact_intersection
70
+ ALL: Array[raw_reason]
71
+ end
72
+
60
73
  module Kind
61
74
  MULTI_TYPE: :multi_type
62
75
  TYPED_GROUP: :typed_group
@@ -288,6 +301,8 @@ module JSONSchema
288
301
  # A schema the canonical form does not support structurally, kept verbatim.
289
302
  class RawView
290
303
  def schema: () -> untyped
304
+ def reason: () -> raw_reason
305
+ def pointer: () -> String?
291
306
  def inspect: () -> String
292
307
  def deconstruct_keys: (untyped keys) -> Hash[Symbol, untyped]
293
308
  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.55.1
4
+ version: 0.56.0
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Dmitry Dygalo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-08 00:00:00.000000000 Z
11
+ date: 2026-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bigdecimal