Skip to content

Releases: EmbarkStudios/cargo-deny-action

Release 2.1.1 - cargo-deny 0.20.2

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 13 Jul 10:35
3c63498

Fixed

  • PR#116 fixed in issue introduced in the 2.1.0 release due the deprecation of the use-git-cli argument. Thanks @Firestar99!

Release 2.1.0 - cargo-deny 0.20.2

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 13 Jul 09:32

Changed

  • PR#881 refactored the CLI, moving some duplicated options/flags into the root and removing several deprecated options/flags/values. See the PR for a full list of changes.

Added

  • PR#879 resolved #873 by adding a new bans.std-replacements lint which checks the graph for crates.io sourced crates that have been partially or fully replaced in std and/or core.

Fixed

  • PR#880 resolved #765 by respecting non-default build script paths in manifests.
  • PR#881 resolved #874 by cleaning up the CLI, deduplicating some options/flags that caused bug in the list subcommand.

Release 2.0.20 - cargo-deny 0.19.8

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 28 May 08:16

Fixed

  • PR#864 fixed matching of ^ and ~ with on prerelease versions for when checking if a crate is affected by an advisory. As of the time of the PR, this literally affected none of published versions of any crate with an advisory, but this just ensures such a case will be handled in the future.

Release 2.0.19 - cargo-deny 0.19.7

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 22 May 07:57

Changed

Release 2.0.18 - cargo-deny 0.19.5

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 11 May 07:23

Fixed

Release 2.0.17 - cargo-deny 0.19.2

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 14 Apr 08:21

Fixed

Release 2.0.16 - cargo-deny 0.19.1

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 10 Apr 11:07

Fixed

  • PR#833 fixed an issue where the maximum advisory database staleness was over 14 years instead of the intended 90 days.
  • PR#839 fixed an issue where unsound advisories would appear for transitive dependencies despite requesting them only for workspace dependencies, resolving #829.
  • PR#840 resolved #797 by passing --filter-platform when collecting cargo metadata if only a single target was requested either in the config or via the command line.
  • PR#841 fixed an issue where --frozen would not disable fetching of the advisory DB, resolving #759.
  • PR#842 and PR#844 updated crates. Notably krates was updated to resolve two issues with crates being pruned from the graph used when running checks. Resolving these two issues may mean that updating cargo-deny may highlight issues that were previously hidden.
    • EmbarkStudios/krates#106 would fail to pull in crates brought in via a feature if that crate had its lib target renamed by the package author.
    • EmbarkStudios/krates#109 would fail to bring in optional dependencies if they were brought in by a weak feature in a crate also brought in by a weak feature.

Changed

  • PR#830 removed gix in favor of shelling out to git. This massively improves build times and eases maintenance as gix bumps minor versions quite frequently. If cargo-deny is used in an environment that for some reason allows internet access but doesn't have git available, the advisory database would need to be updated before calling cargo-deny.
  • PR#838 removed rustsec in favor of manually implemented advisory parsing and checking, with a nightly cron job that checks that the implementation exactly matches rustsec on the official rustsec advisory db.

Release 2.0.15 - cargo-deny 0.19.0

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 08 Jan 12:19

Changed

  • PR#802 made relative paths passed to --config be resolved relative to the current working directory (rather than the resolved manifest path's directory).
  • PR#825 updated gix, reqwest, and tame-index to newer versions. The reqwest 0.13 changes means it is no longer possible to choose the source of root certificates for gix, so that decision is now left to rustls-platform-verifier. The native-certs feature has thus been removed, and cargo-deny no longer defaults to using webpki-roots.

Fixed

  • PR#802 fixed path handling of paths passed to --config, resolving #748.
  • PR#819 added locations to all SARIF results since that's mandatory for valid SARIF.
  • PR#821 fixed compilation on an Alpine host.

Added

  • PR#795 added [bans.allow-workspace] to allow workspace crates while denying all external crates.
  • PR#800 added [licenses.include-build] to toggle whether build dependencies are included in the license check.
  • PR#823 added [advisories.unused-ignored-advisory] to disable the warning when an advisory is ignored but not encountered in the crate graph.
  • PR#826 added [advisories.unsound] to determine which crates can show unsound advisories, similarly to the unmaintained field. Defaults to workspace crates, ignoring unsound advisories for transitive dependencies, resolving #824.

Release 2.0.14 - cargo-deny 0.18.6

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 25 Nov 16:08

0.18.5

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.6

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

Release 2.0.13 - cargo-deny 0.18.4

Choose a tag to compare

@Jake-Shadle Jake-Shadle released this 14 Aug 13:13

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.