Skip to content

Commit c578475

Browse files
Merge branch 'develop' into update-licenses
2 parents e2a90c7 + d320c97 commit c578475

245 files changed

Lines changed: 131926 additions & 2903 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/docs-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
max-parallel: 4
1414
matrix:
15-
python-version: [3.13]
15+
python-version: [3.14]
1616

1717
steps:
1818
- name: Checkout code

.github/workflows/scancode-release.yml

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
strategy:
3535
fail-fast: true
3636
matrix:
37-
pyver: ["3.10", "3.11", "3.12", "3.13"]
37+
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]
3838

3939
steps:
4040
- uses: actions/checkout@v4
@@ -74,7 +74,7 @@ jobs:
7474
- name: Set up Python
7575
uses: actions/setup-python@v5
7676
with:
77-
python-version: "3.13"
77+
python-version: "3.14"
7878

7979
- name: Install requirements then build main and mini sdist
8080
run: etc/release/scancode-create-pypi-sdist.sh
@@ -100,7 +100,7 @@ jobs:
100100
strategy:
101101
fail-fast: true
102102
matrix:
103-
pyver: ["3.10", "3.11", "3.12", "3.13"]
103+
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]
104104

105105
steps:
106106
- uses: actions/checkout@v4
@@ -135,7 +135,7 @@ jobs:
135135
strategy:
136136
fail-fast: true
137137
matrix:
138-
pyver: ["3.10", "3.11", "3.12", "3.13"]
138+
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]
139139

140140
steps:
141141
- uses: actions/checkout@v4
@@ -170,7 +170,7 @@ jobs:
170170
strategy:
171171
fail-fast: true
172172
matrix:
173-
pyver: ["3.10", "3.11", "3.12", "3.13"]
173+
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]
174174

175175
steps:
176176
- uses: actions/checkout@v4
@@ -211,7 +211,7 @@ jobs:
211211
- name: Set up Python
212212
uses: actions/setup-python@v5
213213
with:
214-
python-version: "3.13"
214+
python-version: "3.14"
215215

216216
- name: Build source archive with deps
217217
run: etc/release/scancode-create-release-app-sources.sh
@@ -239,8 +239,8 @@ jobs:
239239
strategy:
240240
fail-fast: true
241241
matrix:
242-
os: [ubuntu-24.04, ubuntu-24.04, macos-13, macos-14]
243-
pyver: ["3.10", "3.11", "3.12", "3.13"]
242+
os: [ubuntu-24.04, ubuntu-24.04, macos-14, macos-15]
243+
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]
244244

245245
steps:
246246
- uses: actions/checkout@v4
@@ -286,7 +286,7 @@ jobs:
286286
fail-fast: true
287287
matrix:
288288
os: [windows-2025, windows-2022]
289-
pyver: ["3.10", "3.11", "3.12", "3.13"]
289+
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]
290290

291291
steps:
292292
- uses: actions/checkout@v4
@@ -331,7 +331,7 @@ jobs:
331331
fail-fast: true
332332
matrix:
333333
os: [ubuntu-24.04, ubuntu-24.04]
334-
pyver: ["3.10", "3.11", "3.12", "3.13"]
334+
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]
335335

336336
steps:
337337
- uses: actions/checkout@v4
@@ -375,8 +375,8 @@ jobs:
375375
strategy:
376376
fail-fast: true
377377
matrix:
378-
os: [macos-13, macos-14]
379-
pyver: ["3.10", "3.11", "3.12", "3.13"]
378+
os: [macos-14, macos-15]
379+
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]
380380

381381
steps:
382382
- uses: actions/checkout@v4
@@ -421,7 +421,7 @@ jobs:
421421
fail-fast: true
422422
matrix:
423423
os: [windows-2025, windows-2022]
424-
pyver: ["3.10", "3.11", "3.12", "3.13"]
424+
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]
425425

426426
steps:
427427
- uses: actions/checkout@v4
@@ -493,6 +493,12 @@ jobs:
493493
name: macos_app_py_3.13
494494
path: dist
495495

