Skip to content

Conversation

alilleybrinker
Copy link

@alilleybrinker alilleybrinker commented Sep 12, 2025

This RFD describes the need to create a JavaScript library for validating CVE Records.

Rendered

This RFD describes the need to create a JavaScript library for
validating CVE Records.

Signed-off-by: Andrew Lilley Brinker <[email protected]>
@zmiele
Copy link

zmiele commented Sep 15, 2025

The versioning of this library would, for clarity and simplicity, be matched to the versioning of the CVE Record Format. Whenever new versions of the Record Format are published, a new release of the validation library with a matching version number would also be published.

One small concern that comes to mind here is that this will require the inverse to be true as well. If there is an issue with the library, we'll be required to bump the version of the schema in order to provide fixes in the validation library. Is that something we're comfortable with? If so, we'll need to keep that in mind when defining the versioning rules for the schema in #418.

@alilleybrinker
Copy link
Author

@zmiele hm, that's a fair point. In general, I think that such a binding still makes sense. The schema and the validation library become, in effect, a single product with a single version. Fixes to address bugs would be a patch release for both, whether the error is in the schema or in the library.

@alilleybrinker
Copy link
Author

In discussion among the QWG today, we agreed that the negative operational trade-offs for matching versions between the validation library and the Record Format make such a matching commitment not worth it. We can instead document compatibility between the two. I'll amend the RFD.

@alilleybrinker
Copy link
Author

Potential requirements for what we want out of the validator library:

  • (@ccoffin) Provide clear and descriptive schema validation error reporting for CNAs and other data producers
  • (@ccoffin) Provide warnings/notifications for future schema changes (e.g., this property will be deprecated in 6.0)
  • (@alilleybrinker) Be usable by both CVE Services and 3rd-party consumers

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.

2 participants