You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CycloneDX 2.0 is a major version in active development, focused on cleaning up legacy constructs, enforcing semantic correctness, and enabling modern schema reuse and API integration. This issue tracks the scope, rationale, and technical direction of the 2.0 release.
Goals
Modularize the specification into multiple schemas (e.g. bom, component, metadata, common, etc)
Remove deprecated fields and legacy aliases
Constrain properties to their correct types (e.g. cryptoProperties only on cryptographic assets)
JSON-first focus supporting JSON Schema Draft 2020-12; potentially remove XML support
Make the schema directly usable as a canonical model for the Ecma Transparency Exchange API
There are so many systems that use protobuf for machine-to-machine communication, that I'd like to offer official support for it, but do so in a way where we can generate the .proto from the JSON Schema at release time. I already have a partially working Python script that does this and keeps track of enum order so that we can preserve enum ordering from release to release.
the ticket says it will drop support for anything that is not JSON, esecially XML.
but then it says it will also provide an (autogenerated) XML schema.
and it does not say anything about ProtoBuf.
please improve the ticket, and make clear what is to be expected.
will there be any XSD? will there be any ProtoBuf Schema?
This ticket is essentially the "epic". Details will be provided in individual subtickets (the stories). There is too much detail to put into one ticket.
For those following this ticket, here's an update:
The entirety of CycloneDX v1.7 has been modularized into individual models. There will likely be a few more changes to the models and perhaps a few new ones to promote reuse.
All CycloneDX v1.7 unit tests (JSON only) have been ported to v2.0 and all pass validation.
The automatic bundling works as designed and is triggered on CI.
All deprecated properties have been removed.
A new linter has been created that has a lot of checks. More work to do on that front.
Activity
jkowalleck commentedon May 5, 2025
same for protobuf support?
stevespringett commentedon May 6, 2025
There are so many systems that use protobuf for machine-to-machine communication, that I'd like to offer official support for it, but do so in a way where we can generate the .proto from the JSON Schema at release time. I already have a partially working Python script that does this and keeps track of enum order so that we can preserve enum ordering from release to release.
jkowalleck commentedon May 6, 2025
this is confusing to me.
the ticket says it will drop support for anything that is not JSON, esecially XML.
but then it says it will also provide an (autogenerated) XML schema.
and it does not say anything about ProtoBuf.
please improve the ticket, and make clear what is to be expected.
will there be any XSD? will there be any ProtoBuf Schema?
stevespringett commentedon May 6, 2025
This ticket is essentially the "epic". Details will be provided in individual subtickets (the stories). There is too much detail to put into one ticket.
.protoSchema from JSON Schema in 2.0 #640stevespringett commentedon Dec 4, 2025
For those following this ticket, here's an update: