2020-06-09 15:51:04 +00:00
# Changelog
## [Unreleased]
2021-10-29 15:25:24 +00:00
### Added
- `JSONSchema.from_str` method that accepts a string to construct a compiled schema.
Useful if you have a schema as string, because you don't have to call `json.loads` on your side - parsing will happen on the Rust side.
2021-10-27 18:51:09 +00:00
### Fixed
- Set `jsonschema_rs.JSONSchema.__module__` to `jsonschema_rs` .
2021-10-29 15:25:24 +00:00
### Performance
- Minor performance improvements.
2021-10-27 18:49:17 +00:00
## [0.12.3] - 2021-10-22
2021-10-22 06:50:20 +00:00
### Added
- `iter_errors` to iterate all errors. [#236 ](https://github.com/Stranger6667/jsonschema-rs/issues/236 )
2021-10-27 18:49:17 +00:00
## [0.12.2] - 2021-10-21
2021-08-14 21:54:58 +00:00
### Fixed
- Display the original value in errors from `minimum` , `maximum` , `exclusiveMinimum` , `exclusiveMaximum` . [#215 ](https://github.com/Stranger6667/jsonschema-rs/issues/215 )
2021-10-21 08:06:55 +00:00
- 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-08-14 21:54:58 +00:00
2021-07-29 08:36:23 +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-26 07:56:38 +00:00
- Inaccurate schema path in validation error messages. [#257 ](https://github.com/Stranger6667/jsonschema-rs/issues/257 )
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:28:57 +00:00
## [0.12.0] - 2021-07-24
2021-07-24 13:55:23 +00:00
### Changed
- Pre-compute `JSONSchema` representation.
2021-07-06 12:44:03 +00:00
## [0.11.1] - 2021-07-06
2021-07-05 14:16:08 +00:00
### Added
- Additional attributes to `ValidationError` . They are `message` , `schema_path` and `instance_path` . [#197 ](https://github.com/Stranger6667/jsonschema-rs/issues/197 )
2021-07-05 12:34:53 +00:00
### Changed
- Update `pyo3` to `0.14.1` .
2021-06-19 15:19:35 +00:00
## [0.11.0] - 2021-06-19
2021-06-19 15:10:58 +00:00
### Added
- Report schema paths in validation errors. At the moment, it only displayed in the `ValidationError` message. [#199 ](https://github.com/Stranger6667/jsonschema-rs/issues/199 )
2021-06-17 13:33:42 +00:00
## [0.10.0] - 2021-06-17
2021-06-17 13:04:29 +00:00
### Added
2021-06-17 13:31:59 +00:00
- Meta-schema validation for input schemas. [#198 ](https://github.com/Stranger6667/jsonschema-rs/issues/198 )
2021-06-17 13:04:29 +00:00
2021-06-17 11:37:09 +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 07:07:06 +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 12:01:35 +00:00
## [0.8.0] - 2021-05-05
2021-05-05 11:29:55 +00:00
### Changed
- Error messages show paths to the erroneous part of the input instance. [#144 ](https://github.com/Stranger6667/jsonschema-rs/issues/144 )
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 13:15:31 +00:00
## [0.6.2] - 2021-05-03
2021-05-03 08:41:59 +00:00
## Changed
- Update `PyO3` to `0.13.x` .
2021-05-05 11:24:09 +00:00
- 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-05-03 08:41:59 +00:00
2021-04-30 19:17:09 +00:00
### Fixed
- Floating point overflow in the `multipleOf` validator. Relevant test case from the JSONSchema test suite - `float_overflow.json`
2021-05-03 13:15:31 +00:00
### Performance
- Various performance improvements from the underlying Rust crate.
2021-03-26 09:10:31 +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 14:34:58 +00:00
## [0.6.0] - 2021-02-03
2021-01-30 12:08:08 +00:00
### Added
- `with_meta_schemas` argument for `is_valid` and update docstrings.
2021-02-03 11:15:19 +00:00
- `validate` function.
2021-01-30 12:08:08 +00:00
2021-02-01 14:04:45 +00:00
### Performance
2021-02-03 10:25:37 +00:00
- General performance improvements for subsets of `items` and `additionalProperties` validators.
2021-02-03 11:15:19 +00:00
- Defer schema & instance loading until they are used. It improves performance for cases when the user passes an nvalid draft version.
2021-02-01 14:04:45 +00:00
2021-01-29 19:17:17 +00:00
## [0.5.1] - 2021-01-29
2021-01-29 18:53:55 +00:00
### Changed
- Exclude unnecessary files from source code distribution.
2021-01-29 18:30:10 +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 )
2021-01-29 08:52:12 +00:00
- Source code distribution. It was missing the source code for the underlying Rust crate and were leading to
a build error during `pip install css-inline` on platforms that we don't have wheels for.
[#159 ](https://github.com/Stranger6667/jsonschema-rs/issues/159 )
2021-01-28 14:15:54 +00:00
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 )
2020-12-15 12:46:15 +00:00
## [0.4.3] - 2020-12-15
2020-12-15 12:44:25 +00:00
### Changed
2020-12-15 12:46:15 +00:00
- Exclude the `cli` dependency from the `jsonschema` crate & update dependencies in `Cargo.lock` .
2020-12-15 12:44:25 +00:00
2020-12-11 08:02:37 +00:00
## [0.4.2] - 2020-12-11
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-09 15:38:35 +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 21:21:06 +00:00
## [0.4.0] - 2020-11-09
2020-11-09 20:12:49 +00:00
### Added
- Python 3.9 support.
2020-06-30 09:35:16 +00:00
### Changed
- Remove not needed `__init__.py` file. It improves performance for compiled schemas. [#121 ](https://github.com/Stranger6667/jsonschema-rs/issues/121 )
2020-11-09 19:00:12 +00:00
- Update `PyO3` to `0.12` . [#125 ](https://github.com/Stranger6667/jsonschema-rs/issues/125 )
2020-06-30 17:20:08 +00:00
- Use stable Rust.
2020-08-09 18:07:27 +00:00
- Set module documentation only once.
2020-06-30 09:35:16 +00:00
2020-06-22 10:42:34 +00:00
### Fixed
- ECMAScript regex support
2020-06-24 12:23:52 +00:00
- Formats should be associated to Draft versions (ie. `idn-hostname` is not defined on draft 4 and draft 6)
2020-06-30 17:49:32 +00:00
- Handle errors during conversion to `Value` instead of using `unwrap` in `JSONSchema::is_valid` and `JSONSchema::validate` . [#127 ](https://github.com/Stranger6667/jsonschema-rs/issues/127 )
2020-06-22 10:42:34 +00:00
2020-11-09 20:12:49 +00:00
### Removed
- Python 3.5 support.
2020-06-22 10:38:56 +00:00
## [0.3.3] - 2020-06-22
### Fixed
- `items` allows the presence of boolean schemas. [#115 ](https://github.com/Stranger6667/jsonschema-rs/pull/115 )
2020-06-13 10:01:20 +00:00
## [0.3.2] - 2020-06-13
### Fixed
- Packaging issue.
2020-06-12 16:10:13 +00:00
## [0.3.1] - 2020-06-12
2020-06-12 16:08:56 +00:00
### Added
- Added `jsonschema_rs.__build__` which contains useful build information. [#111 ](https://github.com/Stranger6667/jsonschema-rs/pulls/111 )
- Wheels for Mac OS and Windows. [#110 ](https://github.com/Stranger6667/jsonschema-rs/issues/110 )
### Changed
- Linux wheels are `manylinux2014` compatible. Previously they were `manylinux2010` compatible. [#111 ](https://github.com/Stranger6667/jsonschema-rs/pulls/111 )
2020-06-10 22:54:42 +00:00
## [0.3.0] - 2020-06-11
### Fixed
- Copying not needed compiled files to the wheel distribution files. [#109 ](https://github.com/Stranger6667/jsonschema-rs/issues/109 )
2020-06-10 22:12:30 +00:00
## [0.2.0] - 2020-06-11
2020-06-10 21:09:02 +00:00
### Added
- `JSONSchema.validate` method that raises `ValidationError` for invalid input. [#105 ](https://github.com/Stranger6667/jsonschema-rs/issues/105 )
2020-06-10 21:44:18 +00:00
### Changed
- Public functions docstrings to support PyCharm skeletons generation. Functions signatures now have proper signatures (but untyped) in PyCharm. [#107 ](https://github.com/Stranger6667/jsonschema-rs/issues/107 )
2020-06-10 22:02:53 +00:00
- Enable Link-Time Optimizations and set `codegen-units` to 1. [#104 ](https://github.com/Stranger6667/jsonschema-rs/issues/104 )
2020-06-10 21:44:18 +00:00
2020-06-09 15:51:04 +00:00
## 0.1.0 - 2020-06-09
- Initial public release
2021-07-29 08:36:23 +00:00
[Unreleased]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.12.1...HEAD
[0.12.1]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.12.0...python-v0.12.1
2021-07-24 14:28:57 +00:00
[0.12.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.11.1...python-v0.12.0
2021-07-06 12:44:03 +00:00
[0.11.1]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.11.0...python-v0.11.1
2021-06-19 15:19:35 +00:00
[0.11.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.10.0...python-v0.11.0
2021-06-17 13:33:42 +00:00
[0.10.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.9.1...python-v0.10.0
2021-06-17 11:37:09 +00:00
[0.9.1]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.9.0...python-v0.9.1
2021-05-07 07:07:06 +00:00
[0.9.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.8.0...python-v0.9.0
2021-05-05 12:01:35 +00:00
[0.8.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.6.2...python-v0.8.0
2021-05-03 13:15:31 +00:00
[0.6.2]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.6.1...python-v0.6.2
2021-03-26 09:10:31 +00:00
[0.6.1]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.6.0...python-v0.6.1
2021-02-03 14:34:58 +00:00
[0.6.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.5.1...python-v0.6.0
2021-01-29 19:17:17 +00:00
[0.5.1]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.5.0...python-v0.5.1
[0.5.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.4.3...python-v0.5.0
2020-12-15 12:46:15 +00:00
[0.4.3]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.4.2...python-v0.4.3
2020-12-11 08:02:37 +00:00
[0.4.2]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.4.1...python-v0.4.2
2020-12-09 15:38:35 +00:00
[0.4.1]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.4.0...python-v0.4.1
2020-11-09 21:21:06 +00:00
[0.4.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.3.3...python-v0.4.0
2020-06-22 10:38:56 +00:00
[0.3.3]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.3.2...python-v0.3.3
2020-06-13 10:01:20 +00:00
[0.3.2]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.3.1...python-v0.3.2
2020-06-12 16:10:13 +00:00
[0.3.1]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.3.0...python-v0.3.1
[0.3.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.2.0...python-v0.3.0
[0.2.0]: https://github.com/Stranger6667/jsonschema-rs/compare/python-v0.1.0...python-v0.2.0