Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: v4.0.0 #605

Merged
merged 156 commits into from
Jan 31, 2024
Merged

feat!: v4.0.0 #605

merged 156 commits into from
Jan 31, 2024

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 <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>
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>
Signed-off-by: Paul Horton <paul.horton@owasp.org>
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 <paul.horton@owasp.org>
Signed-off-by: Paul Horton <paul.horton@owasp.org>
Signed-off-by: Paul Horton <paul.horton@owasp.org>
BREAKING CHANGE: remove deprecated `cyclonedx-bom` command #488
Signed-off-by: Paul Horton <paul.horton@owasp.org>
Signed-off-by: Paul Horton <paul.horton@owasp.org>
…anch

Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
Signed-off-by: Thomas Graf <thomas.graf@siemens.com>
…(`pipenv` and `poetry` only)

Feat: omit development dependencies from SBOM results
Signed-off-by: Paul Horton <paul.horton@owasp.org>
@jkowalleck
Copy link
Member Author

re #605 (comment)

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

---------

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>
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>
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>
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>
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>
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>
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>
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>
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>
@jkowalleck jkowalleck merged commit 6d24e65 into main Jan 31, 2024
30 of 31 checks passed
@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