Commit Graph

499 Commits

Author SHA1 Message Date
Dmitry Dygalo 12bea0de30 chore(docs): Add missing changelog entries 2021-05-05 13:37:54 +02:00
Dmitry Dygalo 4635e8e0b6 chore: Make error messages more readable
By reducing the number of quotes there.
2021-05-05 13:18:10 +02:00
Dmitry Dygalo 249422e6e1 fix: Missing `array` type in error messages for `type` validators containing multiple values
Ref: #216
2021-05-05 12:52:23 +02:00
Dmitry Dygalo 2c399ac368 fix: Skipped validation on an unsupported regular expression in `patternProperties` 2021-05-04 17:25:40 +02:00
Dmitry Dygalo 8ba3e717a8
chore(python): Release 0.6.2 2021-05-03 15:15:31 +02:00
Dmitry Dygalo 6654ccc7e8
chore(rust): Release 0.8.2 2021-05-03 14:52:30 +02:00
Dmitry Dygalo a6e54f4b0b perf: Special handling for single-item `patternProperties` validators without defined `additionalProperties` 2021-05-03 14:51:28 +02:00
Dmitry Dygalo 194d62fe6a perf: Special handling for single-item `allOf` validators 2021-05-03 14:22:46 +02:00
Dmitry Dygalo 4b58975b8c perf: Special handling for single-item `enum` validators 2021-05-03 14:05:22 +02:00
Dmitry Dygalo c996f8987d perf: Special handling for single-item `required` validators 2021-05-03 13:23:23 +02:00
Dmitry Dygalo 5eced3929b chore: Update `PyO3` to `0.13.x` 2021-05-03 11:02:12 +02:00
Dmitry Dygalo e3f1e62df1 chore: Resolve clippy lints 2021-05-03 11:02:12 +02:00
Dmitry Dygalo 33ba13115d
docs: Update benchmark data 2021-05-02 12:58:23 +02:00
Dmitry Dygalo 089c623b29 perf: Simplify object comparison 2021-05-01 21:51:03 +02:00
Dmitry Dygalo 2b807f2364 perf: Use vectors instead of `AHashMap` if the number of properties is small 2021-05-01 20:48:35 +02:00
Dmitry Dygalo c3b901b093 perf: Shortcut in the `uniqueItems` validator for short arrays 2021-05-01 18:36:11 +02:00
Dmitry Dygalo b9f5ff242e perf: Reduce the number of `RwLock.read()` calls in `$ref` validators 2021-05-01 15:03:01 +02:00
Dmitry Dygalo b61c22f6c2 chore: Remove `TrueValidator` 2021-05-01 15:03:01 +02:00
Dmitry Dygalo d8d6a8ae8a perf: Avoid some repetitive `String` allocations during validation 2021-04-30 21:44:19 +02:00
Dmitry Dygalo c99064ceaf fix: Floating point overflow in the `multipleOf` validator 2021-04-30 21:32:04 +02:00
Dmitry Dygalo 0f4326f378
chore(rust): Release 0.8.1 2021-04-30 13:12:33 +02:00
Dmitry Dygalo 1a1c6c3afb perf: Replace heap-allocated `InstancePath` with stack-only linked list 2021-04-30 13:09:31 +02:00
Dmitry Dygalo 867b515df1
chore(python): Add `jsonschema_rs.validate` to benchmarks 2021-04-28 10:01:54 +02:00
Dmitry Dygalo 5c31b979fb perf: Avoid `String` allocation in `JSONPointer.into_vec` 2021-04-27 15:26:31 +02:00
Dmitry Dygalo 31a4138ae3
chore(rust): Release 0.8.0 2021-04-27 14:29:50 +02:00
Dmitry Dygalo 674da91b63 chore: Convert `ValidationError.instance_path` to a separate struct 2021-04-27 14:28:28 +02:00
Dmitry Dygalo bdbe656a99 chore: Improve `instance_path` handling & error messages 2021-04-27 12:44:56 +02:00
Dmitry Dygalo 2cf00cca66
chore(rust): Release 0.7.0 2021-04-27 08:42:56 +02:00
Dmitry Dygalo 4b1f16716c
chore: Add extra test & changelog entry 2021-04-27 08:38:30 +02:00
Tim Davis f29e9cc6db Remove now-unused error import. 2021-04-27 08:28:11 +02:00
Tim Davis a75508d8e5 fix: Include all validation errors for required properties 2021-04-27 08:28:11 +02:00
Dmitry Dygalo c0624a435b perf: Do not use `Cow` in `InstancePath`
This way it avoids copying the whole vec in `$ref` which leads to ~15% improvement the big schema benchmark and doesn't visibly affect other benchmarks
2021-04-26 13:01:19 +02:00
Dmitry Dygalo 29b40a6f4e chore: Update JSON Schema Test Suite 2021-04-25 10:48:12 +02:00
Dmitry Dygalo 553cd7a600 fix: Do not look for sub-schemas inside `const` and `enum` keywords 2021-04-24 20:13:37 +02:00
Dmitry Dygalo bc68adcb08
docs(rust): Update docs on `instance_path` 2021-04-24 09:05:20 +02:00
Dmitry Dygalo 68359b211f
docs(python): Update benchmark data 2021-04-24 09:00:54 +02:00
Dmitry Dygalo 7e3765711b chore: Add tests for `instance_path` & missing implementation parts 2021-04-24 08:14:45 +02:00
Dmitry Dygalo 7d32eff75f fix: Reject IPv4 addresses with leading zeroes 2021-04-24 08:14:45 +02:00
Dmitry Dygalo 8faa8ebc37 chore: Change type of `ValidationError.instance_path` to `Vec<String>` 2021-04-24 08:14:45 +02:00
Dmitry Dygalo 16725ea707 chore: Rename some variables 2021-04-23 16:10:16 +02:00
Dmitry Dygalo 285d876a88 chore: Remove unused `ValidationErrorKind::Unexpected` 2021-04-23 16:10:16 +02:00
Dmitry Dygalo e9cc380f10 chore: Update Cargo.lock in Python bindings 2021-04-23 16:10:16 +02:00
Dmitry Dygalo 20fbda616e chore: Apply rustfmt with `imports_granularity = "Crate"` 2021-04-23 16:10:16 +02:00
Lyubomir Gavadinov f81eca5dcf feat(rust): Add a 'path' field to all errors 2021-04-23 14:25:09 +02:00
Jordan Grace dda6de158a feat: Made error types public
Allows users to handle and format their own errors.

These changes are presented as an alternative to custom formatting.
2021-04-20 07:42:57 +02:00
Dmitry Dygalo b1580c90bb
docs(python): Remove not needed quote 2021-03-26 10:30:56 +01:00
Dmitry Dygalo c097860cf7
chore(python): Release 0.6.1 2021-03-26 10:10:31 +01:00
Dmitry Dygalo 2f4a3577d7
chore(rust): Release 0.6.1 2021-03-26 10:02:13 +01:00
Dmitry Dygalo a4658ddde5 fix: Incorrect handling of strings that contain escaped character groups in `pattern` keywords 2021-03-26 09:58:10 +01:00
Dmitry Dygalo d85a01eae6 chore: Fix `non_fmt_panic` lint 2021-03-26 09:00:26 +01:00