Skip to content

Latest commit

 

History

History
123 lines (99 loc) · 6.42 KB

CHANGELOG.md

File metadata and controls

123 lines (99 loc) · 6.42 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased - ReleaseDate

0.6.1 - 2021-10-04

Added

  • PR#41 added a NOASSERTION license. Hopefully this will become part of spec in the future.

0.6.0 - 2021-08-16

Changed

  • PR#40 updated the SPDX license list from 3.11 => 3.14.

Fixed

  • PR#40 resolved #39 by taking the GFDL exceptional differences from all other licenses (include the other GNU ones) into account.

0.5.0 - 2021-07-20

Changed

  • PR#38 fixed various clippy lints which also bumps the MSRV to 1.53.0. Previously, PR#37 had bumped the MSRV to 1.52 so now this crate will check the MSRV so changes are intentional.
  • PR#38 replaced the unmaintained difference crate with similar-asserts.

0.4.1 - 2021-06-14

Changed

  • PR#37 removed the dependencies on regex and lazy_static used for parsing some license expression parts, which gives a nice compile speed up with no behavior changes. Thanks @Swagadon!

0.4.0 - 2021-03-26

Changed

  • Renamed LicenseItem::SPDX => LicenseItem::Spdx and Token::SPDX => Token::Spdx.

0.3.6 - 2021-02-12

Changed

  • Updated to version 3.11 of the SPDX license list

0.3.5 - 2021-02-12

Fixed

0.3.4 - 2020-03-04

Added

  • Added Expression::iter() which iterates over both the license requirements and the operators.

0.3.3 - 2020-02-29

Changed

  • Updated to version 3.8 of the SPDX license list

0.3.2 - 2020-01-29

Changed

  • PR#19 added the #[non_exhaustive] attribute to the new ParseMode enum, which bumped the minimum required Rust version to use this crate to 1.40. PR#21 removed this attribute as that enum is primarily an input for this crate, and had little benefit.

0.3.1 - 2020-01-28 (yanked)

Added

  • PR#19 Added ParseMode enum, which has a Lax variant that allows certain invvalid license identifiers found in some crates on crates.io, as well as the invalid / expression separator. Thanks @kornel!

0.3.0 - 2019-12-14

Added

  • Added LicenseId::is_gnu to indicate the GNU licenses (GPL, AGPL, LGPL, GFDL), which use a different suffix format than all other licenses
  • std::error::Error is now (properly) implemented for error::ParseError
  • LicenseReq not implements From<LicenseId>

Changed

  • Lexer and Token can now be reached via the lexer module
  • parser and expression are no longer part of the public API
  • IS_COPYLEFT, IS_DEPRECATED, IS_FSF_LIBRE, and IS_OSI_APPROVED are no longer part of the public API
  • The GFDL* licenses are now marked as copyleft

Fixed

  • When creating a LicenseReq from a GNU license, the license identifier is converted into its base form, eg. GPL-2.0-or-later becomes GPL-2.0+ so that the GNU style license identifiers can be used just the same as all of the other ones. See this issue

0.2.4 - 2019-11-25

Added

  • Impl Display for Licensee

0.2.3 - 2019-11-07

Changed

  • Updated the list of licenses to version 3.7 of the SPDX license list

0.2.2 - 2019-11-06

Added

  • Added LicenseId::full_name which is the full name for the license, eg "MIT License" for the "MIT" short identifier

0.2.1 - 2019-10-21

Added

0.2.0 - 2019-10-03

Added

  • Added a Expression which can parse and validate an SPDX license expression is both syntactically and semantically correct, as well as evaluate the expression via a user provided callback
  • Added an update exe for pulling new SDPX information, copied from https://github.com/rust-lang-nursery/license-exprs
  • Added support for some of the metadata available from the SPDX format, namely "IsDeprecated", "IsFSFLibre", and "IsOSIApproved"

Changed

  • Uhm...everything. I hope no one was using 0.1.0.
  • Use a better lexer, mostly copied from ehuss/license-exprs#29

0.1.0 - 2019-09-02

Added