Skip to content

Commit d3f4cbe

Browse files
Merge branch 'v1.5-dev' into v1.5-dev-annotations
2 parents 6aca72a + 32e87a9 commit d3f4cbe

16 files changed

+760
-22
lines changed

docgen/json/gen.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22
rm -f -R docs
3-
mkdir -p docs/{1.2,1.3,1.4}
3+
mkdir -p docs/{1.2,1.3,1.4,1.5}
44

55
# Check to see if generate-schema-doc is executable and is in the path. If not, install JSON Schema for Humans.
66
if ! [ -x "$(command -v generate-schema-doc)" ]; then
@@ -26,4 +26,5 @@ generate () {
2626

2727
generate 1.2
2828
generate 1.3
29-
generate 1.4
29+
generate 1.4
30+
generate 1.5

docgen/json/templates/cyclonedx/base.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,12 @@
4040
v${version} (JSON)
4141
</a>
4242
<ul class="dropdown-menu" aria-labelledby="navbarScrollingDropdown">
43+
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.5/json/">v1.5 (JSON)</a></li>
4344
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.4/json/">v1.4 (JSON)</a></li>
4445
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.3/json/">v1.3 (JSON)</a></li>
4546
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.2/json/">v1.2 (JSON)</a></li>
4647
<li><hr class="dropdown-divider"/></li>
48+
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.5/xml/">v1.5 (XML)</a></li>
4749
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.4/xml/">v1.4 (XML)</a></li>
4850
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.3/xml/">v1.3 (XML)</a></li>
4951
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.2/xml/">v1.2 (XML)</a></li>

docgen/xml/gen.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ generate 1.0
1515
generate 1.1
1616
generate 1.2
1717
generate 1.3
18-
generate 1.4
18+
generate 1.4
19+
generate 1.5

docgen/xml/xs3p.xsl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@
159159
<xsl:param name="externalCSSURL"></xsl:param>
160160

161161
<!-- Link to JQuery. -->
162-
<xsl:param name="jQueryURL">https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js</xsl:param>
162+
<xsl:param name="jQueryURL">https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js</xsl:param>
163163

164164
<!-- Link base to Bootstrap CSS and JS. The files
165165
<bootstrapURL>/css/bootstrap.min.css and
@@ -339,10 +339,12 @@
339339
<li class="dropdown">
340340
<a href="#" class="dropdown-toggle version-selector" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">v<xsl:value-of select="$cycloneDxVersion"/> (XML)<span class="caret"></span></a>
341341
<ul class="dropdown-menu">
342+
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.5/json/">v1.5 (JSON)</a></li>
342343
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.4/json/">v1.4 (JSON)</a></li>
343344
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.3/json/">v1.3 (JSON)</a></li>
344345
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.2/json/">v1.2 (JSON)</a></li>
345346
<li style="padding:0"><hr class="dropdown-divider"/></li>
347+
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.5/xml/">v1.5 (XML)</a></li>
346348
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.4/xml/">v1.4 (XML)</a></li>
347349
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.3/xml/">v1.3 (XML)</a></li>
348350
<li><a class="dropdown-item" href="https://cyclonedx.org/docs/1.2/xml/">v1.2 (XML)</a></li>

schema/bom-1.5.proto

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ message Bom {
3535
repeated Vulnerability vulnerabilities = 10;
3636
// Comments made by people, organizations, or tools about any object with a bom-ref, such as components, services, vulnerabilities, or the BOM itself. Unlike inventory information, annotations may contain opinion or commentary from various stakeholders.
3737
repeated Annotation annotations = 11;
38+
// Specifies optional, custom, properties
39+
repeated Property properties = 12;
3840
}
3941

4042
enum Classification {
@@ -275,6 +277,74 @@ message License {
275277
optional AttachedText text = 3;
276278
// The URL to the attachment file. If the attachment is a license or BOM, an externalReference should also be specified for completeness.
277279
optional string url = 4;
280+
// An optional identifier which can be used to reference the license elsewhere in the BOM. Uniqueness is enforced within all elements and children of the root-level bom element.
281+
optional string bom_ref = 5;
282+
// Licensing details describing the licensor/licensee, license type, renewal and expiration dates, and other important metadata
283+
optional Licensing licensing = 6;
284+
// Specifies optional, custom, properties
285+
repeated Property properties = 7;
286+
}
287+
288+
message Licensing {
289+
// License identifiers that may be used to manage licenses and their lifecycle
290+
repeated string altIds = 1;
291+
// The individual or organization that grants a license to another individual or organization
292+
optional OrganizationalEntityOrContact licensor = 2;
293+
// The individual or organization for which a license was granted to
294+
optional OrganizationalEntityOrContact licensee = 3;
295+
// The individual or organization that purchased the license
296+
optional OrganizationalEntityOrContact purchaser = 4;
297+
// The purchase order identifier the purchaser sent to a supplier or vendor to authorize a purchase
298+
optional string purchaseOrder = 5;
299+
// The type of license(s) that was granted to the licensee
300+
repeated LicensingTypeEnum licenseTypes = 6;
301+
// The timestamp indicating when the license was last renewed. For new purchases, this is often the purchase or acquisition date. For non-perpetual licenses or subscriptions, this is the timestamp of when the license was last renewed.
302+
optional google.protobuf.Timestamp lastRenewal = 7;
303+
// The timestamp indicating when the current license expires (if applicable).
304+
optional google.protobuf.Timestamp expiration = 8;
305+
}
306+
307+
message OrganizationalEntityOrContact {
308+
oneof choice {
309+
OrganizationalEntity organization = 1;
310+
OrganizationalContact individual = 2;
311+
}
312+
}
313+
314+
enum LicensingTypeEnum {
315+
LICENSING_TYPE_NULL = 0;
316+
// A license that grants use of software solely for the purpose of education or research.
317+
LICENSING_TYPE_ACADEMIC = 1;
318+
// A license covering use of software embedded in a specific piece of hardware.
319+
LICENSING_TYPE_APPLIANCE = 2;
320+
// A Client Access License (CAL) allows client computers to access services provided by server software.
321+
LICENSING_TYPE_CLIENT_ACCESS = 3;
322+
// A Concurrent User license (aka floating license) limits the number of licenses for a software application and licenses are shared among a larger number of users.
323+
LICENSING_TYPE_CONCURRENT_USER = 4;
324+
// A license where the core of a computer's processor is assigned a specific number of points.
325+
LICENSING_TYPE_CORE_POINTS = 5;
326+
// A license for which consumption is measured by non-standard metrics.
327+
LICENSING_TYPE_CUSTOM_METRIC = 6;
328+
// A license which covers a defined number of installations on computers and other types of devices.
329+
LICENSING_TYPE_DEVICE = 7;
330+
// A license which grants permission to install and use software for trial purposes.
331+
LICENSING_TYPE_EVALUATION = 8;
332+
// A license that grants access to the software to one or more pre-defined users.
333+
LICENSING_TYPE_NAMED_USER = 9;
334+
// A license that grants access to the software on one or more pre-defined computers or devices.
335+
LICENSING_TYPE_NODE_LOCKED = 10;
336+
// An Original Equipment Manufacturer license that is delivered with hardware, cannot be transferred to other hardware, and is valid for the life of the hardware.
337+
LICENSING_TYPE_OEM = 11;
338+
// A license where the software is sold on a one-time basis and the licensee can use a copy of the software indefinitely.
339+
LICENSING_TYPE_PERPETUAL = 12;
340+
// A license where each installation consumes points per processor.
341+
LICENSING_TYPE_PROCESSOR_POINTS = 13;
342+
// A license where the licensee pays a fee to use the software or service.
343+
LICENSING_TYPE_SUBSCRIPTION = 14;
344+
// A license that grants access to the software or service by a specified number of users.
345+
LICENSING_TYPE_USER = 15;
346+
// Another license type.
347+
LICENSING_TYPE_OTHER = 16;
278348
}
279349

280350
message Metadata {
@@ -602,6 +672,10 @@ message VulnerabilityAnalysis {
602672
repeated VulnerabilityResponse response = 3;
603673
// Detailed description of the impact including methods used during assessment. If a vulnerability is not exploitable, this field should include specific details on why the component or service is not impacted by this vulnerability.
604674
optional string detail = 4;
675+
// The date and time (timestamp) when the analysis was first issued.
676+
optional google.protobuf.Timestamp firstIssued = 5;
677+
// The date and time (timestamp) when the analysis was last updated.
678+
optional google.protobuf.Timestamp lastUpdated = 6;
605679
}
606680

607681
enum ImpactAnalysisState {

0 commit comments

Comments
 (0)