jsonschema_rs 0.52.0 → 0.53.0
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 +4 -4
- data/CHANGELOG.md +28 -1
- data/Cargo.toml +2 -2
- data/ext/jsonschema/Cargo.lock +17 -15
- data/ext/jsonschema/Cargo.toml +3 -3
- data/lib/jsonschema/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fed2ed63bd89b16e2aad0bfd950e18ce4382d696d4dcf370be1edbf1514da84c
|
|
4
|
+
data.tar.gz: 7a091bde575c3c227cb0cdc007814df574cdb313161ce444acc2722137a37283
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 488b7f23d40971e9a03bab4601df0ed4028a3d5b235dbc1108cd1efb3a8e579ef34c851d1dd44545ba138767e96c5930b0e6eb905b1b481d6cb30f11a44058eb
|
|
7
|
+
data.tar.gz: b4d2fd08e257daef457e177ca39e0cd888618fdac88de6d4f723ff05e34ffd32581b9b0aada6230bbbed530f2a929a4808f3491e4d9d1560cd5542171153b142
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.53.0] - 2026-09-02
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Draft 4 `type: integer` matching a `Float` or not depending on its formatting; a `Float` is never a draft 4 integer.
|
|
10
|
+
- `uniqueItems` accepting `0` alongside `-0.0` in arrays of more than 15 items.
|
|
11
|
+
|
|
12
|
+
### Performance
|
|
13
|
+
|
|
14
|
+
- Canonicalizing an `allOf` of object schemas walks their property maps once instead of looking every key up.
|
|
15
|
+
- `properties` and `required` compare short names without `memcmp`.
|
|
16
|
+
- Draft 4 `type: integer` is up to 6x faster on float-heavy instances.
|
|
17
|
+
- `evaluate` renders each node's locations once instead of rebuilding them.
|
|
18
|
+
- Building a schema resolves each `$ref` target once instead of per reference site.
|
|
19
|
+
- Building a schema with an `$id` encodes each absolute location once instead of re-validating it.
|
|
20
|
+
- `enum` listing strings or integers, with or without `null`, matches against a set instead of comparing each candidate.
|
|
21
|
+
|
|
22
|
+
## [0.52.1] - 2026-08-30
|
|
23
|
+
|
|
24
|
+
### Performance
|
|
25
|
+
|
|
26
|
+
- `minLength` and `maxLength` together now scan the string once.
|
|
27
|
+
- `unevaluatedProperties` is up to 2.9x faster.
|
|
28
|
+
- `evaluate` is up to 27% faster on reference-heavy schemas.
|
|
29
|
+
|
|
5
30
|
## [0.52.0] - 2026-08-27
|
|
6
31
|
|
|
7
32
|
### Added
|
|
@@ -479,7 +504,9 @@
|
|
|
479
504
|
|
|
480
505
|
- Initial public release
|
|
481
506
|
|
|
482
|
-
[Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.
|
|
507
|
+
[Unreleased]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.53.0...HEAD
|
|
508
|
+
[0.53.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.52.1...ruby-v0.53.0
|
|
509
|
+
[0.52.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.52.0...ruby-v0.52.1
|
|
483
510
|
[0.52.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.51.0...ruby-v0.52.0
|
|
484
511
|
[0.51.0]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.50.1...ruby-v0.51.0
|
|
485
512
|
[0.50.1]: https://github.com/Stranger6667/jsonschema/compare/ruby-v0.50.0...ruby-v0.50.1
|
data/Cargo.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "jsonschema-rb"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.53.0"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
authors = ["Dmitry Dygalo <dmitry@dygalo.dev>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -14,7 +14,7 @@ crate-type = ["cdylib"]
|
|
|
14
14
|
|
|
15
15
|
[dependencies]
|
|
16
16
|
strum = "0.28.0"
|
|
17
|
-
jsonschema = { version = "0.
|
|
17
|
+
jsonschema = { version = "0.53.0", default-features = false, features = ["magnus", "arbitrary-precision", "resolve-http", "resolve-file", "tls-ring", "macros", "idna"] }
|
|
18
18
|
magnus = { version = "0.8", features = ["rb-sys"] }
|
|
19
19
|
rb-sys = "0.9"
|
|
20
20
|
serde = { workspace = true }
|
data/ext/jsonschema/Cargo.lock
CHANGED
|
@@ -693,9 +693,9 @@ dependencies = [
|
|
|
693
693
|
|
|
694
694
|
[[package]]
|
|
695
695
|
name = "jsonschema"
|
|
696
|
-
version = "0.
|
|
696
|
+
version = "0.53.0"
|
|
697
697
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
698
|
-
checksum = "
|
|
698
|
+
checksum = "ca2ea2207f8ccb34b6d4d041fe9deb08fff3cbc43750012caa2c3d1e860188e4"
|
|
699
699
|
dependencies = [
|
|
700
700
|
"ahash",
|
|
701
701
|
"bytecount",
|
|
@@ -726,9 +726,9 @@ dependencies = [
|
|
|
726
726
|
|
|
727
727
|
[[package]]
|
|
728
728
|
name = "jsonschema-macros"
|
|
729
|
-
version = "0.
|
|
729
|
+
version = "0.53.0"
|
|
730
730
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
731
|
-
checksum = "
|
|
731
|
+
checksum = "fca63b539fd065bf6dd1e2250eb8f043d192f1e26871938328677dec94f47891"
|
|
732
732
|
dependencies = [
|
|
733
733
|
"jsonschema-macros-core",
|
|
734
734
|
"proc-macro2",
|
|
@@ -736,9 +736,9 @@ dependencies = [
|
|
|
736
736
|
|
|
737
737
|
[[package]]
|
|
738
738
|
name = "jsonschema-macros-core"
|
|
739
|
-
version = "0.
|
|
739
|
+
version = "0.53.0"
|
|
740
740
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
741
|
-
checksum = "
|
|
741
|
+
checksum = "aa86fa71ef7b974d3081f13900de1c10371c6df55670031e2e123f0aa738c69e"
|
|
742
742
|
dependencies = [
|
|
743
743
|
"fancy-regex",
|
|
744
744
|
"indexmap",
|
|
@@ -755,7 +755,7 @@ dependencies = [
|
|
|
755
755
|
|
|
756
756
|
[[package]]
|
|
757
757
|
name = "jsonschema-rb-ext"
|
|
758
|
-
version = "0.
|
|
758
|
+
version = "0.53.0"
|
|
759
759
|
dependencies = [
|
|
760
760
|
"jsonschema",
|
|
761
761
|
"magnus",
|
|
@@ -769,28 +769,30 @@ dependencies = [
|
|
|
769
769
|
|
|
770
770
|
[[package]]
|
|
771
771
|
name = "jsonschema-regex"
|
|
772
|
-
version = "0.
|
|
772
|
+
version = "0.53.0"
|
|
773
773
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
774
|
-
checksum = "
|
|
774
|
+
checksum = "5426a01d944d044c9c5e459f603419d1b539358f5496b1041df45a7a86d2d38f"
|
|
775
775
|
dependencies = [
|
|
776
776
|
"regex-syntax",
|
|
777
777
|
]
|
|
778
778
|
|
|
779
779
|
[[package]]
|
|
780
780
|
name = "jsonschema-value"
|
|
781
|
-
version = "0.
|
|
781
|
+
version = "0.53.0"
|
|
782
782
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
783
|
-
checksum = "
|
|
783
|
+
checksum = "65b6ec7deaeaab6320efc3084d8a9e91d5b4985ee36ffffef45dbff9516ff7a8"
|
|
784
784
|
dependencies = [
|
|
785
785
|
"ahash",
|
|
786
786
|
"bytecount",
|
|
787
787
|
"fraction",
|
|
788
|
+
"getrandom 0.3.4",
|
|
788
789
|
"magnus",
|
|
789
790
|
"num-bigint",
|
|
790
791
|
"num-cmp",
|
|
791
792
|
"num-traits",
|
|
792
793
|
"rb-sys",
|
|
793
794
|
"serde_json",
|
|
795
|
+
"zmij",
|
|
794
796
|
]
|
|
795
797
|
|
|
796
798
|
[[package]]
|
|
@@ -1133,9 +1135,9 @@ dependencies = [
|
|
|
1133
1135
|
|
|
1134
1136
|
[[package]]
|
|
1135
1137
|
name = "referencing"
|
|
1136
|
-
version = "0.
|
|
1138
|
+
version = "0.53.0"
|
|
1137
1139
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1138
|
-
checksum = "
|
|
1140
|
+
checksum = "fb406ba984c08d1b91781d7507d103296cf6dec3256c33c388b468957f4b43bb"
|
|
1139
1141
|
dependencies = [
|
|
1140
1142
|
"ahash",
|
|
1141
1143
|
"fluent-uri",
|
|
@@ -2131,6 +2133,6 @@ dependencies = [
|
|
|
2131
2133
|
|
|
2132
2134
|
[[package]]
|
|
2133
2135
|
name = "zmij"
|
|
2134
|
-
version = "1.0.
|
|
2136
|
+
version = "1.0.23"
|
|
2135
2137
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2136
|
-
checksum = "
|
|
2138
|
+
checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
|
data/ext/jsonschema/Cargo.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "jsonschema-rb-ext"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.53.0"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
publish = false
|
|
6
6
|
|
|
@@ -10,10 +10,10 @@ name = "jsonschema_rb"
|
|
|
10
10
|
path = "../../src/lib.rs"
|
|
11
11
|
|
|
12
12
|
[dependencies]
|
|
13
|
-
jsonschema = { version = "0.
|
|
13
|
+
jsonschema = { version = "0.53.0", default-features = false, features = ["magnus", "arbitrary-precision", "resolve-http", "resolve-file", "tls-ring", "macros", "idna"] }
|
|
14
14
|
magnus = { version = "0.8", features = ["rb-sys"] }
|
|
15
15
|
rb-sys = "0.9"
|
|
16
|
-
referencing = "0.
|
|
16
|
+
referencing = "0.53.0"
|
|
17
17
|
serde = { version = "1", features = ["derive"] }
|
|
18
18
|
serde_json = { version = "1", features = ["arbitrary_precision"] }
|
|
19
19
|
strum = "0.28.0"
|
data/lib/jsonschema/version.rb
CHANGED