Skip to content

Commit 9f8d552

Browse files
Merge branch 'main' into license-detection-models
Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
2 parents f532cae + 1292e1a commit 9f8d552

286 files changed

Lines changed: 49064 additions & 26904 deletions

File tree

Some content is hidden

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

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
strategy:
3232
max-parallel: 4
3333
matrix:
34-
python-version: ["3.10", "3.11", "3.12"]
34+
python-version: ["3.10", "3.11", "3.12", "3.13"]
3535

3636
steps:
3737
- name: Checkout code
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Generate SBOMS
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
tags:
7+
- "v*.*.*"
8+
9+
env:
10+
INPUTS_PATH: scancode-inputs
11+
12+
jobs:
13+
generate-sboms:
14+
runs-on: ubuntu-24.04
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
20+
- name: Ensure INPUTS_PATH directory exists
21+
run: mkdir -p "${{ env.INPUTS_PATH }}"
22+
23+
- name: Build the Docker image from local Dockerfile
24+
run: docker build -t local-image .
25+
26+
- name: Run pip freeze inside the built Docker container
27+
run: docker run --rm local-image pip freeze --all --exclude scancodeio > "${{ env.INPUTS_PATH }}/requirements.txt"
28+
29+
- name: Collect all .ABOUT files in the scancodeio/ directory
30+
run: |
31+
mkdir -p "${{ env.INPUTS_PATH }}/about-files"
32+
find scancodeio/ -type f -name "*.ABOUT" -exec cp {} "${{ env.INPUTS_PATH }}/about-files/" \;
33+
34+
- name: Resolve the dependencies using ScanCode-action
35+
uses: aboutcode-org/scancode-action@main
36+
with:
37+
pipelines: "resolve_dependencies:DynamicResolver"
38+
inputs-path: ${{ env.INPUTS_PATH }}
39+
scancodeio-repo-branch: main

.github/workflows/pypi-release-aboutcode-pipeline.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ jobs:
1717
- name: Set up Python
1818
uses: actions/setup-python@v5
1919
with:
20-
python-version: 3.12
20+
python-version: 3.13
2121

2222
- name: Install flot
2323
run: python -m pip install flot --user
2424

2525
- name: Build a binary wheel and a source tarball
26-
run: python -m flot --pyproject pipeline-pyproject.toml --sdist --wheel --output-dir dist/
26+
run: python -m flot --pyproject pipeline-pyproject.toml --sdist --wheel --output-dir dist/
2727

2828
- name: Publish to PyPI
2929
if: startsWith(github.ref, 'refs/tags')

.github/workflows/pypi-release.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Set up Python
1818
uses: actions/setup-python@v5
1919
with:
20-
python-version: 3.12
20+
python-version: 3.13
2121