496+
- name: Download a single artifact macos_app for python 3.14
497+
uses: actions/download-artifact@v4
498+
with:
499+
name: macos_app_py_3.14
500+
path: dist
501+
496502
- name: Download a single artifact linux_app for python 3.10
497503
uses: actions/download-artifact@v4
498504
with:
@@ -517,6 +523,12 @@ jobs:
517523
name: linux_app_py_3.13
518524
path: dist
519525

526+
- name: Download a single artifact linux_app for python 3.14
527+
uses: actions/download-artifact@v4
528+
with:
529+
name: linux_app_py_3.14
530+
path: dist
531+
520532
- name: Download a single artifact windows_app for python 3.10
521533
uses: actions/download-artifact@v4
522534
with:
@@ -541,6 +553,12 @@ jobs:
541553
name: windows_app_py_3.13
542554
path: dist
543555

556+
- name: Download a single artifact windows_app for python 3.14
557+
uses: actions/download-artifact@v4
558+
with:
559+
name: windows_app_py_3.14
560+
path: dist
561+
544562
- name: Mock GH release
545563
run: |
546564
ls -al dist
@@ -561,19 +579,22 @@ jobs:
561579
- smoke_test_install_and_run_pypi_wheels_on_posix
562580
- publish_to_gh_release
563581
runs-on: ubuntu-24.04
582+
environment: pypi-publish
583+
permissions:
584+
id-token: write
564585
defaults:
565586
run:
566587
shell: bash
567588
strategy:
568589
fail-fast: false
569590
matrix:
570-
dist_names: ["wheels-3.10", "wheels-3.11", "wheels-3.12", "wheels-3.13", sdists]
591+
dist_names: ["wheels-3.10", "wheels-3.11", "wheels-3.12", "wheels-3.13", "wheels-3.14", "sdists"]
571592

572593
steps:
573594
- name: Set up Python
574595
uses: actions/setup-python@v5
575596
with:
576-
python-version: 3.13
597+
python-version: 3.14
577598

578599
- name: Download a single artifact
579600
uses: actions/download-artifact@v4
@@ -587,5 +608,3 @@ jobs:
587608
588609
- name: Publish distributions to PyPI
589610
uses: pypa/gh-action-pypi-publish@release/v1
590-
with:
591-
password: ${{ secrets.PYPI_API_TOKEN }}

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,3 +116,7 @@ selenium
116116
rpmdb.sqlite-*
117117
/.ruff_cache/
118118
.env
119+
120+
# Ignore gibberish detector model, this is trained on configure and build and
121+
# should not be committed
122+
gib_model.pki

CHANGELOG.rst

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,42 @@ Changelog
44
Next release
55
--------------
66

7+
v3.5.0 - 2026-01-15
8+
-------------------
9+
10+
- Improve package scan performance by:
11+
12+
- Skipping binary package detection steps by default,
13+
and introducing a new CLI option ``--package-in-compiled``
14+
to detect packages in compiled binaries like rust/go binaries
15+
Note: previously these were detected in ``--package`` CLI
16+
option directly but this is no longer the case, you've to
17+
use the new ``--package-in-compiled`` to detect packages
18+
from go/rust and other binaries
19+
20+
- Creating cached regex patterns and multiregex pre-matchers,
21+
for a fast package path detection filtering step
22+
23+
https://github.com/aboutcode-org/scancode-toolkit/pull/4606
24+
25+
- Add gibberish detection to copyright scanning. This is done using a
26+
2-character Markov chain. A new CLI command,
27+
``scancode-train-gibberish-model``, has been added to regenerate the model
28+
used by the detector.
29+
https://github.com/aboutcode-org/scancode-toolkit/pull/4610
30+
https://github.com/aboutcode-org/scancode-toolkit/issues/2402
31+
32+
- Use a cython implementation of sequence matcher to improve
33+
license detection performance
34+
https://github.com/aboutcode-org/scancode-toolkit/pull/4500
35+
36+
- Add python3.14 support in scancode
37+
https://github.com/aboutcode-org/scancode-toolkit/pull/4595
38+
https://github.com/aboutcode-org/scancode-toolkit/issues/4541
39+
40+
- Always print license references table in html output
41+
https://github.com/aboutcode-org/scancode-toolkit/pull/4474
42+
743
- Enable License References table for HTML Output without requiring
844
`--license-references` by implementing a fallback license reference
945
collection based on the behavior of v32.0.0.
@@ -13,6 +49,34 @@ Next release
1349
- Replace unmaintained ``toml`` library with ``tomllib`` / ``tomli``.
1450
https://github.com/aboutcode-org/scancode-toolkit/issues/4532
1551

