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-12-02 13:12:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jsonschema (Old)
 and      /work/SRC/openSUSE:Factory/.python-jsonschema.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-jsonschema"

Fri Dec  2 13:12:00 2022 rev:35 rq:1039224 version:4.17.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jsonschema/python-jsonschema.changes      
2022-11-24 12:22:11.744903495 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-jsonschema.new.1835/python-jsonschema.changes
    2022-12-02 13:12:00.865482623 +0100
@@ -1,0 +2,14 @@
+Wed Nov 30 13:41:12 UTC 2022 - Johannes Kastl <[email protected]>
+
+- update to 4.17.3:
+  * No nice changelog provided upstream
+    Full Changelog: 
https://github.com/python-jsonschema/jsonschema/compare/v4.17.2...v4.17.3
+
+-------------------------------------------------------------------
+Wed Nov 30 13:38:53 UTC 2022 - Johannes Kastl <[email protected]>
+
+- update to 4.17.2:
+  * No nice changelog provided upstream
+    Full Changelog: 
https://github.com/python-jsonschema/jsonschema/compare/v4.17.1...v4.17.2
+
+-------------------------------------------------------------------

Old:
----
  jsonschema-4.17.1.tar.gz

New:
----
  jsonschema-4.17.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-jsonschema.spec ++++++
--- /var/tmp/diff_new_pack.NK6klA/_old  2022-12-02 13:12:01.421485659 +0100
+++ /var/tmp/diff_new_pack.NK6klA/_new  2022-12-02 13:12:01.425485681 +0100
@@ -23,7 +23,7 @@
 %endif
 
 Name:           python-jsonschema
-Version:        4.17.1
+Version:        4.17.3
 Release:        0
 Summary:        An implementation of JSON-Schema validation for Python
 License:        MIT

++++++ jsonschema-4.17.1.tar.gz -> jsonschema-4.17.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/.flake8 
new/jsonschema-4.17.3/.flake8
--- old/jsonschema-4.17.1/.flake8       2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/.flake8       2020-02-02 01:00:00.000000000 +0100
@@ -5,6 +5,9 @@
     jsonschema/__init__.py
     jsonschema/_reflect.py
 ignore =
