12 KiB
12 KiB
Changelog
Unreleased
0.17.3 - 2024-03-22
Added
- Support subclasses of Python
dict
s #427
0.17.2 - 2024-03-03
Added
- Support for Python 3.12 #439
Changed
- Expose drafts 2019-09 and 2020-12 to Python
- Update
pyo3
to0.20
.
0.17.1 - 2023-07-05
Changed
- Update
pyo3
to0.19
. - Improved error messages for
oneOf
/anyOf
keywords. #429
0.16.3 - 2023-02-01
Added
- Build wheels for Linux(glibc) x86_64/i686, Windows x64/x86, and macOS x86_64/aarch64.
Changed
- Update
pyo3
to0.18
.
0.16.2 - 2023-01-14
Added
- Support for Python 3.11
0.16.1 - 2022-10-20
Changed
- Raise
ValueError
on validating dicts with non-string keys. #386 - Update
pyo3
to0.17
.
0.16.0 - 2022-05-12
Added
- Python 3.10 support
Fixed
- Installation error due to
pyo3-built
incompatibility - Memory leak in
iter_errors
. #325
Changed
- Update
pyo3
to0.16
.
Removed
- Support for Python 3.6
0.14.0 - 2022-01-31
Added
- Support for resolving external schema files. #76
Changed
- Update
pyo3
to0.15
.
0.13.1 - 2021-11-10
Added
- Convert
Enum
into raw values before validating.
0.13.0 - 2021-11-04
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 calljson.loads
on your side - parsing will happen on the Rust side.
Fixed
- Set
jsonschema_rs.JSONSchema.__module__
tojsonschema_rs
. - Convert tuples into lists for validation to fix
ValueError: Unsupported type: 'tuple'
.
Performance
- Minor performance improvements.
[0.12.3] - 2021-10-22
Added
iter_errors
to iterate all errors. #236
[0.12.2] - 2021-10-21
Fixed
- Display the original value in errors from
minimum
,maximum
,exclusiveMinimum
,exclusiveMaximum
. #215 - Switch from
chrono
totime==0.3.3
due to RUSTSEC-2020-0159 in oldertime
versions thatchrono
depends on.
0.12.1 - 2021-07-29
Fixed
- Allow using empty arrays or arrays with non-unique elements for the
enum
keyword in schemas. #258 - Inaccurate schema path in validation error messages. #257
- Panic on incomplete escape sequences in regex patterns. #253
0.12.0 - 2021-07-24
Changed
- Pre-compute
JSONSchema
representation.
0.11.1 - 2021-07-06
Added
- Additional attributes to
ValidationError
. They aremessage
,schema_path
andinstance_path
. #197
Changed
- Update
pyo3
to0.14.1
.
0.11.0 - 2021-06-19
Added
- Report schema paths in validation errors. At the moment, it only displayed in the
ValidationError
message. #199
0.10.0 - 2021-06-17
Added
- Meta-schema validation for input schemas. #198
0.9.1 - 2021-06-17
Fixed
- The
format
validator incorrectly rejecting supported regex patterns. #230
0.9.0 - 2021-05-07
Added
- Support for look-around patterns. #183
Fixed
- Extend the
email
format validation. Relevant test case from the JSONSchema test suite -email.json
.
0.8.0 - 2021-05-05
Changed
- Error messages show paths to the erroneous part of the input instance. #144
Fixed
- Skipped validation on an unsupported regular expression in
patternProperties
. #213 - Missing
array
type in error messages fortype
validators containing multiple values. #216
0.6.2 - 2021-05-03
Changed
- Update
PyO3
to0.13.x
. - 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.
Fixed
- Floating point overflow in the
multipleOf
validator. Relevant test case from the JSONSchema test suite -float_overflow.json
Performance
- Various performance improvements from the underlying Rust crate.
0.6.1 - 2021-03-26
Fixed
- Incorrect handling of
\w
and\W
character groups inpattern
keywords. #180 - Incorrect handling of strings that contain escaped character groups (like
\\w
) inpattern
keywords.
0.6.0 - 2021-02-03
Added
with_meta_schemas
argument foris_valid
and update docstrings.validate
function.
Performance
- General performance improvements for subsets of
items
andadditionalProperties
validators. - Defer schema & instance loading until they are used. It improves performance for cases when the user passes an nvalid draft version.
0.5.1 - 2021-01-29
Changed
- Exclude unnecessary files from source code distribution.
0.5.0 - 2021-01-29
Added
- Cache for documents loaded via the
$ref
keyword. #75 - Meta schemas for JSON Schema drafts 4, 6, and 7. #28
Fixed
- Not necessary network requests for schemas with
$id
values with trailing#
symbol. #163 - 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
Performance
- Enum validation for input values that have a type that is not present among the enum variants. #80
0.4.3 - 2020-12-15
Changed
- Exclude the
cli
dependency from thejsonschema
crate & update dependencies inCargo.lock
.
0.4.2 - 2020-12-11
Fixed
- Number comparison for
enum
andconst
keywords. #149 - Do not accept
date
strings with single-digit month and day values. #151
0.4.1 - 2020-12-09
Fixed
- Integers not recognized as numbers when the
type
keyword is a list of multiple values. #147
0.4.0 - 2020-11-09
Added
- Python 3.9 support.
Changed
- Remove not needed
__init__.py
file. It improves performance for compiled schemas. #121 - Update
PyO3
to0.12
. #125 - Use stable Rust.
- Set module documentation only once.
Fixed
- ECMAScript regex support
- Formats should be associated to Draft versions (ie.
idn-hostname
is not defined on draft 4 and draft 6) - Handle errors during conversion to
Value
instead of usingunwrap
inJSONSchema::is_valid
andJSONSchema::validate
. #127
Removed
- Python 3.5 support.
0.3.3 - 2020-06-22
Fixed
items
allows the presence of boolean schemas. #115
0.3.2 - 2020-06-13
Fixed
- Packaging issue.
0.3.1 - 2020-06-12
Added
- Added
jsonschema_rs.__build__
which contains useful build information. #111 - Wheels for Mac OS and Windows. #110
Changed
- Linux wheels are
manylinux2014
compatible. Previously they weremanylinux2010
compatible. #111
0.3.0 - 2020-06-11
Fixed
- Copying not needed compiled files to the wheel distribution files. #109
0.2.0 - 2020-06-11
Added
JSONSchema.validate
method that raisesValidationError
for invalid input. #105
Changed
- Public functions docstrings to support PyCharm skeletons generation. Functions signatures now have proper signatures (but untyped) in PyCharm. #107
- Enable Link-Time Optimizations and set
codegen-units
to 1. #104
0.1.0 - 2020-06-09
- Initial public release