Skip to content

Commit 6d24e65

Browse files
jkowalleckmadpaht-grafdependabot[bot]github-actions
authored
feat!: v4.0.0 (#605)
## 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](https://github.com/CycloneDX/cyclonedx-property-taxonomy/blob/main/cdx/) - 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 --------- Signed-off-by: Paul Horton <paul.horton@owasp.org> Signed-off-by: Thomas Graf <thomas.graf@siemens.com> Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Andreas Fehlner <fehlner@arcor.de> Signed-off-by: Jan Kowalleck <jan.kowalleck@owasp.org> Signed-off-by: semantic-release <semantic-release> Co-authored-by: Paul Horton <paul.horton@owasp.org> Co-authored-by: Thomas Graf <thomas.graf@siemens.com> Co-authored-by: semantic-release <semantic-release> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> Co-authored-by: Andreas Fehlner <fehlner@arcor.de>
1 parent 0181aeb commit 6d24e65

File tree

1,010 files changed

+153460
-4156
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,010 files changed

+153460
-4156
lines changed

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ trim_trailing_whitespace = false
3131
indent_style = space
3232
indent_size = 4
3333

34-
[*.ini]
34+
[{*.ini,.bandit,.flake8}]
3535
charset = latin1
3636
indent_style = space
3737
indent_size = 4

.envrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# https://pipenv.pypa.io/en/latest/configuration.html
2+
export PIPENV_IGNORE_VIRTUALENVS=1
3+
4+
# https://pdm-project.org/latest/usage/venv/
5+
export PDM_IGNORE_ACTIVE_VENV=1

.flake8

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[flake8]
2+
## https://flake8.pycqa.org/en/latest/user/configuration.html
3+
## keep in sync with isort config - in `.isort.cfg` file
4+
5+
exclude =
6+
build,dist,__pycache__,.eggs,*.egg-info*,
7+
*_cache,*.cache,
8+
.git,.tox,.venv,venv
9+
_OLD,_TEST,
10+
docs
11+
12+
max-line-length = 120
13+
14+
max-complexity = 15
15+
16+
ignore =
17+
# ignore `self`, `cls` markers of flake8-annotations>=2.0
18+
ANN101,ANN102
19+
# ignore ANN401 for dynamically typed *args and **kwargs
20+
ANN401
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: ValidationError report
3+
about: Report a ValidationError to help us improve
4+
title: "[ValidationError]"
5+
labels: ValidationError
6+
assignees: ''
7+
8+
---
9+
10+
## To Reproduce
11+
12+
Steps to reproduce the behavior:
13+
14+
1. How was _cyclonedx-py_ called?
15+
<!-- e.g. `cyclonedx-py requirements ...` -->
16+
2. What kind of evidence was processed?
17+
<!-- upload a complete project or set of other evidences to this issue, or a pastebin of you choice and put the link here. -->
18+
3. Error report:
19+
<!-- upload the complete output to this issue, or a pastebin of you choice and put the link here. -->
20+
4. Expected result:
21+
<!-- run the original call again
22+
with parameters `--no-validate -vvv -o -`,
23+
then upload the output this issue, or to a pastebin of you choice and put the link here. -->
24+
25+
## Environment
26+
27+
- _cyclonedx-py_ version: <!-- e.g. `v3.2.0`. get via `cyclonedx-py --version` -->
28+
- Python version: <!-- get via `python --version` -->
29+
- OS: <!-- e.g. windows 11, ubuntu linux, ... -->
30+
31+
## Additional context
32+
33+
Add any other context about the problem here.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[BUG]"
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
## Describe the bug
11+
12+
A clear and concise description of what the bug is.
13+
14+
## To Reproduce
15+
16+
Steps to reproduce the behavior
17+
18+
## Expected behavior
19+
20+
A clear and concise description of what you expected to happen.
21+
22+
## Screenshots or output-paste
23+
24+
If applicable, add screenshots or past the output to help explain your problem.
25+
26+
## Environment
27+
28+
- _cyclonedx-py_ version: <!-- e.g. `v3.2.0`. get via `cyclonedx-py --version` -->
29+
- Python version: <!-- get via `python --version` -->
30+
- OS: <!-- e.g. windows 11, ubuntu linux, ... -->
31+
32+
## Additional context
33+
34+
Add any other context about the problem here.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
## Is your feature request related to a problem? Please describe.
11+
12+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
13+
14+
## Describe the solution you'd like
15+
16+
A clear and concise description of what you want to happen.
17+
18+
## Describe alternatives you've considered
19+
20+
A clear and concise description of any alternative solutions or features you've considered.
21+
22+
## Additional context
23+
24+
Add any other context or screenshots about the feature request here.

.github/workflows/docker.yml

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ concurrency:
1515

1616
env:
1717
REPORTS_DIR: CI_reports
18-
PYTHON_VERISON: "3.10"
19-
POETRY_VERSION: "1.1.15"
18+
PYTHON_VERSION: "3.11"
19+
POETRY_VERSION: "1.7.1"
2020

2121
jobs:
2222
test:
@@ -34,11 +34,12 @@ jobs:
3434
fetch-depth: 0
3535
- name: setup reports-dir
3636
run: mkdir "$REPORTS_DIR"
37-
- name: Setup python ${{ env.PYTHON_VERISON }}
37+
- name: Setup python ${{ env.PYTHON_VERSION }}
3838
# see https://github.com/actions/setup-python
3939
uses: actions/setup-python@v5
4040
with:
41-
python-version: ${{ env.PYTHON_VERISON }}
41+
python-version: ${{ env.PYTHON_VERSION }}
42+
architecture: 'x64'
4243
- name: Setup poetry ${{ env.POETRY_VERSION }}
4344
# see https://github.com/marketplace/actions/setup-poetry
4445
uses: Gr1N/setup-poetry@v8
@@ -73,18 +74,16 @@ jobs:
7374
- name: Build own SBoM (XML)
7475
run: >
7576
docker run --rm "$DOCKER_TAG"
76-
-X
77-
--environment
78-
--format=xml
79-
--output=-
77+
environment
78+
-vvv
79+
--output-format XML
8080
> "$REPORTS_DIR/docker-image.bom.xml"
8181
- name: Build own SBoM (JSON)
8282
run: >
8383
docker run --rm "$DOCKER_TAG"
84-
-X
85-
--environment
86-
--format=json
87-
--output=-
84+
environment
85+
-vvv
86+
--output-format JSON
8887
> "$REPORTS_DIR/docker-image.bom.json"
8988
- name: Artifact reports
9089
if: ${{ ! cancelled() }}

.github/workflows/manual-release-candidate.yml

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)