The Ed-Fi data model uses semantic versioning. It is also organized into numbered "suites" that reflect generational changes across Ed-Fi standards and technology as well as generational compatibility. It is important not to confuse the suite information with the semantic version number.
Use of Semantic Versioning (semver)
Ed-Fi UDM is versioned using semantic versioning, also referred to as semver. Information on semver can be found at: https://semver.org/
This version number is the one shown in the format MAJOR.MINOR.PATCH with optional -LABEL. By convention, Ed-Fi Data Standard LABELs use sequential alphabetic characters (i.e. 'a', 'b', 'c', etc.) to denote the presence of early access/pre-release material in the release.
Since the UDM is a conceptual model only, and strict semver versioning requires the concepts of “incompatibility” and “backward compatible” some additional guidelines must be present to determine if a conceptual change qualifies in one of these categories. To determine this, the following guideline is used to define incompatible:
If a change to the UDM would break a currently defined, downstream API (built according to an existing Ed-Fi API standard, and that represents a binding to the UDM), as exercised by a API client writing to or reading data from the API (i.e. via a POST, PUT or GET).
Likewise, “backwards compatible” uses this guideline:
If a change to the UDM would introduce changes into but not break a currently defined, downstream API (built according to an existing Ed-Fi API standard, and that represents a binding to the UDM), as exercised by a API client writing data to or reading data from the API (i.e. via a POST, PUT or GET).
Possible downstream database schema changes or changes to other bindings outside of a published Ed-Fi API are not considered.
Suites - the "Generations" of Ed-Fi Technology
Each version of the Ed-Fi Unifying Data Model (UDM) is part of a numbered Ed-Fi suite. The suite number will generally appear as a suffix on the name. The suite number communicates the "generation" of Ed-Fi standards and technology in which the product participates. However, note that strict compatibility will be defined in technical contexts using semver versions.
Semantic version numbers reset between suites in order to support the fact that a previous suite releases may diverge from the current suite releases.
Example of Full Product Name with Version
A sample that one might see is: "Ed-Fi Data Standard for Suite 3 version 4.5.0-b"
Semantic Versioning Information
Ed-Fi Data Standard
for Suite 3
The semver string shows this release to be major version 4, minor version 5, patch version 0 (i.e. no patches have been released) and that the model contains pre-release material (denoted by the "-b" an by convention material that is subsequent to a set of "-a" material).