Releases: CycloneDX/cyclonedx-javascript-library
Releases · CycloneDX/cyclonedx-javascript-library
2.0.0-rc.0
Breaking Changes:
- Class
Factories.LicenseFactorywas modified- Function
makeFromString()was changed in its behaviour (#271, #530 via #547)
Will try to createModels.SpdxLicenseif value is eligible,
else try to createModels.LicenseExpressionif value is eligible,
else fall back toModels.NamedLicense. - Renamed function
makeDisjunctiveWithId()->makeSpdxLicense()(#530 via #547) - Renamed function
makeDisjunctiveWithName()->makeNamedLicense()(#530 via #547)
- Function
- Class
Models.LicenseExpressionwas modified- Removed static function
isEligibleExpression()(via #547)
UseSpdx.isValidSpdxLicenseExpression()instead. - Constructor no longer throws, when value is not eligible (#530 via #547)
You may utilizeFactories.LicenseFactoryto mimic the previous behaviour. - Property
expressionsetter no longer throws, when value is not eligible (#530 via #547)
You may utilizeFactories.LicenseFactoryto mimic the previous behaviour.
- Removed static function
- Class
Models.SpdxLicensewas modified - Interface
Spec.Protocolnow defines a new mandatory propertysupportsComponentEvidence:boolean(via #753) - Interface
Spec.Protocolnow defines a new mandatory propertysupportsVulnerabilities:boolean(via #722) - Removed deprecated symbols (#747 via #752)
- Namespace
{Builders,Factories}.FromPackageJson-> use{Builders,Factories}.FromNodePackageJsoninstead - Class
Models.HashRepository-> useModels.HashDictionaryinstead - Function
Serialize.{Json,Xml}.Normalize.*.normalizeRepository()-> useSerialize.{Json,Xml}.Normalize.*.normalizeIterable()instead - Type alias
Types.UrnUuid- usestringinstead
Type predicateTypes.isUrnUuid()no longer exists
- Namespace
Changed
- Removed beta state from symbols
{Enums,Models}.Vulnerability.*(#164 via #722)
The structures are defined as stable now. - Class
Models.Attachmentwas modified - Class
Models.Componentwas modified - Class
Models.Vulnerability.Creditswas modified- Property
organizationsis no longer optional (via #722)
This collection(Set) will always exist, but might be empty.
This is considered a non-breaking change, as the class was in beta state. - Property
individualsis no longer optional (via #722)
This collection(Set) will always exist, but might be empty.
This is considered a non-breaking change, as the class was in beta state.
- Property
Added
- Serializers and
Bom-Normalizers will takeBom.vulnerabilitiesinto account (#164 via #722) - Serializers and
Component-Normalizers will takeComponent.evidenceinto account (#516 via #753) - Namespace
Modelswas enhanced- Class
Componentwas enhanced - New Classes
ComponentEvidence(#516 via #753) - Namespace
Vulnerabilitywas enhanced- Class
Advisorywas enhanced- New method
compare()(via #722)
- New method
- Class
AdvisoryRepositorywas enhanced - Class
Affectwas enhanced- New method
compare()(via #722)
- New method
- Class
AffectRepositorywas enhanced - Class
AffectedSingleVersionwas enhanced- New method
compare()(via #722)
- New method
- Class
AffectedVersionRangewas enhanced- New method
compare()(via #722)
- New method
- Class
AffectedVersionRepositorywas enhanced - Class
Ratingwas enhanced- New method
compare()(via #722)
- New method
- Class
RatingRepositorywas enhanced - class
Referencewas enhanced- New method
compare()(via #722)
- New method
- Class
ReferenceRepositorywas enhanced - class
Sourcewas enhanced- New method
compare()(via #722)
- New method
- class
Vulnerabilitywas enhanced- New method
compare()(via #722)
- New method
- Class
VulnerabilityRepositorywas enhanced
- Class
- Class
- Namespace
Serialize.{Json,Xml}.Normalizewas enhanced- Class
Factorywas enhanced- New Method
makeForComponentEvidence()(#516 via #753) - New method
makeForVulnerability()(#164 via #722) - New method
makeForVulnerabilitySource()(#164 via #722) - New method
makeForVulnerabilityReference()(#164 via #722) - New method
makeForVulnerabilityRating(#164 via #722) - New method
makeForVulnerabilityAdvisory(#164 via #722) - New method
makeForVulnerabilityCredits(#164 via #722) - New method
makeForVulnerabilityAffect(#164 via #722) - New method
makeForVulnerabilityAffectedVersion(#164 via #722) - New method
makeForVulnerabilityAnalysis(#164 via #722)
- New Method
- New class
ComponentEvidenceNormalizer(#516 via #753) - Class
OrganizationalEntityNormalizerwas enhanced- New method
normalizeIterable()(via #722)
- New method
- New class
VulnerabilityNormalizer(#164 via #722) - New class
VulnerabilityAdvisoryNormalizer(#164 via #722) - New class
VulnerabilityAffectNormalizer(#164 via #722) - New class
VulnerabilityAffectedVersionNormalizer(#164 via #722) - New class
VulnerabilityAnalysisNormalizer(#164 via #722) - New class
VulnerabilityCreditsNormalizer(#164 via #722) - New class
VulnerabilityRatingNormalizer(#164 via #722) - New class
VulnerabilityReferenceNormalizer(#164 via #722) - New class
VulnerabilitySourceNormalizer(#164 via #722)
- Class
- Namespace
Spec - Namespace
Spdx
Misc
- New dependency
spdx-expression-parse(via #547)
Full Changelog: v1.14.0...v2.0.0-rc.0
1.14.0
Added
- Formal validators for JSON string and XML string (#620 via #652, #691)
Currently, available only for Node.js. Requires optional dependencies.- Related new validator classes:
Validation.JsonValidatorValidation.JsonStrictValidatorValidation.XmlValidator
- Related new error classes:
Validation.NotImplementedErrorValidation.MissingOptionalDependencyError
- Related new validator classes:
Build
- Use TypeScript
v5.0.4now, wasv4.9.5. (#549 via #644) - Use Webpack
v5.80.0now, was5.79.0. (via #686)
Full Changelog: v1.13.3...v1.14.0
1.14.0-rc.3
v1.14.0-rc.3 prerelease 1.14.0-rc.3
1.14.0-rc.2
v1.14.0-rc.2 1.14.0-rc.2
1.14.0-rc.1
v1.14.0-rc.1 1.14.0-rc.1
1.14.0-rc.0
v1.14.0-rc.0 prerelease 1.14.0-rc.0
1.13.3
Fixed
Serialize.{JSON,XML}.Normalize.LicenseNormalizer.normalizeIterable()now omits invalid license combinations (#602 via #623)
If there is anyModels.LicenseExpression, then this is the only license normalized; otherwise all licenses are normalized.
Docs
- Fixed link to CycloneDX-specification in README (via #617)
Full Changelog: v1.13.2...v1.13.3
1.13.2
Fixed
Builders.FromNodePackageJson.ComponentBuilderno longer cuts component's name after a slash(/) (#599 via #600)
Full Changelog: v1.13.1...v1.13.2
1.13.1
1.13.0
Fixed
- "Bom.serialNumber" data model can have values following the alternative format allowed in CycloneDX XML specification (#588 via #597)
Serialize.{JSON,XML}.Normalize.BomNormalizer.normalizenow omits invalid/unsupported values for serialNumber (#588 via #597)
Changed
- Property
Models.Bom.serialNumberis of typestring, was type-aliasedTypes.UrnUuid = string(#588 via #597)
Also, the setter no longer throws exceptions, since no string format is illegal.
This is considered a non-breaking behavior change, because the corresponding normalizers assure valid data results.
Added
- Published generator for BOM's SerialNumber:
Utils.BomUtility.randomSerialNumber()(#588 via #597)
The code was donated from cyclonedx-node-npm.
Deprecation
- Type alias
Types.UrnUuid = stringbecame deprecated (via #597)
Use typestringinstead. - Function
Types.isUrnUuidbecame deprecated (via #597)
Full Changelog: v1.12.1...v1.13.0