Description
Hi folks,
This brings my v6 scope notes out of the depths of the issue with all the comments and into its own tracking issue. I have expanded it with various issues and states at @Relequestual's request. @Julian this is what I referenced in the issue on the test repo the other day.
I'm going to treat this issue a little differently: We will no doubt have discussions in the comments, but I will keep updating this top comment with the current status as we work through things.
TL;DR Highlights
PRs for Draft 06 in priority order
meta-schema updates: #194 or #188, #189 or #185, #190
#179 This hyper-schema issue is the big unknown of Draft 06. It addresses problems with "method", "schema" and "href" that really need to be at least partially addressed for Draft 06.
#171 Wording for when keywords are absent, currently controversial. Touches a lot of language so let's get it resolved ASAP. (this is getting very close to resolution - yay!)
#154 "id" to "$id" is just waiting for @awwright's approval or feedback. I am interpreting @epoberezkin's "thumbs up" on my "let's get this in Draft 06 and keep looking at other issues after that" as approval.
POSSIBLY IN scope for v6
#173 The behavior of "deprecated", and for that matter the conceptual model for resources vs general instances in hyper-schema, is not clear enough to put this in Draft 06. However, if this can be resolved in time, it would be nice to include it.
OUT of scope for v6
#129 Further work past #159, but may take a different form. Ignore for now.
#163 Idea presented for comment, but almost certainly rejected.
Full Details
For most of the open PRs I noted what feedback, if any, the four currently most active people had provided (@awwright, @Relequestual, @epoberezkin, and myself), plus anyone else who has open concerns.
I added a line for tests where appropriate but have not looked into that at all yet. Obviously the new features need tests, and probably some of the clarified things could use regression tests as well.
NEW FEATURES
-
Allow boolean schemas everywhere
-
Change "id" to "$id"
- Issue Rename "id" to "$id" #20 @JanTvrdik
- PR Change "id" to "$id", retain "id" as deprecated. #154 @handrews pending
- @awwright: Considering whether to drop "id" rather than deprecate
- @Relequestual: Approved
- @epoberezkin: Gave a thumbsup to my "let's still put this in v6"
- Tests?
-
Remove "method", use "hrefVars" for user input to URI Templates
- Issue Submitting both user and instance data via both the uri and message body #108 @handrews open # Only addresses part of it, remainder to v7+
- PR Remove "method", URI input with "hrefVars" #159 @handrews discussion
- @awwright: disagrees with default variable behavior (could use more opinions?)
- @Relequestual: agrees with default variable
- PR Remove "method", URI input with "hrefSchema" (object version) #179 @handrews discussion # More consitent/powerfule alternative to Remove "method", URI input with "hrefVars" #159
- (just filed, unsurprisingly no responses yet)
- Tests?
-
Add "propertyNames"
- Issue v6 validation: propertyNames #70 @epoberezkin open
- PR Validation: Add "propertyNames" keyword #172 @awwright discussion
- @Relequestual [no response]
- @handrews requested meta-schema change, concerned about Validation: Replace "considered present" language #171-related language
- @epoberezkin Approved
- Tests?
-
Add "uritemplate" and "jsonpointer" formats
- Issue format: add uritemplate and jsonpointer #109 @handrews open
- PR "uritemplate" and "jsonpointer" formats #150 @handrews MERGED
- Tests?
-
Numeric "exclusiveMinimum" / "exclusiveMaximum"
- Issue Keywords for exclusive minimum/maximum #77 @handrews open
- PR n/a @awwright direct commit # specification
- PR Validation: Add note about removal of boolean forms of exclusiveMinin… #162 @awwright MERGED # deprecation note
- PR Add "$ref", numeric exclusive*, default empty string arrays to meta-schemas, standardize meta-schema formats #168 @handrews open # meta-schema
- Tests?
-
"examples"
- Issue
example
attribute #121 @geemus RESOLVED - PR Add the "example" keyword. #123 @handrews MERGED # specification
- PR Add "$ref", numeric exclusive*, default empty string arrays to meta-schemas, standardize meta-schema formats #168 @handrews open # meta-schema
- PR Add release note for "examples" #169 @handrews MERGED # release note
- Tests?
- Issue
-
"contains"
- Issue Add
contains
keyword #32 @BigBlueHat RESOLVED (I accidentally dup'd this in v6 validation: "contains" #63) - Issue v6 validation: "contains" #63 @geraintluff RESOLVED (part rejected)
- PR Add the "contains" keyword for array instances. #113 @handrews MERGED # specification/meta-schema
- PR n/a @awwright direct commit # release note
- Tests?
- Issue Add
-
"const"
- Issue v6 validation: "constant" #58 @geraintluff RESOLVED
- PR Add "const" keyword for constant values. #139 @handrews MERGED # specificatino/meta-schema
- PR n/a @awwright direct commit # release note
- Tests?
-
Allow empty "required" and "dependencies" string arrays
- Issue Allow empty "required" array #69 @gibson042 RESOLVED
- PR Allow an empty array for "required". #112 @handrews MERGED # specification / meta-schema validation
- PR Add "$ref", numeric exclusive*, default empty string arrays to meta-schemas, standardize meta-schema formats #168 @handrews open # meta-schema default
- PR n/a @awwright direct commit # release note
- Tests?
-
meta-schema update for v5 changes
- Issue n/a
- PR Update meta-schemas for changes in the last draft. #132 @handrews MERGED # v5
- PR Add "$ref", numeric exclusive*, default empty string arrays to meta-schemas, standardize meta-schema formats #168 @handrews open # "$ref"
- Tests?
CLARIFICATIONS
-
"may be considered" language for default values
- Issue "may be considered" #131 @joe-chung closed
- PR Validation: Replace "considered present" language #171 @awwright discussion
- @Relequestual suggested alternate wording
- @handrews objects to change (may be OK with different wording)
- @epoberezkin [no response]
-
"additionalItems" is ignored when "items" is not present, because by default "items" can be considered present with an empty schema.
- Issue "additionalItems" should not be honored if "items" is an object. #135 (comments) RESOLVED
- PR 156 @handrews MERGED
- Tests?
-
Make "items"/"additionalItems" wording consistent with *properties
- [no real issue for this, got done while addressing issue additionalProperties behavior for non-object instances #103]
- PR Make properties/items wording consistent. #111 @handrews MERGED
-
General validation principles
- Issue v5 validation: Clearly document validation principles #55 @handrews open # dropped other stuff in v5 validation: Clearly document validation principles #55
- PR Add general validation principles and examples. #143 @handrews discussion # made changes, awaiting feedback
- @awwright: Requested changes, no response since they were made
- @Relequestual: [no response]
- @epoberezkin: thumbsup on original PR comment
-
A note about current meta-schema URIs
- Issue Publication of meta-schema #165 @awwright open
- PR Add note about current meta-schema URIs #164 @awwright MERGED
- @Relequestual: Approved
- @handrews: Objects to the use of "draft-04" on master
- @epoberezkin: [no response]
-
Mention of utility with CBOR and other media types
BUG FIXES
-
"integer" type removed?
- Issue "integer" type removed? #146 @handrews RESOLVED
- PR Correct number of primitive types from seven to six. #145 @kw317 closed (this removed it entirely)
- PR Validation: Fix reference to seven primitive types #147 @awwright MERGED
- Tests?
-
"additionalProperties" fails validation of non-objects
- Issue additionalProperties behavior for non-object instances #103 @handrews RESOLVED
- PR Make properties/items wording consistent. #111 @handrews MERGED
- Tests?
-
hyper-schema examples were wrong
- Issue Hyper-Schema examples: wrong, confusing, or changed? #97 @jdesrosiers RESOLVED
- PR Fix parent link example. #138 @handrews MERGED
-
hyperschema references deleted example
- Issue spec: 3rd link in example removed but still referenced #91 @handrews RESOLVED
- PR n/a @awwright direct commit
-
various typos
- Issue n/a
- PR A couple of typos #166 @bowman MERGED