Skip to content

Develop a CVE Record Format Versioning RFD #418

@alilleybrinker

Description

@alilleybrinker

There is currently not a clear answer to how the CVE Record Format ought to be versioned. While the QWG has collectively suggested SchemaVer as a potential scheme, there doesn't appear to be consensus among the group on that question.

In particular, while SchemaVer expresses backward compatibility of new schema versions (the level of backward compatibility determines which of the three numbers in a SchemaVer version gets bumped at release-time), it does not express anything about forward compatibility.

Since CVE is a multi-stakeholder system, and the CVE Record Format impacts both CVE data producers (CNAs, ADPs), and consumers, it would be good to be more rigorous in the versioning applied to the record format so we can better communicate to our stakeholders about the implications of a new release.

This question has also come up in some specific conversations recently, including:

In #405, the issue is how versioning impacts the "Compatibility and Migration" section of the RFD template.

In #409, the issue is whether a new packageURL field on the product object of the affected array should be added to the set of "identifier-like" fields available to fulfill the requirement for an "identifier-like" entry in every product object, which presents a forward compatibility hazard.

In #371, the issue is what level of breakage we consider adding a new version type to the schema to be. Under SchemaVer, it's an ADDITION-level change, but it does present a forward compatibility issue (users of the current version of the format may need to implement or import a Semantic Version parser).

From these, we can see that there are two layers to the question:

  • Should the CVE Record Format's stability guarantees include some level of forward compatibility in addition to backward compatibility? If so, what forward compatibility guarantees should we make?
  • How should compatibility be expressed in the version number published with new releases of the CVE Record Format?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions