Jschon

Latest version: v0.11.1

Safety actively analyzes 641221 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.9.0

-------------------
Features:

* JSON array/object mutation
* JSON serialization to string/file
* JSON deserialization from remote location

Breaking changes:

* Rename Scope to Result
* Remove JSON support for decimal.Decimal (31)
* Rename Keyword.types to Keyword.instance_types
* Rename Keyword.depends to Keyword.depends_on
* Move translation vocabulary implementation to its own repo (jschon-translation)

Miscellaneous:

* Allow any JSON-compatible value to be set as an error on a Result node
* Array/object applicator keywords -- additionalProperties, unevaluatedProperties,
propertyNames, additionalItems, items, prefixItems, unevaluatedItems -- now
produce an error array of failing child indices
* Register output formatters with a decorator
* Remove JSON type checks for unsupported usage
* Append (rather than replace) the suffix when resolving a LocalSource filepath
* Flatten dict of subresults on Result node
* Provide a useful __str__ method for Result node

0.8.5

-------------------
Features:

* Added JSONPointer prefix test operators (29)

0.8.4

-------------------

Miscellaneous:

* Add PEP-561 py.typed marker to signal to type checkers that
this library has usable type annotations.

0.8.3

-------------------

Miscellaneous:

* Include translation vocabulary definition files in the distribution.

0.8.1

-------------------

Miscellaneous:

* The requests dependency for remote $refs is now an optional install.

0.8.0

-------------------
Features:

* Added support for remote schema references and, more generally, 'sources' for loading
URI-identified JSON resources
* Added a JSON Patch implementation
* Added a Relative JSON Pointer implementation
* Added experimental support for a JSON translation vocabulary

Breaking changes:

* Replaced the Catalog.add_directory method with the more general Catalog.add_uri_source

Bug fixes:

* Fixed error messaging for the "required" keyword
* Eliminated extraneous error messages from "additionalProperties" and "items" by reverting
to the Draft 7 approach for applying these keywords (17)

Miscellaneous:

* Implemented a Catalog instance registry, replacing the default instance approach
* Moved JSON Schema vocabulary initialization from the Catalog class to the create_catalog function
* Replaced the AnyJSONCompatible type variable with a JSONCompatible type alias
* Removed isinstance type checks that would only fail if type hints were disregarded
* Removed printing of JSON instance values for "enum" and "const" error messages
* Decorated several JSON and JSONSchema properties with cached_property
* Constrained the Keyword.types and Keyword.depends class attributes to allow tuples only
* Removed unused code supporting instantiation of JSON arrays/objects from collections of JSON
class instances
* Changed type hints for JSON inequality operators to indicate that they are supported only
for strings and numbers
* Removed unnecessary type coercion in JSON inequality operators
* Generalized Keyword class mixins to support custom subschema construction by custom
applicator keywords
* Added a required positional arg `instance` to the Scope constructor
* Removed the `path`, `instpath` and `relpath` Scope constructor args
* Added a `cls` keyword arg to Scope.__call__ supporting custom Scope classes
* Generalized output formatting, to support custom output formats by extensions
* Added a globals property to the root of the Scope tree, for arbitrary evaluation state
* Added a Keyword.static class attribute, obviating the need to override can_evaluate

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.