Changelog

CHANGELOG

v10.0.0 (2025-04-23)

Features

Python 3.8 is end-of-life.


Signed-off-by: Simoh23999 simocasmina@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Co-authored-by: Jan Kowalleck jan.kowalleck@gmail.com

v9.1.1-rc.1 (2025-03-03)

v9.1.0 (2025-02-27)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

Signed-off-by: Indivar Mishra indimishra@gmail.com

v9.0.2 (2025-02-26)

v9.0.0 (2025-02-26)

Features

BREAKING Changes

  • Fix: model.vulnerability.VulnerabilityReference‘s properties are all mandatory (#790 via #792) * Refactor: Rename spdx.is_compund_expression -> spdx.is_expression (#779) * Behavior: BomRef affects comparison/hashing (#754 & #780) This is only a breaking change if you relied on ordering of elements. * Behavior: streamline comparison/hashing functions (#755) This is only a breaking change if you relied on ordering of elements. * Dependency: bump dependency py-serializable >=2 <3, was >=1.1.1 <2 (#775) This is only a breaking change if you have other packages depend on that specific version.


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: wkoot 3715211+wkoot@users.noreply.github.com

Signed-off-by: semantic-release semantic-release@bot.local

Co-authored-by: wkoot 3715211+wkoot@users.noreply.github.com

Co-authored-by: semantic-release semantic-release@bot.local

v8.9.0 (2025-02-25)

Documentation

supersedes https://github.com/CycloneDX/cyclonedx-python-lib/pull/773/files#r1954324461


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

the following classes’ init no longer raise NoPropertiesProvidedException*

cyclonedx.model.IdentifiableAction * cyclonedx.model.component.Commit * cyclonedx.model.component.ComponentEvidence * cyclonedx.model.component.Diff * cyclonedx.model.component.Pedigree * cyclonedx.model.issue.IssueTypeSource * cyclonedx.model.vulnerability.VulnerabilityAnalysis * cyclonedx.model.vulnerability.VulnerabilityCredits * cyclonedx.model.vulnerability.VulnerabilityRating * cyclonedx.model.vulnerability.VulnerabilitySource


Signed-off-by: Indivar Mishra indimishra@gmail.com

v8.8.0 (2025-02-12)

Features

Signed-off-by: Indivar Mishra indimishra@gmail.com

v8.7.0 (2025-02-06)

Features

fixes https://github.com/CycloneDX/cyclonedx-python-lib/issues/771


Signed-off-by: Johannes Feichtner johannes@web-wack.at

Signed-off-by: Johannes Feichtner johannes.feichtner@dynatrace.com

v8.6.0 (2025-02-04)

Features

fixes https://github.com/CycloneDX/cyclonedx-python-lib/issues/764

Signed-off-by: Johannes Feichtner johannes@web-wack.at


Signed-off-by: Hakan Dilek hakandilek@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Co-authored-by: Jan Kowalleck jan.kowalleck@gmail.com

v8.5.1 (2025-01-28)

Documentation

Signed-off-by: Arthit Suriyawongkul arthit@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

Deprecates .serialization.BomRefHelper and .serialization.LicenseRepositoryHelper

fixes #756


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v8.5.0 (2024-11-18)

Documentation

Features

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v8.4.0 (2024-10-29)

Bug Fixes


Signed-off-by: weichslgartner weichslgartner@gmail.com

Features


Signed-off-by: Saquib Saifee saquibsaifee@ibm.com

Co-authored-by: Saquib Saifee saquibsaifee@ibm.com

v8.3.0 (2024-10-26)

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features


Signed-off-by: Hakan Dilek hakandilek@gmail.com

v8.2.1 (2024-10-24)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v8.2.0 (2024-10-22)

Features

Signed-off-by: gruebel anton.gruebel@gmail.com

v8.1.0 (2024-10-21)

Documentation

Signed-off-by: Hakan Dilek hakandilek@gmail.com

Features


Signed-off-by: Johannes Feichtner johannes@web-wack.at

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Johannes Feichtner 343448+Churro@users.noreply.github.com

Co-authored-by: Jan Kowalleck jan.kowalleck@gmail.com

v8.0.0 (2024-10-14)

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

BREAKING Changes

  • Removed cyclonedx.mode.ThisTool, utilize cyclonedx.builder.this.this_tool() instead. * Moved cyclonedx.model.Tool to cyclonedx.model.tool.Tool. * Property cyclonedx.mode.bom.BomMetaData.tools is of type cyclonedx.model.tool.ToolRepository now, was SortedSet[cyclonedx.model.Tool]. The getter will act accordingly; the setter might act in a backwards-compatible way. * Property cyclonedx.mode.vulnerability.Vulnerability.tools is of type cyclonedx.model.tool.ToolRepository now, was SortedSet[cyclonedx.model.Tool]. The getter will act accordingly; the setter might act in a backwards-compatible way. * Constructor cyclonedx.model.license.LicenseExpression() accepts optional argument acknowledgement only as key-word argument, no longer as positional argument.

Changes

  • Constructor of cyclonedx.model.bom.BomMetaData also accepts an instance of cyclonedx.model.tool.ToolRepository for argument tools. * Constructor of cyclonedx.model.bom.BomMetaData no longer adds this very library as a tool. Downstream users SHOULD add it manually, like my-bom.metadata.tools.components.add(cyclonedx.builder.this.this_component()).

Fixes

  • Deserialization of CycloneDX that do not include tools in the metadata are no longer unexpectedly modified/altered.

Added

Enabled Metadata Tools representation and serialization in accordance with CycloneDX 1.5

  • New class cyclonedx.model.tool.ToolRepository. * New function cyclonedx.builder.this.this_component() – representation of this very python library as a Component. * New function cyclonedx.builder.this.this_tool() – representation of this very python library as a Tool. * New function cyclonedx.model.tool.Tool.from_component().

Dependencies

  • Raised runtime dependency py-serializable>=1.1.1,<2, was >=1.1.0,<2.


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Joshua Kugler tek30584@adobe.com

Signed-off-by: semantic-release semantic-release@bot.local

Co-authored-by: Joshua Kugler joshua@azariah.com

Co-authored-by: semantic-release semantic-release@bot.local

v7.6.2 (2024-10-07)

Bug Fixes

fixes #690


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.6.1 (2024-09-18)

Bug Fixes

utilizes flake8 plugin https://pypi.org/project/flake8-copyright-validator/ to assert the correct

headers

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.6.0 (2024-08-14)

Features

The code mistreated hashes for Blake2b and SHA3. Code for explicitly handling SHA1 & BLAKE3 was

added, as those have no variants defined in the CycloneDX specification.

fixes #652


Signed-off-by: Michael Schlenker michael.schlenker@contact-software.com

Co-authored-by: Michael Schlenker michael.schlenker@contact-software.com

Co-authored-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.5.1 (2024-07-08)

Bug Fixes

fixes #638


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.5.0 (2024-07-04)

Features

Property workaround was missing from the vulnerability model. It was added in spec v1.5 and was

marked as TODO before.

This is my first contribution on this project so if I done something wrong, just say me :smiley:

Signed-off-by: Louis Maillard louis.maillard@savoirfairelinux.com

Signed-off-by: Louis Maillard louis.maillard@protonmail.com

Co-authored-by: Louis Maillard louis.maillard@savoirfairelinux.com

v7.4.1 (2024-06-12)

Bug Fixes

cyclonedx.model.Property.value value is optional, in accordance with the spec.

fixes #630


Signed-off-by: Michael Schlenker michael.schlenker@contact-software.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Co-authored-by: Michael Schlenker michael.schlenker@contact-software.com

Co-authored-by: Jan Kowalleck jan.kowalleck@gmail.com

Documentation

fixes #616


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.4.0 (2024-05-23)

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.3.4 (2024-05-06)

Bug Fixes

fixes #600


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.3.3 (2024-05-06)

Bug Fixes

fixes https://github.com/CycloneDX/cyclonedx-python-lib/issues/612


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.3.2 (2024-04-26)

Bug Fixes

reverts #587 - as this one introduced errors fixes #598 fixes #586


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Paul Horton paul.horton@owasp.org

Co-authored-by: Paul Horton paul.horton@owasp.org

v7.3.1 (2024-04-22)

Bug Fixes

Fixes #586.

Signed-off-by: Paul Horton paul.horton@owasp.org

v7.3.0 (2024-04-19)

Features

add a parameter to LicenseFactory.make_*() methods, to set the LicenseAcknowledgement.

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.2.0 (2024-04-19)

Features


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v7.1.0 (2024-04-10)

Documentation

Signed-off-by: Paul Horton paul.horton@owasp.org

Features

Signed-off-by: Paul Horton paul.horton@owasp.org

v7.0.0 (2024-04-09)

Features

Signed-off-by: Paul Horton paul.horton@owasp.org

  • re-generated test snapshots for v1.6

  • note bom.metadata.manufacture as deprecated

  • work on bom.metadata for v1.6

  • Deprecated .component.author. Added .component.authors and .component.manufacturer

  • work to add .component.omniborid - but tests deserialisation tests fail due to schema differences (.component.author not in 1.6)

  • work to get deserialization tests passing

v6.4.4 (2024-03-18)

Bug Fixes

Signed-off-by: Christoph Reiter reiter.christoph@gmail.com

v6.4.3 (2024-03-04)

Bug Fixes

Fixes #556


Signed-off-by: rcross-lc 151086351+rcross-lc@users.noreply.github.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Co-authored-by: Jan Kowalleck jan.kowalleck@gmail.com

v6.4.2 (2024-03-01)

Build System

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v6.4.1 (2024-01-30)

Bug Fixes

fixes #539


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v6.4.0 (2024-01-22)

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v6.3.0 (2024-01-06)

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v6.2.0 (2023-12-31)

Build System

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

Updates the requirements on lxml to permit the latest version. -

Release notes - Changelog - Commits

— updated-dependencies: - dependency-name: lxml dependency-type: direct:production …

Signed-off-by: dependabot[bot] support@github.com

Co-authored-by: dependabot[bot] 49699333+dependabot[bot]@users.noreply.github.com

v6.1.0 (2023-12-22)

Features

new API: model.HashType.from_hashlib_alg()

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v6.0.0 (2023-12-10)

Features

Breaking Changes

  • Removed symbols that were already marked as deprecated (via [#493]) * Removed symbols in parser.*``([#489] via [#495]) * Removed`output.LATEST_SUPPORTED_SCHEMA_VERSION([#491] via [#494]) * Serialization of unsupported enum values might downgrade/migrate/omit them ([#490] via [#496]) Handling might raise warnings if a data loss occurred due to omitting. The result is a guaranteed valid XML/JSON, since no (enum-)invalid values are rendered. * Serialization of anymodel.component.Componentwith unsupportedtyperaisesexception.serialization.SerializationOfUnsupportedComponentTypeException([#490] via [#496]) * Objectmodel.bom_ref.BomRef's propertyvaluedefaults toNull, was arbitraryUUID([#504] via [#505]) This change does not affect serialization. Allbom-ref`s are guaranteed to have unique values on rendering. * Removed helpers from public API ([#503] via [#506])

Added

  • Basic support for CycloneDX 1.5 ([#404] via [#488]) * No data models were enhanced nor added, yet. Pull requests to add functionality are welcome. * Existing enumerable got new cases, to reflect features of CycloneDX 1.5 ([#404] via [#488]) * Outputters were enabled to render CycloneDX 1.5 ([#404] via [#488])

Tests

  • Created (regression/unit/integration/functional) tests for CycloneDX 1.5 ([#404] via [#488]) * Created (regression/functional) tests for Enums’ handling and completeness ([#490] via [#496])

Misc

  • Bumped dependency py-serializable@^0.16, was @^0.15 (via [#496])


API Changes — the details for migration

  • Added new sub-package exception.serialization (via [#496]) * Removed class models.ComparableTuple ([#503] via [#506]) * Enum model.ExternalReferenceType got new cases, to reflect features for CycloneDX 1.5 ([#404] via [#488]) * Removed function models.get_now_utc ([#503] via [#506]) * Removed function models.sha1sum ([#503] via [#506]) * Enum model.component.ComponentType got new cases, to reflect features for CycloneDX 1.5 ([#404] via [#488]) * Removed model.component.Component.__init__()‘s deprecated optional kwarg namespace (via [#493]) Use kwarg group instead. * Removed model.component.Component.__init__()‘s deprecated optional kwarg license_str (via [#493]) Use kwarg licenses instead. * Removed deprecated method model.component.Component.get_namespace() (via [#493]) * Removed class models.dependency.DependencyDependencies ([#503] via [#506]) * Removed model.vulnerability.Vulnerability.__init__()‘s deprecated optional kwarg source_name (via [#493]) Use kwarg source instead. * Removed model.vulnerability.Vulnerability.__init__()‘s deprecated optional kwarg source_url (via [#493]) Use kwarg source instead. * Removed model.vulnerability.Vulnerability.__init__()‘s deprecated optional kwarg recommendations (via [#493]) Use kwarg recommendation instead. * Removed model.vulnerability.VulnerabilityRating.__init__()‘s deprecated optional kwarg score_base (via [#493]) Use kwarg score instead. * Enum model.vulnerability.VulnerabilityScoreSource got new cases, to reflect features for CycloneDX 1.5 ([#404] via [#488]) * Removed output.LATEST_SUPPORTED_SCHEMA_VERSION ([#491] via [#494]) * Removed deprecated function output.get_instance() (via [#493]) Use function output.make_outputter() instead. * Added new class output.json.JsonV1Dot5, to reflect CycloneDX 1.5 ([#404] via [#488]) * Added new item to dict output.json.BY_SCHEMA_VERSION, to reflect CycloneDX 1.5 ([#404] via [#488]) * Added new class output.xml.XmlV1Dot5, to reflect CycloneDX 1.5 ([#404] via [#488]) * Added new item to dict output.xml.BY_SCHEMA_VERSION, to reflect CycloneDX 1.5 ([#404] via [#488]) * Removed class parser.ParserWarning ([#489] via [#495]) * Removed class parser.BaseParser ([#489] via [#495])

    • Enum schema.SchemaVersion got new case V1_5, to reflect CycloneDX 1.5 ([#404] via [#488])

[#404]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/404 [#488]:

https://github.com/CycloneDX/cyclonedx-python-lib/pull/488 [#489]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/489 [#490]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/490 [#491]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/491 [#493]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/493 [#494]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/494 [#495]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/495 [#496]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/496 [#503]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/503 [#504]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/504 [#505]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/505 [#506]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/506


Signed-off-by: Johannes Feichtner johannes@web-wack.at

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: semantic-release

Co-authored-by: Johannes Feichtner 343448+Churro@users.noreply.github.com

Co-authored-by: semantic-release

v5.2.0 (2023-12-02)

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

fixes https://github.com/CycloneDX/cyclonedx-python-lib/issues/497


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v5.1.1 (2023-11-02)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v5.1.0 (2023-10-31)

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

Incorporate output.BomRefDiscriminator on serialization

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v5.0.1 (2023-10-24)

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v5.0.0 (2023-10-24)

Features

BREAKING CHANGES —————- * Dropped support for python<3.8 ([#436] via [#441]; enable

[#433]) * Reworked license related models, collections, and factories ([#365] via [#466]) * Behavior * Method model.bom.Bom.validate() will throw exception.LicenseExpressionAlongWithOthersException, if detecting invalid license constellation ([#453] via [#452]) * Fixed tuple comparison when unequal lengths (via [#461]) * API * Enum schema.SchemaVersion is no longer string-like ([#442] via [#447]) * Enum schema.OutputVersion is no longer string-like ([#442] via [#447]) * Abstract class output.BaseOutput requires implementation of new method output_format ([#446] via [#447]) * Abstract method output.BaseOutput.output_as_string() got new optional parameter indent ([#437] via [#458]) * Abstract method output.BaseOutput.output_as_string() accepts arbitrary kwargs (via [#458], [#462]) * Removed class factory.license.LicenseChoiceFactory (via [#466]) The old functionality was integrated into factory.license.LicenseFactory. * Method factory.license.LicenseFactory.make_from_string()‘s parameter name_or_spdx was renamed to value (via [#466]) * Method factory.license.LicenseFactory.make_from_string()‘s return value can also be a LicenseExpression ([#365] via [#466]) The behavior imitates the old factory.license.LicenseChoiceFactory.make_from_string() * Renamed class module.License to module.license.DisjunctliveLicense ([#365] via [#466]) * Removed class module.LicenseChoice ([#365] via [#466]) Use dedicated classes module.license.DisjunctliveLicense and module.license.LicenseExpression instead * All occurrences of models.LicenseChoice were replaced by models.licenses.License ([#365] via [#466]) * All occurrences of SortedSet[LicenseChoice] were specialized to models.license.LicenseRepository ([#365] via [#466])

Fixed —————- * Serialization of multy-licenses ([#365] via [#466]) * Detect unused

“dependent” components in model.bom.validate() (via [#464])

Changed —————- * Updated latest supported list of supported SPDX license identifiers (via

[#433]) * Shipped schema files are moved to a protected space (via [#433]) These files were never intended for public use. * XML output uses a default namespace, which makes results smaller. ([#438] via [#458])

Added —————- * Support for Python 3.12 (via [#460]) * JSON- & XML-Validators ([#432],

[#446] via [#433], [#448]) The functionality might require additional dependencies, that can be installed with the extra “validation”. See the docs in section “Installation” for details. * JSON & XML can be generated in a more human-friendly form ([#437], [#438] via [#458]) * Type hints, typings & overloads for better integration downstream (via [#463]) * API * New function output.make_outputter() (via [#469]) This replaces the deprecated function output.get_instance(). * New sub-package validation ([#432], [#446] via [#433], [#448], [#469], [#468], [#469]) * New class exception.MissingOptionalDependencyException ([#432] via [#433]) * New class exception.LicenseExpressionAlongWithOthersException ([#453] via [#452]) * New dictionaries output.{json,xml}.BY_SCHEMA_VERSION ([#446] via [#447]) * Existing implementations of class output.BaseOutput now have a new method output_format ([#446] via [#447]) * Existing implementations of method output.BaseOutput.output_as_string() got new optional parameter indent ([#437] via [#458]) * Existing implementations of method output.BaseOutput.output_to_file() got new optional parameter indent ([#437] via [#458]) * New method factory.license.LicenseFactory.make_with_expression() (via [#466]) * New class model.license.DisjunctiveLicense ([#365] via [#466]) * New class model.license.LicenseExpression ([#365] via [#466]) * New class model.license.LicenseRepository ([#365] via [#466]) * New class serialization.LicenseRepositoryHelper ([#365] via [#466])

Deprecated —————- * Function output.get_instance() might be removed, use

output.make_outputter() instead (via [#469])

Tests —————- * Added validation tests with official CycloneDX schema test data ([#432] via

[#433]) * Use proper snapshots, instead of pseudo comparison ([#437] via [#464]) * Added regression test for bug [#365] (via [#466], [#467])

Misc —————- * Dependencies: bumped py-serializable@^0.15.0, was @^0.11.1 (via [#458],

[#463], [#464], [#466]) * Style: streamlined quotes and strings (via [#472]) * Chore: bumped internal dev- and QA-tools ([#436] via [#441], [#472]) * Chore: added more QA tools to prevent common security issues (via [#473])

[#432]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/432 [#433]:

https://github.com/CycloneDX/cyclonedx-python-lib/pull/433 [#436]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/436 [#437]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/437 [#365]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/365 [#438]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/438 [#440]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/440 [#441]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/441 [#442]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/442 [#446]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/446 [#447]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/447 [#448]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/448 [#452]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/452 [#453]: https://github.com/CycloneDX/cyclonedx-python-lib/issues/453 [#458]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/458 [#460]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/460 [#461]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/461 [#462]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/462 [#463]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/463 [#464]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/464 [#466]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/466 [#467]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/467 [#468]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/468 [#469]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/469 [#472]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/472 [#473]: https://github.com/CycloneDX/cyclonedx-python-lib/pull/473


Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@owasp.org

Signed-off-by: semantic-release

Co-authored-by: semantic-release

v4.2.3 (2023-10-16)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v4.2.2 (2023-09-14)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v4.2.1 (2023-09-06)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v4.2.0 (2023-09-06)

Features

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v4.1.0 (2023-08-27)

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Features

adds cyclonedx.__version__

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v4.0.1 (2023-06-28)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Build System

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Documentation

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v4.0.0 (2023-03-20)

Bug Fixes

Signed-off-by: Paul Horton paul.horton@owasp.org

Signed-off-by: Paul Horton paul.horton@owasp.org

Signed-off-by: Paul Horton paul.horton@owasp.org


Signed-off-by: Paul Horton paul.horton@owasp.org

Features

Signed-off-by: Hakan Dilek hakandilek@gmail.com

Signed-off-by: Paul Horton paul.horton@owasp.org

Co-authored-by: Hakan Dilek hakandilek@gmail.com

Co-authored-by: Hakan Dilek hakandilek@users.noreply.github.com

Signed-off-by: Paul Horton paul.horton@owasp.org

Highlights of this release include: * Support for De-serialization from JSON and XML to this

Pythonic Model * Deprecation of Python 3.6 support * Support for Python 3.11 * Support for BomLink * Support VEX without needing Component in the same Bom * Support for services having dependencies

BREAKING CHANGE: Large portions of this library have been re-written for this release and many

methods and contracts have changed.

Signed-off-by: Paul Horton paul.horton@owasp.org

BREAKING CHANGE:

BREAKING CHANGE: Model classes changed to relocated Vulnerability at Bom, not at Component

Signed-off-by: Paul Horton paul.horton@owasp.org

Breaking Changes

  • Large portions of this library have been re-written for this release and many methods and contracts have changed.

v3.1.5 (2023-01-12)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v3.1.4 (2023-01-11)

Bug Fixes

Features

v3.1.3 (2023-01-07)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v3.1.2 (2023-01-06)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Documentation

caused by https://github.com/badges/shields/issues/8671

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Roland Weber rolweber@de.ibm.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v3.1.1 (2022-11-28)

Bug Fixes

v3.1.0 (2022-09-15)

Features

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v2.7.1 (2022-08-01)

Bug Fixes

Signed-off-by: Paul Horton paul.horton@owasp.org

Signed-off-by: Paul Horton paul.horton@owasp.org

v2.7.0 (2022-07-21)

Features

Signed-off-by: Paul Horton paul.horton@owasp.org

v2.6.0 (2022-06-20)

Features

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v2.5.2 (2022-06-15)

Bug Fixes

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v2.5.1 (2022-06-10)

Bug Fixes

Partial fix for #245.

Signed-off-by: Rodney Richardson rodney.richardson@cambridgeconsultants.com

v2.5.0 (2022-06-10)

Build System

Move types-setuptools and types-toml to dev-dependencies (#226)

Signed-off-by: Adam Johnson me@adamj.eu

Documentation

Fix typo in comments: “This is out” -> “This is our” (#233)

Signed-off-by: Rodney Richardson rodney.richardson@cambridgeconsultants.com

Features

Signed-off-by: Paul Horton paul.horton@owasp.org

v2.4.0 (2022-05-17)

Features

PullRequest and details via #224

Signed-off-by: gruebel anton.gruebel@gmail.com

v2.3.0 (2022-04-20)

Features

Signed-off-by: Paul Horton paul.horton@owasp.org

v2.2.0 (2022-04-12)

Features

v2.1.1 (2022-04-05)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

v2.1.0 (2022-03-28)

Features

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v2.0.0 (2022-02-21)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Features

Signed-off-by: Paul Horton phorton@sonatype.com

  • doc: updated documentation to reflect change

  • patched other tests to support UUID for bom-ref

  • better syntax

  • 1.3.0

Automatically generated by python-semantic-release

  • WIP but a lil hand up for @madpah

Signed-off-by: Jeffry Hesse 5544326+DarthHater@users.noreply.github.com

BREAKING CHANGE: Adopt PEP-3102

BREAKING CHANGE: Optional Lists are now non-optional Sets

BREAKING CHANGE: Remove concept of DEFAULT schema version - replaced with LATEST schema version

BREAKING CHANGE: Added BomRef data type

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Breaking Changes

  • Adopt PEP-3102

  • Optional Lists are now non-optional Sets

  • Remove concept of DEFAULT schema version - replaced with LATEST schema version

  • Added BomRef data type

v1.3.0 (2022-01-24)

Features

Signed-off-by: Paul Horton phorton@sonatype.com

  • doc: updated documentation to reflect change

  • patched other tests to support UUID for bom-ref

  • better syntax

v1.2.0 (2022-01-24)

Features

Setting CPE was missing for component, now it is possible to set CPE and output CPE for a component.

Signed-off-by: Jens Lucius jens.lucius@de.bosch.com

  • Fixing problems with CPE addition

  • Fixed styling errors - Added reference to CPE Spec - Adding CPE parameter as last parameter to not break arguments

  • Again fixes for Style and CPE reference

Missing in the last commit

  • Added CPE as argument before deprecated arguments

  • Added testing for CPE addition and error fixing

  • Added output tests for CPE in XML and JSON - Fixes style error in components - Fixes order for CPE output in XML (CPE has to come before PURL)

  • Fixed output tests

CPE was still in the wrong position in one of the tests - fixed

  • Fixed minor test fixtures issues

  • cpe was still in wrong position in 1.2 JSON - Indentation fixed in 1.4 JSON

  • Fixed missing comma in JSON 1.2 test file

v1.1.1 (2022-01-19)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

v1.1.0 (2022-01-13)

Features

Part of #6

Signed-off-by: Artem Smotrakov asmotrakov@riotgames.com

  • Better docs and simpler ifs

v1.0.0 (2022-01-13)

v0.12.3 (2021-12-15)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

v0.12.2 (2021-12-09)

Bug Fixes

fixes #94

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v0.12.1 (2021-12-09)

Bug Fixes

see #44

updated some locked dependencies to latest versions

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

v0.12.0 (2021-12-09)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

  • straigtened up sys.version_info constraints/code-branches

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

  • removed unused type ignores

  • try to fix type variants

  • typing for py3.6

  • fixed invalid unittest

  • mypy silence warn_unused_ignores

  • mypy in tox for lowest version is pinned

Co-authored-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

  • updated some typings

Features

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

v0.11.1 (2021-11-10)

Bug Fixes

Signed-off-by: William Woodruff william@trailofbits.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

v0.11.0 (2021-11-10)

Features

Signed-off-by: Jan Kowalleck jan.kowalleck@gmail.com

  • added static code analysis as a dev-test

  • added the “typed” trove

  • added flake8-annotations to the tests

  • added type hints

  • further typing updates

Signed-off-by: Paul Horton phorton@sonatype.com

  • further typing additions and test updates

  • further typing

  • further typing - added type stubs for toml and setuptools

  • typing work

  • coding standards

  • fixed tox and mypy running in correct python version

  • supressed mypy for cyclonedx.utils.conda.parse_conda_json_to_conda_package

  • fixed type hints

  • fixed some typing related flaws

  • added flake8-bugbear for code analysis

Co-authored-by: Paul Horton phorton@sonatype.com

v0.10.2 (2021-10-21)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

v0.10.1 (2021-10-21)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

v0.10.0 (2021-10-20)

Features

Signed-off-by: Paul Horton phorton@sonatype.com

v0.9.1 (2021-10-19)

v0.9.0 (2021-10-19)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

Features

Signed-off-by: Paul Horton phorton@sonatype.com

v0.8.3 (2021-10-14)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

v0.8.2 (2021-10-14)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

v0.8.1 (2021-10-12)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

v0.8.0 (2021-10-12)

Features

Signed-off-by: Paul Horton phorton@sonatype.com

v0.7.0 (2021-10-11)

Features

Signed-off-by: Paul Horton phorton@sonatype.com

v0.6.2 (2021-10-11)

v0.6.1 (2021-10-11)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

v0.6.0 (2021-10-11)

Features

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

v0.5.0 (2021-10-11)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

Build System

Signed-off-by: Paul Horton phorton@sonatype.com

Features

Signed-off-by: Paul Horton phorton@sonatype.com

v0.4.1 (2021-09-27)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

Build System

Signed-off-by: Paul Horton phorton@sonatype.com

v0.4.0 (2021-09-16)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

Features

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

v0.3.0 (2021-09-15)

Features

Signed-off-by: Paul Horton phorton@sonatype.com

v0.2.0 (2021-09-14)

Bug Fixes

Signed-off-by: Paul Horton phorton@sonatype.com

v0.1.0 (2021-09-13)

Features

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

v0.0.11 (2021-09-10)

Bug Fixes

Tidied up project to remove items associated with non-Poetry build process. Also aligned a few

references in README to new home of this project under CycloneDX.

Signed-off-by: Paul Horton phorton@sonatype.com

Fixed failing tests due to dependency on now removed VERSION file Added flake8 officially as a DEV

dependency to poetry

Signed-off-by: Paul Horton phorton@sonatype.com

Signed-off-by: Paul Horton phorton@sonatype.com

v0.0.10 (2021-09-08)

Bug Fixes

v0.0.9 (2021-09-08)

v0.0.8 (2021-09-08)

Bug Fixes

v0.0.7 (2021-09-08)

Bug Fixes

v0.0.6 (2021-09-08)

Bug Fixes

v0.0.5 (2021-09-08)

v0.0.4 (2021-09-08)

v0.0.3 (2021-09-08)

v0.0.2 (2021-09-08)