jsonschema_rs 0.51.0-aarch64-linux → 0.52.1-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: d3ea11fcbe7ce2ef575e6fd4b3f1dc3723e01127568d6b4be6f80408f2a6a4e1
4
- data.tar.gz: f9ed0cffd63aa0e7f7c3aa0e99dbe83c037b75bbc2e6f58be8da91e8bd35ab67
3
+ metadata.gz: 78413c833f2fbd0ade6fe407fceca865baf121572b65a2f5018a01bd54ee1880
4
+ data.tar.gz: 4d3e0618b8082ebff76a806f430c9b7b607d8e4b4879d10d1055b2593d8419b8
5
5
  SHA512:
6
- metadata.gz: aec7847d3f6aa956da4e2d6552275e791d7d0be89c4f1f89bc34353a4e444f9790d6db300e03c4f8506c894e3b76454e0b787ef87a8d8b9a80be9ab037d2be91
7
- data.tar.gz: 97772ef25ab0982975468bb7d2df115126a670c44313bfef2f569a9e2b4d4dadc80999c4f6afa322b5d03a2bce1e4a64725b6e809b7fce0cfc7cde1001c7213e
6
+ metadata.gz: 83c3621e50c0c3ebe5d514973dae2a94094ca6e53694555b621387289db7efd9dc92d257d3b89ad64fbccd90ec2b8b85f3f9d405aba32f815390f472419c905f
7
+ data.tar.gz: f19d616788ea8204f44b2c28d09e8bdb8abddec3f7b69e29dcea869d0fe32ea464879a7d5bcd0ee2140a5d0e78ec72070e4789c04199c625904f5c5461bdac1a
data/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.52.1] - 2026-08-30
6
+
7
+ ### Performance
8
+
9
+ - `minLength` and `maxLength` together now scan the string once.
10
+ - `unevaluatedProperties` is up to 2.9x faster.
11
+ - `evaluate` is up to 27% faster on reference-heavy schemas.
12
+
13
+ ## [0.52.0] - 2026-08-27
14
+
15
+ ### Added
16
+
17
+ - The `offline:` keyword argument, refusing to fetch references outside `registry:`.
18
+
19
+ ### Fixed
20
+
21
+ - Canonicalization not idempotent where a `patternProperties` `$ref` matches a key `properties` names.
22
+ - The `draft:` keyword argument and the `Draft201909Validator` / `Draft202012Validator` classes gating keywords on the vocabularies of the `$schema` they override, so the validator accepted every instance.
23
+ - `valid?` disagreeing with `validate!`, `each_error`, and `evaluate` on a schema that reaches its own `$ref` twice, one of them under `not`.
24
+
5
25
  ## [0.51.0] - 2026-08-23
6
26
 
7
27
  ### Added
@@ -467,7 +487,9 @@
467
487
 
468
488
  - Initial public release
469
489
 
470
- [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.51.0...HEAD
490
+ [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.52.1...HEAD
491
+ [0.52.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.52.0...ruby-v0.52.1
492
+ [0.52.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.51.0...ruby-v0.52.0
471
493
  [0.51.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.50.1...ruby-v0.51.0
472
494
  [0.50.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.50.0...ruby-v0.50.1
473
495
  [0.50.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.9...ruby-v0.50.0
data/README.md CHANGED
@@ -49,7 +49,7 @@ end
49
49
  - 🌐 Remote reference fetching (network/file)
50
50
  - 🔧 Custom keywords and format validators
51
51
  - ✨ Meta-schema validation for schema documents
52
- - 📦 Schema bundling into Compound Schema Documents
52
+ - 📦 Schema bundling into Compound Schema Documents, and `$ref` dereferencing
53
53
  - 🧮 Experimental schema canonicalization
54
54
  - ♦️ Supports Ruby 3.2, 3.4 and 4.0
55
55
 
@@ -371,7 +371,7 @@ Compare a request schema new-against-old and a response schema old-against-new:
371
371
 
372
372
  Both operands must share one setup - the same draft, format policy, regular-expression engine and definitions - or `IncompatibleOperands` is raised. `UnsupportedOperand` means an operand is a `Raw` pass-through, and `UnsupportedResult` that the canonical form does not support the result. All three live under `JSONSchema::Canonical`.
373
373
 
374
- ## Schema Bundling
374
+ ## Schema Bundling and Dereferencing
375
375
 
376
376
  Produce a Compound Schema Document ([Appendix B](https://json-schema.org/draft/2020-12/json-schema-core#appendix-B)) by embedding all external `$ref` targets into a draft-appropriate container. The result validates identically to the original.
377
377
 
@@ -395,6 +395,12 @@ registry = JSONSchema::Registry.new([["https://example.com/address.json", addres
395
395
  bundled = JSONSchema.bundle(schema, registry: registry)
396
396
  ```
397
397
 
398
+ `dereference` instead replaces each `$ref` with the schema it points to, for consumers that do not resolve references. Circular references are left in place.
399
+
400
+ ```ruby
401
+ dereferenced = JSONSchema.dereference(schema, registry: registry)
402
+ ```
403
+
398
404
  ## Meta-Schema Validation
399
405
 
400
406
  Validate that a JSON Schema document is itself valid:
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.51.0"
4
+ VERSION = "0.52.1"
5
5
  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.51.0
4
+ version: 0.52.1
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-23 00:00:00.000000000 Z
11
+ date: 2026-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bigdecimal