11# CHANGELOG
22
33
4- ## Unreleased
54
6- ### Documentation
7-
8- * docs(chaneglog): omit chore/ci/refactor/style/test/build (#703 )
9-
10- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` a210809 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/a210809efb34c2dc895fc0c6d96a3412a9097625 ) )
11-
12- * docs: rephrase migration paths
5+ ## v8.5.0 (2024-11-18)
136
14- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` b0260a7 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/b0260a7d45bc3e099b979001049a8c5a67b97634 ) )
15-
16- ### Unknown
17-
18- * Merge remote-tracking branch ' ; origin/main' ; into 8.0.0-dev ([ ` b9a33e6 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/b9a33e614a84ba4a6546a1907b70a0cbfee8cd6f ) )
7+ ### Documentation
198
20- * rework tools xml deserializer ( # 700 )
9+ * docs: remove invalid docsting note about auto-assigned ` bom-ref ` values ( # 733 ) ( [ ` 5aa5787 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/5aa5787767c60dc23fd09f6cf14e54e5b0efceb4 ) )
2110
22- Signed-off-by: Jan Kowalleck & lt ; [email protected] & gt ; ( [ ` 1a24ee6 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/1a24ee6a0853e535465f85c6380971948281ad6e ) ) 11+ ### Feature
2312
24- * Merge remote-tracking branch &# 39 ; origin/main &# 39 ; into 8.0.0-dev ( [ ` 4c57fa1 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/4c57fa156516de07cdd4acd3f3057c0b20d108d7 ) )
13+ * feat: support CycloneDX 1.6.1 ( # 742 )
2514
15+
16+ Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 55eafed ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/55eafedf50d395911a697bd9c85eeab5820934ff ) )
2617
2718
28- ## v7.6.2 (2024-10-07 )
19+ ## v8.4.0 (2024-10-29 )
2920
30- ### Documentation
21+ ### Feature
3122
32- * docs: fix some doc strings
23+ * feat: add factory method ` XsUri.make_bom_link() ` ( # 728 )
3324
34- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 4fa8fc1 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/4fa8fc1b6703ecf6788b72f2d53c6a17e2146cf7 ) )
25+
26+
27+ ---------
28+
29+ Signed-off-by: Saquib Saifee
< ; [email protected] > ; 30+ Co-authored-by: Saquib Saifee
< ; [email protected] > ; (
[ ` 5ec73d0 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/5ec73d0668b4f9e087cc11a2e1a0e242ad1b5dd6 ) )
3531
3632### Fix
3733
38- * fix: behavior of and typing for crypto setters with optional values ( # 694 )
34+ * fix: no warning for missing dependencies if no component exists ( # 720 )
3935
40- fixes #690
4136
4237---------
4338
44- Signed-off-by: Jan Kowalleck < ; jan.kowalleck @gmail.com> ; ([ ` d8b20bd ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/d8b20bdc5224ea30cf767f6f3f1a6f8ff2754973 ) )
39+ Signed-off-by: weichslgartner < ; weichslgartner @gmail.com> ; ([ ` d9c3ded ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/d9c3ded34f443cd04f1f0041f0dd948db3db40e7 ) )
4540
4641### Unknown
4742
48- * docs
49-
50- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 68c681d ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/68c681d46c85230a97c4058de97400f3d93119f5 ) )
51-
43+ * doc: fix ` Definitions ` docstring (#731 )
5244
53- ## v8.0.0-rc.2 (2024-09-27)
45+
46+ ---------
47+
48+ Signed-off-by: Hakan Dilek
< ; [email protected] > ; (
[ ` 5860b67 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/5860b67f562fc474903b0fb1a162c70eeca2f3d0 ) )
5449
55- ### Fix
5650
57- * fix: ToolRepository serialize migrated tools deduplicated ( # 686 )
51+ ## v8.3.0 (2024-10-26 )
5852
59- Signed-off-by: Jan Kowalleck & lt ; [email protected] & gt ; ( [ ` 35ccdd1 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/35ccdd1bfec9757457763308d16e1dbf5d9e28e9 ) ) 53+ ### Documentation
6054
61- ### Unknown
55+ * docs: revisit examples readme ( # 725 )
6256
63- * docs
57+ Signed-off-by: Jan Kowalleck & lt ; [email protected] & gt ; ( [ ` e9020f0 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/e9020f0b709a5245d1749d2811b8568f892869bb ) ) 6458
65- Signed-off-by: Jan Kowalleck & lt ; [email protected] & gt ; ( [ ` 2e16408 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/2e16408098a3c649b80fb407d4f43aaa34aee39f ) ) 59+ ### Feature
6660
67- * rename ` ToolsRepository ` - & gt ; ` ToolRepository ` ( # 687 )
61+ * feat: add basic support for Definitions ( # 701 )
6862
69- Item class of repository is to be called in singular(` Tool ` ).
7063
71- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` e00af17 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/e00af1739fa6d3933315e96266d96d9b290012ee ) )
64+
65+ ---------
66+
67+ Signed-off-by: Hakan Dilek
< ; [email protected] > ; (
[ ` a1573e5 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/a1573e5af12bb54c7328c73971dc2c2f8d820c0a ) )
7268
7369
74- ## v8.0.0-rc. 1 (2024-09-25 )
70+ ## v8.2. 1 (2024-10-24 )
7571
76- ### Documentation
72+ ### Fix
7773
78- * docs: migrate to v8.0.0 ( # 684 )
74+ * fix: encode quotation mark in URL ( # 724 )
7975
80- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 0ac84d7 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/0ac84d76f2e526f329937ab004480405492e7417 ) )
76+ Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` a7c7c97 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/a7c7c97c37ee1c7988c028aa779f74893f858c7b ) )
8177
82- ### Fix
8378
84- * fix: assert copyright headers
79+ ## v8.2.0 (2024-10-22)
8580
86- Signed-off-by: Jan Kowalleck & lt ; [email protected] & gt ; ( [ ` bef268b ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/bef268b7abe2c3f343274d7789906c99c80e9df9 ) ) 81+ ### Feature
8782
88- ### Unknown
83+ * feat: Add Python 3.13 support ( # 718 )
8984
90- * Merge branch &# 39 ; main &# 39 ; into 8.0.0-dev
85+ Signed-off-by: gruebel & lt ; [email protected] & gt ; ( [ ` d4be3ba ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/d4be3ba6b3ccc65553a7dd10ad559c1eddfbb19b ) ) 9186
92- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 39514b3 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/39514b331eef98fbf5208ead341060831f8acddf ) )
9387
94- * Merge branch &# 39 ; main &# 39 ; into 8.0.0-dev ( [ ` c123aff ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/c123aff4bd479ec0f5f1982725ffe8901afb87c9 ) )
88+ ## v8.1.0 (2024-10-21 )
9589
90+ ### Documentation
9691
97- ## v7.6.1 (2024-09-18 )
92+ * docs: fix code examples regarding outputting ( # 709 )
9893
99- ### Breaking
94+
95+
96+ Signed-off-by: Hakan Dilek
< ; [email protected] > ; (
[ ` c72d5f4 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/c72d5f483d5c1990fe643c4c25e37373d4d3248f ) )
10097
101- * feat!: this-builder (#649 )
98+ ### Feature
99+
100+ * feat: add support for Lifecycles in BOM metadata (#698 )
102101
103- reworked ` ThisTool ` for # 635
102+
104103
105104---------
106105
107- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` cf5d2c7 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/cf5d2c7e43883967c5d5837f465ecac5a8cc034e ) )
106+ Signed-off-by: Johannes Feichtner
< ; [email protected] > ; 107+ Signed-off-by: Jan Kowalleck
< ; [email protected] > ; 108+ Signed-off-by: Johannes Feichtner
< ; [email protected] > ; 109+ Co-authored-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 6cfeb71 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/6cfeb711f11aec8fa4d7be885f6797cc2eaa7e67 ) )
108110
109- * refactor!: ` LicenseExpression() ` optional args are named args (#595 )
110111
111- fixes #594
112-
113- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 0172564 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/0172564d5f9529e7ce543da434969b552833de31 ) )
112+ ## v8.0.0 (2024-10-14)
114113
115- * feat!: Add component and services for tools (#635 )
114+ ### Breaking
115+
116+ * feat!: v8.0.0 (#665 )
116117
117- CycloneDX spec 1.5 deprecated an array of tools in bom.metadata and
118- instead prefers object with an array of components and an array of
119- services.
118+ ### BREAKING Changes
119+
120+ * Removed ` cyclonedx.mode.ThisTool ` , utilize ` cyclonedx.builder.this.this_tool() ` instead.
121+ * Moved ` cyclonedx.model.Tool ` to ` cyclonedx.model.tool.Tool ` .
122+ * Property ` cyclonedx.mode.bom.BomMetaData.tools ` is of type ` cyclonedx.model.tool.ToolRepository ` now, was ` SortedSet[cyclonedx.model.Tool] ` .
123+ The getter will act accordingly; the setter might act in a backwards-compatible way.
124+ * Property ` cyclonedx.mode.vulnerability.Vulnerability.tools ` is of type ` cyclonedx.model.tool.ToolRepository ` now, was ` SortedSet[cyclonedx.model.Tool] ` .
125+ The getter will act accordingly; the setter might act in a backwards-compatible way.
126+ * Constructor ` cyclonedx.model.license.LicenseExpression() ` accepts optional argument ` acknowledgement ` only as key-word argument, no longer as positional argument.
127+
128+
129+ ### Changes
130+
131+ * Constructor of ` cyclonedx.model.bom.BomMetaData ` also accepts an instance of ` cyclonedx.model.tool.ToolRepository ` for argument ` tools ` .
132+ * Constructor of ` cyclonedx.model.bom.BomMetaData ` no longer adds this very library as a tool.
133+ Downstream users SHOULD add it manually, like ` my-bom.metadata.tools.components.add(cyclonedx.builder.this.this_component()) ` .
134+
135+ ### Fixes
120136
121- This PR implements that.
137+ * Deserialization of CycloneDX that do not include tools in the metadata are no longer unexpectedly modified/altered .
122138
123- This works de-serializing a Syft SBOM with a tool section like so:
124- ```
125- "metadata": {
126- "timestamp": "2024-06-10T13:06:52-08:00",
127- "tools": {
128- "components": [
129- {
130- "type": "application",
131- "author": "anchore",
132- "name": "syft",
133- "version": "1.4.1"
134- }
135- ]
136- },
137- "component": {
138- "bom-ref": "08329a07b4eb8eac",
139- "type": "file",
140- "name": "./"
141- }
142- },
143- ```
144- Next up: docs, XML (de)serialization code, and tests.
139+ ### Added
140+
141+ Enabled Metadata Tools representation and serialization in accordance with CycloneDX 1.5
142+
143+ * New class ` cyclonedx.model.tool.ToolRepository ` .
144+ * New function ` cyclonedx.builder.this.this_component() ` -- representation of this very python library as a ` Component ` .
145+ * New function ` cyclonedx.builder.this.this_tool() ` -- representation of this very python library as a ` Tool ` .
146+ * New function ` cyclonedx.model.tool.Tool.from_component() ` .
145147
146- fixes #561
148+ ### Dependencies
149+
150+ * Raised runtime dependency ` py-serializable>=1.1.1,<2 ` , was ` >=1.1.0,<2 ` .
147151
148152---------
149153
150- Signed-off-by: Joshua Kugler
< ; [email protected] > ; 151154Signed-off-by: Jan Kowalleck
< ; [email protected] > ; 152- Co-authored-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 1f5fd7a ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/1f5fd7a6be94d93d2260622d39ea01cd74614402 ) )
155+ Signed-off-by: Joshua Kugler
< ; [email protected] > ; 156+ Signed-off-by: semantic-release
< ; [email protected] > ; 157+ Co-authored-by: Joshua Kugler
< ; [email protected] > ; 158+ Co-authored-by: semantic-release
< ; [email protected] > ; (
[ ` 002f966 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/002f96630ce8fc6f1766ee6cc92a16b35a821c69 ) )
153159
154- * feat!: 8.0.0
160+ ### Documentation
155161
156- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 9ba4b8e ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/9ba4b8e5d255c8dba51df214786328bfa700291c ) )
162+ * docs(chaneglog): omit chore/ci/refactor/style/test/build (#703 )
163+
164+ Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` a210809 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/a210809efb34c2dc895fc0c6d96a3412a9097625 ) )
157165
158- ### Feature
159166
160- * feat: don &# 39 ; t add self to ` metafata.tools ` ( # 674 )
167+ ## v7.6.2 (2024-10-07 )
161168
162- fixes #673
169+ ### Documentation
170+
171+ * docs: fix some doc strings
172+
173+ Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 4fa8fc1 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/4fa8fc1b6703ecf6788b72f2d53c6a17e2146cf7 ) )
174+
175+ ### Fix
176+
177+ * fix: behavior of and typing for crypto setters with optional values (#694 )
178+
179+ fixes #690
163180
164- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` e0a153f ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/e0a153fbd553dcf29343d72e361c1cc9122c63b4 ) )
181+ ---------
182+
183+ Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` d8b20bd ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/d8b20bdc5224ea30cf767f6f3f1a6f8ff2754973 ) )
184+
185+
186+ ## v7.6.1 (2024-09-18)
165187
166188### Fix
167189
@@ -173,16 +195,6 @@ correct headers
173195
174196Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 35e00b4 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/35e00b4ee5a9306b9e97b011025409bcbfcef309 ) )
175197
176- ### Unknown
177-
178- * Merge branch ' ; main' ; into 8.0.0-dev ([ ` 3d1548a ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/3d1548abf5db45764a22fcca96493574f96ff693 ) )
179-
180- * Merge branch ' ; main' ; into 8.0.0-dev
181-
182- Signed-off-by: Jan Kowalleck
< ; [email protected] > ; (
[ ` 735c800 ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/735c8003ce88b0c6efa802ccd806f17d22b4df89 ) )
183-
184- * Merge branch ' ; main' ; into 8.0.0-dev ([ ` 0ec785d ` ] ( https://github.com/CycloneDX/cyclonedx-python-lib/commit/0ec785d29abcc215a5a0f6feec9bf16b0994cc92 ) )
185-
186198
187199## v7.6.0 (2024-08-14)
188200
0 commit comments