Skip to content

Conversation

jdesrosiers
Copy link
Member

This brings the draft-next tests up to date with the latest spec changes.

Change log

  • Rename draft-next to v1 -- We're no longer calling releases "drafts".
  • Remove optional vocabulary tests -- The way optional vocabularies work has changed because we no longer allow unknown keywords. All of the existing tests should result in an error. Since we don't have a way of testing errors, the tests were removed.
  • Remove tests that make a dynamic reference to a location that isn't a dynamic anchor -- That behavior is now an error and we don't have a way of testing for errors.
  • Remove tests that use the initial resolution dynamic reference step -- It's now an error to have anything before the # in a dynamic reference.
  • Format validation is now on by default -- The format tests were moved from optional to the required set. The annotation-only format tests were moved to optional. NOTE: I kept the format tests in folder. That might affect some existing test runners that aren't expecting that. I can change that something flat (like format-hostname.json, format-email.json, etc) if that's preferred.
  • Removed tests for enabling the format validation through vocabularies -- There's now only one version of format. The vocabulary extension could be updated to define a format-annotation vocabulary and we could have test that use that. For now that doesn't exist, so the test were removed.

There are probably things I missed. I tested the changes with my implementations that's mostly caught up with the changes. However, it's possible I've missed something.

NOTE: With the rename, the diff is quite large. I recommend reviewing one commit at a time to make it more manageable.

@jdesrosiers jdesrosiers requested a review from a team as a code owner October 15, 2025 19:55
Because of the changes to unknown keyword handling, unknown vocabs can
no longer be ignored.
- A dynamic reference can no longer reference anything other than a
  dynamic anchor
- The initial resolution step was removed
- Assertion behavior is now the default behavior, so move them out of
optional.
- Move format annotation test to optional for implementers that want
  tests for when format validation is disabled.
- Enabling/disabling format validation through vocabularies doesn't
  exist anymore.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant