Skip to content

Release 0.7.0: Support SPDX 2.3 (and other fixes)

Compare
Choose a tag to compare
@nicoweidner nicoweidner released this 08 Dec 10:49
· 729 commits to main since this release

New features and changes

  • Dropped Python 2 support. Python >= 3.6 is now required.
  • Added pyspdxtools_convertor and pyspdxtools_parser CLI scripts. See the readme for usage instructions.
  • Updated the tools to support SPDX versions up to 2.3 and to conform with the specification. Apart from many bugfixes
    and new properties, some of the more significant changes include:
    • Support for multiple packages per document
    • Support for multiple checksums for packages and files
    • Support for files outside a package
  • Removed example documents from production code. Added additional up-to-date examples to test files.
  • Introduced pytest as the preferred test framework.
  • Improved error message handling and display.
  • Extended the contribution guidelines.
  • Improved tag/value output structure.
  • Added .editorconfig and pyproject.toml.
  • Improved handling of JSON-specific properties documentDescribes and hasFiles.
  • Added new LicenseListVersion tag.
  • Fixed annotation handling for the JSON and Tag/Value formats.
  • Free form text values in Tag/Value no longer require <text> tags if they don't span multiple lines.

Limitations

  • Validation was updated to follow the 2.3 specification. Since there is currently no support for
    version-specific handling, some details may be handled incorrectly for documents using lower
    versions. The changes are mostly restricted to properties becoming optional and new property values becoming
    available, and should be of limited impact. See https://spdx.github.io/spdx-spec/v2.3/diffs-from-previous-editions/
    for a list of changes between the versions.
  • RDF support for 2.3 is not completed, see #295

Breaking changes

There are some breaking changes compared to the 0.6.1 release. Some classes were renamed, some were moved, and files are now saved at document-level instead of package-level. See https://github.com/spdx/tools-python/wiki/How-to-migrate-from-0.6.1-to-0.7.0 for a migration guide.

Contributors

This release was made possible by the following contributors. Thank you very much!