Skip to content

Releases: EmbarkStudios/cargo-deny-action

Release 2.0.4 - cargo-deny 0.16.3

03 Dec 22:49
Compare
Choose a tag to compare
  • Update base image to rust 1.83.0 so that version 4 lockfiles are supported with no config changes

Release 2.0.3 - cargo-deny 0.16.3

28 Nov 13:37
Compare
Choose a tag to compare

Changed

  • PR#721 updated rust-version to 1.81.0 to accurately reflect the minimum rust version required to compile, resolving #720.
  • PR#722 updated the SPDX license list to 3.25.0.

Fixed

  • PR#726 resolved #725 by adding the unnecessary-skip diagnostic, emitted when there is a skip configured for a crate that only has one version in the graph.

Release 2.0.2 - cargo-deny 0.16.2

21 Nov 08:27
Compare
Choose a tag to compare

Fixed

  • PR#703 resolved #696 by no longer emitting errors when failing to deserialize deprecated fields, and removed some lingering documentation that wasn't removed in PR#611.
  • PR#719 updated to krates -> 0.17.5, fixing an issue where cargo-deny could panic due to incorrectly resolving features for different versions of the same crate referenced by a single crate.
  • PR#719 resolved #706 by removing a warning issued when users use ignored scheme modifiers for source urls.
  • PR#719 resolved #718 by updating the book with missing arguments.

Added

  • PR#715 resolved #714 by adding support for Edition 2024. Thanks @kpcyrd!
  • PR#710 resolved #708 by allowing for unpublished workspace crates to be excluded from the dependency graph that checks are run against, either via the --exclude-unpublished CLI argument or the graph.exclude-unpublished config field. Thanks @Tastaturtaste!

Changed

  • PR#711 updated goblin -> 0.9.2
  • PR#713 updated various crates, notably rustsec -> 0.30.

Release 2.0.1 - cargo-deny 0.16.1

05 Aug 11:18
Compare
Choose a tag to compare

Fixed

  • PR#691 fixed an issue where workspace dependencies that used the current dir '.' path component would incorrectly trigger the unused-workspace-dependency lint.

Release 2.0.0 - cargo-deny 0.16.0

02 Aug 12:36
Compare
Choose a tag to compare

Action

Added

Changed

  • This release includes breaking changes in cargo-deny, so this release begins the v2 tag, using v1 will be stable but not follow future cargo-deny releases.

cargo-deny

Removed

  • PR#681 finished the deprecation introduced in PR#611, making the usage of the deprecated fields into errors.

[advisories]

The following fields have all been removed in favor of denying all advisories by default. To ignore an advisory the ignore field can be used as before.

  • vulnerability - Vulnerability advisories are now deny by default
  • unmaintained - Unmaintained advisories are now deny by default
  • unsound - Unsound advisories are now deny by default
  • notice - Notice advisories are now deny by default
  • severity-threshold - The severity of vulnerabilities is now irrelevant

[licenses]

The following fields have all been removed in favor of denying all licenses that are not explicitly allowed via either allow or exceptions.

  • unlicensed - Crates whose license(s) cannot be confidently determined are now always errors. The clarify field can be used to help cargo-deny determine the license.
  • allow-osi-fsf-free - The OSI/FSF Free attributes are now irrelevant, only whether it is explicitly allowed.
  • copyleft - The copyleft attribute is now irrelevant, only whether it is explicitly allowed.
  • default - The default is now deny.
  • deny - All licenses are now denied by default, this field added nothing.

Changed

  • PR#685 follows up on PR#673, moving the fields that were added to their own separate bans.workspace-dependencies section. This is an unannounced breaking change but is fairly minor and 0.15.0 was never released on github actions so the amount of people affected by this will be (hopefully) small. This also makes the workspace duplicate detection off by default since the field is optional, but makes it so that if not specified workspace duplicates are now deny instead of warn.

