Skip to content

Releases: EmbarkStudios/cargo-deny

0.18.9

08 Dec 13:38

Choose a tag to compare

Fixed

  • PR#817 resolved #816 by making most license integration tests just return success if I or CI am not the one running them.

0.18.8

03 Dec 15:47

Choose a tag to compare

Fixed

  • PR#814 now allows deprecated license identifiers if they are detected from text, which was broken in 0.18.7. Additionally, when a GNU license (GPL, AGPL, LGPL, GFDL) license is detected, it is always detected as the -or-later variant, arbitrarily chosen as it is impossible to distinguish between the variants for a particular license version. This means if the license detected is actually wrong (eg. GPL-3.0-or-later is detected when the code is actually licensed under GPL-3.0-only), the license should instead be clarified to the correct one. Resolves #813.

0.18.7

02 Dec 08:59

Choose a tag to compare

Changed

  • PR#812 updated spdx to 0.13, allowing cargo-deny to remove the askalono dependency but still support license detection.

0.18.6

24 Nov 10:21

Choose a tag to compare

Fixed

  • PR#805 updated rustsec to 0.31, resolving #804.
  • PR#810 resolved #809 by printing the crate name and version when its manifest does not contain a license expression.

Added

  • PR#807 added the unused-license-exception option to configure the lint level, resolving #806.

Changed

0.18.5

22 Sep 14:00

Choose a tag to compare

Changed

  • PR#789 changed it so that release binaries are now built with LTO.
  • PR#790 and PR#794 updated various crates.

Added

  • PR#790 added SARIF as an output format, usable via --format sarif. The current output for this format is experimental and may change in future updates.

0.18.4

14 Aug 10:38

Choose a tag to compare

Added

  • PR#779 added the --metadata-path argument to use a cargo metadata JSON file instead of calling cargo metadata, resolving #777.
  • PR#782 added sources.unused-allow-source to allow configuration of the lint level when a source is allowed but not used by any crate in the graph, closing #781.

Changed

  • PR#786 changed the license check output. / is no longer corrected to OR, and if the license expression is found in the package's manifest, that span is used in diagnostic messages instead of the synthesized manifest.

Fixed

  • PR#786 resolved #784 by updating spdx to a new version that forces all GNU licenses to be exactly equal when comparing license expressions to licensee expressions, which is incredibly pedantic, but means the license comparison is entirely in the hands of the user so that I no longer have to deal with GNU licenses.

0.18.3

11 Jun 11:21

Choose a tag to compare

Changed

  • PR#773 changed cargo-deny's duplicate detection to automatically ignore versions whose only dependent is another version of the same crate.

0.18.2

10 Mar 12:31

Choose a tag to compare

Added

  • PR#753 resolved #752 by adding back the advisories.unmaintained config option. See the docs for how it can be used. The default matches the current behavior, which is to error on any unmaintained advisory, but adding unmaintained = "workspace" to the [advisories] table will mean unmaintained advisories will only error if the crate is a direct dependency of your workspace.

0.18.1

27 Feb 07:10

Choose a tag to compare

Fixed

0.18.0

24 Feb 08:25

Choose a tag to compare

Changed

  • PR#746 changed the directory naming of advisory databases, again, so the name uses the last path component and a different, but also stable, hashing algorithm. Eg. the default https://github.com/rustsec/advisory-db will now be placed in $CARGO_HOME/advisory-dbs/advisory-db-3157b0e258782691.
  • PR#746 changed the MSRV to 1.85.0 and uses edition 2024.

Fixed

  • PR#746 fixes an issue when using cargo 1.85.0 where source urls were not being properly assigned to crates.io due to the constant being used no longer matching the new path used in cargo 1.85.0 causing eg. workspace dependency checks to fail.