jsonschema_rs 0.49.0-x86_64-linux → 0.49.3-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: bc37beaa8d80f339fa0bf3df238011a823f77a91389edc8d0e075f6a9e468267
4
- data.tar.gz: 6c481ec8b31825e2150b8881ec380878dc610cf087362fff3d967240fc8b3271
3
+ metadata.gz: 799bf4397b7fe30b412a2c06eeb40b44f1816e99821da53b97b8106a5ae02288
4
+ data.tar.gz: f8be5e0e3e1fcdbc3ac5a79e6574e41c9834816ca71e939f6a804cb08e17a143
5
5
  SHA512:
6
- metadata.gz: b91d1838eca7aedfe097864a7af1b46cc9350eede75c752caba4fb09418f40c57a1236394c5831778ddda830d62d6b7d16077e78339f05050d64f2ed9b93c09f
7
- data.tar.gz: 5ae2c930d31a811773a5f90639a4e44f0e2aa08ff2651c62f57438e294f4a97ec7ce650f18af06fb39b6953b678c5f7c5fd2d36218acf4d75a13f6761e53a9b6
6
+ metadata.gz: 9e4f05b5d4d80d66f9401da41f3e60998fccd0a134d8b73e87b1f338ca68eb83aed0e4fd976e6c8c2752f47eee1730c04ef4b069635361d412c6c67940ddcbe4
7
+ data.tar.gz: 951899e02a624ae32f0ceea439b3af4acb2d99b071eebd4db73c88e9345973bb5b23e5501d7947189716a98318aba70bd33657561f29385de6cb829b48932238
data/CHANGELOG.md CHANGED
@@ -2,6 +2,49 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.49.3] - 2026-08-02
6
+
7
+ ### Added
8
+
9
+ - Canonicalization of a recursive schema with no finite witness, which now folds to `false`.
10
+ - Canonicalization of `$dynamicRef` and `$recursiveRef`, which resolve through the dynamic scope and stay symbolic like any other reference. A dangling `$dynamicRef` errors rather than staying `Raw`.
11
+ - Canonicalization of `minContains` under `uniqueItems`, where a demand asking for more matches than its own schema has distinct values now folds to `false`.
12
+ - Canonicalization of a Draft 4 `patternProperties` coverage closed by `additionalProperties: false`, spelled as the closed map it was parsed from.
13
+ - Canonicalization of a `oneOf` whose branches repeat, where a repeated branch can never contribute exactly one match.
14
+ - Canonicalization of a `$ref` whose target is an empty schema, which now folds to `false`.
15
+ - Canonicalization of `unevaluatedItems` beside `allOf`, where every branch must pass and so the indexes they evaluate are known without the instance.
16
+ - Canonicalization of `unevaluatedProperties` beside `allOf`, where every branch must pass and so what they evaluate is known without the instance.
17
+ - Canonicalization of a Draft 4 `type` list holding `integer` beside other types with `enum`, which previously modeled only when spelled as an `allOf`.
18
+ - Canonicalization of `patternProperties` patterns matching finitely many keys, such as `^a$` and `^(a|b)$`.
19
+ - Canonicalization of `unevaluatedProperties` and `unevaluatedItems` when no in-place applicator sits beside them.
20
+
21
+ ### Fixed
22
+
23
+ - `additionalItems` values that are not schemas silently ignored beside an array-form `items` (they should fail the build like `additionalProperties`).
24
+ - `additionalItems` beside a boolean `items` rejecting every instance, such as `{"additionalItems": false, "items": false}`.
25
+ - Draft 4 rejecting a size bound at or past `2^64`, such as `{"maxItems": 18446744073709551616}`.
26
+ - An integer past the `f64` range admitted by a fractional bound it exceeds, such as `1e400` under `{"exclusiveMaximum": 0.1}`.
27
+ - A `$ref` at the root of an `$id`-bearing subresource dropped as a self-reference when its pointer matched the one that reached that subresource.
28
+ - Canonicalization reusing one definition's body for a same-named definition in another resource, when the name spells a canonical URI.
29
+ - `unevaluatedItems` counting `prefixItems` as evaluating elements before Draft 2020-12, where it is not a keyword.
30
+
31
+ ### Performance
32
+
33
+ - Up to 70% faster `evaluate`.
34
+
35
+ ## [0.49.2] - 2026-07-28
36
+
37
+ ### Performance
38
+
39
+ - Faster serialization of canonicalized schemas.
40
+
41
+ ## [0.49.1] - 2026-07-25
42
+
43
+ ### Fixed
44
+
45
+ - `JSONSchema.canonicalize` rejecting `pattern_options` (it should take the same regex configuration as validators).
46
+ - `InvalidPattern` failures raising the base `CanonicalizationError` (they should raise `JSONSchema::Canonical::InvalidPattern`).
47
+
5
48
  ## [0.49.0] - 2026-07-25
6
49
 
7
50
  ### Added
@@ -219,7 +262,10 @@
219
262
 
220
263
  - Initial public release
221
264
 
222
- [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.0...HEAD
265
+ [Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.3...HEAD
266
+ [0.49.3]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.2...ruby-v0.49.3
267
+ [0.49.2]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.1...ruby-v0.49.2
268
+ [0.49.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.49.0...ruby-v0.49.1
223
269
  [0.49.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.48.5...ruby-v0.49.0
224
270
  [0.48.5]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.48.2...ruby-v0.48.5
225
271
  [0.48.2]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.48.1...ruby-v0.48.2
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.0"
4
+ VERSION = "0.49.3"
5
5
  end
data/sig/jsonschema.rbs CHANGED
@@ -29,6 +29,9 @@ module JSONSchema
29
29
  class InvalidSchemaType < CanonicalizationError
30
30
  end
31
31
 
32
+ class InvalidPattern < CanonicalizationError
33
+ end
34
+
32
35
  # A schema reduced to canonical form: schemas accepting the same values share one form.
33
36
  class CanonicalSchema
34
37
  def to_json_schema: () -> untyped
@@ -164,7 +167,8 @@ module JSONSchema
164
167
  def self.canonicalize: (
165
168
  untyped schema,
166
169
  ?draft: draft?,
167
- ?validate_formats: bool?
170
+ ?validate_formats: bool?,
171
+ ?pattern_options: (RegexOptions | FancyRegexOptions)?
168
172
  ) -> Canonical::CanonicalSchema
169
173
 
170
174
  # Create a validator with auto-detected draft version.
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.0
4
+ version: 0.49.3
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-07-25 00:00:00.000000000 Z
11
+ date: 2026-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bigdecimal