Skip to content

Commit 344861a

Browse files
Update to scancode-toolkit v32.5.0 (#2000)
Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
1 parent 49fc3f4 commit 344861a

22 files changed

Lines changed: 315 additions & 288 deletions

.github/workflows/publish-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.13
20+
python-version: 3.14
2121

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

.github/workflows/publish-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.13
20+
python-version: 3.14
2121

2222
- name: Install pypa/build
2323
run: python -m pip install build --user

.github/workflows/run-unit-tests-macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
strategy:
2323
matrix:
24-
python-version: ["3.10", "3.11", "3.12", "3.13"]
24+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
2525

2626
steps:
2727
- name: Checkout code

.github/workflows/run-unit-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
strategy:
4040
max-parallel: 4
4141
matrix:
42-
python-version: ["3.10", "3.11", "3.12", "3.13"]
42+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
4343

4444
steps:
4545
- name: Checkout code

CHANGELOG.rst

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,46 @@ Docker Compose users with existing data: run `./migrate-pg13-to-17.sh` before st
77
the stack.
88
Fresh installations require no action.
99

10+
v36.1.0 (2026-01-22)
11+
--------------------
12+
13+
- Bump to latest scancode-toolkit v32.5.0 with:
14+
* package and license detection performance improvement
15+
* python3.14 support with updated dependencies
16+
* improved copyright, license and package detection
17+
For more details see https://github.com/aboutcode-org/scancode-toolkit/releases/tag/v32.5.0
18+
https://github.com/aboutcode-org/scancode.io/pull/2000
19+
20+
- Support python3.14
21+
https://github.com/aboutcode-org/scancode.io/pull/2000
22+
23+
- Update to scancode-toolkit v32.4.1
24+
https://github.com/aboutcode-org/scancode.io/pull/1984
25+
For more details see https://github.com/aboutcode-org/scancode-toolkit/releases/tag/v32.4.1
26+
27+
- Store the whole vulnerability data from cdx to local models
28+
https://github.com/aboutcode-org/scancode.io/pull/2007
29+
30+
- Add project vulnerability list view
31+
https://github.com/aboutcode-org/scancode.io/pull/2018
32+
33+
- Update minecode-pipelines to latest v0.1.1
34+
https://github.com/aboutcode-org/scancode.io/pull/2013
35+
36+
- Refine d2d pipelines with misc improvements
37+
https://github.com/aboutcode-org/scancode.io/pull/1996
38+
https://github.com/aboutcode-org/scancode.io/pull/1995
39+
https://github.com/aboutcode-org/scancode.io/pull/1999
40+
https://github.com/aboutcode-org/scancode.io/pull/2021
41+
42+
- Sanitize ORT package IDs to handle colons in versions
43+
https://github.com/aboutcode-org/scancode.io/pull/2005
44+
45+
- Restructure docs and README
46+
https://github.com/aboutcode-org/scancode.io/pull/2032
47+
48+
49+
1050
v36.0.1 (2025-12-09)
1151
--------------------
1252

pyproject.toml

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "scancodeio"
7-
version = "36.0.1"
7+
version = "36.1.0"
88
description = "Automate software composition analysis pipelines"
99
readme = "README.rst"
10-
requires-python = ">=3.10,<3.14"
10+
requires-python = ">=3.10"
1111
license = "Apache-2.0"
1212
license-files = ["LICENSE", "NOTICE", "scan.NOTICE"]
1313
authors = [
@@ -30,6 +30,7 @@ classifiers = [
3030
"Programming Language :: Python :: 3.11",
3131
"Programming Language :: Python :: 3.12",
3232
"Programming Language :: Python :: 3.13",
33+
"Programming Language :: Python :: 3.14",
3334
"Topic :: Utilities"
3435
]
3536

@@ -56,26 +57,23 @@ dependencies = [
5657
# WSGI server
5758
"gunicorn==23.0.0",
5859
# Docker
59-
"container-inspector==33.0.0",
60+
"container-inspector==33.1.0",
6061
# ScanCode-toolkit
61-
"scancode-toolkit[packages]==32.4.1",
62+
"scancode-toolkit[packages]==32.5.0",
6263
"extractcode[full]==31.0.0",
63-
"commoncode==32.3.0",
64+
"commoncode==32.4.2",
6465
"Beautifulsoup4[chardet]==4.13.4",
6566
"packageurl-python==0.17.6",
66-
# Workaround issue https://github.com/aboutcode-org/scancode.io/issues/1795
67-
"fingerprints==1.2.3",
68-
"normality==2.6.1",
6967
# FetchCode
7068
"fetchcode==0.8.0",
7169
"fetchcode-container==1.2.3.210512; sys_platform == 'linux'",
7270
# Inspectors
7371
"elf-inspector==0.0.3",
7472
"go-inspector==0.5.0",
75-
"rust-inspector==0.1.0",
76-
"binary-inspector==0.1.2",
73+
"rust-inspector==0.2.1",
74+
"binary-inspector==0.2.0",
7775
"python-inspector==0.15.0",
78-
"source-inspector==0.7.0; sys_platform != 'darwin' and platform_machine != 'arm64'",
76+
"source-inspector==0.7.1; sys_platform != 'darwin' and platform_machine != 'arm64'",
7977
"aboutcode-toolkit==11.1.1",
8078
# Utilities
8179
"XlsxWriter==3.2.9",
@@ -101,9 +99,7 @@ dependencies = [
10199
# AboutCode pipeline
102100
"aboutcode.pipeline==0.2.1",
103101
# ScoreCode
104-
"scorecode==0.0.4",
105-
# Workaround issue https://github.com/aboutcode-org/scancode.io/issues/1885
106-
"click==8.2.1"
102+
"scorecode==0.0.4"
107103
]
108104

109105
[project.optional-dependencies]

scancodeio/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
import git
3030

31-
VERSION = "36.0.1"
31+
VERSION = "36.1.0"
3232

3333
PROJECT_DIR = Path(__file__).resolve().parent
3434
ROOT_DIR = PROJECT_DIR.parent

scanpipe/pipelines/analyze_root_filesystem.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,11 @@ def flag_uninteresting_codebase_resources(self):
9494

9595
def scan_for_application_packages(self):
9696
"""Scan unknown resources for packages information."""
97-
scancode.scan_for_application_packages(self.project, progress_logger=self.log)
97+
scancode.scan_for_application_packages(
98+
project=self.project,
99+
compiled=True,
100+
progress_logger=self.log,
101+
)
98102

99103
def match_not_analyzed_to_system_packages(self):
100104
"""

scanpipe/pipelines/inspect_packages.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ class InspectPackages(ScanCodebase):
4141
https://scancode-toolkit.readthedocs.io/en/stable/reference/available_package_parsers.html
4242
"""
4343

44+
scan_binaries = False
45+
4446
@classmethod
4547
def steps(cls):
4648
return (
@@ -49,10 +51,19 @@ def steps(cls):
4951
cls.collect_and_create_codebase_resources,
5052
cls.flag_empty_files,
5153
cls.flag_ignored_resources,
54+
cls.scan_binaries_for_package,
5255
cls.scan_for_application_packages,
5356
cls.resolve_dependencies,
5457
)
5558

59+
@optional_step("Compiled")
60+
def scan_binaries_for_package(self):
61+
"""
62+
Scan compiled binaries for package and dependency related data'
63+
Currently supported compiled binaries: Go, Rust.
64+
"""
65+
self.scan_binaries = True
66+
5667
def scan_for_application_packages(self):
5768
"""
5869
Scan resources for package information to add DiscoveredPackage
@@ -61,6 +72,7 @@ def scan_for_application_packages(self):
6172
scancode.scan_for_application_packages(
6273
project=self.project,
6374
assemble=True,
75+
compiled=self.scan_binaries,
6476
package_only=True,
6577
progress_logger=self.log,
6678
)

scanpipe/pipes/docker.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ def extract_image_from_tarball(input_tarball, extract_target, verify=False):
8282
target_dir=extract_target,
8383
skip_symlinks=False,
8484
as_events=False,
85+
tar_filter="tar",
8586
)
8687
images = Image.get_images_from_dir(
8788
extracted_location=str(extract_target),
@@ -126,6 +127,7 @@ def extract_layers_from_images_to_base_path(base_path, images):
126127
target_dir=extract_target,
127128
skip_symlinks=False,
128129
as_events=False,
130+
tar_filter="tar",
129131
)
130132
errors.extend(extract_errors)
131133
layer.extracted_location = str(extract_target)

0 commit comments

Comments
 (0)