The SPDX 3.1 model expands beyond software to include safety, hardware, supply chain, operations, and more. This release candidate is for testing and validation; it may contain changes that could be modified or reverted before the final release.
Release notes for the 3.1-RC1 model, detailing all changes from 3.0.1 through 3.1-RC1, are available at: https://github.com/spdx/spdx-3-model/releases/tag/3.1-rc1.
The following list covers general updates and potential breaking changes. Deprecations are listed in a separate section below. For profile-specific additions, please refer to the relevant profile documentation.
This release also significantly expands and modifies the vocabulary.
For instance, /Core/RelationshipType has grown from 59 to 76 entries,
and several element types were revised to allow for more flexible usage across
different profiles.
Items marked 'Changed', 'Removed' or 'Fixed' indicate potential semantic changes to the model and may affect compatibility.
- Changed: Standardized RDF IRIs to use two-level versioning (major.minor)
instead of three-level (major.minor.patch) -
#1046
- Previous:
https://spdx.org/rdf/x.y.z/terms/... - New:
https://spdx.org/rdf/x.y/terms/...
- Previous:
- Changed: Relax property and relationship requirements of
/AI/AIPackageand/Dataset/DatasetPackageclasses - #1158 - Added:
/Core/ElementMapclass and/Core/elementValueproperty - #969- A class and a property used for implementing mapping a string key to an Element.
- Added:
/Core/inLanguageproperty - #1066, #1124- A human language used within the content of an Element or a property.
- Added:
/Core/intendedUseproperty - #1109- How or for what item or artifact is meant to be used for.
- Added:
/Core/isoAutomationLevelproperty - #1064- A spectrum of system automation capability.
- Added:
/SimpleLicensing/customIdToLicenseproperty - #969- Maps custom licensing string to the corresponding licensing Element.
- Added:
/Software/artifactSizeproperty - #966- Size of a software artifact, in bytes.
- Clarified: Serialization and validation documents -
#1019
- Use "SPDX 3 JSON" name (instead of "SPDX 3 JSON-LD").
- Fixed typos, formatting issues, and broken examples; updated reference links.
/AI/autonomyTypeproperty- New documents should use
/Core/isoAutomationLevelinstead.
- New documents should use
/Build/buildStartTimeand/Build/buildEndTimeproperties- New documents should use
/Core/startTimeand/Core/endTimeinstead.
- New documents should use
/Dataset/datasetSizeproperty- New documents should use
/Software/artifactSizeinstead.
- New documents should use
/Dataset/intendedUseproperty- New documents should use
/Core/intendedUseinstead.
- New documents should use
/SimpleLicensing/customIdToUriproperty- New documents should use
/SimpleLicensing/customIdToLicenseinstead.
- New documents should use
This patch release includes fixes for issues found in the 3.0.0 release.
The version 3.0.1 model release notes, with full change records from 3.0 to 3.0.1, are available at: https://github.com/spdx/spdx-3-model/releases/tag/3.0.1.
Items marked 'Removed' or 'Fixed' indicate potential semantic changes to the model and may affect compatibility.
- Removed:
Software/contentTypeproperty - #789- The
Software/Fileclass is meant to use theCore/contentTypeproperty.
- The
- Fixed: Cardinalities in
Security/VexAffectedVulnAssessmentRelationshipclass - #908- Corrected
actionStatementcardinality from0..1to1..1to match its textual description. - Corrected
actionStatementTimecardinality from0..*to0..1to match its textual description.
- Corrected
- Fixed: Typo in
Core/importproperty - #847- Corrected
importstoimportin Core profile.
- Corrected
- Fixed: Typo in
Build/parameterproperty - #836- Corrected
parameterstoparameterin Build profile.
- Corrected
- Fixed: Typo in
hasInputandhasOutputentries - #854- Corrected
hasInputstohasInputandhasOutputstohasOutputinCore/RelationshipType.
- Corrected
- Fixed: Typo in
hasPrerequisiteentry- #817- Corrected the misspelling of
hasPrerequsitetohasPrerequisiteinCore/RelationshipType.
- Corrected the misspelling of
- Fixed: Licensing relationship type names in profile conformance - #779
- Corrected
concludedLicensetohasConcludedLicenseanddeclaredLicensetohasDeclaredLicensein profile conformance section of AI, Dataset, Licensing, and Lite profiles.
- Corrected
- Fixed:
Security/actionStatementproperty - #908- Corrected its cardinality from
0..1to1..1.
- Corrected its cardinality from
- Fixed:
Security/actionStatementTimeproperty - #908- Corrected its cardinality from
0..*to0..1.
- Corrected its cardinality from
- Added:
adler32entry toCore/HashAlgorithm- #826- Reintroduced the Adler-32 checksum, previously available in SPDX 2.3.
- Added:
Core/SpdxOrganizationindividual - #880- An
SpdxOrganizationindividual, aOrganizationrepresenting the SPDX Project, is added. It is by definition the creator of all Element type individuals defined by the SPDX Project.
- An
- Added:
Core/IndividualElementclass - #937- A concrete subclass of Element used by Individuals in the Core profile.
- Clarified:
AI/autonomyTypeproperty - #741- Specified the meaning of
yes,no, andnoAssertionvalues in theAI/autonomyTypeproperty description.
- Specified the meaning of
- Clarified:
Build/buildTypeproperty - #875- Its intent is added: "The buildType is used to interpret the meaning of other build parameters by defining the 'type' of build...".
- Clarified:
hasDataFileentry inCore/RelationshipType- #815- Its description is enhanced with examples and counter-examples.
- Clarified:
Core/packageVerificationCodeExcludedFileproperty - #913- Its description is now stating that every filename is preceded with a
./.
- Its description is now stating that every filename is preceded with a
- Improved: JSON-LD examples.
- Updated: Model diagrams.
- Fixed general typos and formatting issues.
For changes since the 3.0 release candidates, please visit: https://github.com/spdx/spdx-3-model/releases.