Skip to content

Releases: aboutcode-org/scancode-toolkit

v33.0.0rc1

19 May 20:09
Immutable release. Only release title and notes can be modified.
v33.0.0rc1
f209798

Choose a tag to compare

v33.0.0rc1 Pre-release
Pre-release

This is a major release candidate with major changes in packaging,
with the licensedcode-data and licensedcode-index being published
in two seperate wheels. Also adds linux/macos ARM support in
release archives and pypi wheels.

  • Remove the licensedcode data and built license indexes from the
    main scancode-toolkit built wheel, and release them as
    seperate wheels which scancode-toolkit depends on.
    This enables to release scancode licensedb data/index wheels
    seperately whenever necessary and also reduces the scancode
    wheel size greatly. For more details see:
    #3459

  • Add macos ARM and linux arm support in release archives and
    pypi wheels through scancode-toolkit-mini which uses
    system provided libraries instead of bundled binaries.
    Also use updated non pure-python dependencies supporting
    linux/macos arm wheels. For more details see:
    #3205
    #3958

  • Add new and updates licenses, and license rules, including
    support for the SPDX License List 3.28
    #4956

  • Add support for the Python UV package manager. Two new package data
    handlers parse pyproject.toml files containing a [tool.uv] table
    and uv.lock lockfiles, including PEP 735 [dependency-groups],
    and the package assembly walks both files together so that the project
    metadata and the resolved transitive dependencies are reported as a
    single Python package.
    #4501

What's Changed

New Contributors

Full Changelog: v32.5.0...v33.0.0rc1

v32.5.0

15 Jan 23:39
v32.5.0
abd87fb

Choose a tag to compare

This is a minor scancode release with:

  • license, package detection performance improvements

  • better copyright, license and package detection

  • python3.14 support, and removed python3.9 wheels

  • Improve package scan performance by:

    • Skipping binary package detection steps by default,
      and introducing a new CLI option --package-in-compiled
      to detect packages in compiled binaries like rust/go binaries
      Note: previously these were detected in --package CLI
      option directly but this is no longer the case, you've to
      use the new --package-in-compiled to detect packages
      from go/rust and other binaries

    • Creating cached regex patterns and multiregex pre-matchers,
      for a fast package path detection filtering step

    #4606

  • Add gibberish detection to copyright scanning. This is done using a
    2-character Markov chain. A new CLI command,
    scancode-train-gibberish-model, has been added to regenerate the model
    used by the detector.
    #4610
    #2402

  • Use a cython implementation of sequence matcher to improve
    license detection performance
    #4500

  • Add python3.14 support in scancode
    #4595
    #4541

  • Always print license references table in html output
    #4474

  • Enable License References table for HTML Output without requiring
    --license-references by implementing a fallback license reference
    collection based on the behavior of v32.0.0.
    #4474
    #4101

  • Replace unmaintained toml library with tomllib / tomli.
    #4532

  • Pin fingerprints and normality to avoid pyicu
    #4493

  • Fix click compatibility issues and failures
    #4572

  • Remove deprecated ast module attributes
    #4539

  • Fix cargo scanning failures
    #4581

  • Reorg and improve docs user experience
    #4629

  • Handle is_private strings in npm properly
    #4635

  • Restructure README docs
    #4667

  • Add new licenses, license rules and misc license detection
    improvements
    #4562
    #4674
    #4666
    #4622

What's Changed

New Contributors

Full Changelog: v32.4.1...v32.5.0

v32.4.1

23 Jul 11:19
v32.4.1
9c43698

Choose a tag to compare

This is a patch release with misc bugfixes and improvements:

What's Changed

New Contributors

Full Changelog: v32.4.0...v32.4.1

v32.4.0

26 Jun 20:04
v32.4.0
c0ce98b

Choose a tag to compare

Note: The scancode app archives were broken for this release, please use the next release: v32.4.1 or later where this issue is fixed. See #4469 for more details.

This is a feature release with:

  • python 3.13 support
  • support added for adding required phrases to rules automatically
  • misc license and package detection improvements
  • new and updated license detection rules and new licenses
  • misc bugfixes, dependency and documentation updates

There are new data attributes, and we have a output format version bump
from 4.0.0 to 4.1.0. The changes in Output Data Structure are:

  • A new resource level attribute sha1_git is added, which has
    the corresponding checksum value for files, and is empty for
    directories. This is returned optionally with the --info plugin.

  • A new resource level attribute is_community is added, which is
    True from commonly used files used for community/project maintainence.
    This is returned optionally with the --classify plugin.

These are the details for the most important changes introduced::

  • Add support for adding required phrases in rules automatically using
    some console scripts and CLI options using already marked required
    phrases for the same license-expression and license field attributes
    The new console scripts are:

    • add-required-phrases to add required phrases from other rules or
      license attributes
    • gen-new-required-phrases-rules to add required phrase rules for
      marked required phrase in rules
      This improves detection accuracy and reduces false positives.
      #3924
      #4237
      #4241
  • Default value of processes used for scancode scans is changed from
    1 to N-1, where N is the number of CPU processes available in the
    system. #4104

  • Also return sha1_git checksums for each files with --info plugin.
    #624

  • Equivalent words like license and licence, as well as plurals are
    now treated as the same in license detection. With this,
    many redundant rules have been deprecated.
    #4215

  • Support running scancode with python3.13
    Update and use latest native dependencies with py3.13 support,
    update and test py3.13 usage in CI and other scripts, and
    update other third-party dependencies, use latest skeleton
    #4430

  • Misc license detection improvements, new licenses and license
    detection rules.
    #4261
    #4412
    #4405
    #4278
    #4093

  • Fix an issues where pip install scancode-toolkit was failing
    because of a compatibility issue with Click
    #4427

Note: scancode-toolkit-mini could not be published because of pypi limits, tracked in #4452

What's Changed

New Contributors

Full Changelog: v32.3.3...v32.4.0

v32.3.3

06 Mar 15:11
e0db4dd

Choose a tag to compare

This is a patch release with license and package detection improvements, bugfixes and with new and updated license detection rules and new licenses added.

  • Add new and updated licenses and license rules #4165 #3819
  • Bump commoncode to v32.2.1 and pin bs4 to fix copyright scan issues #4149 #4176
  • Refactor and fix package assembly for pypi installed wheels and fix pypi manifest parsing #4171

What's Changed

Full Changelog: v32.3.2...v32.3.3

v32.3.2

20 Jan 19:53
e795bc6

Choose a tag to compare

This is a patch release with license and package detection
improvements, bugfixes and with new and updated license detection rules
and new licenses added.

Bugfixes:

  • Fix package resource assignment for JAVA jars in scancode.io #3983
  • Fix missing spdx license expression in license detections #4015
  • Enforce --path as a required parameter for scancode-license-data
    console script. #4024
  • Fix conda environment.yaml parsing errors. #4078
  • Fix npm package parsing bug for packages with workspaces. aboutcode-org/scancode.io#1521

New features/licenses:

What's Changed

New Contributors

  • @lyr-ast made their first contribution in #4029

Full Changelog: v32.3.1...v32.3.2

v32.3.1

06 Jan 17:09
1d0fe75

Choose a tag to compare

This is a minor release with license and package detection
improvements, bugfixes and with new and updated license detection rules
and new licenses added.

  • We can now collect packages from a Rust binary using rust-inspector
    for rust binaries built with cargo-auditable(Linux-only)
    Also adds a plugin for colelcting rust symbols with the option
    --rust-symbol. See the initial release for more info:
    https://github.com/aboutcode-org/rust-inspector/releases/tag/v0.1.0
    #4043

  • Improves and adds bugfixes for package detection in conda and npm.
    #4073

  • Updates go-inspector to v0.5.0 . GoReSym is now built from source and has
    been updated to v3.0.1. #3972

  • Adds new and updated licenses, license detection rules.
    #3963

  • Adds the latest license-expression with an updated licenseDB.
    #3960

What's Changed

New Contributors

Full Changelog: v32.3.0...v32.3.1

v32.3.0

21 Oct 07:07
6e42937

Choose a tag to compare

Major API/other changes:

  • Output Format Version updated to 4.0.0 (major version bump)
  • Dependency attribute rename: is_resolved renamed to is_pinned See #3888 for more details.
  • License Match attribute rename: spdx_license_expression is renamed to license_expression_spdx.

Changes in Output Data Structure:

  • The data structure of the JSON output has changed for: - dependencies at file level package_data, and at top-level. - license matches at file level or unique codebase level license detections Note that the change is a modification to the JSON output, so we have a major version bump 3.2.0 to 4.0.0:
  • Dependency attribute is_resolved renamed to is_pinned
  • LicenseMatch attribute spdx_license_expression renamed to license_expression_spdx

What's Changed

New Contributors

Full Changelog: v32.2.1...v32.3.0

v32.2.1

01 Jul 19:55
e26187a

Choose a tag to compare

This is a minor release with updated package and copyright detection support.

  • Add support for parsing resolved packages and dependency relationships
    from nuget lockfile packages.lock.json.
    See #3825

  • Add support for parsing resolved packages and dependency relationships
    from cocoapods lockfile Podfile.lock.
    See #3827

  • Add support for parsing packages and dependency relationships
    from swift swift-show-dependencies.deplock generated by DepLock.
    See #3829

  • Add support for pip-inspect.deplock files to parse and store
    resolved packages and dependency relationships, to statically
    resolve a python dependency graph.
    See aboutcode-org/scancode.io#1262

  • Add support for poetry packages, with poetry specific pyproject.toml
    support, poetry.lock and package assembly support. Also add support
    for parsing and storing resolved packages and dependency relationships
    required to statically resolve poetry dependecy graphs.
    See #2109

  • Add support for pyproject.toml files in python projects.
    See #3753

  • More improved copyright detection, see
    #3752

  • scancode-toolkit is now installable from the fedora repo.
    See #3824

What's Changed

New Contributors

Full Changelog: v32.2.0...v32.2.1

v32.2.0

20 Jun 14:02
c326a0b

Choose a tag to compare

Major API changes/output data structure changes:

  • Output Format Version updated to 3.2.0 (minor version bump)
  • SPDX License List support for 3.24.0
  • New attribute in top level packages and resource level package_data:
    • is_direct
  • New attribute in top level dependencies and resource package_data level dependencies:
    • is_virtual
    • is_private

New changes:

  • New and improved package/dependency data:

    • Added new attribute in DependentPackage is_direct to aid
      package resolution and dependency graph creation.
    • Added new attributes in PackageData: is_private and
      is_virtual. #3102 #3811
      #3779
  • Improved javascript package detection:

    • Add support for pnpm manifests and lockfiles #3766
    • Add support for npm, pnpm and yarn workspaces #3746
    • Improve resolved package and dependencies support in lockfiles for
      yarn.lock, package-lock.json, and pnpm. #3780
    • Add support for private packages. #3120
    • Add support for new dependency scopes across javascript
    • Lots of misc bugfixes in yarn and npm parsers.
      #3779
  • Improve cargo package detection support with various improvements
    and bugfixes:

    • Fix for parser crashing on cargo workspaces
    • Fix a bug in dependency parsing (we were not returning any dependencies)
    • Also support getting dependency versions from workspace
    • Support more attributes from cargo
    • Better handle workspace data thorugh extra_data attribute
      See #3783
  • We now support parsing the Swift manifest JSON dump and the
    Package.resolved file #2657.
    Run the command below on your local Swift project before running the scan:
    `swift package dump-package > Package.swift.json && swift package resolve``

  • New and updated licenses, including support for newly released
    SPDX license list versions:

    • SPDX License List 3.24:
      This release of the SPDX license list had 25 new licenses
      and exceptions, and out of them 12 were present as licenses
      and 5 were present as rules already. There were 3 new
      license/exception texts added, and the rest 5 were either
      texts with small variations, additions to texts or several
      rule texts together. And the rest have been added as new licenses.
      For more details see #3795

    • More new licenses and rules:

      • 23 new licenses in #3778

What's Changed

New Contributors

Full Changelog: v32.1.0...v32.2.0