Skip to content

0.11.0

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 08 Aug 13:00
· 5 commits to main since this release

Changed

  • PR#78 removed ParseMode::allow_lower_case_operators, newer revisions of the SPDX spec allow all lower-case operators, making the option pointless.
  • PR#78 added ParseMode::allow_deprecated, which will cause an error if a deprecated license identifier is used, false in LAX and true in STRICT.
  • PR#78 changed the various imprecise names for GPL licenses to be mapped to the non-deprecated -only versions.
  • PR#78 Expression::canonicalize now always changes GNU licenses to be -only or -or-later as the bare identifiers are deprecated.

Added

  • PR#78 added LicenseId::version to retrieve the numeric version of the license if it has one.
  • PR#78 added LicenseId::base to retrieve the base name of the license.
  • PR#78 added gnu_license_id which attempts to retrieve the license id for a GNU license from its base identifier. This retrieves the -only or -or-later license that matches.
  • PR#78 added Licensee::parse_mode, Licensee::parse now forwards to that function with ParseMode::STRICT.
  • PR#78 added Reason::GnuPlusWithSuffix and Reason::DeprecatedLicenseId as errors.

Fixed

  • PR#78 fixed an issue where Licensee::satisfies would not properly allow some licenses if the version was not at the end when using a +, notably the BSD licenses have the version in the middle of the license id.
  • PR#78 fixed the handling of GNU licenses in Licensee::satisfies, at least to my best understanding.
    Licensee GPL-1.0-only GPL-1.0-or-later GPL-2.0-only GPL-2.0-or-later GPL-3.0-only GPL-3.0-or-later
    GPL-1.0-only βœ… βœ… ❌ ❌ ❌ ❌
    GPL-1.0-or-later βœ… βœ… ❌ ❌ ❌ ❌
    GPL-2.0-only ❌ βœ… βœ… βœ… ❌ ❌
    GPL-2.0-or-later ❌ βœ… βœ… βœ… ❌ ❌
    GPL-3.0-only ❌ βœ… ❌ βœ… βœ… βœ…
    GPL-3.0-or-later ❌ βœ… ❌ βœ… βœ… βœ