What current features should be considered unstable? #472
Replies: 7 comments 17 replies
-
Let's not forget about the work we've already done in this space: spreadsheet There's also been talk on |
Beta Was this translation helpful? Give feedback.
-
My opinions. Unstable
Stable
|
Beta Was this translation helpful? Give feedback.
-
On Then in the reversion issue, it seems that everyone is in agreement about reverting it. That would make |
Beta Was this translation helpful? Give feedback.
-
At this week's OWCM, we determined that the vast majority of the things in the opening comment should be considered stable as most of these things are pretty close to their 2020-12 behavior, which has been out for nearly three years now. Additional reasoning is below: The vocabulary system (
|
Beta Was this translation helpful? Give feedback.
-
Annotations are definitely being used in the wild. I know of at least one project that needs them, not counting hyper-schema (which is "for annotating JSON documents with hyperlinks"). Maybe there isn't much adoption, but there is some, and I think that warrants keeping them around. Secondly, I personally like them as a descriptive tool to illustrate how keywords interact. Rather than completely removing this, I think it would be better to leave this mechanic in and be much more explicit that their use in this regard is illustrative and not prescriptive. Some examples:
I think annotations can act as a good explanatory mechanic. But again, we need to be very explicit that that's what it is; it's not prescriptive. |
Beta Was this translation helpful? Give feedback.
-
I just added |
Beta Was this translation helpful? Give feedback.
-
I think
|
Beta Was this translation helpful? Give feedback.
-
We decided that we would move any features we consider unstable from the spec into separate documents. We still need to decide which features are not ready to be considered stable and need to move out. In the past there have been opinions ranging from "everything currently in the spec should be considered stable", to "anything that's changed recently or there's been discussion about changing should be considered unstable". I'll open with a list of features that have been discussed. If I missed any, I'll update this list when they come to light.
$vocabularies
) - Anything from updates to complete replacement have been proposed.$dynamicRef
- This keyword has had a lot of churn and a few people have expressed hope we can replace it with something else entirely.$schema
- It's currently ambiguous what to do with a schema that doesn't declare a dialect. We want to change that.$id
- This keyword has had a lot of churn and there have been various discussions about more tweaks.if
/then
/else
-then
andelse
are unique in that they depend on the evaluation result ofif
. There's been some talk of addressing that in some way.unevaluatedProperties
/unevaluatedItems
- Relatively new.unevalutedItems
changed recently (contains
). Depends on how annotations are collected which was recently debated.items
- Recently changed.prefixItems
- Recently added.$ref
- Recently changed.propertyDependencies
- Recently added (not yet released).contains
- Added support for objects (not yet released).requireAllExcept
- Nearly added, but stalled due to one person preferring a different solution.Edit: It's expected that implementations support unstable features, so it shouldn't be a problem for something like
$dynamicRef
to be unstable even though the meta-schemas depend on them.Edit: Added "Output Formats" to the list.
Edit: Added
$ref
to the list.Beta Was this translation helpful? Give feedback.
All reactions