Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
184 commits
Select commit Hold shift + click to select a range
eac0ac6
Initial commit
stevespringett Jun 15, 2025
9265fba
Initial commit
stevespringett Jul 9, 2025
513ef74
Added requirement prototype
stevespringett Jul 23, 2025
83ce9d0
Initial checkin of blueprint and threat model support
stevespringett Sep 3, 2025
f4d10d4
Adding threat models
Oct 29, 2025
028c9df
Merge remote-tracking branch 'origin/master' into 2.0-dev
stevespringett Nov 11, 2025
bde33b2
Syncing with master
stevespringett Nov 11, 2025
dae213a
Revert "Syncing with master"
stevespringett Nov 11, 2025
833bcc1
Merge remote-tracking branch 'origin/master' into 2.0-dev-threatmodeling
stevespringett Nov 11, 2025
e124ae5
Merge remote-tracking branch 'origin/2.0-dev' into 2.0-dev-threatmode…
stevespringett Nov 11, 2025
fbaf3de
Added schema bundler and updated readme.
stevespringett Nov 11, 2025
0d74d96
Adding GitHub Action to combine schemas
stevespringett Nov 11, 2025
51fbf49
Updated branches
stevespringett Nov 11, 2025
b4721e1
Updating action
stevespringett Nov 12, 2025
91ec8e0
chore: update bundled schema [skip ci]
github-actions[bot] Nov 12, 2025
c4d6c82
Updated docgen for 2.0
stevespringett Nov 12, 2025
b6fed22
Added minified bundling
stevespringett Nov 12, 2025
173a276
chore: update bundled schemas [skip ci]
github-actions[bot] Nov 12, 2025
0427839
Added further optimization to minified version
stevespringett Nov 12, 2025
8668856
chore: update bundled schemas [skip ci]
github-actions[bot] Nov 12, 2025
7a04e95
Modified risk and model schemas
petra-dv Nov 23, 2025
c46624c
Fixed resolution issues
stevespringett Nov 24, 2025
ed3eb38
chore: update bundled schemas [skip ci]
github-actions[bot] Nov 24, 2025
7aceff4
Added ref verification
stevespringett Nov 24, 2025
70ea2fa
Merge remote-tracking branch 'origin/2.0-dev' into 2.0-dev
stevespringett Nov 24, 2025
dd45ceb
Updated JSON Schema for Humans
stevespringett Nov 25, 2025
b8abb0c
Initial commit of CycloneDX linter
stevespringett Nov 29, 2025
f0c447b
Moved bundler
stevespringett Nov 29, 2025
41ad354
Added lock file
stevespringett Nov 29, 2025
319ed73
Omitting a few properties from being bundled.
stevespringett Nov 30, 2025
47f0ec2
chore: update bundled schemas [skip ci]
github-actions[bot] Nov 30, 2025
f0fcf97
Added comment check
stevespringett Nov 30, 2025
625b757
Added schema version check
stevespringett Nov 30, 2025
90de7cd
Ported metadata minus deprecations.
stevespringett Nov 30, 2025
38547b6
Ported multiple models minus deprecations and standardized id and com…
stevespringett Dec 1, 2025
9be3484
Ported model card
stevespringett Dec 1, 2025
4e77988
Updating indent check. Added two new checks.
stevespringett Dec 1, 2025
08e4936
Updating readme
stevespringett Dec 1, 2025
666b40d
Updating readme
stevespringett Dec 1, 2025
7f3c089
Ported dependency and composition objects
stevespringett Dec 1, 2025
4456b54
Updated title
stevespringett Dec 1, 2025
ce23470
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
0f9f07f
Ported vulnerability model
stevespringett Dec 1, 2025
17daf80
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
976a9d2
Ported annotation model
stevespringett Dec 1, 2025
80cf0cc
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
8237c95
Ported formulation model
stevespringett Dec 1, 2025
98a2ce7
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
c1c1e03
Ported declaration model
stevespringett Dec 1, 2025
9575876
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
37e04be
Ported definition and standard model. Updated patent model.
stevespringett Dec 1, 2025
f2e7bb2
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
cbba940
Ported citation model.
stevespringett Dec 1, 2025
9a09935
Added remaining root objects.
stevespringett Dec 1, 2025
43945b5
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
93f57a5
Removed properties from license. Removed unused model files.
stevespringett Dec 1, 2025
1caff3e
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
5012f06
Removed extensible properties to root object.
stevespringett Dec 1, 2025
66cd80e
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
c23f59b
Ported service model.
stevespringett Dec 1, 2025
691bc49
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 1, 2025
2d9b07a
Fixed extensibleProperties defect preventing validation
stevespringett Dec 2, 2025
7ddf4b8
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 2, 2025
da1b173
Fixed properties defect.
stevespringett Dec 2, 2025
dde65f3
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 2, 2025
57beb2e
Synced external references with 1.7 version
stevespringett Dec 2, 2025
2114c27
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 2, 2025
5f14c2a
Fixed property issue with component
stevespringett Dec 2, 2025
9f13aae
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 2, 2025
3a80369
Fixed composition model
stevespringett Dec 2, 2025
0d619e3
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 2, 2025
75c344d
Synced hash with v1.7 version
stevespringett Dec 2, 2025
8db8674
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 2, 2025
1c8bab8
Fixed copyright issue to align with how v1.7 does it.
stevespringett Dec 3, 2025
9c8c622
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 3, 2025
6a39e36
Ported 1.7 unit tests to 2.0.
stevespringett Dec 4, 2025
1bc014f
Added .DS_Store to ignore
stevespringett Dec 5, 2025
21b4d38
Merge remote-tracking branch 'origin/2.0-dev' into 2.0-dev-threatmode…
stevespringett Dec 5, 2025
83e8122
Minor corrections to get bundle to compile.
stevespringett Dec 5, 2025
f52760a
chore: update bundled schemas [skip ci]
github-actions[bot] Dec 5, 2025
e8f7aba
adressed comments and reviewed further the schema
petra-dv Dec 7, 2025
53cfdd1
fixed naming inconsistency
petra-dv Dec 7, 2025
d999fac
Merge branch '2.0-dev-threatmodeling' into 2.0-dev-threat-modeling-pe…
stevespringett Dec 10, 2025
d1ebee2
Modified risk and model schemas (#732)
stevespringett Dec 10, 2025
c6e1657
Fixed JSON issue
stevespringett Dec 10, 2025
941fa1f
Initial checkin of behavior model. Should satisfy goals outlined in #…
stevespringett Dec 15, 2025
0729b98
Initial checkin of perspective model.
stevespringett Dec 19, 2025
9f54e54
Minor ref optimizations
stevespringett Dec 19, 2025
c257f85
Minor doc update
stevespringett Dec 19, 2025
367cab2
Adding perspectives to root object and to external references.
stevespringett Dec 19, 2025
b7585b0
feat(cryptography): implement CBOM v2.0 enhancements from #738
bhess Jan 7, 2026
96117b4
Extend cryptography-related behaviors
bhess Jan 8, 2026
54a7138
Added unit test
stevespringett Jan 14, 2026
f16489b
Updated unit test
stevespringett Jan 14, 2026
2a6e499
must -> shall
stevespringett Jan 14, 2026
8ca8115
chore: update bundled schemas [skip ci]
github-actions[bot] Jan 14, 2026
daa4052
Improved description of secProperties
bhess Jan 14, 2026
70de945
A few extensions to the crypto behaviors
bhess Jan 14, 2026
54b6e3b
- Creates "cryptographicFunction" definition, used by algorithm/crypt…
bhess Jan 22, 2026
ea64f8b
chore: update bundled schemas [skip ci]
github-actions[bot] Jan 22, 2026
bb7e30e
Makes sure meta:enum descrptions are available for the new behaviors.…
bhess Jan 22, 2026
20ee286
Extend cryptography-related behaviors (#772)
stevespringett Jan 22, 2026
c53250b
Merge branch '2.0-dev' into 2.0-dev
stevespringett Jan 22, 2026
1c9fc9e
CBOM 2.0 features (#769)
stevespringett Jan 22, 2026
338edcf
chore: update bundled schemas [skip ci]
github-actions[bot] Jan 22, 2026
24fd64a
Ported rating clarification to 2.0 branch. #722
stevespringett Feb 7, 2026
5127956
chore: update bundled schemas [skip ci]
github-actions[bot] Feb 7, 2026
5162baf
Harden enum meta:enum handling
Mehrn0ush Feb 14, 2026
5b0d747
Harden enum-value-formatting meta:enum handling (#821)
stevespringett Feb 19, 2026
979b738
Merge branch 'master' into 2.0-dev
jkowalleck Feb 24, 2026
5dd5f64
Adds gmac/cmac to modes, and unwrap to cryptoFunctions
bhess Feb 24, 2026
ebeeb0f
Add paramgen, paramver, and keyver cryptographic functions
jvdsn Feb 23, 2026
8fd1f0e
Add X9.31 padding for RSA
jvdsn Feb 23, 2026
abcc155
Add more symmetric modes
jvdsn Feb 23, 2026
edefa4b
Add CAVP validation level
jvdsn Feb 23, 2026
ff45d63
chore: update bundled schemas [skip ci]
github-actions[bot] Feb 26, 2026
ae266d4
Add more cryptographic functions, paddings, modes, and validation lev…
stevespringett Feb 26, 2026
8147988
Migrated enveloped signature support from JSF to JSS. Expanded on the…
stevespringett Mar 1, 2026
fd3b448
Major changes to blueprints and other changes to supporting schemas. …
stevespringett Mar 4, 2026
e4cd7d6
chore: update bundled schemas [skip ci]
github-actions[bot] Mar 4, 2026
ae61bcf
Consistent capitalization
bhess Mar 5, 2026
4c420ae
Merge branch '2.0-dev' into bhe-20dev-tweaks
stevespringett Mar 5, 2026
1816ddb
Cryptography: add unwrap, gmac, cmac (#845)
stevespringett Mar 5, 2026
e41bbc6
chore: update bundled schemas [skip ci]
github-actions[bot] Mar 5, 2026
0f8a254
Initial checkin of perspective model. (#745)
stevespringett Mar 5, 2026
38a2a23
Behavior and blueprint updates. Minor changes to data schema
stevespringett Mar 27, 2026
55b67ea
chore: update bundled schemas [skip ci]
github-actions[bot] Mar 27, 2026
f730ce0
Updated to use cases and requirements - moving them to definitions
stevespringett Mar 27, 2026
1343aca
Merge remote-tracking branch 'origin/2.0-dev-threatmodeling' into 2.0…
stevespringett Mar 27, 2026
935364b
correted json syntax
stevespringett Mar 27, 2026
27282d3
chore: update bundled schemas [skip ci]
github-actions[bot] Mar 27, 2026
8e680d8
Removed unnecessary token usage
stevespringett Mar 31, 2026
522d5b7
Merge remote-tracking branch 'origin/2.0-dev' into 2.0-dev
stevespringett Mar 31, 2026
ebcf4c2
Adds custom fingerprints
bhess Feb 25, 2026
ef10479
Removed unnecessary title and description from signatures throughout …
stevespringett May 4, 2026
7d3546b
Updated test cases with valid signature blocks
stevespringett May 4, 2026
54d16af
Added mockups
stevespringett May 7, 2026
47319f5
Added support for conditional components and associated unit tests.
stevespringett May 12, 2026
41baec2
Initial commit of the party model and test cases.
stevespringett May 14, 2026
d54f9a0
Add title/description to hash in common schema
bhess May 21, 2026
10b343a
Added new component identity model with updated test cases.
stevespringett May 22, 2026
21ca15a
Major updates to threatmodeling and bluepring schemas and their relat…
stevespringett May 27, 2026
b1e46dd
Minor correction to timestamp support and algorithm vocabulary.
stevespringett Jun 1, 2026
4c830f4
Tightened string values in hash_algorithm, public_key, thumbprint, an…
stevespringett Jun 1, 2026
2e89140
Updated comments for valid_until and modified properties.
stevespringett Jun 1, 2026
dd06849
CBOM: add custom fingerprints (#903)
stevespringett Jun 4, 2026
96d485a
chore: update bundled schemas [skip ci]
github-actions[bot] Jun 4, 2026
8a14716
WIP 2.0 threat-modeling schema set
stevespringett Jun 5, 2026
cf91c5c
Minor refactor and expansion of risk schema
stevespringett Jun 6, 2026
05375fd
Removed unnecessary risk scenario. Added related vulnerabilities and …
stevespringett Jun 6, 2026
e14fa3f
Minor changes to incorporate risks into CDXA
stevespringett Jun 6, 2026
c6956ea
Minor updates to assessment
stevespringett Jun 6, 2026
d305f2e
Minor refactoring of specific parts of blueprint schema along with so…
stevespringett Jun 7, 2026
354baf4
Corrected mediaType reference issue
stevespringett Jun 7, 2026
f30e142
Removed methodology. Provided little value
stevespringett Jun 7, 2026
d5aa9b0
Refactor of how behaviors are represented to account for truly event-…
stevespringett Jun 7, 2026
3dca97b
Minor refactor to introduce blueprint relaltionships.
stevespringett Jun 7, 2026
d262ad8
Added data relationships and a few minor other things
stevespringett Jun 7, 2026
43e8455
Added session management and a few other minor changes
stevespringett Jun 8, 2026
6735876
Added qualitative-matrix
stevespringett Jun 8, 2026
f011423
Added threat origin
stevespringett Jun 8, 2026
cc44d4b
2.0 dev threatmodeling staging (#951)
stevespringett Jun 8, 2026
6ec41a6
Added control as first-class citizen and expanded use of controls to …
stevespringett Jun 11, 2026
72407e7
Added test cases, comment to schema, and corrected space issue with b…
stevespringett Jun 16, 2026
10d7dd2
Changed risk type to align with the kind of risk assessment performed…
stevespringett Jun 18, 2026
84e4513
Closed some gaps for PASTA, STRIDE-LM by introducing business objecti…
stevespringett Jun 19, 2026
eb1e329
Updated component identifiers based on feedback from the Hardware Wor…
stevespringett Jun 19, 2026
5a1313f
Updated enums
stevespringett Jun 19, 2026
6f90077
Updated test case
stevespringett Jun 19, 2026
af32aca
Removed name from being required. Updated test cases to address comme…
stevespringett Jun 22, 2026
84da056
Added new component identity model with updated test cases. (#936)
stevespringett Jun 28, 2026
e7474ca
chore: update bundled schemas [skip ci]
github-actions[bot] Jun 28, 2026
e79bb8e
Removed "other" options for enums that were extensible.
stevespringett Jun 28, 2026
e43821f
Merge branch '2.0-dev' into 2.0-dev-party-model
stevespringett Jun 28, 2026
aae4886
Initial commit of the party model and test cases. (#930)
stevespringett Jun 28, 2026
ab843c6
chore: update bundled schemas [skip ci]
github-actions[bot] Jun 28, 2026
d823abb
Merge branch '2.0-dev' into 2.0-dev-conditional-components
stevespringett Jun 28, 2026
51d086c
Added support for conditional components and associated unit tests (#…
stevespringett Jun 28, 2026
dd0a040
chore: update bundled schemas [skip ci]
github-actions[bot] Jun 28, 2026
6e2c045
Merge branch '2.0-dev' into 2.0-dev-x590
stevespringett Jun 28, 2026
07376a1
Migrate enveloped signature support from JSF to JSS (#858)
stevespringett Jun 28, 2026
bbbcaec
chore: update bundled schemas [skip ci]
github-actions[bot] Jun 28, 2026
e0c1a32
Merge remote-tracking branch 'origin/2.0-dev' into 2.0-dev-threatmode…
stevespringett Jun 28, 2026
547aeea
chore: update algorithm families [skip ci]
github-actions[bot] Jun 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 10 additions & 11 deletions .github/workflows/bundle_2.0_schemas.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
- 2.0-dev-threatmodeling
paths:
- 'schema/2.0/**/*.schema.json'
- 'tools/src/main/js/bundle-schemas.js'
- 'tools/src/main/js/bundler/bundle-schemas.js'
workflow_dispatch: # Allows manual trigger

jobs:
Expand All @@ -20,39 +20,38 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '20'

- name: Install dependencies
working-directory: tools/src/main/js
working-directory: tools/src/main/js/bundler
run: npm install

- name: Bundle schemas
working-directory: tools/src/main/js
working-directory: tools/src/main/js/bundler
run: |
node bundle-schemas.js \
../../../../schema/2.0/model \
../../../../schema/2.0/cyclonedx-2.0.schema.json
../../../../../schema/2.0/model \
../../../../../schema/2.0/cyclonedx-2.0.schema.json

- name: Check for changes and commit
run: |
BUNDLED_FILE="schema/2.0/cyclonedx-2.0-bundled.schema.json"
MINIFIED_FILE="schema/2.0/cyclonedx-2.0-bundled.min.schema.json"

# Add the file (works for both new and modified files)
git add "$BUNDLED_FILE"
# Add both files (works for both new and modified files)
git add "$BUNDLED_FILE" "$MINIFIED_FILE"

# Check if there are staged changes
if git diff --staged --quiet; then
echo "No changes to bundled schema"
echo "No changes to bundled schemas"
else
echo "Committing bundled schema changes"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git commit -m "chore: update bundled schema [skip ci]"
git commit -m "chore: update bundled schemas [skip ci]"
git push
fi
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.DS_Store
.idea/
.vscode/
tools/target/
13 changes: 9 additions & 4 deletions docgen/json/gen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
set -eu

declare -a CDX_VERSIONS=(
'2.0'
'1.7'
'1.6'
'1.5'
Expand Down Expand Up @@ -44,11 +45,15 @@ generate () {
local title="CycloneDX v${version} JSON Reference"
echo "Generating: $title"

local SCHEMA_FILE="$SCHEMA_PATH/bom-${version}.schema.json"
local STRICT_SCHEMA_FILE="$SCHEMA_PATH/bom-${version}-strict.schema.json"
if [ -f "$STRICT_SCHEMA_FILE" ]
then
local SCHEMA_FILE
if [[ "$version" == 1.* ]]; then
SCHEMA_FILE="$SCHEMA_PATH/bom-${version}.schema.json"
local STRICT_SCHEMA_FILE="$SCHEMA_PATH/bom-${version}-strict.schema.json"
if [ -f "$STRICT_SCHEMA_FILE" ]; then
SCHEMA_FILE="$STRICT_SCHEMA_FILE"
fi
else
SCHEMA_FILE="$SCHEMA_PATH/${version}/cyclonedx-${version}-bundled.schema.json"
fi
echo "SCHEMA_FILE: $SCHEMA_FILE"

Expand Down
2 changes: 1 addition & 1 deletion docgen/json/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
json-schema-for-humans==1.3.4
json-schema-for-humans==1.5.1
2 changes: 2 additions & 0 deletions docgen/json/templates/cyclonedx/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@
v${version} (JSON)
</a>
<ul class="dropdown-menu" aria-labelledby="navbarScrollingDropdown">
<li><a class="dropdown-item" href="/docs/2.0/json/">v2.0 (JSON)</a></li>
<li><hr class="dropdown-divider"/></li>
<li><a class="dropdown-item" href="/docs/1.7/json/">v1.7 (JSON)</a></li>
<li><a class="dropdown-item" href="/docs/1.6/json/">v1.6 (JSON)</a></li>
<li><a class="dropdown-item" href="/docs/1.5/json/">v1.5 (JSON)</a></li>
Expand Down
12 changes: 6 additions & 6 deletions docgen/json/templates/cyclonedx/section_properties.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ <h2 class="mb-0">
</em>
{%- endif -%}
{%- if sub_property.is_required_property -%}
{{ " " }}<span class="badge required-property">Required</span>
{{ " " }}<span class="badge badge-warning required-property">Required</span>
{%- endif -%}
{%- if sub_property is deprecated -%}
{{ " " }}<span class="badge deprecated-property">Deprecated</span>
{%- if sub_property is deprecated or sub_property.kw_deprecated -%}
{{ " " }}<span class="badge badge-danger deprecated-property">Deprecated</span>
{%- endif -%}
{%- if sub_property.is_pattern_property -%}
{{ " " }}<span class="badge pattern-property">Pattern Property</span>
{{ " " }}<span class="badge badge-info pattern-property">Pattern Property</span>
{%- endif -%}
</button>
</h2>
Expand All @@ -35,7 +35,7 @@ <h2 class="mb-0">
<h2 class="handle">
<label>Pattern Property</label>
</h2>
<p>All property whose name matches the following regular expression must respect the following conditions</p>
<p>All properties whose name matches the following regular expression must respect the following conditions</p>
<span class="pattern-value">Property name regular expression: <code>{{ sub_property.property_name | escape }}</code></span>
<br/>
{%- endif -%}
Expand All @@ -52,4 +52,4 @@ <h2 class="handle">
</div>
</div>
</div>
</div>
</div>
2 changes: 2 additions & 0 deletions docgen/proto/templates/html.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,8 @@ https://github.com/pseudomuto/protoc-gen-doc/blob/master/resources/html.tmpl
v${version} (Protobuf)
</a>
<ul class="dropdown-menu" aria-labelledby="navbarScrollingDropdown">
<li><a class="dropdown-item" href="/docs/2.0/json/">v2.0 (JSON)</a></li>
<li><hr class="dropdown-divider"/></li>
<li><a class="dropdown-item" href="/docs/1.7/json/">v1.7 (JSON)</a></li>
<li><a class="dropdown-item" href="/docs/1.6/json/">v1.6 (JSON)</a></li>
<li><a class="dropdown-item" href="/docs/1.5/json/">v1.5 (JSON)</a></li>
Expand Down
2 changes: 2 additions & 0 deletions docgen/xml/xs3p.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,8 @@
<li class="dropdown">
<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>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/docs/2.0/json/">v2.0 (JSON)</a></li>
<li style="padding:0"><hr class="dropdown-divider"/></li>
<li><a class="dropdown-item" href="/docs/1.7/json/">v1.7 (JSON)</a></li>
<li><a class="dropdown-item" href="/docs/1.6/json/">v1.6 (JSON)</a></li>
<li><a class="dropdown-item" href="/docs/1.5/json/">v1.5 (JSON)</a></li>
Expand Down
37 changes: 37 additions & 0 deletions schema/2.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# CycloneDX 2.0 Schemas

This directory contains the official JSON Schema definitions for CycloneDX 2.0, as standardised in
[ECMA-424](https://ecma-international.org/publications-and-standards/standards/ecma-424/).
These schemas constitute the normative implementation of the CycloneDX specification and are intended for use in
validation, tooling, and data exchange.

## Schema Overview

| File | Description |
|--------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`cyclonedx-2.0.schema.json`](./cyclonedx-2.0.schema.json) | The normative schema for CycloneDX Bill of Materials (BOM) documents. This schema references modular models and defines the complete structure for expressing inventories and metadata. |
| [`cyclonedx-2.0-bundled.schema.json`](./cyclonedx-2.0-bundled.schema.json) | A fully resolved version of the BOM schema with all external model references inlined. Useful for systems that require a self-contained schema. |
| [`cyclonedx-api-2.0.schema.json`](./cyclonedx-api-2.0.schema.json) | The normative API-focused schema. It reuses CycloneDX models but is structured for compatibility with request/response patterns in service architectures. |
| [`cyclonedx-api-2.0-bundled.schema.json`](./cyclonedx-api-2.0-bundled.schema.json) | The combined version of the API schema with all model definitions embedded. Suitable for use in tools or validators that do not support `$ref` resolution. |

## Modularity and Model Composition

CycloneDX 2.0 is defined as a modular specification. All core concepts—such as components, services, vulnerabilities,
licensing, and AI/ML metadata, are encapsulated in reusable model definitions located in the [`model/`](./model) directory.

This modular architecture promotes:

- **Consistency** across multiple schema contexts
- **Reusability** of models within and beyond CycloneDX
- **Clarity and maintainability** for implementers

## Bundled Schemas

The `*-bundled` schema files are auto-generated from the normative schemas by resolving all references.
These are provided for convenience and do not supersede the authoritative pre-defined schemas.

## Related Resources

- CycloneDX Website: [https://cyclonedx.org](https://cyclonedx.org)
- ECMA-424 Publication: [https://ecma-international.org/publications-and-standards/standards/ecma-424/](https://ecma-international.org/publications-and-standards/standards/ecma-424/)
- Model Definitions: See [`model/README.md`](./model/README.md)
1 change: 1 addition & 0 deletions schema/2.0/cyclonedx-2.0-bundled.min.schema.json

Large diffs are not rendered by default.

Loading