Skip to content

Commit 26fe35e

Browse files
Merge branch 'main' into exclusion-framework-ruby
2 parents 32e1543 + 001b91c commit 26fe35e

221 files changed

Lines changed: 11532 additions & 2375 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: 1 addition & 1 deletion
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 flot
2323
run: python -m pip install flot --user

.github/workflows/pypi-release.yml

Lines changed: 1 addition & 1 deletion
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

.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: 108 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,102 @@
11
Changelog
22
=========
33

4-
v34.9.5 (unreleased)
4+
v35.0.0 (2025-06-23)
5+
--------------------
6+
7+
- Add support for Python 3.13.
8+
Upgrade the base image in Dockerfile to ``python:3.13-slim``.
9+
https://github.com/aboutcode-org/scancode.io/pull/1469/files
10+
11+
- Display matched snippets details in "Resource viewer", including the package,
12+
resource, and similarity values.
13+
https://github.com/aboutcode-org/scancode.io/issues/1688
14+
15+
- Add filtering by label and pipeline in the ``flush-projects`` management command.
16+
Also, a new ``--dry-run`` option is available to test the filters before applying
17+
the deletion.
18+
https://github.com/aboutcode-org/scancode.io/pull/1690
19+
20+
- Add support for using Package URL (purl) as project input.
21+
This implementation is based on ``purl2url.get_download_url``.
22+
https://github.com/aboutcode-org/scancode.io/issues/1383
23+
24+
- Raise a ``MatchCodeIOException`` when the response from the MatchCode.io service is
25+
not valid in ``send_project_json_to_matchcode``.
26+
This generally means an issue on the MatchCode.io server side.
27+
https://github.com/aboutcode-org/scancode.io/issues/1665
28+
29+
- Upgrade Bulma CSS and Ace JS libraries to latest versions.
30+
Refine the CSS for the Resource viewer.
31+
https://github.com/aboutcode-org/scancode.io/pull/1692
32+
33+
- Add "(No value detected)" for Copyright and Holder charts.
34+
https://github.com/aboutcode-org/scancode.io/issues/1697
35+
36+
- Add "Package Compliance Alert" chart in the Policies section.
37+
https://github.com/aboutcode-org/scancode.io/pull/1699
38+
39+
v34.11.0 (2025-05-02)
40+
---------------------
41+
42+
- Add a ``UUID`` field on the DiscoveredDependency model.
43+
Use the UUID for the DiscoveredDependency spdx_id for better SPDX compatibility.
44+
https://github.com/aboutcode-org/scancode.io/issues/1651
45+
46+
- Add MatchCode-specific functions to compute fingerprints from stemmed code
47+
files. Update CodebaseResource file content view to display snippet matches,
48+
if available, when the codebase has been sent for matching to MatchCode.
49+
https://github.com/aboutcode-org/scancode.io/pull/1656
50+
51+
- Add the ability to export filtered QuerySet of a FilterView into the JSON format.
52+
https://github.com/aboutcode-org/scancode.io/pull/1572
53+
54+
- Include ``ProjectMessage`` records in the JSON output ``headers`` section.
55+
https://github.com/aboutcode-org/scancode.io/issues/1659
56+
57+
v34.10.1 (2025-03-26)
58+
---------------------
59+
60+
- Convert the ``declared_license`` field value return by ``python-inspector`` in
61+
``resolve_pypi_packages``.
62+
Resolving requirements.txt files will now return proper license data.
63+
https://github.com/aboutcode-org/scancode.io/issues/1598
64+
65+
- Add support for installing on Apple Silicon (macOS ARM64) in dev mode.
66+
https://github.com/aboutcode-org/scancode.io/pull/1646
67+
68+
v34.10.0 (2025-03-21)
69+
---------------------
70+
71+
- Rename the ``docker``, ``docker_windows``, and ``root_filesystem`` modules to
72+
``analyze_docker``, ``analyze_docker_windows``, and ``analyze_root_filesystem``
73+
for consistency.
74+
75+
- Refine and document the Webhook system
76+
https://github.com/aboutcode-org/scancode.io/issues/1587
77+
* Add UI to add/delete Webhooks from the project settings
78+
* Add a new ``add-webhook`` management command
79+
* Add a ``add_webhook`` REST API action
80+
* Add a new ``SCANCODEIO_GLOBAL_WEBHOOK`` setting
81+
* Add a new chapter dedicated to Webhooks management in the documentation
82+
* Add support for custom payload dedicated to Slack webhooks
83+
84+
- Upgrade Bulma CSS library to version 1.0.2
85+
https://github.com/aboutcode-org/scancode.io/pull/1268
86+
87+
- Disable the creation of the global webhook in the ``batch-create`` command by default.
88+
The global webhook can be created by providing the ``--create-global-webhook`` option.
89+
A ``--no-global-webhook`` option was also added to the ``create-project`` command to
90+
provide the ability to skip the global webhook creation.
91+
https://github.com/aboutcode-org/scancode.io/pull/1629
92+
93+
- Add support for "Permission denied" file access in make_codebase_resource.
94+
https://github.com/aboutcode-org/scancode.io/issues/1630
95+
96+
- Refine the ``scan_single_package`` pipeline to work on git fetched inputs.
97+
https://github.com/aboutcode-org/scancode.io/issues/1376
98+
99+
v34.9.5 (2025-02-19)
5100
--------------------
6101