Fixed

  • PR#685 resolved #682 by adding the include-path-dependencies field, allowing path dependencies to be ignored if it is false.

Release 1.6.3 - cargo-deny 0.14.21

22 Apr 15:17
Compare
Choose a tag to compare

Fixed

  • PR#643 resolved #629 by making the hosted git (github, gitlab, bitbucket) org/user name comparison case-insensitive. Thanks @pmnlla!
  • PR#649 fixed an issue where depending on the same crate multiple times by using different cfg()/triple targets could cause features to be resolved incorrectly and thus crates to be not pulled into the graph used for checking.

[0.14.20] - 2024-03-23

Fixed

  • PR#642 resolved #641 by pinning gix-transport (and its unique dependencies) to 0.41.2 as a workaround for cargo install not using the lockfile. See this issue for more information.

Release 1.6.2 - cargo-deny 0.14.19

22 Mar 09:42
Compare
Choose a tag to compare

Changed

  • PR#639 updated tame-index to avoid an error if you don't used --locked.

[0.14.18] - 2024-03-21

Fixed

[0.14.17] - 2024-03-17

Changed

  • PR#631 improved the diagnostic for when the yank check fails due to some issue with retrieving or reading the index information.
  • PR#633 updated gix -> 0.60.

v1.6.1

06 Mar 10:31
Compare
Choose a tag to compare

Fixed

  • PR#626 resolved #625 by explicitly checking that a license identified as Pixar was actually (probably) the Pixar license, instead of a normal Apache-2.0 license.

v1.6.0

05 Mar 10:11
Compare
Choose a tag to compare

action changes

  • Color output is now always enabled so that colors show up in the action output.

0.14.15

Added

  • PR#618 added metadata notes to diagnostics when a license is rejected, as well as removing span information for accepted licenses unless the log level is info or higher to make the diagnostic clearer by default.

0.14.14

Fixed

  • PR#617 resolved #576 by updating the SPDX license list to 3.23.

0.14.13

Fixed

  • PR#615 fixed an issue introduced in PR#605 where the various bans diagnostic codes could not have their lint level changed via the CLI. It also introduced the deprecated diagnostic code.

0.14.12

Changed

  • PR#605 did a major refactor of configuration, both how it is deserialized and changing (hopefully improving) many options.
  • PR#605 moved targets, exclude, all-features, features, no-default-features, and exclude into the [graph] table.
  • PR#605 moved feature-depth into the [output] table.

Added

  • PR#613 added support for basic shell expansion to advisories.db-path, which expands support beyond just ~ to include environment variable expansion.

Fixed

  • PR#601 resolved #600 by outputting the correct spans when a license was both allowed and denied.
  • PR#605 resolved #264 be replacing toml and serde with toml-span.
  • PR#605 resolved #539 by simplifying the very common name = "<crate_name>", version = "<requirements>" used to target specific crates into either a plain package spec string or the simpler crate = "<package spec>".
  • PR#605 resolved #578 by adding a reason = "<reason>" field to many fields within the configuration that are provided in diagnostics. [bans.deny] also has an additional use-instead = "<url/crate_name>". PR#610 did this for the advisories.ignore field.
  • PR#605 resolved #579 by allowing yanked crates to be ignored by specifying a PackageSpec in the [advisories.ignore] array.

Deprecated

  • PR#606 and PR#611 together deprecated several fields listed below. See PR#611 for how to change your config to opt-in to the new behavior that will become the default when the deprecated fields are removed in a future minor version.
    • [advisories]
      • vulnerability
      • unmaintained
      • unsound
      • notice
      • severity-threshold
    • [licenses]
      • unlicensed
      • allow-osi-fsf-free
      • copyleft
      • default
      • deny

Release 1.5.15 - cargo-deny 0.14.11

13 Feb 10:59
68cd9c5
Compare
Choose a tag to compare

Fixed

  • Resolved #71 that was introduced in the previous release.