2222
- name: Install pypa/build
2323
run: python -m pip install build --user
@@ -38,7 +38,8 @@ jobs:
3838
path: dist/*
3939

4040
- name: Create a GitHub release
41-
uses: softprops/action-gh-release@v1
41+
uses: softprops/action-gh-release@v2
4242
with:
43+
generate_release_notes: true
4344
draft: false
4445
files: dist/*

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ local
5151
*.rdb
5252
*.aof
5353
.vscode
54+
.ipynb_checkpoints
5455

5556
# This is only created when packaging for external redistribution
5657
/thirdparty/

CHANGELOG.rst

Lines changed: 240 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,246 @@
11
Changelog
22
=========
33

4-
v34.9.1 (unreleased)
4+
v35.1.0 (2025-07-02)
5+
--------------------
6+
7+
- Replace the ``setup.py``/``setup.cfg`` by ``pyproject.toml`` file.
8+
https://github.com/aboutcode-org/scancode.io/issues/1608
9+
10+
- Update scancode-toolkit to v32.4.0. See CHANGELOG for updates:
11+
https://github.com/aboutcode-org/scancode-toolkit/releases/tag/v32.4.0
12+
Adds a new ``git_sha1`` attribute to the ``CodebaseResource`` model as this
13+
is now computed and returned from the ``scancode-toolkit`` ``--info`` plugin.
14+
https://github.com/aboutcode-org/scancode.io/pull/1708
15+
16+
- Add a ``--fail-on-vulnerabilities`` option in ``check-compliance`` management command.
17+
When this option is enabled, the command will exit with a non-zero status if known
18+
vulnerabilities are detected in discovered packages and dependencies.
19+
Requires the ``find_vulnerabilities`` pipeline to be executed beforehand.
20+
https://github.com/aboutcode-org/scancode.io/pull/1702
21+
22+
- Enable ``--license-references`` scan option in the ``scan_single_package`` pipeline.
23+
The ``license_references`` and ``license_rule_references`` attributes will now be
24+
available in the scan results, including the details about detected licenses and
25+
license rules used during the scan.
26+
https://github.com/aboutcode-org/scancode.io/issues/1657
27+
28+
- Add a new step to the ``DeployToDevelop`` pipeline, ``map_python``, to match
29+
Cython source files (.pyx) to their compiled binaries.
30+
https://github.com/aboutcode-org/scancode.io/pull/1703
31+
32+
v35.0.0 (2025-06-23)
33+
--------------------
34+
35+
- Add support for Python 3.13.
36+
Upgrade the base image in Dockerfile to ``python:3.13-slim``.
37+
https://github.com/aboutcode-org/scancode.io/pull/1469/files
38+
39+
- Display matched snippets details in "Resource viewer", including the package,
40+
resource, and similarity values.
41+
https://github.com/aboutcode-org/scancode.io/issues/1688
42+
43+
- Add filtering by label and pipeline in the ``flush-projects`` management command.
44+
Also, a new ``--dry-run`` option is available to test the filters before applying
45+
the deletion.
46+
https://github.com/aboutcode-org/scancode.io/pull/1690
47+
48+
- Add support for using Package URL (purl) as project input.
49+
This implementation is based on ``purl2url.get_download_url``.
50+
https://github.com/aboutcode-org/scancode.io/issues/1383
51+
52+
- Raise a ``MatchCodeIOException`` when the response from the MatchCode.io service is
53+
not valid in ``send_project_json_to_matchcode``.
54+
This generally means an issue on the MatchCode.io server side.
55+
https://github.com/aboutcode-org/scancode.io/issues/1665
56+
57+
- Upgrade Bulma CSS and Ace JS libraries to latest versions.
58+
Refine the CSS for the Resource viewer.
59+
https://github.com/aboutcode-org/scancode.io/pull/1692
60+
61+
- Add "(No value detected)" for Copyright and Holder charts.
62+
https://github.com/aboutcode-org/scancode.io/issues/1697
63+
64+
- Add "Package Compliance Alert" chart in the Policies section.
65+
https://github.com/aboutcode-org/scancode.io/pull/1699
66+
67+
- Update univers to v31.0.0, catch ``NotImplementedError`` in
68+
``get_unique_unresolved_purls``, and properly log error in project.
69+
https://github.com/aboutcode-org/scancode.io/pull/1700
70+
https://github.com/aboutcode-org/scancode.io/pull/1701
71+
72+
v34.11.0 (2025-05-02)
73+
---------------------
74+
75+
- Add a ``UUID`` field on the DiscoveredDependency model.
76+
Use the UUID for the DiscoveredDependency spdx_id for better SPDX compatibility.
77+
https://github.com/aboutcode-org/scancode.io/issues/1651
78+
79+
- Add MatchCode-specific functions to compute fingerprints from stemmed code
80+
files. Update CodebaseResource file content view to display snippet matches,
81+
if available, when the codebase has been sent for matching to MatchCode.
82+
https://github.com/aboutcode-org/scancode.io/pull/1656
83+
84+
- Add the ability to export filtered QuerySet of a FilterView into the JSON format.
85+
https://github.com/aboutcode-org/scancode.io/pull/1572
86+
87+
- Include ``ProjectMessage`` records in the JSON output ``headers`` section.
88+
https://github.com/aboutcode-org/scancode.io/issues/1659
89+
90+
v34.10.1 (2025-03-26)
91+
---------------------
92+
93+
- Convert the ``declared_license`` field value return by ``python-inspector`` in
94+
``resolve_pypi_packages``.
95+
Resolving requirements.txt files will now return proper license data.
96+
https://github.com/aboutcode-org/scancode.io/issues/1598
97+
98+
- Add support for installing on Apple Silicon (macOS ARM64) in dev mode.
99+
https://github.com/aboutcode-org/scancode.io/pull/1646
100+
101+
v34.10.0 (2025-03-21)
102+
---------------------
103+
104+
- Rename the ``docker``, ``docker_windows``, and ``root_filesystem`` modules to
105+
``analyze_docker``, ``analyze_docker_windows``, and ``analyze_root_filesystem``
106+
for consistency.
107+
108+
- Refine and document the Webhook system
109+
https://github.com/aboutcode-org/scancode.io/issues/1587
110+
* Add UI to add/delete Webhooks from the project settings
111+
* Add a new ``add-webhook`` management command
112+
* Add a ``add_webhook`` REST API action
113+
* Add a new ``SCANCODEIO_GLOBAL_WEBHOOK`` setting
114+
* Add a new chapter dedicated to Webhooks management in the documentation
115+
* Add support for custom payload dedicated to Slack webhooks
116+
117+
- Upgrade Bulma CSS library to version 1.0.2
118+
https://github.com/aboutcode-org/scancode.io/pull/1268
119+
120+
- Disable the creation of the global webhook in the ``batch-create`` command by default.
121+
The global webhook can be created by providing the ``--create-global-webhook`` option.
122+
A ``--no-global-webhook`` option was also added to the ``create-project`` command to
123+
provide the ability to skip the global webhook creation.
124+
https://github.com/aboutcode-org/scancode.io/pull/1629
125+
126+
- Add support for "Permission denied" file access in make_codebase_resource.
127+
https://github.com/aboutcode-org/scancode.io/issues/1630
128+
129+
- Refine the ``scan_single_package`` pipeline to work on git fetched inputs.
130+
https://github.com/aboutcode-org/scancode.io/issues/1376
131+
132+
v34.9.5 (2025-02-19)
133+
--------------------
134+
135+
- Add support for the XLSX report in REST API.
136+
https://github.com/aboutcode-org/scancode.io/issues/1524
137+
138+
- Add options to the Project reset action.
139+
Also, the Project labels are kept during reset.
140+
https://github.com/aboutcode-org/scancode.io/issues/1568
141+
142+
- Add aboutcode.pipeline as an install_requires external dependency to prevent conflicts
143+
with other aboutcode submodules.
144+
https://github.com/aboutcode-org/scancode.io/issues/1423
145+
146+
- Add a ``add-webhook`` management command that allows to add webhook subscription on
147+
a project.
148+
https://github.com/aboutcode-org/scancode.io/issues/1587
149+
150+
- Add proper progress logging for the ``assemble`` section of the
151+
``scan_for_application_packages``.
152+
https://github.com/aboutcode-org/scancode.io/issues/1601
153+
154+
v34.9.4 (2025-01-21)
155+
--------------------
156+
157+
- Improve Project list page navigation.
158+
A top previous/next page navigation was added in the header for consistency with other
159+
list views.
160+
Any paginated view can now be navigated using the left/right keyboard keys.
161+
https://github.com/aboutcode-org/scancode.io/issues/1200
162+
163+
- Add support for importing the ``extra_data`` value from the JSON input with the
164+
``load_inventory`` pipeline.
165+
When multiple JSON files are provided as inputs, the ``extra`` is prefixed with
166+
the input filename.
167+
https://github.com/aboutcode-org/scancode.io/issues/926
168+
169+
- Disable CycloneDX document strict validation, which halts the entire loading process,
170+
and let the data loading process handle the data issues.
171+
https://github.com/aboutcode-org/scancode.io/issues/1515
172+
173+
- Add a report action on project list to export XLSX containing packages from selected
174+
projects.
175+
https://github.com/aboutcode-org/scancode.io/issues/1437
176+
177+
- Add a download action on project list to enable bulk download of Project output files.
178+
https://github.com/aboutcode-org/scancode.io/issues/1518
179+
180+
- Add labels to Project level search.
181+
The labels are now always presented in alphabetical order for consistency.
182+
https://github.com/aboutcode-org/scancode.io/issues/1520
183+
184+
- Add a ``batch-create`` management command that allows to create multiple projects
185+
at once from a directory containing input files.
186+
https://github.com/aboutcode-org/scancode.io/issues/1437
187+
188+
- Do not download input_urls in management commands. The fetch/download is delegated to
189+
the pipeline execution.
190+
https://github.com/aboutcode-org/scancode.io/issues/1437
191+
192+
- Add a "TODOS" sheet containing on REQUIRES_REVIEW resources in XLSX.
193+
https://github.com/aboutcode-org/scancode.io/issues/1524
194+
195+
- Improve XLSX output for Vulnerabilities.
196+
Replace the ``affected_by_vulnerabilities`` field in the PACKAGES and DEPENDENCIES
197+
sheets with a dedicated VULNERABILITIES sheet.
198+
https://github.com/aboutcode-org/scancode.io/issues/1519
199+
200+
- Keep the InputSource objects when using ``reset`` on Projects.
201+
https://github.com/aboutcode-org/scancode.io/issues/1536
202+
203+
- Add a ``report`` management command that allows to generate XLSX reports for
204+
multiple projects at once using labels and searching by project name.
205+
https://github.com/aboutcode-org/scancode.io/issues/1524
206+
207+
- Add the ability to "select across" in Projects list when using the "select all"
208+
checkbox on paginated list.
209+
https://github.com/aboutcode-org/scancode.io/issues/1524
210+
211+
- Update scancode-toolkit to v32.3.2. See CHANGELOG for updates:
212+
https://github.com/aboutcode-org/scancode-toolkit/releases/tag/v32.3.2
213+
https://github.com/aboutcode-org/scancode-toolkit/releases/tag/v32.3.1
214+
215+
- Adds a project settings ``scan_max_file_size`` and a scancode.io settings field
216+
``SCANCODEIO_SCAN_MAX_FILE_SIZE`` to skip scanning files above a certain
217+
file size (in bytes) as a temporary fix for large memory spikes while
218+
scanning for licenses in certain large files.
219+
https://github.com/aboutcode-org/scancode-toolkit/issues/3711
220+
221+
v34.9.3 (2024-12-31)
222+
--------------------
223+
224+
- Refine the available settings for RQ_QUEUES:
225+
* Rename the RQ_QUEUES sub-settings to SCANCODEIO_RQ_REDIS_*
226+
* Add SCANCODEIO_RQ_REDIS_SSL setting to enable SSL.
227+
https://github.com/aboutcode-org/scancode.io/issues/1465
228+
229+
- Add support to map binaries to source files using symbols
230+
for rust binaries and source files. This adds also using
231+
``rust-inspector`` to extract symbols from rust binaries.
232+
This is a new optional ``Rust`` step in the
233+
``map_deploy_to_develop`` pipeline.
234+
https://github.com/aboutcode-org/scancode.io/issues/1435
235+
236+
v34.9.2 (2024-12-10)
237+
--------------------
238+
239+
- Fix an issue with the ``scan_rootfs_for_system_packages`` pipe when a namespace is
240+
missing for the discovered packages.
241+
https://github.com/aboutcode-org/scancode.io/issues/1462
242+
243+
v34.9.1 (2024-12-09)
5244
--------------------
6245

7246
- Add the ability to filter on Project endpoint API actions.

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# ScanCode.io is a free software code scanning tool from nexB Inc. and others.
2121
# Visit https://github.com/aboutcode-org/scancode.io for support and download.
2222

23-
FROM python:3.12-slim
23+
FROM python:3.13-slim
2424

2525
LABEL org.opencontainers.image.source="https://github.com/aboutcode-org/scancode.io"
2626
LABEL org.opencontainers.image.description="ScanCode.io"
@@ -87,7 +87,7 @@ RUN mkdir -p /var/$APP_NAME/static/ \
8787
&& mkdir -p /var/$APP_NAME/workspace/
8888

8989
# Install the dependencies before the codebase COPY for proper Docker layer caching
90-
COPY --chown=$APP_USER:$APP_USER setup.cfg setup.py $APP_DIR/
90+
COPY --chown=$APP_USER:$APP_USER pyproject.toml $APP_DIR/
9191
RUN pip install --no-cache-dir .
9292

9393
# Copy the codebase and set the proper permissions for the APP_USER

0 commit comments

Comments
 (0)