|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +## unreleased |
| 6 | + |
| 7 | +## 1.0.0 - 2022-06-20 |
| 8 | + |
| 9 | +Initial release. |
| 10 | + |
| 11 | +* Responsibilities |
| 12 | + * Provide a general purpose _JavaScript_-implementation of [_CycloneDX_][CycloneDX] for _Node.js_ and _WebBrowsers_. |
| 13 | + * Provide typing for said implementation, so developers and dev-tools can rely on it. |
| 14 | + * Provide data models to work with _CycloneDX_. |
| 15 | + * Provide a JSON- and an XML-normalizer, that... |
| 16 | + * supports all shipped data models. |
| 17 | + * respects any injected [_CycloneDX_ Specification][CycloneDX-spec] and generates valid output according to it. |
| 18 | + * can be configured to generate reproducible/deterministic output. |
| 19 | + * can prepare data structures for JSON- and XML-serialization. |
| 20 | + * Serialization: |
| 21 | + * Provide a universal JSON-serializer for all target environments. |
| 22 | + * Provide an XML-serializer for all target environments. |
| 23 | + * Support the downstream implementation of custom XML-serializers tailored to specific environments |
| 24 | + by providing an abstract base class that takes care of normalization and BomRef-discrimination. |
| 25 | + This is done, because there is no universal XML support in _JavaScript_. |
| 26 | +* Capabilities & Features |
| 27 | + * Enums for the following use cases: |
| 28 | + * `AttachmentEncoding` |
| 29 | + * `ComponentScope` |
| 30 | + * `ComponentType` |
| 31 | + * `ExternalReferenceType` |
| 32 | + * `HashAlgorithm` |
| 33 | + * Data models for the following use cases: |
| 34 | + * `Attachment` |
| 35 | + * `Bom` |
| 36 | + * `BomRef`, `BomRefRepository` |
| 37 | + * `Component`, `ComponentRepository` |
| 38 | + * `ExternalReference`, `ExternalReferenceRepository` |
| 39 | + * `HashContent`, `Hash`, `HashRepository` |
| 40 | + * `LicenseExpression`, `NamedLicense`, `SpdxLicense`, `LicenseRepository` |
| 41 | + * `Metadata` |
| 42 | + * `OrganizationalContact`, `OrganizationalContactRepository` |
| 43 | + * `OrganizationalEntity` |
| 44 | + * `SWID` |
| 45 | + * `Tool`, `ToolRepository` |
| 46 | + * Factories for the following use cases: |
| 47 | + * Create data models from any license descriptor string |
| 48 | + * Specific to _Node.js_: create data models from PackageJson-like data structures |
| 49 | + * Builders for the following use cases: |
| 50 | + * Specific to _Node.js_: create deep data models from PackageJson-like data structures |
| 51 | + * Implementation of the [_CycloneDX_ Specification][CycloneDX-spec] for the following versions: |
| 52 | + * `1.4` |
| 53 | + * `1.3` |
| 54 | + * `1.2` |
| 55 | + * Normalizers that convert data models to JSON structures |
| 56 | + * Normalizers that convert data models to XML structures |
| 57 | + * Universal serializer that converts `Bom` data models to JSON string |
| 58 | + * Serializer that converts `Bom` data models to XML string: |
| 59 | + * Specific to _WebBrowsers_: implementation utilizes browser-specific document generators and printers. |
| 60 | + * Specific to _Node.js_: implementation plugs/requires/utilizes one of the following *optional* libraries |
| 61 | + * [xmlbuilder2](https://www.npmjs.com/package/xmlbuilder2) |
| 62 | + |
| 63 | +[CycloneDX]: https://cyclonedx.org/ |
| 64 | +[CycloneDX-spec]: https://github.com/CycloneDX/specification/tree/main/schema |
0 commit comments