Skip to content

Conversation

@jkowalleck
Copy link
Member

@jkowalleck jkowalleck commented Oct 25, 2023

This is the main PR for all release 4.0.0 work.
See progress: https://github.com/CycloneDX/cyclonedx-python/milestone/3


Changelog

See also the migration guide in the docs.

  • BC: Removed support for python < 3.8
  • BC: Removed deprecated shell script cyclonedx-bom; use cyclonedx-py instead
  • BC: Removed conda support. However, conda's Python environments are fully supported. See below.
  • BC: Removed public API. You may use the CLI instead, see chapter "usage" in the docs.
  • BC: Complete redesign of the CommandLineInterface(CLI):
    • Uses sub-commands for easy accessibility and divide in specific purposes and domains
    • Easy understandable flags, switches and options -- in accordance with the domains
    • Updated help pages, added usage examples
  • Dozens of new features and fixes, such as:
    • environment analyzer supports any Python (virtual) environment --
      including support for, but not limited to: conda, Hatch, PDM, Pipenv, Poetry, venv, virtualenv
    • Poetry analyzer support groups, filtering, and such
    • Pipenv analyzer support categories, filtering, and such
    • requirements analyzer is feature complete and fixed
    • More details in the SBOM results (based on method)
    • PackageURLs may have more qualifiers (enabled per default, disable via --short-PURLs)
    • component properties according to official taxonomy
    • SBOM results may be validated (enabled per default, disable via --no-validate)
    • SBOM results may have dependency graph populated (if supported by method - applies to environment and Poetry)
    • SBOM results may have root-component populated (if pyproject provided)
    • SBOM results are more diff-friendly and not just one long line of text
    • Fixed possible issues with input data encoding
    • May omit dev-dependencies or domain-specific groups/categories (if supported by method and issued by CLI switches)
    • Strip authentication secrets from (private) download/index URLs
    • Support CycloneDX 1.5 - which is the default now
  • Upgraded documentation, examples, ...
  • Complete rewrite from scratch
  • Dependencies were bumped, dropped, added, ...
  • QA and test suites were massively enhanced

Documentation

see https://cyclonedx-bom-tool.readthedocs.io/en/dev-4.0.0/

Release Candidate

Release candidates are available from PyPI:

python -m pip install cyclonedx-bom==4.0.0rc6   # install via pip
pipx install          cyclonedx-bom==4.0.0rc6   # install via pipx
poetry add            cyclonedx-bom==4.0.0rc6   # install via poetry
# ... you get the idea ...

Release candidates are available from dockerhub:

docker pull cyclonedx/cyclonedx-python:4.0.0-rc.6

Includes/fixes/invalidates:


coverage report here: #605 (comment)

madpah and others added 30 commits March 7, 2023 12:31
Signed-off-by: Paul Horton <[email protected]>
Signed-off-by: Paul Horton <[email protected]>
Signed-off-by: Paul Horton <[email protected]>
Signed-off-by: Paul Horton <[email protected]>
BREAKING CHANGE: Drop support for Python 3.6

feat: bump `cyclonedx-python-lib` to latest RC of `4.0.x`

chore: upgrade `poetry` to `1.4.0`
chore: removed `autopep8` in favour of `flake8`

Signed-off-by: Paul Horton <[email protected]>
BREAKING CHANGE: remove deprecated `cyclonedx-bom` command #488
Signed-off-by: Paul Horton <[email protected]>
Signed-off-by: Paul Horton <[email protected]>
Signed-off-by: Thomas Graf <[email protected]>
Signed-off-by: Thomas Graf <[email protected]>
…(`pipenv` and `poetry` only)

Feat: omit development dependencies from SBOM results
@jkowalleck
Copy link
Member Author

re #605 (comment)

@JCHacking thank you for your time and effort :-)

---------

Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
@jkowalleck jkowalleck merged commit 6d24e65 into main Jan 31, 2024
@jkowalleck jkowalleck deleted the dev/4.0.0 branch March 14, 2024 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment