Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jsonschema for
openSUSE:Factory checked in at 2022-11-24 12:22:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jsonschema (Old)
and /work/SRC/openSUSE:Factory/.python-jsonschema.new.1597 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jsonschema"
Thu Nov 24 12:22:08 2022 rev:34 rq:1037460 version:4.17.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jsonschema/python-jsonschema.changes
2022-11-17 17:23:48.708845576 +0100
+++
/work/SRC/openSUSE:Factory/.python-jsonschema.new.1597/python-jsonschema.changes
2022-11-24 12:22:11.744903495 +0100
@@ -1,0 +2,7 @@
+Wed Nov 23 07:15:21 UTC 2022 - Johannes Kastl <[email protected]>
+
+- update to 4.17.1:
+ * No nice changelog provided upstream
+ Full Changelog:
https://github.com/python-jsonschema/jsonschema/compare/v4.17.0...v4.17.1
+
+-------------------------------------------------------------------
Old:
----
jsonschema-4.17.0.tar.gz
New:
----
_service
jsonschema-4.17.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jsonschema.spec ++++++
--- /var/tmp/diff_new_pack.ySrBwl/_old 2022-11-24 12:22:12.284906926 +0100
+++ /var/tmp/diff_new_pack.ySrBwl/_new 2022-11-24 12:22:12.288906951 +0100
@@ -23,7 +23,7 @@
%endif
Name: python-jsonschema
-Version: 4.17.0
+Version: 4.17.1
Release: 0
Summary: An implementation of JSON-Schema validation for Python
License: MIT
++++++ _service ++++++
<services>
<service name="download_files" mode="disabled">
</service>
</services>
++++++ jsonschema-4.17.0.tar.gz -> jsonschema-4.17.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/.github/workflows/ci.yml
new/jsonschema-4.17.1/.github/workflows/ci.yml
--- old/jsonschema-4.17.0/.github/workflows/ci.yml 2020-02-02
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/.github/workflows/ci.yml 2020-02-02
01:00:00.000000000 +0100
@@ -86,50 +86,62 @@
toxenv: py310-formatnongpl-build
- name: "3.10"
toxenv: py310-formatnongpl-tests
- - name: "3.11.0-beta - 3.11.0"
+ - name: "3.11"
toxenv: py311-noextra-build
- - name: "3.11.0-beta - 3.11.0"
+ - name: "3.11"
toxenv: py311-noextra-tests
- - name: "3.11.0-beta - 3.11.0"
+ - name: "3.11"
toxenv: py311-format-build
- - name: "3.11.0-beta - 3.11.0"
+ - name: "3.11"
toxenv: py311-format-tests
- - name: "3.11.0-beta - 3.11.0"
+ - name: "3.11"
toxenv: py311-formatnongpl-build
- - name: "3.11.0-beta - 3.11.0"
+ - name: "3.11"
toxenv: py311-formatnongpl-tests
- - name: "3.10"
+ - name: "3.11"
toxenv: docs-dirhtml
- - name: "3.10"
+ - name: "3.11"
toxenv: docs-doctest
- - name: "3.10"
+ - name: "3.11"
toxenv: docs-linkcheck
- - name: "3.10"
+ - name: "3.11"
toxenv: docs-spelling
- - name: "3.10"
+ - name: "3.11"
toxenv: docs-style
- - name: "3.10"
+ - name: "3.11"
toxenv: readme
- - name: "3.10"
+ - name: "3.11"
toxenv: safety
- - name: "3.10"
+ - name: "3.11"
toxenv: secrets
- - name: "3.10"
+ - name: "3.11"
toxenv: style
- - name: "3.10"
+ - name: "3.11"
toxenv: typing
exclude:
- os: windows-latest
python-version:
- name: "3.10"
+ name: "3.11"
toxenv: readme
- os: windows-latest
python-version:
- name: "3.10"
+ name: "3.11"
+ toxenv: docs-dirhtml
+ - os: windows-latest
+ python-version:
+ name: "3.11"
+ toxenv: docs-doctest
+ - os: windows-latest
+ python-version:
+ name: "3.11"
toxenv: docs-linkcheck
- os: windows-latest
python-version:
- name: "3.10"
+ name: "3.11"
+ toxenv: docs-spelling
+ - os: windows-latest
+ python-version:
+ name: "3.11"
toxenv: docs-style
steps:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/CHANGELOG.rst
new/jsonschema-4.17.1/CHANGELOG.rst
--- old/jsonschema-4.17.0/CHANGELOG.rst 2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/CHANGELOG.rst 2020-02-02 01:00:00.000000000 +0100
@@ -1,3 +1,9 @@
+v4.17.1
+=======
+
+* The error message when using ``unevaluatedProperties`` with a non-trivial
+ schema value (i.e. something other than ``false``) has been improved (#996).
+
v4.17.0
=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/PKG-INFO
new/jsonschema-4.17.1/PKG-INFO
--- old/jsonschema-4.17.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jsonschema
-Version: 4.17.0
+Version: 4.17.1
Summary: An implementation of JSON Schema validation for Python
Project-URL: Homepage, https://github.com/python-jsonschema/jsonschema
Project-URL: Documentation, https://python-jsonschema.readthedocs.io/
@@ -188,15 +188,8 @@
Release Information
-------------------
-v4.17.0
+v4.17.1
=======
-* The ``check_schema`` method on ``jsonschema.protocols.Validator`` instances
- now *enables* format validation by default when run. This can catch some
- additional invalid schemas (e.g. containing invalid regular expressions)
- where the issue is indeed uncovered by validating against the metaschema
- with format validation enabled as an assertion.
-* The ``jsonschema`` CLI (along with ``jsonschema.cli`` the module) are now
- deprecated. Use ``check-jsonschema`` instead, which can be installed via
- ``pip install check-jsonschema`` and found
- `here <https://github.com/python-jsonschema/check-jsonschema>`_.
+* The error message when using ``unevaluatedProperties`` with a non-trivial
+ schema value (i.e. something other than ``false``) has been improved (#996).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/docs/conf.py
new/jsonschema-4.17.1/docs/conf.py
--- old/jsonschema-4.17.0/docs/conf.py 2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/docs/conf.py 2020-02-02 01:00:00.000000000 +0100
@@ -165,6 +165,7 @@
suppress_warnings = [
"autoapi.python_import_resolution",
"autoapi.toc_reference",
+ "epub.duplicated_toc_entry",
]
autoapi_root = "api"
autoapi_ignore = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/docs/requirements.txt
new/jsonschema-4.17.1/docs/requirements.txt
--- old/jsonschema-4.17.0/docs/requirements.txt 2020-02-02 01:00:00.000000000
+0100
+++ new/jsonschema-4.17.1/docs/requirements.txt 2020-02-02 01:00:00.000000000
+0100
@@ -1,28 +1,28 @@
#
-# This file is autogenerated by pip-compile with python 3.10
+# This file is autogenerated by pip-compile with python 3.11
# To update, run:
#
# pip-compile docs/requirements.in
#
alabaster==0.7.12
# via sphinx
-astroid==2.12.5
+astroid==2.12.13
# via sphinx-autoapi
attrs==22.1.0
# via jsonschema
-babel==2.10.3
+babel==2.11.0
# via sphinx
beautifulsoup4==4.11.1
# via furo
-certifi==2022.6.15
+certifi==2022.9.24
# via requests
charset-normalizer==2.1.1
# via requests
docutils==0.19
# via sphinx
-furo==2022.6.21
+furo==2022.9.29
# via -r docs/requirements.in
-idna==3.3
+idna==3.4
# via requests
imagesize==1.4.1
# via sphinx
@@ -32,7 +32,7 @@
# sphinx-autoapi
file:.#egg=jsonschema
# via -r docs/requirements.in
-lazy-object-proxy==1.7.1
+lazy-object-proxy==1.8.0
# via astroid
lxml==4.9.1
# via
@@ -50,9 +50,9 @@
# sphinx
pyparsing==3.0.9
# via packaging
-pyrsistent==0.18.1
+pyrsistent==0.19.2
# via jsonschema
-pytz==2022.2.1
+pytz==2022.6
# via babel
pyyaml==6.0
# via sphinx-autoapi
@@ -62,7 +62,7 @@
# via sphinx
soupsieve==2.3.2.post1
# via beautifulsoup4
-sphinx==5.1.1
+sphinx==5.3.0
# via
# -r docs/requirements.in
# furo
@@ -73,15 +73,15 @@
# sphinx-json-schema-spec
# sphinxcontrib-spelling
# sphinxext-opengraph
-sphinx-autoapi==1.9.0
+sphinx-autoapi==2.0.0
# via -r docs/requirements.in
-sphinx-autodoc-typehints==1.19.2
+sphinx-autodoc-typehints==1.19.5
# via -r docs/requirements.in
-sphinx-basic-ng==0.0.1a12
+sphinx-basic-ng==1.0.0b1
# via furo
-sphinx-copybutton==0.5.0
+sphinx-copybutton==0.5.1
# via -r docs/requirements.in
-sphinx-json-schema-spec==2.2.3
+sphinx-json-schema-spec==2.3.1
# via -r docs/requirements.in
sphinxcontrib-applehelp==1.0.2
# via sphinx
@@ -95,11 +95,11 @@
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
-sphinxcontrib-spelling==7.6.0
+sphinxcontrib-spelling==7.7.0
# via -r docs/requirements.in
-sphinxext-opengraph==0.6.3
+sphinxext-opengraph==0.7.3
# via -r docs/requirements.in
-unidecode==1.3.4
+unidecode==1.3.6
# via sphinx-autoapi
urllib3==1.26.12
# via requests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/json/CONTRIBUTING.md
new/jsonschema-4.17.1/json/CONTRIBUTING.md
--- old/jsonschema-4.17.0/json/CONTRIBUTING.md 1970-01-01 01:00:00.000000000
+0100
+++ new/jsonschema-4.17.1/json/CONTRIBUTING.md 2020-02-02 01:00:00.000000000
+0100
@@ -0,0 +1,87 @@
+# Contributing to the Suite
+
+All contributors to the test suite should familiarize themselves with this
document.
+
+Both pull requests *and* reviews are welcome from any and all, regardless of
their "formal" relationship (or lack thereof) with the JSON Schema organization.
+
+## Commit Access
+
+Any existing members with commit access to the repository may nominate new
members to get access, or a contributor may request access for themselves.
+Access generally should be granted liberally to anyone who has shown positive
contributions to the repository or organization.
+All who are active in other parts of the JSON Schema organization should get
access to this repository as well.
+Access for a former contributor may be removed after long periods of
inactivity.
+
+## Reviewing a Pull Request
+
+Pull requests may (and often should) be reviewed for approval by a single
reviewer whose job it is to confirm the change is specified, correct, minimal
and follows general style in the repository.
+A reviewer who does not feel comfortable signing off on the correctness of a
change is free to comment without explicit approval.
+Other contributors are also encouraged to comment on pull requests whenever
they have feedback, even if another contributor has submitted review comments.
+A submitter may also choose to request additional feedback if they feel the
change is particularly technical or complex, or requires expertise in a
particular area of the specification.
+If additional reviewers have participated in a pull request, the submitter
should not rely on a single reviewer's approval without some form of
confirmation that all participating reviewers are satisfied.
+On the other hand, whenever possible, reviewers who have minor comments should
explicitly mention that they are OK with the PR being merged after or
potentially *without* addressing them.
+
+When submitting a change, explicitly soliciting a specific reviewer explicitly
is currently not needed, as the entire review team is generally pinged for pull
requests.
+Nevertheless, submitters may choose to do so if they want specific review from
an individual, or if a pull request is sitting without review for a period of
time.
+For the latter scenario, leaving a comment on the pull request or in Slack is
also reasonable.
+
+Confirming that a pull request runs successfully on an implementation is *not*
generally sufficient to merge, though it is helpful evidence, and highly
encouraged.
+Proposed changes should be confirmed by reading the specification and ensuring
the behavior is specified and correct.
+Submitters are encouraged to link to the specification whenever doing so will
be helpful to a reviewer.
+
+A reviewer may indicate that the proposed changes are too large for them to
review.
+In such cases the submitter may wait for another reviewer who is comfortable
reviewing the changes, but is generally strongly encouraged to split up the
changes into multiple smaller ones.
+
+Reviewing pull requests is an extremely valuable contribution!
+New reviewers are highly encouraged to attempt to review pull requests even if
they do not have experience doing so, and to themselves expect feedback from
the submitter or from other reviewers on improving the quality of their reviews.
+In such cases the submitter should use their judgement to decide whether the
new contributor's review is sufficient for merging, or whether they should wait
for further feedback.
+
+## Merging Changes
+
+Approval of a change may be given using the GitHub UI or via a comment reply.
+Once it has been given, the pull request may be merged at any point.
+
+To merge a pull request, *either* the submitter or reviewer must have commit
access to the repo (though this is also partially simply because that party's
access is needed to merge).
+
+*Either* the submitter or reviewer may be the one to do the actual merge
(whether via hitting the merge button or externally to the GitHub UI).
+If the submitter wishes to make final changes after a review they should
attempt to say so (and thereby take responsibility for merging themselves).
+Contributors *should not* leave pull requests stagnant whenever possible, and
particularly after they have been reviewed and approved.
+
+Changes should not be merged while continuous integration is failing.
+Failures typically are not spurious and indicate issues with the changes.
+In the event the change is indeed correct and CI is flaky or itself incorrect,
effort should be made by the submitter, reviewer, or a solicited other
contributor to fix the CI before the change is made.
+Improvements to CI itself are very valuable as well, and reviewers who find
repeated issues with proposed changes are highly encouraged to improve CI for
any changes which may be automatically detected.
+
+Changes should be merged *as-is* and not squashed into single commits.
+Submitters are free to structure their commits as they wish throughout the
review process, or in some cases to restructure the commits after a review is
finished and they are merging the branch, but are not required to do so, and
reviewers should not do so on behalf of the submitter without being requested
to do so.
+
+Contributors with commit access may choose to merge pull requests (or commit
directly) to the repository for trivial changes.
+The definition of "trivial" is intentionally slightly ambiguous, and intended
to be followed by good-faith contributors.
+An example of a trivial change is fixing a typo in the README, or bumping a
version of a dependency used by the continuous integration suite.
+If another contributor takes issue with a change merged in this fashion,
simply commenting politely that they have concerns about the change (either in
an issue or directly) is the right remedy.
+
+## Writing Good Tests
+
+Be familiar with the test structure and assumptions documented in the
[README](README.md).
+
+Test cases should include both valid and invalid instances which exercise the
test case schema whenever possible.
+Exceptions include schemas where only one result is ever possible (such as the
`false` schema, or ones using keywords which only produce annotations).
+
+Schemas should be *minimal*, by which we mean that they should contain only
those keywords which are being tested by the specific test case, and should not
contain complex values when simpler ones would do.
+The same applies to instances -- prefer simpler instances to more complex
ones, and when testing string instances, consider using ones which are
self-descriptive whenever it aids readability.
+
+Comments can and should be used to explain tests which are unclear or complex.
+The `comment` field is present both for test cases and individual tests for
this purpose.
+Links to the relevant specification sections are also encouraged, though they
can be tedious to maintain from one version to the next.
+
+When adding test cases, they should be added to all past (and future) versions
of the specification which they apply to, potentially with minor modifications
(e.g. changing `$id` to `id` or accounting for `$ref` not allowing siblings on
older drafts).
+
+Changing the schema used in a particular test case should be done with extra
caution, though it is not formally discouraged if the change simplifies the
schema.
+Contributors should not generally append *additional* behavior to existing
test case schemas, unless doing so has specific justification.
+Instead, new cases should be added, as it can often be subtle to predict which
precise parts of a test case are unique.
+Adding additional *tests* however (instances) is of course safe and encouraged
if gaps are found.
+
+Tests which are *incorrect* (against the specification) should be prioritized
for fixing or removal whenever possible, as their continued presence in the
suite can create confusion for downstream users of the suite.
+
+## Proposing Changes to the Policy
+
+This policy itself is of course changeable, and changes to it may be proposed
in a discussion.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/json/README.md
new/jsonschema-4.17.1/json/README.md
--- old/jsonschema-4.17.0/json/README.md 2020-02-02 01:00:00.000000000
+0100
+++ new/jsonschema-4.17.1/json/README.md 2020-02-02 01:00:00.000000000
+0100
@@ -224,6 +224,7 @@
### C++
* [Modern C++ JSON schema
validator](https://github.com/pboettch/json-schema-validator)
+* [Valijson](https://github.com/tristanpenman/valijson)
### Dart
@@ -339,3 +340,5 @@
them with `bin/jsonschema_suite check` or `tox`. They will be run automatically
by [GitHub
Actions](https://github.com/json-schema-org/JSON-Schema-Test-Suite/actions?query=workflow%3A%22Test+Suite+Sanity+Checking%22)
as well.
+
+This repository is maintained by the JSON Schema organization, and will be
governed by the JSON Schema steering committee (once it exists).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/json/remotes/draft-next/format-assertion-false.json
new/jsonschema-4.17.1/json/remotes/draft-next/format-assertion-false.json
--- old/jsonschema-4.17.0/json/remotes/draft-next/format-assertion-false.json
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/remotes/draft-next/format-assertion-false.json
2020-02-02 01:00:00.000000000 +0100
@@ -6,7 +6,7 @@
"https://json-schema.org/draft/next/vocab/format-assertion": false
},
"allOf": [
- { "$ref": "https://json-schema.org/draft/next/schema/meta/core" },
- { "$ref":
"https://json-schema.org/draft/next/schema/meta/format-assertion" }
+ { "$ref": "https://json-schema.org/draft/next/meta/core" },
+ { "$ref": "https://json-schema.org/draft/next/meta/format-assertion" }
]
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/json/remotes/draft-next/format-assertion-true.json
new/jsonschema-4.17.1/json/remotes/draft-next/format-assertion-true.json
--- old/jsonschema-4.17.0/json/remotes/draft-next/format-assertion-true.json
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/remotes/draft-next/format-assertion-true.json
2020-02-02 01:00:00.000000000 +0100
@@ -6,7 +6,7 @@
"https://json-schema.org/draft/next/vocab/format-assertion": true
},
"allOf": [
- { "$ref": "https://json-schema.org/draft/next/schema/meta/core" },
- { "$ref":
"https://json-schema.org/draft/next/schema/meta/format-assertion" }
+ { "$ref": "https://json-schema.org/draft/next/meta/core" },
+ { "$ref": "https://json-schema.org/draft/next/meta/format-assertion" }
]
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/json/remotes/draft2020-12/format-assertion-false.json
new/jsonschema-4.17.1/json/remotes/draft2020-12/format-assertion-false.json
--- old/jsonschema-4.17.0/json/remotes/draft2020-12/format-assertion-false.json
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/remotes/draft2020-12/format-assertion-false.json
2020-02-02 01:00:00.000000000 +0100
@@ -6,7 +6,7 @@
"https://json-schema.org/draft/2020-12/vocab/format-assertion": false
},
"allOf": [
- { "$ref": "https://json-schema.org/draft/2020-12/schema/meta/core" },
- { "$ref":
"https://json-schema.org/draft/2020-12/schema/meta/format-assertion" }
+ { "$ref": "https://json-schema.org/draft/2020-12/meta/core" },
+ { "$ref":
"https://json-schema.org/draft/2020-12/meta/format-assertion" }
]
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/json/remotes/draft2020-12/format-assertion-true.json
new/jsonschema-4.17.1/json/remotes/draft2020-12/format-assertion-true.json
--- old/jsonschema-4.17.0/json/remotes/draft2020-12/format-assertion-true.json
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/remotes/draft2020-12/format-assertion-true.json
2020-02-02 01:00:00.000000000 +0100
@@ -6,7 +6,7 @@
"https://json-schema.org/draft/2020-12/vocab/format-assertion": true
},
"allOf": [
- { "$ref": "https://json-schema.org/draft/2020-12/schema/meta/core" },
- { "$ref":
"https://json-schema.org/draft/2020-12/schema/meta/format-assertion" }
+ { "$ref": "https://json-schema.org/draft/2020-12/meta/core" },
+ { "$ref":
"https://json-schema.org/draft/2020-12/meta/format-assertion" }
]
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/json/tests/draft-next/ref.json
new/jsonschema-4.17.1/json/tests/draft-next/ref.json
--- old/jsonschema-4.17.0/json/tests/draft-next/ref.json 2020-02-02
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/tests/draft-next/ref.json 2020-02-02
01:00:00.000000000 +0100
@@ -638,7 +638,7 @@
"$ref": "#bigint",
"$defs": {
"bigint": {
- "$comment": "canonical uri:
/ref-and-id2/base.json/$defs/bigint; another valid uri for this location:
/ref-and-id2/base.json#bigint",
+ "$comment": "canonical uri:
/ref-and-id2/base.json#/$defs/bigint; another valid uri for this location:
/ref-and-id2/base.json#bigint",
"$anchor": "bigint",
"maximum": 10
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/json/tests/draft-next/unevaluatedProperties.json
new/jsonschema-4.17.1/json/tests/draft-next/unevaluatedProperties.json
--- old/jsonschema-4.17.0/json/tests/draft-next/unevaluatedProperties.json
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/tests/draft-next/unevaluatedProperties.json
2020-02-02 01:00:00.000000000 +0100
@@ -741,6 +741,31 @@
]
},
{
+ "description": "unevaluatedProperties can't see inside cousins
(reverse order)",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/next/schema",
+ "allOf": [
+ {
+ "unevaluatedProperties": false
+ },
+ {
+ "properties": {
+ "foo": true
+ }
+ }
+ ]
+ },
+ "tests": [
+ {
+ "description": "always fails",
+ "data": {
+ "foo": 1
+ },
+ "valid": false
+ }
+ ]
+ },
+ {
"description": "nested unevaluatedProperties, outer false, inner true,
properties outside",
"schema": {
"$schema": "https://json-schema.org/draft/next/schema",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/json/tests/draft2019-09/ref.json
new/jsonschema-4.17.1/json/tests/draft2019-09/ref.json
--- old/jsonschema-4.17.0/json/tests/draft2019-09/ref.json 2020-02-02
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/tests/draft2019-09/ref.json 2020-02-02
01:00:00.000000000 +0100
@@ -638,7 +638,7 @@
"$ref": "#bigint",
"$defs": {
"bigint": {
- "$comment": "canonical uri:
/draft2019-09/ref-and-id2/base.json/$defs/bigint; another valid uri for this
location: /ref-and-id2/base.json#bigint",
+ "$comment": "canonical uri:
/draft2019-09/ref-and-id2/base.json#/$defs/bigint; another valid uri for this
location: /ref-and-id2/base.json#bigint",
"$anchor": "bigint",
"maximum": 10
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/json/tests/draft2019-09/unevaluatedProperties.json
new/jsonschema-4.17.1/json/tests/draft2019-09/unevaluatedProperties.json
--- old/jsonschema-4.17.0/json/tests/draft2019-09/unevaluatedProperties.json
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/tests/draft2019-09/unevaluatedProperties.json
2020-02-02 01:00:00.000000000 +0100
@@ -741,6 +741,31 @@
]
},
{
+ "description": "unevaluatedProperties can't see inside cousins
(reverse order)",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "allOf": [
+ {
+ "unevaluatedProperties": false
+ },
+ {
+ "properties": {
+ "foo": true
+ }
+ }
+ ]
+ },
+ "tests": [
+ {
+ "description": "always fails",
+ "data": {
+ "foo": 1
+ },
+ "valid": false
+ }
+ ]
+ },
+ {
"description": "nested unevaluatedProperties, outer false, inner true,
properties outside",
"schema": {
"$schema": "https://json-schema.org/draft/2019-09/schema",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/json/tests/draft2020-12/ref.json
new/jsonschema-4.17.1/json/tests/draft2020-12/ref.json
--- old/jsonschema-4.17.0/json/tests/draft2020-12/ref.json 2020-02-02
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/tests/draft2020-12/ref.json 2020-02-02
01:00:00.000000000 +0100
@@ -638,7 +638,7 @@
"$ref": "#bigint",
"$defs": {
"bigint": {
- "$comment": "canonical uri:
/ref-and-id2/base.json/$defs/bigint; another valid uri for this location:
/ref-and-id2/base.json#bigint",
+ "$comment": "canonical uri:
/ref-and-id2/base.json#/$defs/bigint; another valid uri for this location:
/ref-and-id2/base.json#bigint",
"$anchor": "bigint",
"maximum": 10
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/json/tests/draft2020-12/unevaluatedProperties.json
new/jsonschema-4.17.1/json/tests/draft2020-12/unevaluatedProperties.json
--- old/jsonschema-4.17.0/json/tests/draft2020-12/unevaluatedProperties.json
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/json/tests/draft2020-12/unevaluatedProperties.json
2020-02-02 01:00:00.000000000 +0100
@@ -741,6 +741,31 @@
]
},
{
+ "description": "unevaluatedProperties can't see inside cousins
(reverse order)",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "allOf": [
+ {
+ "unevaluatedProperties": false
+ },
+ {
+ "properties": {
+ "foo": true
+ }
+ }
+ ]
+ },
+ "tests": [
+ {
+ "description": "always fails",
+ "data": {
+ "foo": 1
+ },
+ "valid": false
+ }
+ ]
+ },
+ {
"description": "nested unevaluatedProperties, outer false, inner true,
properties outside",
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/jsonschema/_format.py
new/jsonschema-4.17.1/jsonschema/_format.py
--- old/jsonschema-4.17.0/jsonschema/_format.py 2020-02-02 01:00:00.000000000
+0100
+++ new/jsonschema-4.17.1/jsonschema/_format.py 2020-02-02 01:00:00.000000000
+0100
@@ -44,7 +44,7 @@
tuple[_FormatCheckCallable, _RaisesType],
] = {}
- def __init__(self, formats: typing.Iterable[str] = None):
+ def __init__(self, formats: typing.Iterable[str] | None = None):
if formats is None:
formats = self.checkers.keys()
self.checkers = {k: self.checkers[k] for k in formats}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/jsonschema/_validators.py
new/jsonschema-4.17.1/jsonschema/_validators.py
--- old/jsonschema-4.17.0/jsonschema/_validators.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/_validators.py 2020-02-02
01:00:00.000000000 +0100
@@ -435,23 +435,32 @@
def unevaluatedProperties(validator, unevaluatedProperties, instance, schema):
if not validator.is_type(instance, "object"):
return
- evaluated_property_keys = find_evaluated_property_keys_by_schema(
+ evaluated_keys = find_evaluated_property_keys_by_schema(
validator, instance, schema,
)
- unevaluated_property_keys = []
+ unevaluated_keys = []
for property in instance:
- if property not in evaluated_property_keys:
+ if property not in evaluated_keys:
for _ in validator.descend(
instance[property],
unevaluatedProperties,
path=property,
schema_path=property,
):
- unevaluated_property_keys.append(property)
+ # FIXME: Include context for each unevaluated property
+ # indicating why it's invalid under the subschema.
+ unevaluated_keys.append(property)
- if unevaluated_property_keys:
- error = "Unevaluated properties are not allowed (%s %s unexpected)"
- yield ValidationError(error % extras_msg(unevaluated_property_keys))
+ if unevaluated_keys:
+ if unevaluatedProperties is False:
+ error = "Unevaluated properties are not allowed (%s %s unexpected)"
+ yield ValidationError(error % extras_msg(unevaluated_keys))
+ else:
+ error = (
+ "Unevaluated properties are not valid under "
+ "the given schema (%s %s unevaluated and invalid)"
+ )
+ yield ValidationError(error % extras_msg(unevaluated_keys))
def prefixItems(validator, prefixItems, instance, schema):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/applicator
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/applicator
---
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/applicator
1970-01-01 01:00:00.000000000 +0100
+++
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/applicator
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,56 @@
+{
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "$id": "https://json-schema.org/draft/2019-09/meta/applicator",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-09/vocab/applicator": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Applicator vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "additionalItems": { "$recursiveRef": "#" },
+ "unevaluatedItems": { "$recursiveRef": "#" },
+ "items": {
+ "anyOf": [
+ { "$recursiveRef": "#" },
+ { "$ref": "#/$defs/schemaArray" }
+ ]
+ },
+ "contains": { "$recursiveRef": "#" },
+ "additionalProperties": { "$recursiveRef": "#" },
+ "unevaluatedProperties": { "$recursiveRef": "#" },
+ "properties": {
+ "type": "object",
+ "additionalProperties": { "$recursiveRef": "#" },
+ "default": {}
+ },
+ "patternProperties": {
+ "type": "object",
+ "additionalProperties": { "$recursiveRef": "#" },
+ "propertyNames": { "format": "regex" },
+ "default": {}
+ },
+ "dependentSchemas": {
+ "type": "object",
+ "additionalProperties": {
+ "$recursiveRef": "#"
+ }
+ },
+ "propertyNames": { "$recursiveRef": "#" },
+ "if": { "$recursiveRef": "#" },
+ "then": { "$recursiveRef": "#" },
+ "else": { "$recursiveRef": "#" },
+ "allOf": { "$ref": "#/$defs/schemaArray" },
+ "anyOf": { "$ref": "#/$defs/schemaArray" },
+ "oneOf": { "$ref": "#/$defs/schemaArray" },
+ "not": { "$recursiveRef": "#" }
+ },
+ "$defs": {
+ "schemaArray": {
+ "type": "array",
+ "minItems": 1,
+ "items": { "$recursiveRef": "#" }
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/content
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/content
--- old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/content
1970-01-01 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/content
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "$id": "https://json-schema.org/draft/2019-09/meta/content",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-09/vocab/content": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Content vocabulary meta-schema",
+
+ "type": ["object", "boolean"],
+ "properties": {
+ "contentMediaType": { "type": "string" },
+ "contentEncoding": { "type": "string" },
+ "contentSchema": { "$recursiveRef": "#" }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/core
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/core
--- old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/core
1970-01-01 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/core
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,57 @@
+{
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "$id": "https://json-schema.org/draft/2019-09/meta/core",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-09/vocab/core": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Core vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "$id": {
+ "type": "string",
+ "format": "uri-reference",
+ "$comment": "Non-empty fragments not allowed.",
+ "pattern": "^[^#]*#?$"
+ },
+ "$schema": {
+ "type": "string",
+ "format": "uri"
+ },
+ "$anchor": {
+ "type": "string",
+ "pattern": "^[A-Za-z][-A-Za-z0-9.:_]*$"
+ },
+ "$ref": {
+ "type": "string",
+ "format": "uri-reference"
+ },
+ "$recursiveRef": {
+ "type": "string",
+ "format": "uri-reference"
+ },
+ "$recursiveAnchor": {
+ "type": "boolean",
+ "default": false
+ },
+ "$vocabulary": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string",
+ "format": "uri"
+ },
+ "additionalProperties": {
+ "type": "boolean"
+ }
+ },
+ "$comment": {
+ "type": "string"
+ },
+ "$defs": {
+ "type": "object",
+ "additionalProperties": { "$recursiveRef": "#" },
+ "default": {}
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/meta-data
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/meta-data
---
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/meta-data
1970-01-01 01:00:00.000000000 +0100
+++
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/meta-data
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,37 @@
+{
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "$id": "https://json-schema.org/draft/2019-09/meta/meta-data",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-09/vocab/meta-data": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Meta-data vocabulary meta-schema",
+
+ "type": ["object", "boolean"],
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "default": true,
+ "deprecated": {
+ "type": "boolean",
+ "default": false
+ },
+ "readOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "writeOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "examples": {
+ "type": "array",
+ "items": true
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/validation
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/validation
---
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2019-09/validation
1970-01-01 01:00:00.000000000 +0100
+++
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2019-09/validation
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,98 @@
+{
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "$id": "https://json-schema.org/draft/2019-09/meta/validation",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-09/vocab/validation": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Validation vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "multipleOf": {
+ "type": "number",
+ "exclusiveMinimum": 0
+ },
+ "maximum": {
+ "type": "number"
+ },
+ "exclusiveMaximum": {
+ "type": "number"
+ },
+ "minimum": {
+ "type": "number"
+ },
+ "exclusiveMinimum": {
+ "type": "number"
+ },
+ "maxLength": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
+ "pattern": {
+ "type": "string",
+ "format": "regex"
+ },
+ "maxItems": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
+ "uniqueItems": {
+ "type": "boolean",
+ "default": false
+ },
+ "maxContains": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minContains": {
+ "$ref": "#/$defs/nonNegativeInteger",
+ "default": 1
+ },
+ "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
+ "required": { "$ref": "#/$defs/stringArray" },
+ "dependentRequired": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/$defs/stringArray"
+ }
+ },
+ "const": true,
+ "enum": {
+ "type": "array",
+ "items": true
+ },
+ "type": {
+ "anyOf": [
+ { "$ref": "#/$defs/simpleTypes" },
+ {
+ "type": "array",
+ "items": { "$ref": "#/$defs/simpleTypes" },
+ "minItems": 1,
+ "uniqueItems": true
+ }
+ ]
+ }
+ },
+ "$defs": {
+ "nonNegativeInteger": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "nonNegativeIntegerDefault0": {
+ "$ref": "#/$defs/nonNegativeInteger",
+ "default": 0
+ },
+ "simpleTypes": {
+ "enum": [
+ "array",
+ "boolean",
+ "integer",
+ "null",
+ "number",
+ "object",
+ "string"
+ ]
+ },
+ "stringArray": {
+ "type": "array",
+ "items": { "type": "string" },
+ "uniqueItems": true,
+ "default": []
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/applicator
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/applicator
---
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/applicator
1970-01-01 01:00:00.000000000 +0100
+++
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/applicator
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,48 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://json-schema.org/draft/2020-12/meta/applicator",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2020-12/vocab/applicator": true
+ },
+ "$dynamicAnchor": "meta",
+
+ "title": "Applicator vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "prefixItems": { "$ref": "#/$defs/schemaArray" },
+ "items": { "$dynamicRef": "#meta" },
+ "contains": { "$dynamicRef": "#meta" },
+ "additionalProperties": { "$dynamicRef": "#meta" },
+ "properties": {
+ "type": "object",
+ "additionalProperties": { "$dynamicRef": "#meta" },
+ "default": {}
+ },
+ "patternProperties": {
+ "type": "object",
+ "additionalProperties": { "$dynamicRef": "#meta" },
+ "propertyNames": { "format": "regex" },
+ "default": {}
+ },
+ "dependentSchemas": {
+ "type": "object",
+ "additionalProperties": { "$dynamicRef": "#meta" },
+ "default": {}
+ },
+ "propertyNames": { "$dynamicRef": "#meta" },
+ "if": { "$dynamicRef": "#meta" },
+ "then": { "$dynamicRef": "#meta" },
+ "else": { "$dynamicRef": "#meta" },
+ "allOf": { "$ref": "#/$defs/schemaArray" },
+ "anyOf": { "$ref": "#/$defs/schemaArray" },
+ "oneOf": { "$ref": "#/$defs/schemaArray" },
+ "not": { "$dynamicRef": "#meta" }
+ },
+ "$defs": {
+ "schemaArray": {
+ "type": "array",
+ "minItems": 1,
+ "items": { "$dynamicRef": "#meta" }
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/content
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/content
--- old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/content
1970-01-01 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/content
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://json-schema.org/draft/2020-12/meta/content",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2020-12/vocab/content": true
+ },
+ "$dynamicAnchor": "meta",
+
+ "title": "Content vocabulary meta-schema",
+
+ "type": ["object", "boolean"],
+ "properties": {
+ "contentEncoding": { "type": "string" },
+ "contentMediaType": { "type": "string" },
+ "contentSchema": { "$dynamicRef": "#meta" }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/core
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/core
--- old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/core
1970-01-01 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/core
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,51 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://json-schema.org/draft/2020-12/meta/core",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2020-12/vocab/core": true
+ },
+ "$dynamicAnchor": "meta",
+
+ "title": "Core vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "$id": {
+ "$ref": "#/$defs/uriReferenceString",
+ "$comment": "Non-empty fragments not allowed.",
+ "pattern": "^[^#]*#?$"
+ },
+ "$schema": { "$ref": "#/$defs/uriString" },
+ "$ref": { "$ref": "#/$defs/uriReferenceString" },
+ "$anchor": { "$ref": "#/$defs/anchorString" },
+ "$dynamicRef": { "$ref": "#/$defs/uriReferenceString" },
+ "$dynamicAnchor": { "$ref": "#/$defs/anchorString" },
+ "$vocabulary": {
+ "type": "object",
+ "propertyNames": { "$ref": "#/$defs/uriString" },
+ "additionalProperties": {
+ "type": "boolean"
+ }
+ },
+ "$comment": {
+ "type": "string"
+ },
+ "$defs": {
+ "type": "object",
+ "additionalProperties": { "$dynamicRef": "#meta" }
+ }
+ },
+ "$defs": {
+ "anchorString": {
+ "type": "string",
+ "pattern": "^[A-Za-z_][-A-Za-z0-9._]*$"
+ },
+ "uriString": {
+ "type": "string",
+ "format": "uri"
+ },
+ "uriReferenceString": {
+ "type": "string",
+ "format": "uri-reference"
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/format
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/format
--- old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/format
1970-01-01 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/format
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,14 @@
+{
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "$id": "https://json-schema.org/draft/2019-09/meta/format",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-09/vocab/format": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Format vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "format": { "type": "string" }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/format-annotation
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/format-annotation
---
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/format-annotation
1970-01-01 01:00:00.000000000 +0100
+++
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/format-annotation
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,14 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://json-schema.org/draft/2020-12/meta/format-annotation",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2020-12/vocab/format-annotation": true
+ },
+ "$dynamicAnchor": "meta",
+
+ "title": "Format vocabulary meta-schema for annotation results",
+ "type": ["object", "boolean"],
+ "properties": {
+ "format": { "type": "string" }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/format-assertion
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/format-assertion
---
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/format-assertion
1970-01-01 01:00:00.000000000 +0100
+++
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/format-assertion
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,14 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://json-schema.org/draft/2020-12/meta/format-assertion",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2020-12/vocab/format-assertion": true
+ },
+ "$dynamicAnchor": "meta",
+
+ "title": "Format vocabulary meta-schema for assertion results",
+ "type": ["object", "boolean"],
+ "properties": {
+ "format": { "type": "string" }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/meta-data
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/meta-data
---
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/meta-data
1970-01-01 01:00:00.000000000 +0100
+++
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/meta-data
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,37 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://json-schema.org/draft/2020-12/meta/meta-data",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2020-12/vocab/meta-data": true
+ },
+ "$dynamicAnchor": "meta",
+
+ "title": "Meta-data vocabulary meta-schema",
+
+ "type": ["object", "boolean"],
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "default": true,
+ "deprecated": {
+ "type": "boolean",
+ "default": false
+ },
+ "readOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "writeOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "examples": {
+ "type": "array",
+ "items": true
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/unevaluated
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/unevaluated
---
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/unevaluated
1970-01-01 01:00:00.000000000 +0100
+++
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/unevaluated
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,15 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://json-schema.org/draft/2020-12/meta/unevaluated",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2020-12/vocab/unevaluated": true
+ },
+ "$dynamicAnchor": "meta",
+
+ "title": "Unevaluated applicator vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "unevaluatedItems": { "$dynamicRef": "#meta" },
+ "unevaluatedProperties": { "$dynamicRef": "#meta" }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/validation
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/validation
---
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies/draft2020-12/validation
1970-01-01 01:00:00.000000000 +0100
+++
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies/draft2020-12/validation
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,98 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://json-schema.org/draft/2020-12/meta/validation",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2020-12/vocab/validation": true
+ },
+ "$dynamicAnchor": "meta",
+
+ "title": "Validation vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "type": {
+ "anyOf": [
+ { "$ref": "#/$defs/simpleTypes" },
+ {
+ "type": "array",
+ "items": { "$ref": "#/$defs/simpleTypes" },
+ "minItems": 1,
+ "uniqueItems": true
+ }
+ ]
+ },
+ "const": true,
+ "enum": {
+ "type": "array",
+ "items": true
+ },
+ "multipleOf": {
+ "type": "number",
+ "exclusiveMinimum": 0
+ },
+ "maximum": {
+ "type": "number"
+ },
+ "exclusiveMaximum": {
+ "type": "number"
+ },
+ "minimum": {
+ "type": "number"
+ },
+ "exclusiveMinimum": {
+ "type": "number"
+ },
+ "maxLength": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
+ "pattern": {
+ "type": "string",
+ "format": "regex"
+ },
+ "maxItems": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
+ "uniqueItems": {
+ "type": "boolean",
+ "default": false
+ },
+ "maxContains": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minContains": {
+ "$ref": "#/$defs/nonNegativeInteger",
+ "default": 1
+ },
+ "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
+ "required": { "$ref": "#/$defs/stringArray" },
+ "dependentRequired": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/$defs/stringArray"
+ }
+ }
+ },
+ "$defs": {
+ "nonNegativeInteger": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "nonNegativeIntegerDefault0": {
+ "$ref": "#/$defs/nonNegativeInteger",
+ "default": 0
+ },
+ "simpleTypes": {
+ "enum": [
+ "array",
+ "boolean",
+ "integer",
+ "null",
+ "number",
+ "object",
+ "string"
+ ]
+ },
+ "stringArray": {
+ "type": "array",
+ "items": { "type": "string" },
+ "uniqueItems": true,
+ "default": []
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/schemas/vocabularies.json
new/jsonschema-4.17.1/jsonschema/schemas/vocabularies.json
--- old/jsonschema-4.17.0/jsonschema/schemas/vocabularies.json 2020-02-02
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/schemas/vocabularies.json 1970-01-01
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"https://json-schema.org/draft/2020-12/meta/content": {"$schema":
"https://json-schema.org/draft/2020-12/schema", "$id":
"https://json-schema.org/draft/2020-12/meta/content", "$vocabulary":
{"https://json-schema.org/draft/2020-12/vocab/content": true},
"$dynamicAnchor": "meta", "title": "Content vocabulary meta-schema", "type":
["object", "boolean"], "properties": {"contentEncoding": {"type": "string"},
"contentMediaType": {"type": "string"}, "contentSchema": {"$dynamicRef":
"#meta"}}}, "https://json-schema.org/draft/2020-12/meta/unevaluated":
{"$schema": "https://json-schema.org/draft/2020-12/schema", "$id":
"https://json-schema.org/draft/2020-12/meta/unevaluated", "$vocabulary":
{"https://json-schema.org/draft/2020-12/vocab/unevaluated": true},
"$dynamicAnchor": "meta", "title": "Unevaluated applicator vocabulary
meta-schema", "type": ["object", "boolean"], "properties": {"unevaluatedItems":
{"$dynamicRef": "#meta"}, "unevaluatedProperties": {"$dynamicRef": "#meta"}}},
"https://j
son-schema.org/draft/2020-12/meta/format-annotation": {"$schema":
"https://json-schema.org/draft/2020-12/schema", "$id":
"https://json-schema.org/draft/2020-12/meta/format-annotation", "$vocabulary":
{"https://json-schema.org/draft/2020-12/vocab/format-annotation": true},
"$dynamicAnchor": "meta", "title": "Format vocabulary meta-schema for
annotation results", "type": ["object", "boolean"], "properties": {"format":
{"type": "string"}}}, "https://json-schema.org/draft/2020-12/meta/applicator":
{"$schema": "https://json-schema.org/draft/2020-12/schema", "$id":
"https://json-schema.org/draft/2020-12/meta/applicator", "$vocabulary":
{"https://json-schema.org/draft/2020-12/vocab/applicator": true},
"$dynamicAnchor": "meta", "title": "Applicator vocabulary meta-schema", "type":
["object", "boolean"], "properties": {"prefixItems": {"$ref":
"#/$defs/schemaArray"}, "items": {"$dynamicRef": "#meta"}, "contains":
{"$dynamicRef": "#meta"}, "additionalProperties": {"$dynamicRef": "#meta"}, "pro
perties": {"type": "object", "additionalProperties": {"$dynamicRef": "#meta"},
"default": {}}, "patternProperties": {"type": "object", "additionalProperties":
{"$dynamicRef": "#meta"}, "propertyNames": {"format": "regex"}, "default": {}},
"dependentSchemas": {"type": "object", "additionalProperties": {"$dynamicRef":
"#meta"}, "default": {}}, "propertyNames": {"$dynamicRef": "#meta"}, "if":
{"$dynamicRef": "#meta"}, "then": {"$dynamicRef": "#meta"}, "else":
{"$dynamicRef": "#meta"}, "allOf": {"$ref": "#/$defs/schemaArray"}, "anyOf":
{"$ref": "#/$defs/schemaArray"}, "oneOf": {"$ref": "#/$defs/schemaArray"},
"not": {"$dynamicRef": "#meta"}}, "$defs": {"schemaArray": {"type": "array",
"minItems": 1, "items": {"$dynamicRef": "#meta"}}}},
"https://json-schema.org/draft/2020-12/meta/meta-data": {"$schema":
"https://json-schema.org/draft/2020-12/schema", "$id":
"https://json-schema.org/draft/2020-12/meta/meta-data", "$vocabulary":
{"https://json-schema.org/draft/2020-12/vocab/meta-data": tr
ue}, "$dynamicAnchor": "meta", "title": "Meta-data vocabulary meta-schema",
"type": ["object", "boolean"], "properties": {"title": {"type": "string"},
"description": {"type": "string"}, "default": true, "deprecated": {"type":
"boolean", "default": false}, "readOnly": {"type": "boolean", "default":
false}, "writeOnly": {"type": "boolean", "default": false}, "examples":
{"type": "array", "items": true}}},
"https://json-schema.org/draft/2020-12/meta/core": {"$schema":
"https://json-schema.org/draft/2020-12/schema", "$id":
"https://json-schema.org/draft/2020-12/meta/core", "$vocabulary":
{"https://json-schema.org/draft/2020-12/vocab/core": true}, "$dynamicAnchor":
"meta", "title": "Core vocabulary meta-schema", "type": ["object", "boolean"],
"properties": {"$id": {"$ref": "#/$defs/uriReferenceString", "$comment":
"Non-empty fragments not allowed.", "pattern": "^[^#]*#?$"}, "$schema":
{"$ref": "#/$defs/uriString"}, "$ref": {"$ref": "#/$defs/uriReferenceString"},
"$anchor": {"$ref": "#/$d
efs/anchorString"}, "$dynamicRef": {"$ref": "#/$defs/uriReferenceString"},
"$dynamicAnchor": {"$ref": "#/$defs/anchorString"}, "$vocabulary": {"type":
"object", "propertyNames": {"$ref": "#/$defs/uriString"},
"additionalProperties": {"type": "boolean"}}, "$comment": {"type": "string"},
"$defs": {"type": "object", "additionalProperties": {"$dynamicRef": "#meta"}}},
"$defs": {"anchorString": {"type": "string", "pattern":
"^[A-Za-z_][-A-Za-z0-9._]*$"}, "uriString": {"type": "string", "format":
"uri"}, "uriReferenceString": {"type": "string", "format": "uri-reference"}}},
"https://json-schema.org/draft/2020-12/meta/validation": {"$schema":
"https://json-schema.org/draft/2020-12/schema", "$id":
"https://json-schema.org/draft/2020-12/meta/validation", "$vocabulary":
{"https://json-schema.org/draft/2020-12/vocab/validation": true},
"$dynamicAnchor": "meta", "title": "Validation vocabulary meta-schema", "type":
["object", "boolean"], "properties": {"type": {"anyOf": [{"$ref": "#/$defs/simpl
eTypes"}, {"type": "array", "items": {"$ref": "#/$defs/simpleTypes"},
"minItems": 1, "uniqueItems": true}]}, "const": true, "enum": {"type": "array",
"items": true}, "multipleOf": {"type": "number", "exclusiveMinimum": 0},
"maximum": {"type": "number"}, "exclusiveMaximum": {"type": "number"},
"minimum": {"type": "number"}, "exclusiveMinimum": {"type": "number"},
"maxLength": {"$ref": "#/$defs/nonNegativeInteger"}, "minLength": {"$ref":
"#/$defs/nonNegativeIntegerDefault0"}, "pattern": {"type": "string", "format":
"regex"}, "maxItems": {"$ref": "#/$defs/nonNegativeInteger"}, "minItems":
{"$ref": "#/$defs/nonNegativeIntegerDefault0"}, "uniqueItems": {"type":
"boolean", "default": false}, "maxContains": {"$ref":
"#/$defs/nonNegativeInteger"}, "minContains": {"$ref":
"#/$defs/nonNegativeInteger", "default": 1}, "maxProperties": {"$ref":
"#/$defs/nonNegativeInteger"}, "minProperties": {"$ref":
"#/$defs/nonNegativeIntegerDefault0"}, "required": {"$ref":
"#/$defs/stringArray"}, "dependentR
equired": {"type": "object", "additionalProperties": {"$ref":
"#/$defs/stringArray"}}}, "$defs": {"nonNegativeInteger": {"type": "integer",
"minimum": 0}, "nonNegativeIntegerDefault0": {"$ref":
"#/$defs/nonNegativeInteger", "default": 0}, "simpleTypes": {"enum": ["array",
"boolean", "integer", "null", "number", "object", "string"]}, "stringArray":
{"type": "array", "items": {"type": "string"}, "uniqueItems": true, "default":
[]}}}, "https://json-schema.org/draft/2019-09/meta/content": {"$schema":
"https://json-schema.org/draft/2019-09/schema", "$id":
"https://json-schema.org/draft/2019-09/meta/content", "$vocabulary":
{"https://json-schema.org/draft/2019-09/vocab/content": true},
"$recursiveAnchor": true, "title": "Content vocabulary meta-schema", "type":
["object", "boolean"], "properties": {"contentMediaType": {"type": "string"},
"contentEncoding": {"type": "string"}, "contentSchema": {"$recursiveRef":
"#"}}}, "https://json-schema.org/draft/2019-09/meta/applicator": {"$schema": "h
ttps://json-schema.org/draft/2019-09/schema", "$id":
"https://json-schema.org/draft/2019-09/meta/applicator", "$vocabulary":
{"https://json-schema.org/draft/2019-09/vocab/applicator": true},
"$recursiveAnchor": true, "title": "Applicator vocabulary meta-schema", "type":
["object", "boolean"], "properties": {"additionalItems": {"$recursiveRef":
"#"}, "unevaluatedItems": {"$recursiveRef": "#"}, "items": {"anyOf":
[{"$recursiveRef": "#"}, {"$ref": "#/$defs/schemaArray"}]}, "contains":
{"$recursiveRef": "#"}, "additionalProperties": {"$recursiveRef": "#"},
"unevaluatedProperties": {"$recursiveRef": "#"}, "properties": {"type":
"object", "additionalProperties": {"$recursiveRef": "#"}, "default": {}},
"patternProperties": {"type": "object", "additionalProperties":
{"$recursiveRef": "#"}, "propertyNames": {"format": "regex"}, "default": {}},
"dependentSchemas": {"type": "object", "additionalProperties":
{"$recursiveRef": "#"}}, "propertyNames": {"$recursiveRef": "#"}, "if":
{"$recursiveRef
": "#"}, "then": {"$recursiveRef": "#"}, "else": {"$recursiveRef": "#"},
"allOf": {"$ref": "#/$defs/schemaArray"}, "anyOf": {"$ref":
"#/$defs/schemaArray"}, "oneOf": {"$ref": "#/$defs/schemaArray"}, "not":
{"$recursiveRef": "#"}}, "$defs": {"schemaArray": {"type": "array", "minItems":
1, "items": {"$recursiveRef": "#"}}}},
"https://json-schema.org/draft/2019-09/meta/meta-data": {"$schema":
"https://json-schema.org/draft/2019-09/schema", "$id":
"https://json-schema.org/draft/2019-09/meta/meta-data", "$vocabulary":
{"https://json-schema.org/draft/2019-09/vocab/meta-data": true},
"$recursiveAnchor": true, "title": "Meta-data vocabulary meta-schema", "type":
["object", "boolean"], "properties": {"title": {"type": "string"},
"description": {"type": "string"}, "default": true, "deprecated": {"type":
"boolean", "default": false}, "readOnly": {"type": "boolean", "default":
false}, "writeOnly": {"type": "boolean", "default": false}, "examples":
{"type": "array", "items": true}}}, "https://js
on-schema.org/draft/2019-09/meta/core": {"$schema":
"https://json-schema.org/draft/2019-09/schema", "$id":
"https://json-schema.org/draft/2019-09/meta/core", "$vocabulary":
{"https://json-schema.org/draft/2019-09/vocab/core": true}, "$recursiveAnchor":
true, "title": "Core vocabulary meta-schema", "type": ["object", "boolean"],
"properties": {"$id": {"type": "string", "format": "uri-reference", "$comment":
"Non-empty fragments not allowed.", "pattern": "^[^#]*#?$"}, "$schema":
{"type": "string", "format": "uri"}, "$anchor": {"type": "string", "pattern":
"^[A-Za-z][-A-Za-z0-9.:_]*$"}, "$ref": {"type": "string", "format":
"uri-reference"}, "$recursiveRef": {"type": "string", "format":
"uri-reference"}, "$recursiveAnchor": {"type": "boolean", "default": false},
"$vocabulary": {"type": "object", "propertyNames": {"type": "string", "format":
"uri"}, "additionalProperties": {"type": "boolean"}}, "$comment": {"type":
"string"}, "$defs": {"type": "object", "additionalProperties": {"$recursi
veRef": "#"}, "default": {}}}},
"https://json-schema.org/draft/2019-09/meta/validation": {"$schema":
"https://json-schema.org/draft/2019-09/schema", "$id":
"https://json-schema.org/draft/2019-09/meta/validation", "$vocabulary":
{"https://json-schema.org/draft/2019-09/vocab/validation": true},
"$recursiveAnchor": true, "title": "Validation vocabulary meta-schema", "type":
["object", "boolean"], "properties": {"multipleOf": {"type": "number",
"exclusiveMinimum": 0}, "maximum": {"type": "number"}, "exclusiveMaximum":
{"type": "number"}, "minimum": {"type": "number"}, "exclusiveMinimum": {"type":
"number"}, "maxLength": {"$ref": "#/$defs/nonNegativeInteger"}, "minLength":
{"$ref": "#/$defs/nonNegativeIntegerDefault0"}, "pattern": {"type": "string",
"format": "regex"}, "maxItems": {"$ref": "#/$defs/nonNegativeInteger"},
"minItems": {"$ref": "#/$defs/nonNegativeIntegerDefault0"}, "uniqueItems":
{"type": "boolean", "default": false}, "maxContains": {"$ref":
"#/$defs/nonNegativeInteger"}, "
minContains": {"$ref": "#/$defs/nonNegativeInteger", "default": 1},
"maxProperties": {"$ref": "#/$defs/nonNegativeInteger"}, "minProperties":
{"$ref": "#/$defs/nonNegativeIntegerDefault0"}, "required": {"$ref":
"#/$defs/stringArray"}, "dependentRequired": {"type": "object",
"additionalProperties": {"$ref": "#/$defs/stringArray"}}, "const": true,
"enum": {"type": "array", "items": true}, "type": {"anyOf": [{"$ref":
"#/$defs/simpleTypes"}, {"type": "array", "items": {"$ref":
"#/$defs/simpleTypes"}, "minItems": 1, "uniqueItems": true}]}}, "$defs":
{"nonNegativeInteger": {"type": "integer", "minimum": 0},
"nonNegativeIntegerDefault0": {"$ref": "#/$defs/nonNegativeInteger", "default":
0}, "simpleTypes": {"enum": ["array", "boolean", "integer", "null", "number",
"object", "string"]}, "stringArray": {"type": "array", "items": {"type":
"string"}, "uniqueItems": true, "default": []}}},
"https://json-schema.org/draft/2019-09/meta/hyper-schema": {"$schema":
"https://json-schema.org/draft/2019-
09/hyper-schema", "$id":
"https://json-schema.org/draft/2019-09/meta/hyper-schema", "$vocabulary":
{"https://json-schema.org/draft/2019-09/vocab/hyper-schema": true},
"$recursiveAnchor": true, "title": "JSON Hyper-Schema Vocabulary Schema",
"type": ["object", "boolean"], "properties": {"base": {"type": "string",
"format": "uri-template"}, "links": {"type": "array", "items": {"$ref":
"https://json-schema.org/draft/2019-09/links"}}}, "links": [{"rel": "self",
"href": "{+%24id}"}]}, "https://json-schema.org/draft/2019-09/meta/format":
{"$schema": "https://json-schema.org/draft/2019-09/schema", "$id":
"https://json-schema.org/draft/2019-09/meta/format", "$vocabulary":
{"https://json-schema.org/draft/2019-09/vocab/format": true},
"$recursiveAnchor": true, "title": "Format vocabulary meta-schema", "type":
["object", "boolean"], "properties": {"format": {"type": "string"}}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/tests/test_deprecations.py
new/jsonschema-4.17.1/jsonschema/tests/test_deprecations.py
--- old/jsonschema-4.17.0/jsonschema/tests/test_deprecations.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/tests/test_deprecations.py 2020-02-02
01:00:00.000000000 +0100
@@ -1,4 +1,5 @@
from unittest import TestCase
+import importlib
import subprocess
import sys
@@ -264,6 +265,22 @@
with self.assertRaises(ImportError):
from jsonschema import draft1234_format_checker # noqa
+ def test_import_cli(self):
+ """
+ As of v4.17.0, importing jsonschema.cli is deprecated.
+ """
+
+ with self.assertWarns(DeprecationWarning) as w:
+ import jsonschema.cli
+ importlib.reload(jsonschema.cli)
+
+ self.assertEqual(w.filename, importlib.__file__)
+ self.assertTrue(
+ str(w.warning).startswith(
+ "The jsonschema CLI is deprecated and will be removed ",
+ ),
+ )
+
def test_cli(self):
"""
As of v4.17.0, the jsonschema CLI is deprecated.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jsonschema-4.17.0/jsonschema/tests/test_validators.py
new/jsonschema-4.17.1/jsonschema/tests/test_validators.py
--- old/jsonschema-4.17.0/jsonschema/tests/test_validators.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/tests/test_validators.py 2020-02-02
01:00:00.000000000 +0100
@@ -634,7 +634,26 @@
message = self.message_for(instance="foo", schema=schema)
self.assertEqual(message, "'foo' is not of type 'array'")
- def test_unevaluated_properties(self):
+ def test_unevaluated_properties_invalid_against_subschema(self):
+ schema = {
+ "properties": {"foo": {"type": "string"}},
+ "unevaluatedProperties": {"const": 12},
+ }
+ message = self.message_for(
+ instance={
+ "foo": "foo",
+ "bar": "bar",
+ "baz": 12,
+ },
+ schema=schema,
+ )
+ self.assertEqual(
+ message,
+ "Unevaluated properties are not valid under the given schema "
+ "('bar' was unevaluated and invalid)",
+ )
+
+ def test_unevaluated_properties_disallowed(self):
schema = {"type": "object", "unevaluatedProperties": False}
message = self.message_for(
instance={
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jsonschema-4.17.0/jsonschema/validators.py
new/jsonschema-4.17.1/jsonschema/validators.py
--- old/jsonschema-4.17.0/jsonschema/validators.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.1/jsonschema/validators.py 2020-02-02
01:00:00.000000000 +0100
@@ -103,7 +103,11 @@
def _store_schema_list():
if not _VOCABULARIES:
- _VOCABULARIES.extend(_utils.load_schema("vocabularies").items())
+ package = _utils.resources.files(__package__)
+ for version in package.joinpath("schemas", "vocabularies").iterdir():
+ for path in version.iterdir():
+ vocabulary = json.loads(path.read_text())
+ _VOCABULARIES.append((vocabulary["$id"], vocabulary))
return [
(id, validator.META_SCHEMA) for id, validator in _META_SCHEMAS.items()
] + _VOCABULARIES