jsonschema_rs 0.51.0-x86_64-linux → 0.52.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: '01039060bc2389acdf86de4a17ca8038a9a9a15c50ebb3b49327ccc332cc0598'
4
- data.tar.gz: 83ea2e4aefa122352cee496e845af970f9ae88e865f8b0a9b28a3b878771b437
3
+ metadata.gz: ce274a06208c1cd4edac0a666ae528d3347bd3266ae244aa6bd98959e93884fa
4
+ data.tar.gz: 99224e7475d633c0b533a888ec708a3749d91dabf9c3c70998b2211feeedbc47
5
5
  SHA512:
6
- metadata.gz: 8648fbabca232e1a547ce14823ebea7e34d2fb7b0d2bac99d8feb4ddab63928593cd7a9a5015e00d637081574bc6548e6aa8fa6bcc7d11bf2516c581051b8792
7
- data.tar.gz: c5632df20ccfce1ccab959f6ead8d5648ef05cbaf53450a1dcde828f6047b17992712214bbfbb464edf4787b6134191c73deee89eacae12456f6e7a2f2da4c95
6
+ metadata.gz: 3b5d47ff07fa89a797bff77c683ea0f89216093e93731992dd3076ff0b46306b7aa3b99c462eec2d118958c8322d53d05f72203d9db8515664709d50ae99239d
7
+ data.tar.gz: da2d956cbee728a47d178fd66d522fa4e032d9521c4c6125f04f9f8837284bb421742cc8b247b6eaf9c555cf81af0e6dd6f2b9c06fb0c5d2b31ab9ae15252714
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.52.0] - 2026-08-27
6
+
7
+ ### Added
8
+
9
+ - The `offline:` keyword argument, refusing to fetch references outside `registry:`.
10
+
11
+ ### Fixed
12
+
13
+ - Canonicalization not idempotent where a `patternProperties` `$ref` matches a key `properties` names.
14
+ - 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.
15
+ - `valid?` disagreeing with `validate!`, `each_error`, and `evaluate` on a schema that reaches its own `$ref` twice, one of them under `not`.
16
+
5
17
  ## [0.51.0] - 2026-08-23
6
18
 
7
19
  ### Added
@@ -467,7 +479,8 @@
467
479
 
468
480
  - Initial public release
469
481
 
470
- [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.51.0...HEAD
482
+ [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.52.0...HEAD
483
+ [0.52.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.51.0...ruby-v0.52.0
471
484
  [0.51.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.50.1...ruby-v0.51.0
472
485
  [0.50.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.50.0...ruby-v0.50.1
473
486
  [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.0"
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.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-08-23 00:00:00.000000000 Z
11
+ date: 2026-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bigdecimal