-    B008,  # Barring function calls in default args. Ha, no.
-    B306,  # See https://github.com/PyCQA/flake8-bugbear/issues/131
-    W503,  # (flake8 default) old PEP8 boolean operator line breaks
+    # Barring function calls in default args. Ha, no.
+    B008,
+    # See https://github.com/PyCQA/flake8-bugbear/issues/131
+    B306,
+    # (flake8 default) old PEP8 boolean operator line breaks
+    W503,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/.pre-commit-config.yaml 
new/jsonschema-4.17.3/.pre-commit-config.yaml
--- old/jsonschema-4.17.1/.pre-commit-config.yaml       2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/.pre-commit-config.yaml       2020-02-02 
01:00:00.000000000 +0100
@@ -2,7 +2,7 @@
 
 repos:
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.3.0
+    rev: v4.4.0
     hooks:
       - id: check-ast
       - id: check-docstring-first
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/CHANGELOG.rst 
new/jsonschema-4.17.3/CHANGELOG.rst
--- old/jsonschema-4.17.1/CHANGELOG.rst 2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/CHANGELOG.rst 2020-02-02 01:00:00.000000000 +0100
@@ -1,3 +1,18 @@
+v4.17.3
+=======
+
+* Fix instantiating validators with cached refs to boolean schemas
+  rather than objects (#1018).
+
+v4.17.2
+=======
+
+* Empty strings are not valid relative JSON Pointers (aren't valid under the
+  RJP format).
+* Durations without (trailing) units are not valid durations (aren't
+  valid under the duration format). This involves changing the dependency
+  used for validating durations (from ``isoduration`` to ``isodate``).
+
 v4.17.1
 =======
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/PKG-INFO 
new/jsonschema-4.17.3/PKG-INFO
--- old/jsonschema-4.17.1/PKG-INFO      2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/PKG-INFO      2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: jsonschema
-Version: 4.17.1
+Version: 4.17.3
 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,8 +188,8 @@
 Release Information
 -------------------
 
-v4.17.1
+v4.17.3
 =======
 
-* The error message when using ``unevaluatedProperties`` with a non-trivial
-  schema value (i.e. something other than ``false``) has been improved (#996).
+* Fix instantiating validators with cached refs to boolean schemas
+  rather than objects (#1018).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/docs/validate.rst 
new/jsonschema-4.17.3/docs/validate.rst
--- old/jsonschema-4.17.1/docs/validate.rst     2020-02-02 01:00:00.000000000 
+0100
+++ new/jsonschema-4.17.3/docs/validate.rst     2020-02-02 01:00:00.000000000 
+0100
@@ -16,7 +16,7 @@
 ----------
 
 The simplest way to validate an instance under a given schema is to use the
-:func:`validate` function.
+`validate <jsonschema.validators.validate>` function.
 
 .. autofunction:: validate
     :noindex:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/json/README.md 
new/jsonschema-4.17.3/json/README.md
--- old/jsonschema-4.17.1/json/README.md        2020-02-02 01:00:00.000000000 
+0100
+++ new/jsonschema-4.17.3/json/README.md        2020-02-02 01:00:00.000000000 
+0100
@@ -283,8 +283,8 @@
 
 ### .NET
 
+* [JsonSchema.Net](https://github.com/gregsdennis/json-everything)
 * [Newtonsoft.Json.Schema](https://github.com/JamesNK/Newtonsoft.Json.Schema)
-* [Manatee.Json](https://github.com/gregsdennis/Manatee.Json)
 
 ### Perl
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft-next/locationIndependentIdentifierDraft4.json
 
new/jsonschema-4.17.3/json/remotes/draft-next/locationIndependentIdentifierDraft4.json
--- 
old/jsonschema-4.17.1/json/remotes/draft-next/locationIndependentIdentifierDraft4.json
      2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/remotes/draft-next/locationIndependentIdentifierDraft4.json
      1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/next/schema";,
-    "definitions": {
-        "refToInteger": {
-            "$ref": "#foo"
-        },
-        "A": {
-            "id": "#foo",
-            "type": "integer"
-        }
-    }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft-next/locationIndependentIdentifierPre2019.json
 
new/jsonschema-4.17.3/json/remotes/draft-next/locationIndependentIdentifierPre2019.json
--- 
old/jsonschema-4.17.1/json/remotes/draft-next/locationIndependentIdentifierPre2019.json
     2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/remotes/draft-next/locationIndependentIdentifierPre2019.json
     1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/next/schema";,
-    "definitions": {
-        "refToInteger": {
-            "$ref": "#foo"
-        },
-        "A": {
-            "$id": "#foo",
-            "type": "integer"
-        }
-    }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/json/remotes/draft-next/name.json 
new/jsonschema-4.17.3/json/remotes/draft-next/name.json
--- old/jsonschema-4.17.1/json/remotes/draft-next/name.json     2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/remotes/draft-next/name.json     1970-01-01 
01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/next/schema";,
-    "definitions": {
-        "orNull": {
-            "anyOf": [
-                {
-                    "type": "null"
-                },
-                {
-                    "$ref": "#"
-                }
-            ]
-        }
-    },
-    "type": "string"
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft-next/ref-and-definitions.json 
new/jsonschema-4.17.3/json/remotes/draft-next/ref-and-definitions.json
--- old/jsonschema-4.17.1/json/remotes/draft-next/ref-and-definitions.json      
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/remotes/draft-next/ref-and-definitions.json      
1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/next/schema";,
-    "$id": "http://localhost:1234/draft-next/ref-and-definitions.json";,
-    "definitions": {
-        "inner": {
-            "properties": {
-                "bar": { "type": "string" }
-            }
-        }
-    },
-    "allOf": [ { "$ref": "#/definitions/inner" } ]
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft2019-09/locationIndependentIdentifierDraft4.json
 
new/jsonschema-4.17.3/json/remotes/draft2019-09/locationIndependentIdentifierDraft4.json
--- 
old/jsonschema-4.17.1/json/remotes/draft2019-09/locationIndependentIdentifierDraft4.json
    2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/remotes/draft2019-09/locationIndependentIdentifierDraft4.json
    1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/2019-09/schema";,
-    "definitions": {
-        "refToInteger": {
-            "$ref": "#foo"
-        },
-        "A": {
-            "id": "#foo",
-            "type": "integer"
-        }
-    }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft2019-09/locationIndependentIdentifierPre2019.json
 
new/jsonschema-4.17.3/json/remotes/draft2019-09/locationIndependentIdentifierPre2019.json
--- 
old/jsonschema-4.17.1/json/remotes/draft2019-09/locationIndependentIdentifierPre2019.json
   2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/remotes/draft2019-09/locationIndependentIdentifierPre2019.json
   1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/2019-09/schema";,
-    "definitions": {
-        "refToInteger": {
-            "$ref": "#foo"
-        },
-        "A": {
-            "$id": "#foo",
-            "type": "integer"
-        }
-    }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft2019-09/name.json 
new/jsonschema-4.17.3/json/remotes/draft2019-09/name.json
--- old/jsonschema-4.17.1/json/remotes/draft2019-09/name.json   2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/remotes/draft2019-09/name.json   1970-01-01 
01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/2019-09/schema";,
-    "definitions": {
-        "orNull": {
-            "anyOf": [
-                {
-                    "type": "null"
-                },
-                {
-                    "$ref": "#"
-                }
-            ]
-        }
-    },
-    "type": "string"
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft2019-09/ref-and-definitions.json 
new/jsonschema-4.17.3/json/remotes/draft2019-09/ref-and-definitions.json
--- old/jsonschema-4.17.1/json/remotes/draft2019-09/ref-and-definitions.json    
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/remotes/draft2019-09/ref-and-definitions.json    
1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/2019-09/schema";,
-    "$id": "http://localhost:1234/draft2019-09/ref-and-definitions.json";,
-    "definitions": {
-        "inner": {
-            "properties": {
-                "bar": { "type": "string" }
-            }
-        }
-    },
-    "allOf": [ { "$ref": "#/definitions/inner" } ]
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft2020-12/locationIndependentIdentifierDraft4.json
 
new/jsonschema-4.17.3/json/remotes/draft2020-12/locationIndependentIdentifierDraft4.json
--- 
old/jsonschema-4.17.1/json/remotes/draft2020-12/locationIndependentIdentifierDraft4.json
    2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/remotes/draft2020-12/locationIndependentIdentifierDraft4.json
    1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/2020-12/schema";,
-    "definitions": {
-        "refToInteger": {
-            "$ref": "#foo"
-        },
-        "A": {
-            "id": "#foo",
-            "type": "integer"
-        }
-    }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft2020-12/locationIndependentIdentifierPre2019.json
 
new/jsonschema-4.17.3/json/remotes/draft2020-12/locationIndependentIdentifierPre2019.json
--- 
old/jsonschema-4.17.1/json/remotes/draft2020-12/locationIndependentIdentifierPre2019.json
   2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/remotes/draft2020-12/locationIndependentIdentifierPre2019.json
   1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/2020-12/schema";,
-    "definitions": {
-        "refToInteger": {
-            "$ref": "#foo"
-        },
-        "A": {
-            "$id": "#foo",
-            "type": "integer"
-        }
-    }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft2020-12/name.json 
new/jsonschema-4.17.3/json/remotes/draft2020-12/name.json
--- old/jsonschema-4.17.1/json/remotes/draft2020-12/name.json   2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/remotes/draft2020-12/name.json   1970-01-01 
01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/2020-12/schema";,
-    "definitions": {
-        "orNull": {
-            "anyOf": [
-                {
-                    "type": "null"
-                },
-                {
-                    "$ref": "#"
-                }
-            ]
-        }
-    },
-    "type": "string"
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/remotes/draft2020-12/ref-and-definitions.json 
new/jsonschema-4.17.3/json/remotes/draft2020-12/ref-and-definitions.json
--- old/jsonschema-4.17.1/json/remotes/draft2020-12/ref-and-definitions.json    
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/remotes/draft2020-12/ref-and-definitions.json    
1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-{
-    "$schema": "https://json-schema.org/draft/2020-12/schema";,
-    "$id": "http://localhost:1234/draft2020-12/ref-and-definitions.json";,
-    "definitions": {
-        "inner": {
-            "properties": {
-                "bar": { "type": "string" }
-            }
-        }
-    },
-    "allOf": [ { "$ref": "#/definitions/inner" } ]
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/json/tests/draft-next/content.json 
new/jsonschema-4.17.3/json/tests/draft-next/content.json
--- old/jsonschema-4.17.1/json/tests/draft-next/content.json    2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft-next/content.json    2020-02-02 
01:00:00.000000000 +0100
@@ -83,7 +83,7 @@
             "$schema": "https://json-schema.org/draft/next/schema";,
             "contentMediaType": "application/json",
             "contentEncoding": "base64",
-            "contentSchema": { "required": ["foo"], "properties": { "foo": { 
"type": "string" } } }
+            "contentSchema": { "type": "object", "required": ["foo"], 
"properties": { "foo": { "type": "string" } } }
         },
         "tests": [
             {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft-next/dynamicRef.json 
new/jsonschema-4.17.3/json/tests/draft-next/dynamicRef.json
--- old/jsonschema-4.17.1/json/tests/draft-next/dynamicRef.json 2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft-next/dynamicRef.json 2020-02-02 
01:00:00.000000000 +0100
@@ -484,5 +484,94 @@
                 "valid": true
             }
         ]
+    },
+    {
+        "description": "$dynamicAnchor inside propertyDependencies",
+        "schema": {
+            "$schema": "https://json-schema.org/draft/2020-12/schema";,
+            "$id": 
"http://localhost:1234/draft2020-12/dynamicanchor-in-propertydependencies.json";,
+            "$defs": {
+                "inner": {
+                    "$id": "inner",
+                    "$dynamicAnchor": "foo",
+                    "type": "object",
+                    "additionalProperties": {
+                        "$dynamicRef": "#foo"
+                    }
+                }
+            },
+            "propertyDependencies": {
+                "expectedTypes": {
+                    "strings": {
+                        "$id": "east",
+                        "$ref": "inner",
+                        "$defs": {
+                            "foo": {
+                                "$dynamicAnchor": "foo",
+                                "type": "string"
+                            }
+                        }
+                    },
+                    "integers": {
+                        "$id": "west",
+                        "$ref": "inner",
+                        "$defs": {
+                            "foo": {
+                                "$dynamicAnchor": "foo",
+                                "type": "integer"
+                            }
+                        }
+                    }
+                }
+            }
+        },
+        "tests": [
+            {
+                "description": "expected strings - additional property as 
string is valid",
+                "data": {
+                    "expectedTypes": "strings",
+                    "anotherProperty": "also a string"
+                },
+                "valid": true
+            },
+            {
+                "description": "expected strings - additional property as not 
string is invalid",
+                "data": {
+                    "expectedTypes": "strings",
+                    "anotherProperty": 42
+                },
+                "valid": false
+            },
+            {
+                "description": "expected integers - additional property as 
integer is valid",
+                "data": {
+                    "expectedTypes": "integers",
+                    "anotherProperty": 42
+                },
+                "valid": true
+            },
+            {
+                "description": "expected integers - additional property as not 
integer is invalid",
+                "data": {
+                    "expectedTypes": "integers",
+                    "anotherProperty": "a string"
+                },
+                "valid": false
+            },
+            {
+                "description": "expected missing - additional property as an 
object is valid",
+                "data": {
+                    "anotherProperty": {}
+                },
+                "valid": true
+            },
+            {
+                "description": "expected missing - additional property as not 
object is invalid",
+                "data": {
+                    "anotherProperty": 42
+                },
+                "valid": false
+            }
+        ]
     }
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft-next/optional/format/duration.json 
new/jsonschema-4.17.3/json/tests/draft-next/optional/format/duration.json
--- old/jsonschema-4.17.1/json/tests/draft-next/optional/format/duration.json   
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft-next/optional/format/duration.json   
2020-02-02 01:00:00.000000000 +0100
@@ -125,6 +125,11 @@
                 "description": "invalid non-ASCII '২' (a Bengali 2)",
                 "data": "P২Y",
                 "valid": false
+            },
+            {
+                "description": "element without unit",
+                "data": "P1",
+                "valid": false
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft-next/optional/format/relative-json-pointer.json
 
new/jsonschema-4.17.3/json/tests/draft-next/optional/format/relative-json-pointer.json
--- 
old/jsonschema-4.17.1/json/tests/draft-next/optional/format/relative-json-pointer.json
      2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/tests/draft-next/optional/format/relative-json-pointer.json
      2020-02-02 01:00:00.000000000 +0100
@@ -67,6 +67,11 @@
                 "valid": false
             },
             {
+                "description": "explicit positive prefix",
+                "data": "+1/foo/bar",
+                "valid": false
+            },
+            {
                 "description": "## is not a valid json-pointer",
                 "data": "0##",
                 "valid": false
@@ -80,6 +85,16 @@
                 "description": "zero cannot be followed by other digits, plus 
octothorpe",
                 "data": "01#",
                 "valid": false
+            },
+            {
+                "description": "empty string",
+                "data": "",
+                "valid": false
+            },
+            {
+                "description": "multi-digit integer prefix",
+                "data": "120/foo/bar",
+                "valid": true
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft-next/optional/format/time.json 
new/jsonschema-4.17.3/json/tests/draft-next/optional/format/time.json
--- old/jsonschema-4.17.1/json/tests/draft-next/optional/format/time.json       
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft-next/optional/format/time.json       
2020-02-02 01:00:00.000000000 +0100
@@ -192,9 +192,24 @@
                 "valid": false
             },
             {
+                "description": "no time offset with second fraction",
+                "data": "12:00:00.52",
+                "valid": false
+            },
+            {
                 "description": "invalid non-ASCII '২' (a Bengali 2)",
                 "data": "1২:00:00Z",
                 "valid": false
+            },
+            {
+                "description": "offset not starting with plus or minus",
+                "data": "08:30:06#00:20",
+                "valid": false
+            },
+            {
+                "description": "contains letters",
+                "data": "ab:cd:ef",
+                "valid": false
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft-next/optional/format/uri.json 
new/jsonschema-4.17.3/json/tests/draft-next/optional/format/uri.json
--- old/jsonschema-4.17.1/json/tests/draft-next/optional/format/uri.json        
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft-next/optional/format/uri.json        
2020-02-02 01:00:00.000000000 +0100
@@ -7,6 +7,36 @@
         },
         "tests": [
             {
+                "description": "all string formats ignore integers",
+                "data": 12,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore floats",
+                "data": 13.7,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore objects",
+                "data": {},
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore arrays",
+                "data": [],
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore booleans",
+                "data": false,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore nulls",
+                "data": null,
+                "valid": true
+            },
+            {
                 "description": "a valid URL with anchor tag",
                 "data": "http://foo.bar/?baz=qux#quux";,
                 "valid": true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft-next/optional/format/uuid.json 
new/jsonschema-4.17.3/json/tests/draft-next/optional/format/uuid.json
--- old/jsonschema-4.17.1/json/tests/draft-next/optional/format/uuid.json       
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft-next/optional/format/uuid.json       
2020-02-02 01:00:00.000000000 +0100
@@ -7,6 +7,36 @@
         },
         "tests": [
             {
+                "description": "all string formats ignore integers",
+                "data": 12,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore floats",
+                "data": 13.7,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore objects",
+                "data": {},
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore arrays",
+                "data": [],
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore booleans",
+                "data": false,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore nulls",
+                "data": null,
+                "valid": true
+            },
+            {
                 "description": "all upper-case",
                 "data": "2EB8AA08-AA98-11EA-B4AA-73B441D16380",
                 "valid": true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft-next/unevaluatedProperties.json 
new/jsonschema-4.17.3/json/tests/draft-next/unevaluatedProperties.json
--- old/jsonschema-4.17.1/json/tests/draft-next/unevaluatedProperties.json      
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft-next/unevaluatedProperties.json      
2020-02-02 01:00:00.000000000 +0100
@@ -1470,5 +1470,46 @@
                 "valid": true
             }
         ]
+    },
+    {
+        "description": "unevaluatedProperties can see inside 
propertyDependencies",
+        "schema": {
+            "$schema": "https://json-schema.org/draft/next/schema";,
+            "propertyDependencies": {
+                "foo": {
+                    "foo1": { 
+                        "properties": {
+                            "bar": true
+                        }
+                    }
+                }
+            },
+            "unevaluatedProperties": false
+        },
+        "tests": [
+            {
+                "description": "allows bar if foo = foo1",
+                "data": {
+                    "foo": "foo1",
+                    "bar": 42
+                },
+                "valid": true
+            },
+            {
+                "description": "disallows bar if foo != foo1",
+                "data": {
+                    "foo": "foo2",
+                    "bar": 42
+                },
+                "valid": false
+            },
+            {
+                "description": "disallows bar if foo is absent",
+                "data": {
+                    "bar": 42
+                },
+                "valid": false
+            }
+        ]
     }
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2019-09/content.json 
new/jsonschema-4.17.3/json/tests/draft2019-09/content.json
--- old/jsonschema-4.17.1/json/tests/draft2019-09/content.json  2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2019-09/content.json  2020-02-02 
01:00:00.000000000 +0100
@@ -83,7 +83,7 @@
             "$schema": "https://json-schema.org/draft/2019-09/schema";,
             "contentMediaType": "application/json",
             "contentEncoding": "base64",
-            "contentSchema": { "required": ["foo"], "properties": { "foo": { 
"type": "string" } } }
+            "contentSchema": { "type": "object", "required": ["foo"], 
"properties": { "foo": { "type": "string" } } }
         },
         "tests": [
             {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/duration.json 
new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/duration.json
--- old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/duration.json 
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/duration.json 
2020-02-02 01:00:00.000000000 +0100
@@ -125,6 +125,11 @@
                 "description": "invalid non-ASCII '২' (a Bengali 2)",
                 "data": "P২Y",
                 "valid": false
+            },
+            {
+                "description": "element without unit",
+                "data": "P1",
+                "valid": false
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/relative-json-pointer.json
 
new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/relative-json-pointer.json
--- 
old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/relative-json-pointer.json
    2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/relative-json-pointer.json
    2020-02-02 01:00:00.000000000 +0100
@@ -67,6 +67,11 @@
                 "valid": false
             },
             {
+                "description": "explicit positive prefix",
+                "data": "+1/foo/bar",
+                "valid": false
+            },
+            {
                 "description": "## is not a valid json-pointer",
                 "data": "0##",
                 "valid": false
@@ -80,6 +85,16 @@
                 "description": "zero cannot be followed by other digits, plus 
octothorpe",
                 "data": "01#",
                 "valid": false
+            },
+            {
+                "description": "empty string",
+                "data": "",
+                "valid": false
+            },
+            {
+                "description": "multi-digit integer prefix",
+                "data": "120/foo/bar",
+                "valid": true
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/time.json 
new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/time.json
--- old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/time.json     
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/time.json     
2020-02-02 01:00:00.000000000 +0100
@@ -192,9 +192,24 @@
                 "valid": false
             },
             {
+                "description": "no time offset with second fraction",
+                "data": "12:00:00.52",
+                "valid": false
+            },
+            {
                 "description": "invalid non-ASCII '২' (a Bengali 2)",
                 "data": "1২:00:00Z",
                 "valid": false
+            },
+            {
+                "description": "offset not starting with plus or minus",
+                "data": "08:30:06#00:20",
+                "valid": false
+            },
+            {
+                "description": "contains letters",
+                "data": "ab:cd:ef",
+                "valid": false
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/uri.json 
new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/uri.json
--- old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/uri.json      
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/uri.json      
2020-02-02 01:00:00.000000000 +0100
@@ -7,6 +7,36 @@
         },
         "tests": [
             {
+                "description": "all string formats ignore integers",
+                "data": 12,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore floats",
+                "data": 13.7,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore objects",
+                "data": {},
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore arrays",
+                "data": [],
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore booleans",
+                "data": false,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore nulls",
+                "data": null,
+                "valid": true
+            },
+            {
                 "description": "a valid URL with anchor tag",
                 "data": "http://foo.bar/?baz=qux#quux";,
                 "valid": true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/uuid.json 
new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/uuid.json
--- old/jsonschema-4.17.1/json/tests/draft2019-09/optional/format/uuid.json     
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2019-09/optional/format/uuid.json     
2020-02-02 01:00:00.000000000 +0100
@@ -7,6 +7,36 @@
         },
         "tests": [
             {
+                "description": "all string formats ignore integers",
+                "data": 12,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore floats",
+                "data": 13.7,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore objects",
+                "data": {},
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore arrays",
+                "data": [],
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore booleans",
+                "data": false,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore nulls",
+                "data": null,
+                "valid": true
+            },
+            {
                 "description": "all upper-case",
                 "data": "2EB8AA08-AA98-11EA-B4AA-73B441D16380",
                 "valid": true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2020-12/content.json 
new/jsonschema-4.17.3/json/tests/draft2020-12/content.json
--- old/jsonschema-4.17.1/json/tests/draft2020-12/content.json  2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2020-12/content.json  2020-02-02 
01:00:00.000000000 +0100
@@ -83,7 +83,7 @@
             "$schema": "https://json-schema.org/draft/2020-12/schema";,
             "contentMediaType": "application/json",
             "contentEncoding": "base64",
-            "contentSchema": { "required": ["foo"], "properties": { "foo": { 
"type": "string" } } }
+            "contentSchema": { "type": "object", "required": ["foo"], 
"properties": { "foo": { "type": "string" } } }
         },
         "tests": [
             {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/duration.json 
new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/duration.json
--- old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/duration.json 
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/duration.json 
2020-02-02 01:00:00.000000000 +0100
@@ -125,6 +125,11 @@
                 "description": "invalid non-ASCII '২' (a Bengali 2)",
                 "data": "P২Y",
                 "valid": false
+            },
+            {
+                "description": "element without unit",
+                "data": "P1",
+                "valid": false
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/relative-json-pointer.json
 
new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/relative-json-pointer.json
--- 
old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/relative-json-pointer.json
    2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/relative-json-pointer.json
    2020-02-02 01:00:00.000000000 +0100
@@ -67,6 +67,11 @@
                 "valid": false
             },
             {
+                "description": "explicit positive prefix",
+                "data": "+1/foo/bar",
+                "valid": false
+            },
+            {
                 "description": "## is not a valid json-pointer",
                 "data": "0##",
                 "valid": false
@@ -80,6 +85,16 @@
                 "description": "zero cannot be followed by other digits, plus 
octothorpe",
                 "data": "01#",
                 "valid": false
+            },
+            {
+                "description": "empty string",
+                "data": "",
+                "valid": false
+            },
+            {
+                "description": "multi-digit integer prefix",
+                "data": "120/foo/bar",
+                "valid": true
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/time.json 
new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/time.json
--- old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/time.json     
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/time.json     
2020-02-02 01:00:00.000000000 +0100
@@ -192,9 +192,24 @@
                 "valid": false
             },
             {
+                "description": "no time offset with second fraction",
+                "data": "12:00:00.52",
+                "valid": false
+            },
+            {
                 "description": "invalid non-ASCII '২' (a Bengali 2)",
                 "data": "1২:00:00Z",
                 "valid": false
+            },
+            {
+                "description": "offset not starting with plus or minus",
+                "data": "08:30:06#00:20",
+                "valid": false
+            },
+            {
+                "description": "contains letters",
+                "data": "ab:cd:ef",
+                "valid": false
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/uri.json 
new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/uri.json
--- old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/uri.json      
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/uri.json      
2020-02-02 01:00:00.000000000 +0100
@@ -7,6 +7,36 @@
         },
         "tests": [
             {
+                "description": "all string formats ignore integers",
+                "data": 12,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore floats",
+                "data": 13.7,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore objects",
+                "data": {},
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore arrays",
+                "data": [],
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore booleans",
+                "data": false,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore nulls",
+                "data": null,
+                "valid": true
+            },
+            {
                 "description": "a valid URL with anchor tag",
                 "data": "http://foo.bar/?baz=qux#quux";,
                 "valid": true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/uuid.json 
new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/uuid.json
--- old/jsonschema-4.17.1/json/tests/draft2020-12/optional/format/uuid.json     
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft2020-12/optional/format/uuid.json     
2020-02-02 01:00:00.000000000 +0100
@@ -7,6 +7,36 @@
         },
         "tests": [
             {
+                "description": "all string formats ignore integers",
+                "data": 12,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore floats",
+                "data": 13.7,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore objects",
+                "data": {},
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore arrays",
+                "data": [],
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore booleans",
+                "data": false,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore nulls",
+                "data": null,
+                "valid": true
+            },
+            {
                 "description": "all upper-case",
                 "data": "2EB8AA08-AA98-11EA-B4AA-73B441D16380",
                 "valid": true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft4/optional/format/uri.json 
new/jsonschema-4.17.3/json/tests/draft4/optional/format/uri.json
--- old/jsonschema-4.17.1/json/tests/draft4/optional/format/uri.json    
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft4/optional/format/uri.json    
2020-02-02 01:00:00.000000000 +0100
@@ -4,6 +4,36 @@
         "schema": { "format": "uri" },
         "tests": [
             {
+                "description": "all string formats ignore integers",
+                "data": 12,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore floats",
+                "data": 13.7,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore objects",
+                "data": {},
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore arrays",
+                "data": [],
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore booleans",
+                "data": false,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore nulls",
+                "data": null,
+                "valid": true
+            },
+            {
                 "description": "a valid URL with anchor tag",
                 "data": "http://foo.bar/?baz=qux#quux";,
                 "valid": true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft6/optional/format/uri.json 
new/jsonschema-4.17.3/json/tests/draft6/optional/format/uri.json
--- old/jsonschema-4.17.1/json/tests/draft6/optional/format/uri.json    
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft6/optional/format/uri.json    
2020-02-02 01:00:00.000000000 +0100
@@ -4,6 +4,36 @@
         "schema": { "format": "uri" },
         "tests": [
             {
+                "description": "all string formats ignore integers",
+                "data": 12,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore floats",
+                "data": 13.7,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore objects",
+                "data": {},
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore arrays",
+                "data": [],
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore booleans",
+                "data": false,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore nulls",
+                "data": null,
+                "valid": true
+            },
+            {
                 "description": "a valid URL with anchor tag",
                 "data": "http://foo.bar/?baz=qux#quux";,
                 "valid": true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft7/optional/format/relative-json-pointer.json
 
new/jsonschema-4.17.3/json/tests/draft7/optional/format/relative-json-pointer.json
--- 
old/jsonschema-4.17.1/json/tests/draft7/optional/format/relative-json-pointer.json
  2020-02-02 01:00:00.000000000 +0100
+++ 
new/jsonschema-4.17.3/json/tests/draft7/optional/format/relative-json-pointer.json
  2020-02-02 01:00:00.000000000 +0100
@@ -64,6 +64,11 @@
                 "valid": false
             },
             {
+                "description": "explicit positive prefix",
+                "data": "+1/foo/bar",
+                "valid": false
+            },
+            {
                 "description": "## is not a valid json-pointer",
                 "data": "0##",
                 "valid": false
@@ -77,6 +82,16 @@
                 "description": "zero cannot be followed by other digits, plus 
octothorpe",
                 "data": "01#",
                 "valid": false
+            },
+            {
+                "description": "empty string",
+                "data": "",
+                "valid": false
+            },
+            {
+                "description": "multi-digit integer prefix",
+                "data": "120/foo/bar",
+                "valid": true
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft7/optional/format/time.json 
new/jsonschema-4.17.3/json/tests/draft7/optional/format/time.json
--- old/jsonschema-4.17.1/json/tests/draft7/optional/format/time.json   
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft7/optional/format/time.json   
2020-02-02 01:00:00.000000000 +0100
@@ -189,9 +189,24 @@
                 "valid": false
             },
             {
+                "description": "no time offset with second fraction",
+                "data": "12:00:00.52",
+                "valid": false
+            },
+            {
                 "description": "invalid non-ASCII '২' (a Bengali 2)",
                 "data": "1২:00:00Z",
                 "valid": false
+            },
+            {
+                "description": "offset not starting with plus or minus",
+                "data": "08:30:06#00:20",
+                "valid": false
+            },
+            {
+                "description": "contains letters",
+                "data": "ab:cd:ef",
+                "valid": false
             }
         ]
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/json/tests/draft7/optional/format/uri.json 
new/jsonschema-4.17.3/json/tests/draft7/optional/format/uri.json
--- old/jsonschema-4.17.1/json/tests/draft7/optional/format/uri.json    
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/json/tests/draft7/optional/format/uri.json    
2020-02-02 01:00:00.000000000 +0100
@@ -4,6 +4,36 @@
         "schema": { "format": "uri" },
         "tests": [
             {
+                "description": "all string formats ignore integers",
+                "data": 12,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore floats",
+                "data": 13.7,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore objects",
+                "data": {},
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore arrays",
+                "data": [],
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore booleans",
+                "data": false,
+                "valid": true
+            },
+            {
+                "description": "all string formats ignore nulls",
+                "data": null,
+                "valid": true
+            },
+            {
                 "description": "a valid URL with anchor tag",
                 "data": "http://foo.bar/?baz=qux#quux";,
                 "valid": true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/jsonschema/_format.py 
new/jsonschema-4.17.3/jsonschema/_format.py
--- old/jsonschema-4.17.1/jsonschema/_format.py 2020-02-02 01:00:00.000000000 
+0100
+++ new/jsonschema-4.17.3/jsonschema/_format.py 2020-02-02 01:00:00.000000000 
+0100
@@ -454,6 +454,9 @@
         # 
https://tools.ietf.org/html/draft-handrews-relative-json-pointer-01#section-3
         if not isinstance(instance, str):
             return True
+        if not instance:
+            return False
+
         non_negative_integer, rest = [], ""
         for i, character in enumerate(instance):
             if character.isdigit():
@@ -498,7 +501,9 @@
     def is_duration(instance: object) -> bool:
         if not isinstance(instance, str):
             return True
-        return bool(isoduration.parse_duration(instance))
+        isoduration.parse_duration(instance)
+        # FIXME: See bolsote/isoduration#25 and bolsote/isoduration#21
+        return instance.endswith(tuple("DMYWHMS"))
 
 
 @_checks_drafts(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/jsonschema/protocols.py 
new/jsonschema-4.17.3/jsonschema/protocols.py
--- old/jsonschema-4.17.1/jsonschema/protocols.py       2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/jsonschema/protocols.py       2020-02-02 
01:00:00.000000000 +0100
@@ -29,6 +29,7 @@
 # but use `jsonschema` for any types which will otherwise not be resolvable
 if TYPE_CHECKING:
     import jsonschema
+    import jsonschema.validators
 
 from jsonschema.exceptions import ValidationError
 
@@ -107,7 +108,7 @@
     def __init__(
         self,
         schema: Mapping | bool,
-        resolver: jsonschema.RefResolver | None = None,
+        resolver: jsonschema.validators.RefResolver | None = None,
         format_checker: jsonschema.FormatChecker | None = None,
     ) -> None:
         ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/jsonschema/tests/test_jsonschema_test_suite.py 
new/jsonschema-4.17.3/jsonschema/tests/test_jsonschema_test_suite.py
--- old/jsonschema-4.17.1/jsonschema/tests/test_jsonschema_test_suite.py        
2020-02-02 01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/jsonschema/tests/test_jsonschema_test_suite.py        
2020-02-02 01:00:00.000000000 +0100
@@ -407,6 +407,7 @@
 
 TestDraft201909Format = DRAFT201909.to_unittest_testcase(
     DRAFT201909.format_tests(),
+    name="TestDraft201909Format",
     Validator=jsonschema.Draft201909Validator,
     format_checker=jsonschema.Draft201909Validator.FORMAT_CHECKER,
     skip=lambda test: (
@@ -532,6 +533,7 @@
 
 TestDraft202012Format = DRAFT202012.to_unittest_testcase(
     DRAFT202012.format_tests(),
+    name="TestDraft202012Format",
     Validator=jsonschema.Draft202012Validator,
     format_checker=jsonschema.Draft202012Validator.FORMAT_CHECKER,
     skip=lambda test: (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jsonschema-4.17.1/jsonschema/tests/test_validators.py 
new/jsonschema-4.17.3/jsonschema/tests/test_validators.py
--- old/jsonschema-4.17.1/jsonschema/tests/test_validators.py   2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/jsonschema/tests/test_validators.py   2020-02-02 
01:00:00.000000000 +0100
@@ -1848,6 +1848,21 @@
     invalid = {"type": "integer"}, "foo"
 
 
+class TestLatestValidator(TestCase):
+    """
+    These really apply to multiple versions but are easiest to test on one.
+    """
+
+    def test_ref_resolvers_may_have_boolean_schemas_stored(self):
+        ref = "someCoolRef"
+        schema = {"$ref": ref}
+        resolver = validators.RefResolver("", {}, store={ref: False})
+        validator = validators._LATEST_VERSION(schema, resolver=resolver)
+
+        with self.assertRaises(exceptions.ValidationError):
+            validator.validate(None)
+
+
 class TestValidatorFor(TestCase):
     def test_draft_3(self):
         schema = {"$schema": "http://json-schema.org/draft-03/schema"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonschema-4.17.1/jsonschema/validators.py 
new/jsonschema-4.17.3/jsonschema/validators.py
--- old/jsonschema-4.17.1/jsonschema/validators.py      2020-02-02 
01:00:00.000000000 +0100
+++ new/jsonschema-4.17.3/jsonschema/validators.py      2020-02-02 
01:00:00.000000000 +0100
@@ -4,7 +4,7 @@
 from __future__ import annotations
 
 from collections import deque
-from collections.abc import Sequence
+from collections.abc import Mapping, Sequence
 from functools import lru_cache
 from operator import methodcaller
 from urllib.parse import unquote, urldefrag, urljoin, urlsplit
@@ -745,7 +745,8 @@
         self.store.update(store)
         self.store.update(
             (schema["$id"], schema)
-            for schema in store.values() if "$id" in schema
+            for schema in store.values()
+            if isinstance(schema, Mapping) and "$id" in schema
         )
         self.store[base_uri] = referrer
 
@@ -1060,9 +1061,9 @@
             ...
         ValidationError: [2, 3, 4] is too long
 
-    :func:`validate` will first verify that the provided schema is
-    itself valid, since not doing so can lead to less obvious error
-    messages and fail in less obvious or consistent ways.
+    :func:`~jsonschema.validators.validate` will first verify that the
+    provided schema is itself valid, since not doing so can lead to less
+    obvious error messages and fail in less obvious or consistent ways.
 
     If you know you have a valid schema already, especially
     if you intend to validate multiple instances with

Reply via email to