Releases: CycloneDX/cyclonedx-javascript-library
Releases · CycloneDX/cyclonedx-javascript-library
6.1.1
Maintenance release.
Style
Build
What's Changed
- chore(deps-dev): bump the eslint group with 1 update by @dependabot in #986
- chore(deps-dev): bump the eslint group with 2 updates by @dependabot in #988
- chore(deps-dev): bump the typescript group with 2 updates by @dependabot in #990
Full Changelog: v6.1.0...v6.1.1
6.1.0
Added
- Class
Models.ExternalReferencegot a new propertyhashes(#984 via #985) - Serializers and
ExternalReference-Normalizers will takeModels.ExternalReference.hashesinto account (#984 via #985)
Build
What's Changed
- chore(deps-dev): bump the eslint group with 1 update by @dependabot in #968
- chore(deps-dev): bump the eslint group with 1 update by @dependabot in #970
- chore(deps): bump actions/checkout from 3 to 4 by @dependabot in #969
- tests: add functional test for validators by @jkowalleck in #972
- chore(deps-dev): bump the eslint group with 1 update by @dependabot in #973
- style: better readability for schema-downloader tool by @jkowalleck in #974
- chore(deps-dev): bump the eslint group with 1 update by @dependabot in #975
- chore(deps-dev): bump the eslint group with 3 updates by @dependabot in #976
- chore(deps-dev): bump the eslint group with 2 updates by @dependabot in #978
- chore(deps-dev): bump the webpack group with 1 update by @dependabot in #979
- chore(deps-dev): bump the typescript group with 1 update by @dependabot in #977
- chore(deps-dev): bump the eslint group with 1 update by @dependabot in #980
- refactor: marm some internals as
readonlyby @jkowalleck in #982 - chore(deps): bump actions/setup-node from 3 to 4 by @dependabot in #981
- chore(deps-dev): bump the eslint group with 1 update by @dependabot in #983
- feat: add
ExternalReferences[].hashesby @jkowalleck in #985
Full Changelog: v6.0.0...v6.1.0
6.0.0
BREAKING
- Interface
Spec.Protocolwas removed from public API (#957 via #958)
This is only a breaking change if you used this TypeScript interface downstream; internal usage is non-breaking.
This change was necessary, so that implementing more spec-features cause no breaking changes.
Build
- Use TypeScript
v5.2.2now, wasv5.1.6(via #966)
Full Changelog: v5.0.0...v6.0.0
5.0.0
BREAKING
- Interface
Spec.Protocolnow defines new mandatory methods (via #946)
This is only a breaking change if you custom-implemented this interface downstream; internal usage is non-breaking.
Added
- New enum
Enums.Lifecyclewith corresponding values from CycloneDX Specification-1.5 (#937 via #946) - New class
Models.NamedLifecycle(#937 via #946) - New class
Models.LifecycleRepository(#937 via #946) - Class
Models.Metadatagot a new propertylifecycles(#937 via #946) - Serializers and
Metadata-Normalizers will takeModels.Metadata.lifecyclesinto account (#937 via #946)
Build
- Use Webpack
v5.88.2now, wasv5.88.1(via #933)
Full Changelog: v4.0.0...v5.0.0
4.0.0
BREAKING
- Usage of this library in web browsers might no longer work out of the box (via #880)
It might require a bundler/packer for web; see theexamples/web/.
This is only a breaking change if you used this library in a web browser.
Fixed
Examples
- Adjusted and extended examples for usage in web browsers (#883 via #880)
Removed outdatedexamples/web/*, addedexamples/web/parcel&examples/web/webpack. - Added examples for usage of
CDX.Factories.PackageUrlFactory(via #882, #886)
Build
- Use TypeScript
v5.1.6now, wasv5.1.5(via #866) - Use Webpack
v5.88.1now, wasv5.88.0(via #870) - Apply wider rules for
externalsfor in Webpack build (#883 via #880)
Full Changelog: v3.0.0...v4.0.0
3.0.0
Added support for CycloneDX Specification-1.5.
Added functionality regarding CycloneDX BOM-Link.
BREAKING
- Interface
Spec.Protocolnow defines new mandatory methods (via #843)
This is only a breaking change if you custom-implemented this interface downstream; internal usage is non-breaking.
Changed
- Normalizers support CycloneDX Specification-1.5 (#505 via #843)
- Validators support CycloneDX Specification-1.5 (#505 via #843)
- Some models' properties were widened to support CycloneDX BOM-Link (via #856)
Added
- Existing
Enumsgot new members and values for CycloneDX Specification-1.5 (#505 via #843) - Namespace
Specwas enhanced for CycloneDX Specification-1.5 (#505 via #843) - Dedicated classes and types for CycloneDX BOM-Link (via #843, #856, #857)
API changes v3 - the details
Full Changelog: v2.1.0...v3.0.0
2.1.0
Changed
- Classes
Serialize.Xml.Normalize.Vulnerability*Normalizerare now public available (via #816)
Previously, only instances were available viaSerialize.Xml.Normalize.Factory.makeForVulnerability*().
Build
Full Changelog: v2.0.0...v2.1.0
2.0.0
Improved license detection.
Finished Vulnerability capabilities.
Added ComponentEvidence capabilities.
BREAKING
- Method
Factories.LicenseFactory.makeFromString()was changed in its behavior (#271, #530 via #547)
It will try to createModels.SpdxLicenseif value is eligible,
else try to createModels.LicenseExpressionif value is eligible,
else fall back toModels.NamedLicense. - revisited sort and compare:
- Methods
Models.*.compare()may return different numbers than before. - Methods
Models.*.sorted()may return different orders than before.
- Methods
- Removed deprecated symbols (#747 via #752)
Changed
- Removed beta state from symbols
{Enums,Models}.Vulnerability.*(#164 via #722)
The structures are defined as stable now. - Some property/parameter types were widened, enabling the use of
Bufferand other data-saving mechanisms (#406, #516 via #753)
Added
- New data models and serialization/normalization for
Models.ComponentEvidence(#516 via #753) - Serializers and
Component-Normalizers will takeModels.Component.evidenceinto account (#516 via #753) - Serializers and
Bom-Normalizers will takeModels.Bom.vulnerabilitiesinto account (#164 via #722)
Misc
- Internal rework, modernization, refactoring.
API changes v2 - the details
Full Changelog: v1.14.0...v2.0.0
New Contributors
- @xmasoracle made their first contribution in #722
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