Skip to content

Commit abd87fb

Browse files
Merge pull request #4595 from aboutcode-org/support-py-314
Add python3.14 to test support
2 parents bb72b83 + 9e6ec75 commit abd87fb

File tree

25 files changed

+228
-118
lines changed

25 files changed

+228
-118
lines changed

.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.13", "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 }}

CHANGELOG.rst

Lines changed: 62 additions & 6 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,13 +49,33 @@ Next release
1349
- Replace unmaintained ``toml`` library with ``tomllib`` / ``tomli``.
1450
https://github.com/aboutcode-org/scancode-toolkit/issues/4532
1551

16-
- Add gibberish detection to copyright scanning. This is done using a
17-
2-character Markov chain. A new CLI command,
18-
``scancode-train-gibberish-model``, has been added to regenerate the model
19-
used by the detector.
20-
https://github.com/aboutcode-org/scancode-toolkit/pull/4610
21-
https://github.com/aboutcode-org/scancode-toolkit/issues/2402
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
2272

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
2379

2480
v32.4.1 - 2025-07-23
2581
--------------------

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``

azure-pipelines.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
parameters:
1616
job_name: core_tests
1717
image_name: ubuntu-24.04
18-
python_versions: ['3.13']
18+
python_versions: ['3.14']
1919
test_suites:
2020
misc_and_scancode: |
2121
# cli tests are launched below on all OSes
@@ -123,7 +123,7 @@ jobs:
123123
job_name: ubuntu24_cpython
124124
image_name: ubuntu-24.04
125125
python_architecture: x64
126-
python_versions: ['3.10', '3.11', '3.12', '3.13']
126+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
127127
test_suites:
128128
all: venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py --reruns 2
129129

@@ -132,15 +132,15 @@ jobs:
132132
job_name: ubuntu22_cpython
133133
image_name: ubuntu-22.04
134134
python_architecture: x64
135-
python_versions: ['3.10', '3.11', '3.12', '3.13']
135+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
136136
test_suites:
137137
all: venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py --reruns 2
138138

139139
- template: etc/ci/azure-posix.yml
140140
parameters:
141141
job_name: macos14_cpython
142142
image_name: macOS-14
143-
python_versions: ['3.10', '3.11', '3.12', '3.13']
143+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
144144
python_architecture: x64
145145
test_suites:
146146
all: venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py --reruns 2
@@ -159,7 +159,7 @@ jobs:
159159
job_name: win2022_cpython
160160
image_name: windows-2022
161161
python_architecture: x64
162-
python_versions: ['3.10', '3.11', '3.12', '3.13']
162+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
163163
test_suites:
164164
all: venv\Scripts\pytest -n 2 -vvs tests\scancode\test_cli.py --reruns 2
165165

@@ -172,7 +172,7 @@ jobs:
172172
parameters:
173173
job_name: ubuntu22_test_all_supported_click_versions
174174
image_name: ubuntu-22.04
175-
python_versions: ['3.10', '3.11', '3.12', '3.13']
175+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
176176
python_architecture: x64
177177
test_suites:
178178
click_versions: |
@@ -192,39 +192,39 @@ jobs:
192192
parameters:
193193
job_name: ubuntu22_cpython_latest_from_pip
194194
image_name: ubuntu-22.04
195-
python_versions: ['3.10', '3.11', '3.12', '3.13']
195+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
196196
test_suites:
197197
all: venv/bin/pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py
198198

199199
- template: etc/ci/azure-posix.yml
200200
parameters:
201201
job_name: ubuntu24_cpython_latest_from_pip
202202
image_name: ubuntu-24.04
203-
python_versions: ['3.10', '3.11', '3.12', '3.13']
203+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
204204
test_suites:
205205
all: venv/bin/pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py
206206

207207
- template: etc/ci/azure-posix.yml
208208
parameters:
209209
job_name: macos14_cpython_latest_from_pip
210210
image_name: macos-14
211-
python_versions: ['3.10', '3.11', '3.12', '3.13']
211+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
212212
test_suites:
213213
all: venv/bin/pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py
214214

215215
- template: etc/ci/azure-win.yml
216216
parameters:
217217
job_name: win2019_cpython_latest_from_pip
218218
image_name: windows-2025
219-
python_versions: ['3.10', '3.11', '3.12', '3.13']
219+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
220220
test_suites:
221221
all: venv\Scripts\pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv\Scripts\pytest -n 2 -vvs tests\scancode\test_cli.py
222222

223223
- template: etc/ci/azure-win.yml
224224
parameters:
225225
job_name: win2022_cpython_latest_from_pip
226226
image_name: windows-2022
227-
python_versions: ['3.10', '3.11', '3.12', '3.13']
227+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
228228
test_suites:
229229
all: venv\Scripts\pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv\Scripts\pytest -n 2 -vvs tests\scancode\test_cli.py
230230

configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ create_virtualenv() {
235235
fi
236236

237237
$PYTHON_EXECUTABLE "$VIRTUALENV_PYZ" \
238-
--wheel embed --pip embed --setuptools embed \
238+
--pip embed --setuptools embed \
239239
--seeder pip \
240240
--never-download \
241241
--no-periodic-update \

configure.bat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ if not exist "%CFG_BIN_DIR%\python.exe" (
116116

117117
if exist "%CFG_ROOT_DIR%\etc\thirdparty\virtualenv.pyz" (
118118
%PYTHON_EXECUTABLE% "%CFG_ROOT_DIR%\etc\thirdparty\virtualenv.pyz" ^
119-
--wheel embed --pip embed --setuptools embed ^
119+
--pip embed --setuptools embed ^
120120
--seeder pip ^
121121
--never-download ^
122122
--no-periodic-update ^
@@ -132,7 +132,7 @@ if not exist "%CFG_BIN_DIR%\python.exe" (
132132
)
133133
)
134134
%PYTHON_EXECUTABLE% "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\virtualenv.pyz" ^
135-
--wheel embed --pip embed --setuptools embed ^
135+
--pip embed --setuptools embed ^
136136
--seeder pip ^
137137
--never-download ^
138138
--no-periodic-update ^

0 commit comments

Comments
 (0)