Skip to content

Added first-class hardware support - #982

Merged
stevespringett merged 16 commits into
2.0-devfrom
2.0-dev-hardware
Aug 20, 2026
Merged

Added first-class hardware support#982
stevespringett merged 16 commits into
2.0-devfrom
2.0-dev-hardware

Conversation

@stevespringett

Copy link
Copy Markdown
Member

Closes #981

stevespringett and others added 7 commits December 5, 2025 10:56
Signed-off-by: Steve Springett <steve@springett.us>
Signed-off-by: Pavel Shukhman <taleodor@gmail.com>
Based on HBOM group meeting from 2026-07-07.

Signed-off-by: Pavel Shukhman <pavel@reliza.io>
Signed-off-by: Pavel Shukhman <pavel@reliza.io>
This PR adds origin notion to track regional provenance of hardware
components. Origin can be placed on a component level or a party level.

Proposed shape:

```
"origin": {
  "basis": "number of parts",
  "origins": [ { "originCode": "CA", "percentage": 0.7 } ]
}
```
…dware feature working group.

Signed-off-by: Steve Springett <steve@springett.us>
@stevespringett stevespringett added this to the 2.0 milestone Jul 21, 2026
@stevespringett stevespringett self-assigned this Jul 21, 2026
@stevespringett
stevespringett requested a review from a team as a code owner July 21, 2026 20:23
Adds first-class support for raw and processed materials and for
stage-specific origin declarations, such as distinguishing where a
material was mined from, where it was melted, and by whom.

Signed-off-by: Steve Springett <steve@springett.us>
@stevespringett stevespringett linked an issue Jul 22, 2026 that may be closed by this pull request
@stevespringett stevespringett added request for comment RFC notice sent A public RFC notice was distributed to the CycloneDX mailing list for consideration labels Jul 22, 2026
@jkowalleck

Copy link
Copy Markdown
Member

RFC notice sent on July 22, 2026

Public RFC period ends August 19, 2026

Signed-off-by: Steve Springett <steve@springett.us>
Signed-off-by: Steve Springett <steve@springett.us>
Signed-off-by: Steve Springett <steve@springett.us>
@jkowalleck

Copy link
Copy Markdown
Member

1da95b5

changing this was a good decision. 👍
given that modern boars have 8 layers ...

@jkowalleck jkowalleck left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just one thing i'd change - marked with ❌

Comment thread schema/2.0/model/cyclonedx-physical-2.0.schema.json
Comment thread schema/2.0/model/cyclonedx-hardware-2.0.schema.json Outdated
Comment thread schema/2.0/model/cyclonedx-hardware-2.0.schema.json Outdated
Co-authored-by: Jan Kowalleck <jan.kowalleck@owasp.org>
Signed-off-by: Steve Springett <steve@springett.us>
stevespringett and others added 2 commits August 20, 2026 08:41
Co-authored-by: Jan Kowalleck <jan.kowalleck@owasp.org>
Signed-off-by: Steve Springett <steve@springett.us>


Signed-off-by: Steve Springett <steve@springett.us>
@jkowalleck
jkowalleck self-requested a review August 20, 2026 14:20
"title": "Percentage",
"description": "The percentage of the whole attributable to this region. The percentages of all entries in a distribution must total 100, within rounding of the stated precision.",
"minimum": 0,
"maximum": 100

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in other parts of CycloneDX, we go with a value from 0 to 1 to represent percentage.

  • for example with "certainty"...
    maybe we shoudl to this here, too?
Suggested change
"maximum": 100
"maximum": 1

we then need to change the description

"percentage": {
"type": "number",
"title": "Percentage",
"description": "The percentage of the whole attributable to this region. The percentages of all entries in a distribution must total 100, within rounding of the stated precision.",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thougtsL
adding up to some full value might be funny ...
i mean, 1/3 + 2/3 = 1
so this would be 33.333333333....
and 66.666666666666....
which might not add up to the full 100 per programming language.

Signed-off-by: Steve Springett <steve@springett.us>
@stevespringett stevespringett added tc54 reviewed Ecma TC54 has reviewed the feature candidate tc54 accepted Ecma TC54 has accepted the feature candidate labels Aug 20, 2026
Signed-off-by: Steve Springett <steve@springett.us>
@stevespringett
stevespringett merged commit 56c5d8d into 2.0-dev Aug 20, 2026
12 of 15 checks passed
@stevespringett
stevespringett deleted the 2.0-dev-hardware branch August 20, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

promote to tc54 Promote to Ecma Technical Committee 54 proposed core enhancement request for comment RFC notice sent A public RFC notice was distributed to the CycloneDX mailing list for consideration RFC vote accepted tc54 accepted Ecma TC54 has accepted the feature candidate tc54 reviewed Ecma TC54 has reviewed the feature candidate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE]: Add first class hardware support to CycloneDX 2.0

3 participants