2020-05-24 21:01:17 +00:00
# Changelog
## [Unreleased]
2024-05-01 11:29:30 +00:00
### Added
2024-05-01 19:43:10 +00:00
- Custom keywords support. [#379 ](https://github.com/Stranger6667/jsonschema-rs/issues/379 )
2024-05-01 11:29:30 +00:00
- Expose `JsonPointerNode` that can be converted into `JSONPointer` .
This is needed for the upcoming custom validators support.
### Performance
- Optimize building `JSONPointer` for validation errors by allocating the exact amount of memory needed.
2024-05-03 17:28:55 +00:00
- Avoid cloning path segments during validation.
2024-05-01 11:29:30 +00:00
2024-03-02 23:49:47 +00:00
### Changed
- Bump `base64` to `0.22` .
- Bump `clap` to `4.5` .
- Bump `fancy-regex` to `0.13` .
- Bump `fraction` to `0.15` .
- Bump `memchr` to `2.7` .
- Bump `once_cell` to `1.19` .
- Bump `percent-encoding` to `2.3` .
- Bump `regex` to `1.10` .
- Bump `url` to `2.5` .
2024-04-14 15:25:13 +00:00
- Build CLI only if the `cli` feature is enabled.
2024-05-01 19:43:10 +00:00
- **BREAKING**: Extend `CompilationOptions` to support more ways to define custom format checkers (for example in Python bindings).
In turn it changes `ValidationErrorKind::Format` to contain a `String` instead of a `&'static str` .
2024-03-02 23:49:47 +00:00
2023-07-05 09:43:48 +00:00
## [0.17.1] - 2023-07-05
### Changed
- Improved error messages for `oneOf` / `anyOf` keywords. [#429 ](https://github.com/Stranger6667/jsonschema-rs/issues/429 )
### Fixed
- Improper handling of subschema validation in `unevaluatedProperties` . [#421 ](https://github.com/Stranger6667/jsonschema-rs/issues/421 )
2023-03-16 12:09:43 +00:00
## [0.17.0] - 2023-03-16
2023-01-15 00:35:33 +00:00
### Changed
- Bump `base64` to `0.21` .
- Bump `fancy-regex` to `0.11` .
- Bump `fraction` to `0.13` .
2023-02-25 16:11:58 +00:00
- Bump `iso8601` to `0.6` .
2023-01-15 10:06:37 +00:00
- Replace `lazy_static` with `once_cell` .
2023-03-16 07:48:15 +00:00
- Add support for `unevaluatedProperties` . (gated by the `draft201909` /`draft202012` feature flags). [#288 ](https://github.com/Stranger6667/jsonschema-rs/issues/288 )
2023-03-01 21:10:10 +00:00
- When using the draft 2019-09 or draft 2020-12 specification, `$ref` is now evaluated alongside
2023-03-16 07:48:15 +00:00
other keywords. [#378 ](https://github.com/Stranger6667/jsonschema-rs/issues/378 )
2023-01-15 00:35:33 +00:00
2022-10-20 14:16:48 +00:00
## [0.16.1] - 2022-10-20
2022-06-23 08:26:09 +00:00
### Added
- Add a compilation option (`should_ignore_unknown_formats()`) that allows treating unknown formats as compilation errors.
2022-04-21 15:33:39 +00:00
## [0.16.0] - 2022-04-21
2022-04-21 09:22:28 +00:00
### Fixed
- Library compilation with no default features. [#356 ](https://github.com/Stranger6667/jsonschema-rs/issues/356 )
- Compilation with `resolve-file` only. [#358 ](https://github.com/Stranger6667/jsonschema-rs/issues/358 )
### Changed
- **BREAKING**: Revert changes from [#353 ](https://github.com/Stranger6667/jsonschema-rs/issues/353 ) and [#343 ](https://github.com/Stranger6667/jsonschema-rs/issues/343 ), as they caused compilation issues.
2022-04-10 21:32:39 +00:00
## [0.15.2] - 2022-04-10
2022-04-10 21:28:34 +00:00
### Fixed
- Allow HTTP(S) schema resolving with `rustls` . [#353 ](https://github.com/Stranger6667/jsonschema-rs/issues/353 )
2022-04-02 16:21:40 +00:00
## [0.15.1] - 2022-04-02
2022-04-02 15:38:20 +00:00
### Fixed
- Enable `reqwest/native-tls` by default to avoid validation errors caused by `reqwest` missing a TLS backend. [#343 ](https://github.com/Stranger6667/jsonschema-rs/issues/343 )
2022-01-31 10:51:20 +00:00
## [0.15.0] - 2022-01-31
2022-01-31 10:33:17 +00:00
### Added
2022-01-31 10:38:36 +00:00
- The `SchemaResolver` trait to support resolving external schema references. [#246 ](https://github.com/Stranger6667/jsonschema-rs/issues/246 )
- `resolve-file` feature to resolve external schema files via `std::fs` . [#76 ](https://github.com/Stranger6667/jsonschema-rs/issues/76 )
2022-01-31 10:33:17 +00:00
### Changed
- The `reqwest` feature was changed to `resolve-http` . [#341 ](https://github.com/Stranger6667/jsonschema-rs/pull/341 )
2022-01-28 11:11:45 +00:00
### Performance
- CLI: Use `serde::from_reader` instead of `serde::from_str` .
2022-01-28 11:09:04 +00:00
## [0.14.0] - 2022-01-23
2022-01-23 15:47:31 +00:00
### Changed
- Bump `itoa` to `1.0` . [#337 ](https://github.com/Stranger6667/jsonschema-rs/issues/337 )
2021-12-09 22:46:40 +00:00
### Performance
- Optimize the loop implementation used for uniqueness check on short arrays.
2021-12-10 10:03:15 +00:00
- Simplify `equal_arrays` helper.
2021-12-10 10:43:50 +00:00
- Shortcut for `false` schemas.
2021-12-17 07:40:49 +00:00
- Reduce the number of generated LLVM lines.
2021-12-17 07:52:53 +00:00
- Do less work when resolving fragments.
2021-12-17 08:54:49 +00:00
- Avoid cloning the value when resolving empty fragments.
- Optimize searching by pointer in JSON documents.
2021-12-09 22:46:40 +00:00
2021-12-08 11:33:31 +00:00
## [0.13.3] - 2021-12-08
2021-12-08 09:59:04 +00:00
### Changed
- Make `BasicOutput.is_valid` public.
2021-12-08 10:14:46 +00:00
### Fixed
2021-12-08 10:58:29 +00:00
- False positives in some cases when calling `JSONSchema.apply` on schemas with `additionalProperties` , `patternProperties` , and `properties` combined.
2021-12-08 10:37:04 +00:00
- False negatives in some cases when calling `JSONSchema.apply` on schemas with `if` and `then` (without `else` ) keywords. [#318 ](https://github.com/Stranger6667/jsonschema-rs/pull/318 )
2021-12-08 10:58:29 +00:00
- Panic in `JSONSchema.apply` on some schemas with `prefixItems` and `items` . It panicked if `items` is an object and the length of `prefixItems` is greater than the length of the input array.
2021-12-08 10:14:46 +00:00
2021-12-06 16:55:35 +00:00
### Performance
- Remove unused private field in `JSONSchema` , that lead to improvement in the compilation performance.
2021-12-06 20:36:37 +00:00
- Optimize the `multipleOf` implementation, which now can short-circuit in some cases.
- Add special cases for arrays with 2 and 3 items in the `uniqueItems` keyword implementation.
2021-12-07 09:51:55 +00:00
- Remove the `schema` argument from all methods of the `Validate` trait.
2021-12-06 16:55:35 +00:00
2021-11-04 11:32:57 +00:00
## [0.13.2] - 2021-11-04
2021-11-03 18:10:38 +00:00
### Added
2021-10-24 14:17:20 +00:00
- Support for `prefixItems` keyword. [#303 ](https://github.com/Stranger6667/jsonschema-rs/pull/303 )
2021-11-03 18:10:38 +00:00
- Expose methods to examine `OutputUnit` .
2021-10-24 14:17:20 +00:00
2021-10-28 09:17:27 +00:00
## [0.13.1] - 2021-10-28
2021-10-28 09:12:00 +00:00
### Fixed
- Missing `derive` from `serde` .
2021-10-28 07:41:27 +00:00
## [0.13.0] - 2021-10-28
2021-08-11 15:19:30 +00:00
### Added
2021-08-15 18:21:17 +00:00
- `uuid` format validator. [#266 ](https://github.com/Stranger6667/jsonschema-rs/issues/266 )
- `duration` format validator. [#265 ](https://github.com/Stranger6667/jsonschema-rs/issues/265 )
2021-10-24 14:17:20 +00:00
- Collect annotations whilst evaluating schemas. [#262 ](https://github.com/Stranger6667/jsonschema-rs/issues/262 )
2021-10-02 17:57:38 +00:00
- Option to turn off processing of the `format` keyword. [#261 ](https://github.com/Stranger6667/jsonschema-rs/issues/261 )
2021-08-15 18:21:17 +00:00
- `basic` & `flag` output formatting styles. [#100 ](https://github.com/Stranger6667/jsonschema-rs/issues/100 )
2021-10-21 09:47:52 +00:00
- Support for `dependentRequired` & `dependentSchemas` keywords. [#286 ](https://github.com/Stranger6667/jsonschema-rs/issues/286 )
2021-10-28 07:26:30 +00:00
- Forward `reqwest` features.
2021-08-11 15:19:30 +00:00
2021-08-03 15:25:49 +00:00
### Changed
- **INTERNAL**. A new `Draft201909` variant for the `Draft` enum that is available only under the `draft201909` feature. This feature is considered private and should not be used outside of the testing context.
It allows us to add features from the 2019-09 Draft without exposing them in the public API. Therefore, support for this draft can be added incrementally.
- The `Draft` enum is now marked as `non_exhaustive` .
2021-10-06 06:59:54 +00:00
- `ValidationError::schema` was removed and the calls replaced by proper errors.
2021-08-03 15:25:49 +00:00
2021-10-09 07:59:56 +00:00
### Performance
- Reduce the size of `PrimitiveTypesBitMapIterator` from 3 to 2 bytes. [#282 ](https://github.com/Stranger6667/jsonschema-rs/issues/282 )
2021-10-27 15:40:02 +00:00
- Use the `bytecount` crate for `maxLength` & `minLength` keywords, and for the `hostname` format.
2021-10-09 07:59:56 +00:00
2021-10-27 18:49:17 +00:00
## [0.12.2] - 2021-10-21
### Fixed
- Display the original value in errors from `minimum` , `maximum` , `exclusiveMinimum` , `exclusiveMaximum` . [#215 ](https://github.com/Stranger6667/jsonschema-rs/issues/215 )
- Switch from `chrono` to `time==0.3.3` due to [RUSTSEC-2020-0159 ](https://rustsec.org/advisories/RUSTSEC-2020-0159.html ) in older `time` versions that `chrono` depends on.
2021-07-29 08:33:40 +00:00
## [0.12.1] - 2021-07-29
2021-07-26 07:31:54 +00:00
### Fixed
- Allow using empty arrays or arrays with non-unique elements for the `enum` keyword in schemas. [#258 ](https://github.com/Stranger6667/jsonschema-rs/issues/258 )
2021-07-29 08:20:14 +00:00
- Panic on incomplete escape sequences in regex patterns. [#253 ](https://github.com/Stranger6667/jsonschema-rs/issues/253 )
2021-07-26 07:31:54 +00:00
2021-07-24 14:16:16 +00:00
## [0.12.0] - 2021-07-24
2021-07-09 10:32:36 +00:00
### Added
- Support for custom `format` validators. [#158 ](https://github.com/Stranger6667/jsonschema-rs/issues/158 )
2021-07-11 02:52:34 +00:00
### Changed
- Validators now implement `Display` instead of `ToString` .
2021-07-24 13:58:07 +00:00
- `JSONSchema` now owns its data. [#145 ](https://github.com/Stranger6667/jsonschema-rs/issues/145 )
2021-07-11 02:52:34 +00:00
2021-06-19 15:12:47 +00:00
## [0.11.0] - 2021-06-19
2021-06-19 15:00:26 +00:00
### Added
- Report schema paths in validation errors - `ValidationError.schema_path` . [#199 ](https://github.com/Stranger6667/jsonschema-rs/issues/199 )
2021-06-19 12:46:53 +00:00
### Fixed
- Incorrect encoding of `/` and `~` characters in `fmt::Display` implementation for `JSONPointer` . [#233 ](https://github.com/Stranger6667/jsonschema-rs/issues/233 )
2021-06-17 13:28:28 +00:00
## [0.10.0] - 2021-06-17
2021-06-17 13:04:29 +00:00
### Added
- **BREAKING**: Meta-schema validation for input schemas. By default, all input schemas are validated with their respective meta-schemas
and instead of `CompilationError` there will be the usual `ValidationError` . [#198 ](https://github.com/Stranger6667/jsonschema-rs/issues/198 )
### Removed
- `CompilationError` . Use `ValidationError` instead.
2021-06-17 11:08:29 +00:00
## [0.9.1] - 2021-06-17
2021-06-17 10:55:08 +00:00
### Fixed
- The `format` validator incorrectly rejecting supported regex patterns. [#230 ](https://github.com/Stranger6667/jsonschema-rs/issues/230 )
2021-05-07 06:57:23 +00:00
## [0.9.0] - 2021-05-07
2021-05-07 06:41:40 +00:00
### Added
- Support for look-around patterns. [#183 ](https://github.com/Stranger6667/jsonschema-rs/issues/183 )
2021-05-06 09:13:31 +00:00
### Fixed
- Extend the `email` format validation. Relevant test case from the JSONSchema test suite - `email.json` .
2021-05-05 11:40:14 +00:00
## [0.8.3] - 2021-05-05
2021-05-05 11:29:55 +00:00
### Added
- `paths::JSONPointer` implements `IntoIterator` over `paths::PathChunk` .
2021-05-04 15:13:02 +00:00
### Fixed
- Skipped validation on an unsupported regular expression in `patternProperties` . [#213 ](https://github.com/Stranger6667/jsonschema-rs/issues/213 )
2021-05-05 10:41:34 +00:00
- Missing `array` type in error messages for `type` validators containing multiple values. [#216 ](https://github.com/Stranger6667/jsonschema-rs/issues/216 )
2021-05-04 15:13:02 +00:00
2021-05-03 12:52:30 +00:00
## [0.8.2] - 2021-05-03
2021-04-30 19:33:45 +00:00
### Performance
- Avoid some repetitive `String` allocations during validation.
2021-05-01 12:18:49 +00:00
- Reduce the number of `RwLock.read()` calls in `$ref` validators.
2021-05-01 15:14:26 +00:00
- Shortcut in the `uniqueItems` validator for short arrays.
2021-05-01 17:41:17 +00:00
- `additionalProperties` . Use vectors instead of `AHashMap` if the number of properties is small.
2021-05-03 11:13:51 +00:00
- Special handling for single-item `required` validators.
2021-05-03 11:38:22 +00:00
- Special handling for single-item `enum` validators.
2021-05-03 12:09:00 +00:00
- Special handling for single-item `allOf` validators.
2021-05-03 12:35:58 +00:00
- Special handling for single-item `patternProperties` validators without defined `additionalProperties` .
2021-04-30 19:33:45 +00:00
2021-04-30 19:17:09 +00:00
### Fixed
2021-04-30 19:33:45 +00:00
- Floating point overflow in the `multipleOf` validator. Relevant test case from the JSONSchema test suite - `float_overflow.json` .
2021-04-27 13:13:51 +00:00
2021-04-30 11:12:33 +00:00
## [0.8.1] - 2021-04-30
2021-04-30 19:17:09 +00:00
### Performance
2021-04-30 10:22:44 +00:00
- Avoid `String` allocation in `JSONPointer.into_vec` .
- Replace heap-allocated `InstancePath` with stack-only linked list.
2021-04-27 13:13:51 +00:00
2021-04-27 12:29:50 +00:00
## [0.8.0] - 2021-04-27
2021-04-27 10:22:57 +00:00
### Changed
- The `propertyNames` validator now contains the parent object in its `instance` attribute instead of individual properties as strings.
- Improved error message for the `additionalProperties` validator. After - `Additional properties are not allowed ('faz' was unexpected)` , before - `False schema does not allow '"faz"'` .
- The `additionalProperties` validator emits a single error for all unexpected properties instead of separate errors for each unexpected property.
2021-04-27 12:29:50 +00:00
- **Breaking**: `ValidationError.instance_path` is now a separate struct, that can be transformed to `Vec<String>` or JSON Pointer of type `String` .
2021-04-27 10:22:57 +00:00
### Fixed
- All `instance_path` attributes are pointing to the proper location.
2021-04-27 06:42:56 +00:00
## [0.7.0] - 2021-04-27
2021-04-23 18:36:23 +00:00
### Added
- `ValidationError.instance_path` that shows the path to the erroneous part of the input instance.
It has the `Vec<String>` type and contains components of the relevant JSON pointer.
### Changed
- Make fields of `ValidationError` public. It allows the end-user to customize errors formatting.
2021-04-23 17:59:22 +00:00
### Fixed
2021-04-27 06:42:56 +00:00
- Reject IPv4 addresses with leading zeroes. As per the new test case in the JSONSchema test suite. [More info ](https://sick.codes/universal-netmask-npm-package-used-by-270000-projects-vulnerable-to-octal-input-data-server-side-request-forgery-remote-file-inclusion-local-file-inclusion-and-more-cve-2021-28918/ )
2022-06-23 08:26:09 +00:00
- Do not look for sub-schemas inside `const` and `enum` keywords. Fixes an issue checked by [these tests ](https://github.com/json-schema-org/JSON-Schema-Test-Suite/pull/471 )
2021-04-27 06:38:30 +00:00
- Check all properties in the `required` keyword implementation. [#190 ](https://github.com/Stranger6667/jsonschema-rs/issues/190 )
2021-04-23 17:59:22 +00:00
2021-04-23 18:36:23 +00:00
### Removed
- Not used `ValidationErrorKind::Unexpected` .
2021-03-26 09:02:13 +00:00
## [0.6.1] - 2021-03-26
2021-03-25 22:06:55 +00:00
### Fixed
- Incorrect handling of `\w` and `\W` character groups in `pattern` keywords. [#180 ](https://github.com/Stranger6667/jsonschema-rs/issues/180 )
2021-03-26 08:38:09 +00:00
- Incorrect handling of strings that contain escaped character groups (like `\\w` ) in `pattern` keywords.
2021-03-25 22:06:55 +00:00
2021-02-03 13:50:18 +00:00
## [0.6.0] - 2021-02-03
2021-02-03 10:25:37 +00:00
### Fixed
- Missing validation errors after the 1st one in `additionalProperties` validators.
2021-02-01 14:04:45 +00:00
### Performance
- Do not use `rayon` in `items` keyword as it gives significant overhead for a general case.
2021-02-03 10:25:37 +00:00
- Avoid partially overlapping work in `additionalProperties` / `properties` / `patternProperties` validators. [#173 ](https://github.com/Stranger6667/jsonschema-rs/issues/173 )
2021-02-01 14:04:45 +00:00
2021-01-29 18:05:02 +00:00
## [0.5.0] - 2021-01-29
2021-01-27 19:43:49 +00:00
### Added
- Cache for documents loaded via the `$ref` keyword. [#75 ](https://github.com/Stranger6667/jsonschema-rs/issues/75 )
2021-01-29 17:24:53 +00:00
- Meta schemas for JSON Schema drafts 4, 6, and 7. [#28 ](https://github.com/Stranger6667/jsonschema-rs/issues/28 )
2021-01-27 19:43:49 +00:00
2021-01-28 14:15:54 +00:00
### Fixed
- Not necessary network requests for schemas with `$id` values with trailing `#` symbol. [#163 ](https://github.com/Stranger6667/jsonschema-rs/issues/163 )
2020-12-16 12:03:59 +00:00
### Performance
- Enum validation for input values that have a type that is not present among the enum variants. [#80 ](https://github.com/Stranger6667/jsonschema-rs/issues/80 )
2021-01-28 09:28:56 +00:00
### Removed
- `-V` /`--validator` options from the CLI. They were no-op and never worked.
2020-12-11 09:47:51 +00:00
## [0.4.3] - 2020-12-11
2020-12-11 09:46:31 +00:00
### Documentation
- Make examples in README.md runnable.
2020-12-11 07:53:58 +00:00
## [0.4.2] - 2020-12-11
2020-12-11 07:45:26 +00:00
### Changed
- Move `paste` to dev dependencies.
2020-12-10 16:13:31 +00:00
### Fixed
- Number comparison for `enum` and `const` keywords. [#149 ](https://github.com/Stranger6667/jsonschema-rs/issues/149 )
2020-12-10 19:31:04 +00:00
- Do not accept `date` strings with single-digit month and day values. [#151 ](https://github.com/Stranger6667/jsonschema-rs/issues/151 )
2020-12-10 16:13:31 +00:00
2020-12-10 14:48:31 +00:00
### Performance
- Some performance related changes were rolled back, due to increased complexity.
2020-12-09 15:22:51 +00:00
## [0.4.1] - 2020-12-09
2020-12-08 16:46:26 +00:00
### Fixed
- Integers not recognized as numbers when the `type` keyword is a list of multiple values. [#147 ](https://github.com/Stranger6667/jsonschema-rs/issues/147 )
2020-11-09 19:39:55 +00:00
## [0.4.0] - 2020-11-09
2020-06-24 12:23:52 +00:00
### Added
2020-10-09 16:28:37 +00:00
- Command Line Interface. [#102 ](https://github.com/Stranger6667/jsonschema-rs/issues/102 )
2020-06-24 12:23:52 +00:00
- `ToString` trait implementation for validators.
2020-07-03 19:56:31 +00:00
- Define `JSONSchema::options` to customise `JSONSchema` compilation [#131 ](https://github.com/Stranger6667/jsonschema-rs/issues/131 )
2020-07-03 20:17:03 +00:00
- Allow user-defined `contentEncoding` and `contentMediaType` keywords
2020-06-24 12:23:52 +00:00
2020-06-22 10:42:34 +00:00
### Fixed
- ECMAScript regex support
2020-06-21 23:30:11 +00:00
- Formats should be associated to Draft versions (ie. `idn-hostname` is not defined on draft 4 and draft 6)
2020-06-22 10:42:34 +00:00
2020-06-21 20:45:24 +00:00
## [0.3.1] - 2020-06-21
2020-06-10 22:02:53 +00:00
### Changed
- Enable Link-Time Optimizations and set `codegen-units` to 1. [#104 ](https://github.com/Stranger6667/jsonschema-rs/issues/104 )
2020-06-21 20:45:24 +00:00
### Fixed
- `items` allows the presence of boolean schemas. [#115 ](https://github.com/Stranger6667/jsonschema-rs/pull/115 )
2020-06-10 22:02:53 +00:00
2020-06-07 22:01:56 +00:00
## [0.3.0] - 2020-06-08
2020-05-24 21:01:17 +00:00
### Added
- JSONSchema Draft 4 support (except one optional case). [#34 ](https://github.com/Stranger6667/jsonschema-rs/pull/34 )
- CI builds. [#35 ](https://github.com/Stranger6667/jsonschema-rs/pull/35 ) and [#36 ](https://github.com/Stranger6667/jsonschema-rs/pull/36 )
- Implement specialized `is_valid` methods for all keywords.
- Use `rayon` in `items` keyword validation.
- Various `clippy` lints. [#66 ](https://github.com/Stranger6667/jsonschema-rs/pull/66 )
2020-05-26 17:09:20 +00:00
- `Debug` implementation for `JSONSchema` and `Resolver` . [#97 ](https://github.com/Stranger6667/jsonschema-rs/pull/97 )
2020-06-05 14:09:24 +00:00
- `Default` implementation for `Draft` .
2020-05-24 21:01:17 +00:00
### Changed
- Do not pin dependencies. [#90 ](https://github.com/Stranger6667/jsonschema-rs/pull/90 )
- Use `to_string` instead of `format!` . [#85 ](https://github.com/Stranger6667/jsonschema-rs/pull/85 )
- Cache compiled validators in `$ref` keyword. [#83 ](https://github.com/Stranger6667/jsonschema-rs/pull/83 )
- Use bitmap for validation of multiple types in `type` keyword implementation. [#78 ](https://github.com/Stranger6667/jsonschema-rs/pull/78 )
- Return errors instead of unwrap in various locations. [#73 ](https://github.com/Stranger6667/jsonschema-rs/pull/73 )
- Improve debug representation of validators. [#70 ](https://github.com/Stranger6667/jsonschema-rs/pull/70 )
- Reduce the number of `match` statements during compilation functions resolving.
- Use `expect` instead of `unwrap` for known cases when it is known that the code won't panic.
- Add specialized validators for all `format` cases.
- Reuse `DEFAULT_SCOPE` during reference resolving.
- Replace some `Value::as_*` calls with `if let` .
- Inline all `compile` functions.
- Optimize `format` keyword compilation by using static strings.
- Optimize compilation of `true` , `false` and `$ref` validators.
- Reuse parsed `DEFAULT_ROOT_URL` in `JSONSchema::compile` .
- Avoid string allocation during `scope` parsing in `JSONSchema::compile` .
- Refactor benchmark suite
2020-05-24 12:27:56 +00:00
- Use `BTreeSet` in `additionalProperties` keyword during compilation to reduce the amount of copied data. [#91 ](https://github.com/Stranger6667/jsonschema-rs/pull/91 )
2020-05-24 21:01:17 +00:00
2020-06-10 21:21:17 +00:00
### Fixed
2020-05-24 21:01:17 +00:00
- Wrong implementation of `is_valid` for `additionalProperties: false` keyword case. [#61 ](https://github.com/Stranger6667/jsonschema-rs/pull/61 )
- Possible panic due to type conversion in some numeric validators. [#72 ](https://github.com/Stranger6667/jsonschema-rs/pull/72 )
2020-05-27 12:11:14 +00:00
- Precision loss in `minimum` , `maximum` , `exclusiveMinimum` and `exclusiveMaximum` validators. [#84 ](https://github.com/Stranger6667/jsonschema-rs/issues/84 )
2020-05-24 21:01:17 +00:00
## [0.2.0] - 2020-03-30
2020-06-10 21:21:17 +00:00
### Added
2020-05-24 21:01:17 +00:00
- Implement `is_valid` for various validators.
- Implement `Error` and `Display` for `CompilationError`
2020-06-10 21:21:17 +00:00
### Changed
2020-05-24 21:01:17 +00:00
- Debug representation & error messages in various validators.
- Make `ErrorIterator` `Sync` and `Send` .
2020-06-10 21:21:17 +00:00
### Fixed
2020-05-24 21:01:17 +00:00
- Return `CompilationError` on invalid input schemas instead of panic.
2020-05-26 05:38:17 +00:00
## 0.1.0 - 2020-03-29
2020-05-24 21:01:17 +00:00
- Initial public release
2023-07-05 09:43:48 +00:00
[Unreleased]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.17.1...HEAD
[0.17.1]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.17.0...rust-v0.17.1
2023-03-16 12:09:43 +00:00
[0.17.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.16.1...rust-v0.17.0
2022-10-20 14:16:48 +00:00
[0.16.1]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.16.0...rust-v0.16.1
2022-04-21 15:33:39 +00:00
[0.16.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.15.2...rust-v0.16.0
2022-04-10 21:32:39 +00:00
[0.15.2]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.15.1...rust-v0.15.2
2022-04-02 16:21:40 +00:00
[0.15.1]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.15.0...rust-v0.15.1
2022-01-31 10:51:20 +00:00
[0.15.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.14.0...rust-v0.15.0
2022-01-23 16:28:36 +00:00
[0.14.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.13.3...rust-v0.14.0
2021-12-08 11:33:31 +00:00
[0.13.3]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.13.2...rust-v0.13.3
2021-11-04 11:32:57 +00:00
[0.13.2]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.13.1...rust-v0.13.2
2021-10-28 09:17:27 +00:00
[0.13.1]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.13.0...rust-v0.13.1
2021-10-28 07:41:27 +00:00
[0.13.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.12.2...rust-v0.13.0
[0.12.2]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.12.1...rust-v0.12.2
2021-07-29 08:33:40 +00:00
[0.12.1]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.12.0...rust-v0.12.1
2021-07-24 14:16:16 +00:00
[0.12.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.11.0...rust-v0.12.0
2021-06-19 15:12:47 +00:00
[0.11.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.10.0...rust-v0.11.0
2021-06-17 13:28:28 +00:00
[0.10.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.9.1...rust-v0.10.0
2021-06-17 11:08:29 +00:00
[0.9.1]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.9.0...rust-v0.9.1
2021-05-07 06:57:23 +00:00
[0.9.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.8.3...rust-v0.9.0
2021-05-05 11:40:14 +00:00
[0.8.3]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.8.2...rust-v0.8.3
2021-05-03 12:52:30 +00:00
[0.8.2]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.8.1...rust-v0.8.2
2021-05-06 09:47:20 +00:00
[0.8.1]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.8.0...rust-v0.8.1
2021-04-27 12:29:50 +00:00
[0.8.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.7.0...rust-v0.8.0
2021-04-27 06:42:56 +00:00
[0.7.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.6.1...rust-v0.7.0
2021-03-26 09:02:13 +00:00
[0.6.1]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.6.0...rust-v0.6.1
2021-02-03 13:50:18 +00:00
[0.6.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.5.0...rust-v0.6.0
2021-01-29 18:05:02 +00:00
[0.5.0]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.4.3...rust-v0.5.0
2020-12-11 09:47:51 +00:00
[0.4.3]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.4.2...rust-v0.4.3
2020-12-11 07:53:58 +00:00
[0.4.2]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.4.1...rust-v0.4.2
2020-12-09 15:22:51 +00:00
[0.4.1]: https://github.com/Stranger6667/jsonschema-rs/compare/rust-v0.4.0...rust-v0.4.1
2020-11-09 19:39:55 +00:00
[0.4.0]: https://github.com/Stranger6667/jsonschema-rs/compare/v0.3.1...rust-v0.4.0
2020-06-21 20:45:24 +00:00
[0.3.1]: https://github.com/Stranger6667/jsonschema-rs/compare/v0.3.0...v0.3.1
2020-06-07 22:01:56 +00:00
[0.3.0]: https://github.com/Stranger6667/jsonschema-rs/compare/v0.2.0...v0.3.0
2020-05-17 15:35:11 +00:00
[0.2.0]: https://github.com/Stranger6667/jsonschema-rs/compare/v0.1.0...v0.2.0