{"action":"opened","number":2,"pull_request":{"url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/pulls/2","id":28484243,"html_url":"https://github.com/vlas-voloshin/JSONSchemaValidation/pull/2","diff_url":"https://github.com/vlas-voloshin/JSONSchemaValidation/pull/2.diff","patch_url":"https://github.com/vlas-voloshin/JSONSchemaValidation/pull/2.patch","issue_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/issues/2","number":2,"state":"open","locked":false,"title":"Adds support for validating schemas with unsupported formats.","user":{"login":"lexicalunit","id":1903876,"avatar_url":"https://avatars.githubusercontent.com/u/1903876?v=3","gravatar_id":"","url":"https://api.github.com/users/lexicalunit","html_url":"https://github.com/lexicalunit","followers_url":"https://api.github.com/users/lexicalunit/followers","following_url":"https://api.github.com/users/lexicalunit/following{/other_user}","gists_url":"https://api.github.com/users/lexicalunit/gists{/gist_id}","starred_url":"https://api.github.com/users/lexicalunit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lexicalunit/subscriptions","organizations_url":"https://api.github.com/users/lexicalunit/orgs","repos_url":"https://api.github.com/users/lexicalunit/repos","events_url":"https://api.github.com/users/lexicalunit/events{/privacy}","received_events_url":"https://api.github.com/users/lexicalunit/received_events","type":"User","site_admin":false},"body":"According to the JSON Schema specification, validator implementations\r\nare not expected to support custom format attributes that other\r\nimplementations may support. Instead of failing to validate schemas\r\nthat use custom or unsupported formats, format validation should\r\nsimply be skipped in these cases; i.e. validation should succeed.\r\n\r\nAfter looking at a number of different JSON schema validator implementations this seems to be a common way of handling custom formats. For example, the following validator implementations also succeed to validate schemas with unknown/custom/unsupported format types.\r\n\r\n- Java: [json-schema-validator](https://github.com/fge/json-schema-validator)\r\n- C++: [libvariant](https://bitbucket.org/gallen/libvariant/)\r\n- Python: [jsonschema](https://github.com/Julian/jsonschema)","created_at":"2015-02-02T17:03:26Z","updated_at":"2015-02-02T17:03:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/pulls/2/commits","review_comments_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/pulls/2/comments","review_comment_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/pulls/comments/{number}","comments_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/issues/2/comments","statuses_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/statuses/808fdd861b428e9f4f72b31b5942ad0eaa67d392","head":{"label":"lexicalunit:unsupported_formats","ref":"unsupported_formats","sha":"808fdd861b428e9f4f72b31b5942ad0eaa67d392","user":{"login":"lexicalunit","id":1903876,"avatar_url":"https://avatars.githubusercontent.com/u/1903876?v=3","gravatar_id":"","url":"https://api.github.com/users/lexicalunit","html_url":"https://github.com/lexicalunit","followers_url":"https://api.github.com/users/lexicalunit/followers","following_url":"https://api.github.com/users/lexicalunit/following{/other_user}","gists_url":"https://api.github.com/users/lexicalunit/gists{/gist_id}","starred_url":"https://api.github.com/users/lexicalunit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lexicalunit/subscriptions","organizations_url":"https://api.github.com/users/lexicalunit/orgs","repos_url":"https://api.github.com/users/lexicalunit/repos","events_url":"https://api.github.com/users/lexicalunit/events{/privacy}","received_events_url":"https://api.github.com/users/lexicalunit/received_events","type":"User","site_admin":false},"repo":{"id":30196050,"name":"JSONSchemaValidation","full_name":"lexicalunit/JSONSchemaValidation","owner":{"login":"lexicalunit","id":1903876,"avatar_url":"https://avatars.githubusercontent.com/u/1903876?v=3","gravatar_id":"","url":"https://api.github.com/users/lexicalunit","html_url":"https://github.com/lexicalunit","followers_url":"https://api.github.com/users/lexicalunit/followers","following_url":"https://api.github.com/users/lexicalunit/following{/other_user}","gists_url":"https://api.github.com/users/lexicalunit/gists{/gist_id}","starred_url":"https://api.github.com/users/lexicalunit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lexicalunit/subscriptions","organizations_url":"https://api.github.com/users/lexicalunit/orgs","repos_url":"https://api.github.com/users/lexicalunit/repos","events_url":"https://api.github.com/users/lexicalunit/events{/privacy}","received_events_url":"https://api.github.com/users/lexicalunit/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lexicalunit/JSONSchemaValidation","description":"JSON Schema draft 4 parsing and validation library written in Objective C.","fork":true,"url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation","forks_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/forks","keys_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/teams","hooks_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/hooks","issue_events_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/issues/events{/number}","events_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/events","assignees_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/assignees{/user}","branches_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/branches{/branch}","tags_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/tags","blobs_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/git/refs{/sha}","trees_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/statuses/{sha}","languages_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/languages","stargazers_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/stargazers","contributors_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/contributors","subscribers_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/subscribers","subscription_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/subscription","commits_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/commits{/sha}","git_commits_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/git/commits{/sha}","comments_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/comments{/number}","issue_comment_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/issues/comments/{number}","contents_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/contents/{+path}","compare_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/merges","archive_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/downloads","issues_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/issues{/number}","pulls_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/pulls{/number}","milestones_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/milestones{/number}","notifications_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/labels{/name}","releases_url":"https://api.github.com/repos/lexicalunit/JSONSchemaValidation/releases{/id}","created_at":"2015-02-02T16:25:42Z","updated_at":"2015-02-02T16:25:43Z","pushed_at":"2015-02-02T16:53:01Z","git_url":"git://github.com/lexicalunit/JSONSchemaValidation.git","ssh_url":"git@github.com:lexicalunit/JSONSchemaValidation.git","clone_url":"https://github.com/lexicalunit/JSONSchemaValidation.git","svn_url":"https://github.com/lexicalunit/JSONSchemaValidation","homepage":"","size":436,"stargazers_count":0,"watchers_count":0,"language":"Objective-C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"vlas-voloshin:master","ref":"master","sha":"bbe3f2f3881afd718a9cd3bc3e69ed7be0cf4c1c","user":{"login":"vlas-voloshin","id":1422278,"avatar_url":"https://avatars.githubusercontent.com/u/1422278?v=3","gravatar_id":"","url":"https://api.github.com/users/vlas-voloshin","html_url":"https://github.com/vlas-voloshin","followers_url":"https://api.github.com/users/vlas-voloshin/followers","following_url":"https://api.github.com/users/vlas-voloshin/following{/other_user}","gists_url":"https://api.github.com/users/vlas-voloshin/gists{/gist_id}","starred_url":"https://api.github.com/users/vlas-voloshin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vlas-voloshin/subscriptions","organizations_url":"https://api.github.com/users/vlas-voloshin/orgs","repos_url":"https://api.github.com/users/vlas-voloshin/repos","events_url":"https://api.github.com/users/vlas-voloshin/events{/privacy}","received_events_url":"https://api.github.com/users/vlas-voloshin/received_events","type":"User","site_admin":false},"repo":{"id":28769655,"name":"JSONSchemaValidation","full_name":"vlas-voloshin/JSONSchemaValidation","owner":{"login":"vlas-voloshin","id":1422278,"avatar_url":"https://avatars.githubusercontent.com/u/1422278?v=3","gravatar_id":"","url":"https://api.github.com/users/vlas-voloshin","html_url":"https://github.com/vlas-voloshin","followers_url":"https://api.github.com/users/vlas-voloshin/followers","following_url":"https://api.github.com/users/vlas-voloshin/following{/other_user}","gists_url":"https://api.github.com/users/vlas-voloshin/gists{/gist_id}","starred_url":"https://api.github.com/users/vlas-voloshin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vlas-voloshin/subscriptions","organizations_url":"https://api.github.com/users/vlas-voloshin/orgs","repos_url":"https://api.github.com/users/vlas-voloshin/repos","events_url":"https://api.github.com/users/vlas-voloshin/events{/privacy}","received_events_url":"https://api.github.com/users/vlas-voloshin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vlas-voloshin/JSONSchemaValidation","description":"JSON Schema draft 4 parsing and validation library written in Objective C.","fork":false,"url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation","forks_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/forks","keys_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/teams","hooks_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/hooks","issue_events_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/issues/events{/number}","events_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/events","assignees_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/assignees{/user}","branches_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/branches{/branch}","tags_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/tags","blobs_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/git/refs{/sha}","trees_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/statuses/{sha}","languages_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/languages","stargazers_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/stargazers","contributors_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/contributors","subscribers_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/subscribers","subscription_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/subscription","commits_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/commits{/sha}","git_commits_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/git/commits{/sha}","comments_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/comments{/number}","issue_comment_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/issues/comments/{number}","contents_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/contents/{+path}","compare_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/merges","archive_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/downloads","issues_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/issues{/number}","pulls_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/pulls{/number}","milestones_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/milestones{/number}","notifications_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/labels{/name}","releases_url":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/releases{/id}","created_at":"2015-01-04T09:06:06Z","updated_at":"2015-01-27T06:37:16Z","pushed_at":"2015-01-27T06:37:15Z","git_url":"git://github.com/vlas-voloshin/JSONSchemaValidation.git","ssh_url":"git@github.com:vlas-voloshin/JSONSchemaValidation.git","clone_url":"https://github.com/vlas-voloshin/JSONSchemaValidation.git","svn_url":"https://github.com/vlas-voloshin/JSONSchemaValidation","homepage":"","size":436,"stargazers_count":2,"watchers_count":2,"language":"Objective-C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/pulls/2"},"html":{"href":"https://github.com/vlas-voloshin/JSONSchemaValidation/pull/2"},"issue":{"href":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/issues/2"},"comments":{"href":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/vlas-voloshin/JSONSchemaValidation/statuses/808fdd861b428e9f4f72b31b5942ad0eaa67d392"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":10,"deletions":5,"changed_files":1}}