7102
- Add support for the XLSX report in REST API.
@@ -11,6 +106,18 @@ v34.9.5 (unreleased)
11106
Also, the Project labels are kept during reset.
12107
https://github.com/aboutcode-org/scancode.io/issues/1568
13108

109+
- Add aboutcode.pipeline as an install_requires external dependency to prevent conflicts
110+
with other aboutcode submodules.
111+
https://github.com/aboutcode-org/scancode.io/issues/1423
112+
113+
- Add a ``add-webhook`` management command that allows to add webhook subscription on
114+
a project.
115+
https://github.com/aboutcode-org/scancode.io/issues/1587
116+
117+
- Add proper progress logging for the ``assemble`` section of the
118+
``scan_for_application_packages``.
119+
https://github.com/aboutcode-org/scancode.io/issues/1601
120+
14121
v34.9.4 (2025-01-21)
15122
--------------------
16123

Dockerfile

Lines changed: 1 addition & 1 deletion
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"

Makefile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ VENV_LOCATION=.venv
2626
ACTIVATE?=. ${VENV_LOCATION}/bin/activate;
2727
MANAGE=${VENV_LOCATION}/bin/python manage.py
2828
VIRTUALENV_PYZ=etc/thirdparty/virtualenv.pyz
29+
PIP_ARGS=--find-links=./etc/thirdparty/dummy_dist
2930
# Do not depend on Python to generate the SECRET_KEY
3031
GET_SECRET_KEY=`head -c50 /dev/urandom | base64 | head -c50`
3132
# Customize with `$ make envfile ENV_FILE=/etc/scancodeio/.env`
@@ -51,11 +52,11 @@ virtualenv:
5152

5253
conf: virtualenv
5354
@echo "-> Install dependencies"
54-
@${ACTIVATE} pip install -e .
55+
@${ACTIVATE} pip install ${PIP_ARGS} --editable .
5556

5657
dev: virtualenv
5758
@echo "-> Configure and install development dependencies"
58-
@${ACTIVATE} pip install -e .[dev]
59+
@${ACTIVATE} pip install ${PIP_ARGS} --editable .[dev]
5960

6061
envfile:
6162
@echo "-> Create the .env file and generate a secret key"
@@ -79,6 +80,8 @@ check:
7980
@echo "-> Run Ruff format validation"
8081
@${ACTIVATE} ruff format --check
8182
@$(MAKE) doc8
83+
@echo "-> Run ABOUT files validation"
84+
@${ACTIVATE} about check --exclude .venv/ --exclude scanpipe/tests/ .
8285

8386
check-deploy:
8487
@echo "-> Check Django deployment settings"

RELEASE.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Release instructions for `ScanCode.io`
2+
3+
### Automated release workflow
4+
5+
- Create a new `release-x.x.x` branch
6+
- Update the version in:
7+
- `setup.cfg` (2 entries)
8+
- `scancodeio/__init__.py`
9+
- `CHANGELOG.rst` (set date)
10+
- Commit and push this branch
11+
- Create a PR and merge once approved
12+
- Tag and push that tag. This will trigger the `pypi-release.yml` GitHub workflow that
13+
takes care of building the dist release files and upload those to pypi:
14+
```
15+
VERSION=vx.x.x # <- Set the new version here
16+
git tag -a $VERSION -m ""
17+
git push origin $VERSION
18+
```
19+
- Review the GitHub release created by the workflow at
20+
https://github.com/aboutcode-org/scancode.io/releases
21+
22+
### Manual build
23+
24+
```
25+
cd scancode.io
26+
source .venv/bin/activate
27+
pip install build
28+
python -m build --sdist --wheel --outdir dist/ .
29+
```
30+
31+
The distribution files will be available in the local `dist/` directory.

aboutcode/pipeline/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## Release 0.2.1 (February 24, 2025)
4+
5+
* Include the ``optional_step`` steps in the ``get_graph()`` list.
6+
[Issue #1599](https://github.com/aboutcode-org/scancode.io/issues/1599)
7+
38
## Release 0.2.0 (November 21, 2024)
49

510
* Refactor the ``group`` decorator for pipeline optional steps as ``optional_step``.

0 commit comments

Comments
 (0)