52+
- Pin fingerprints and normality to avoid pyicu
53+
https://github.com/aboutcode-org/scancode-toolkit/issues/4493
54+
55+
- Fix click compatibility issues and failures
56+
https://github.com/aboutcode-org/scancode-toolkit/issues/4572
57+
58+
- Remove deprecated ast module attributes
59+
https://github.com/aboutcode-org/scancode-toolkit/pull/4539
60+
61+
- Fix cargo scanning failures
62+
https://github.com/aboutcode-org/scancode-toolkit/issues/4581
63+
64+
- Reorg and improve docs user experience
65+
https://github.com/aboutcode-org/scancode-toolkit/pull/4629
66+
67+
- Handle is_private strings in npm properly
68+
https://github.com/aboutcode-org/scancode-toolkit/pull/4635
69+
70+
- Restructure README docs
71+
https://github.com/aboutcode-org/scancode-toolkit/pull/4667
72+
73+
- Add new licenses, license rules and misc license detection
74+
improvements
75+
https://github.com/aboutcode-org/scancode-toolkit/pull/4562
76+
https://github.com/aboutcode-org/scancode-toolkit/pull/4674
77+
https://github.com/aboutcode-org/scancode-toolkit/pull/4666
78+
https://github.com/aboutcode-org/scancode-toolkit/pull/4622
79+
1680
v32.4.1 - 2025-07-23
1781
--------------------
1882

CONTRIBUTING.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Every little bit helps, and a credit will always be given.
99
__ issues_
1010

1111
If you are new to ScanCode and want to find easy tickets to work on,
12-
check `easy issues <https://github.com/nexB/scancode-toolkit/labels/easy>`_
12+
check `good first issues <https://github.com/nexB/scancode-toolkit/labels/easy>`_
1313

1414
When contributing to ScanCode (such as code, bugs, documentation, etc.) you
1515
agree to the Developer `Certificate of Origin <http://developercertificate.org/>`_
@@ -85,7 +85,7 @@ template. Your help and contribution make ScanCode docs better, we love hearing
8585

8686
The ScanCode documentation is hosted at `scancode-toolkit.readthedocs.io <https://scancode-toolkit.readthedocs.io/en/latest/>`_.
8787

88-
If you want to contribute to Scancode Documentation, you'll find `this guide here <https://scancode-toolkit.readthedocs.io/en/latest/contribute/contrib_doc.html>`_ helpful.
88+
If you want to contribute to Scancode Documentation, you'll find `this guide here https://scancode-toolkit.readthedocs.io/en/latest/getting-started/contribute/contributing-docs.html`_ helpful.
8989

9090
Development
9191
===========

Dockerfile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,13 @@ WORKDIR /scancode-toolkit
3838
COPY . /scancode-toolkit
3939

4040
# Initial configuration using ./configure, scancode-reindex-licenses to build
41-
# the base license index
41+
# the base license index, scancode-reindex-package-patterns to build the package
42+
# patterns cache, and scancode-train-gibberish-model to train the Markov chain
43+
# model used for gibberish detection.
4244
RUN ./configure \
43-
&& ./venv/bin/scancode-reindex-licenses
45+
&& ./venv/bin/scancode-reindex-licenses \
46+
&& ./venv/bin/scancode-reindex-package-patterns \
47+
&& ./venv/bin/scancode-train-gibberish-model
4448

4549
# Add scancode to path
4650
ENV PATH=/scancode-toolkit:$PATH

INSTALL.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Prerequisites
1616
-------------
1717

1818
Before installing ScanCode make sure you have installed these prerequisites.
19-
The main one is to have Python installed version 3.10, 3.11, 3.12 or 3.13.
19+
The main one is to have Python installed version 3.10, 3.11, 3.12, 3.13 or 3.14.
2020

2121
- For Linux(Ubuntu):
2222
``sudo apt install python3.10-dev bzip2 xz-utils zlib1g libxml2-dev libxslt1-dev``

0 commit comments

Comments
 (0)