jsonschema_rs 0.53.0-x86_64-linux → 0.55.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: d73a284af54dee473e96f12e9c168aa6849739180300de2ae79612b4174ce380
4
- data.tar.gz: e7c3a0a55c6c2dd32b3fc38bce7a2ccb6c3b12f206ff55adb4b59464191f443f
3
+ metadata.gz: 3a673a45b4bab3dab3b28a294ab14381158d63d69b24c5e4cc7995140077743d
4
+ data.tar.gz: 30ca95795884ad287009b82e0379b59e348cea5bee430229c22fe87a337e7162
5
5
  SHA512:
6
- metadata.gz: 9a92c12c661df024be42b1494af407a0aeb4567b6a26515b3b8e7dc55913d4ac78913ea5ff653398a91dd44b979dfb1cb01401c1e3b1f9410bc273810a68d1e3
7
- data.tar.gz: 57d10dbc41632b2aa88594cedf40c77bfcbd5b53826d0e17dd1460be1353b3f8d87bc126e678a06417e32bd70f18023bd6fc4da977bec507871c8dceb918d438
6
+ metadata.gz: 3cacdc251b989c1cc0e94c23ea3f320c0cf8023c8691176d47b6e4ffe902dcf601edb24c89fe02279b81b14aeed164e0535b653c402a4cb180b5221c80b975d3
7
+ data.tar.gz: 6e7767d4b2318e2848c800f563cd67925904b75e5037def52bc84acae4d8e6bc714e605dc7fa1083938d80430c1f1bc52c0f150e6771cc5ea2f428b2252b93fb
data/CHANGELOG.md CHANGED
@@ -2,6 +2,47 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.55.0] - 2026-09-06
6
+
7
+ ### Added
8
+
9
+ - `JSONSchema::Canonical::PatternValueFailsView`, which `ObjectView#violations` records for a `patternProperties` entry.
10
+
11
+ ### Changed
12
+
13
+ - Canonicalization of `not` over `patternProperties`, which kept the entry under `not` instead of recording the demand a key breaks.
14
+ - Canonicalization of an `anyOf` over objects sharing a `properties` key under `patternProperties`, which settled only on a second pass.
15
+ - Canonicalization of `not` over an `allOf` folded through a reference, which settled only on a second pass.
16
+ - Canonicalization of a `multipleOf` divisor past `f64` precision, which was not taken to divide itself.
17
+ - Canonicalization of an `anyOf` over a value beside a window pinned to it, which settled only on a second pass.
18
+ - Canonicalization of `minProperties: 1` beside a `not` that already demands a key, which settled only on a second pass.
19
+
20
+ ### Fixed
21
+
22
+ - `absolute_keyword_location` naming the sibling keyword whose validator carries the check: `maxLength` beside `minLength`, `minItems`, `maxItems` or `type` beside `items`, and a two-name `required` beside `properties`. [#1579](https://github.com/Stranger6667/jsonschema/issues/1579)
23
+ - `schemaLocation` in `evaluate` output naming `minLength` for a `maxLength` failure. [#1579](https://github.com/Stranger6667/jsonschema/issues/1579)
24
+
25
+ ## [0.54.0] - 2026-09-06
26
+
27
+ ### Performance
28
+
29
+ - `validate` and `iter_errors` check each assertion keyword with the `is_valid` path and build an error only for a failing one.
30
+ - `evaluate` holds its output tree in one allocation instead of one per node.
31
+ - A `pattern` of `^\S*$` scans bytes instead of decoding every character.
32
+ - `validate` on `properties` beside a two-name `required` confirms both names in the pass that checks the properties, instead of looking each up first.
33
+ - A string `enum` compares an option's length and first and last eight bytes before its full text.
34
+ - A JSON Pointer segment is scanned for `~` and `/` eight bytes at a time before it is copied.
35
+ - Canonicalization cloning leaves per intersection and the definition map per settled target.
36
+
37
+ ### Changed
38
+
39
+ - Canonicalization of `unevaluated*` beside `dependentSchemas` or `if`/`then`/`else`, which kept the document `Raw`.
40
+ - Canonicalization of `not` over `patternProperties`, which kept the document `Raw`.
41
+
42
+ ### Fixed
43
+
44
+ - Canonicalization of `not` over an object with `properties`, `patternProperties` and `additionalProperties`, which applied `additionalProperties` to the keys listed in `properties`.
45
+
5
46
  ## [0.53.0] - 2026-09-02
6
47
 
7
48
  ### Fixed
@@ -504,7 +545,9 @@
504
545
 
505
546
  - Initial public release
506
547
 
507
- [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.53.0...HEAD
548
+ [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.55.0...HEAD
549
+ [0.55.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.54.0...ruby-v0.55.0
550
+ [0.54.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.53.0...ruby-v0.54.0
508
551
  [0.53.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.52.1...ruby-v0.53.0
509
552
  [0.52.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.52.0...ruby-v0.52.1
510
553
  [0.52.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.51.0...ruby-v0.52.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.53.0"
4
+ VERSION = "0.55.0"
5
5
  end
data/sig/jsonschema.rbs CHANGED
@@ -207,7 +207,7 @@ module JSONSchema
207
207
  def properties: () -> Hash[String, CanonicalSchema]
208
208
  def pattern_properties: () -> Hash[String, CanonicalSchema]
209
209
  def additional_properties: () -> CanonicalSchema?
210
- def violations: () -> Array[NameFailsView | UndeclaredValueFailsView]
210
+ def violations: () -> Array[NameFailsView | UndeclaredValueFailsView | PatternValueFailsView]
211
211
  def inspect: () -> String
212
212
  def deconstruct_keys: (untyped keys) -> Hash[Symbol, untyped]
213
213
  end
@@ -228,6 +228,14 @@ module JSONSchema
228
228
  def deconstruct_keys: (untyped keys) -> Hash[Symbol, untyped]
229
229
  end
230
230
 
231
+ # Some key matching `pattern` has a value failing `schema`.
232
+ class PatternValueFailsView
233
+ def pattern: () -> String
234
+ def schema: () -> CanonicalSchema
235
+ def inspect: () -> String
236
+ def deconstruct_keys: (untyped keys) -> Hash[Symbol, untyped]
237
+ end
238
+
231
239
  # The complement of an opaque schema.
232
240
  class NotView
233
241
  def schema: () -> CanonicalSchema
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.53.0
4
+ version: 0.55.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-02 00:00:00.000000000 Z
11
+ date: 2026-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bigdecimal