PackageTrack
Sign in Get early access

rustsec

Client library for the RustSec security advisory database

0.33.0 12M downloads/mo #2796 most downloaded on crates.io rustsec/rustsec

What this package is like to depend on

Last release 2 months ago

05 Jun 2026

Ships fairly regularly

a new release about every 2 months

Nearly every release is documented

notes for 62 of 68 stable releases

8 versions withdrawn

withdrawn after publishing

9 years old

91 releases · first in 2017

3 releases in the last 12 months

see the full history below

Release timeline

91 releases · Feb 2017 to Jun 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 91
  1. 0.33.0 05 Jun 2026
    Release notes

    What's Changed

    • Sort paths in lint function by @smoelius in #1544
    • build(deps): bump toml from 0.9.11+spec-1.1.0 to 1.0.1+spec-1.1.0 by @dependabot[bot] in #1547
    • build(deps): bump gix from 0.78.0 to 0.79.0 by @dependabot[bot] in #1539
    • build(deps): bump gix from 0.79.0 to 0.80.0 by @dependabot[bot] in #1553
    • Add malicious as an explicit category by @LawnGnome in #1559
    • Upgrade to gix 0.81 by @djc in #1564
    • rustsec: avoid warning about packages that are not from crates.io by @djc in #1573
    • build(deps): bump gix from 0.81.0 to 0.83.0 by @dependabot[bot] in #1594
    • print the invalid char when linting affected functions by @Skgland in #1598
    • Validate advisory dates with jiff crate by @waamm in #1603
    • build(deps): bump gix from 0.83.0 to 0.84.0 by @dependabot[bot] in #1605
    • admin: make ID assignment stricter by @djc in #1608
    Open source →
  2. 0.32.0 04 Feb 2026

    Nothing published for this version

  3. 0.31.0 07 Nov 2025

    Nothing published for this version

  4. 0.30.4 12 Jun 2025

    Nothing published for this version

  5. 0.30.2 28 Feb 2025
    Release notes

    Fixed

    • Upgraded to tame-index v0.18.1 to fix an incompatibility with Rust 1.85 and later (#1333)
    Open source →
  6. 0.30.1 19 Jan 2025
    Release notes

    Added

    • Added public APIs for scanning binary files that were previously private to cargo audit (#1291)

    Fixed

    • Fixed OSV spec compliance issue with schema version being serialized as null if not set (#1287)
    • Upgraded cargo-lock to fix an issue with Cargo.lock v4 format parsing in presence of git tags (#1298)
    Open source →
  7. 0.30.0 29 Oct 2024
    Release notes

    Changed

    • MSRV 1.73 (#1222)
    • Bump cargo-lock to v0.10; adds V4 lockfile support (#1224, #1264)
    • Bump gix to 0.66 (#1251)
    • Bump tame-index to v0.14 (#1251)
    Open source →
  8. 0.30.0-rc.1 15 Oct 2024 pre-release

    Nothing published for this version

  9. 0.30.0-rc.0 10 Oct 2024 pre-release

    Nothing published for this version

  10. 0.30.0-pre.0 30 Jul 2024 pre-release

    Nothing published for this version

  11. 0.29.3 24 May 2024

    Nothing published for this version

  12. 0.29.2 02 May 2024
    Release notes

    Changed

    • Upgraded to gix v0.62. This fixes RUSTSEC-2024-0335. It also transitively upgrades to reqwest v0.12 and hyper v1.0. (#1174)
    Open source →
  13. 0.29.1 17 Mar 2024
    Release notes

    Changed

    • Upgraded to gix v0.60. This fixes build issues due to a semver-incompatible change in the interaction of gix and tame-index. (#1143)
    Open source →
  14. 0.29.0 16 Feb 2024
    Release notes

    Changed

    • Completely rewritten the fix module. (#1113)
      • Now it edits Cargo.lock as opposed to Cargo.toml, and performs only semver-compatible upgrades.
      • Fixes are performed by calling cargo update, migrating away from the unmaintained cargo-edit-9 crate.
      • The fix feature is removed and the module is always enabled now that it requires no additional dependencies.
      • The module is still experimental, and its behavior may change in the future.
    • Require tame-index 0.9.3 or later, which fixes issues with some enterprise firewalls. (#1103)
    Open source →
  15. 0.28.6 11 Feb 2024
    Release notes

    Changed

    • Additions to the OSV advisory struct (#656)
      • Add the schema_version field to OsvAdvisory
      • Add a Deserialize implementation for OsvAdvisory
      • Add getter methods for OsvAdvisory content
    Open source →
  16. 0.28.5 03 Feb 2024

    Nothing published for this version

  17. 0.28.4 17 Nov 2023
    Release notes

    Changed

    • Upgraded dependencies gix to 0.58.x and tame-index to 0.9.x (#1099)
    Open source →
  18. 0.28.3 14 Oct 2023
    Release notes

    Changed

    • Switched from Git-compatible lockfiles to locks provided by the operating system. This fixes issues around stale lockfiles being left behind on power loss. (#1032)
    • CachedIndex now acquires the global Cargo package lock. This was necessary to avoid racing with Cargo when updating crates.io index via Git or writing sparse index entries. Note that this also prevents most Cargo operations for the current user until CachedIndex is dropped. (#1032)
    • The gix crate is now used in the max-performance-safe configuration, enabling multi-threading. (#1045)

    Added

    • The Severity type now implements Hash (#1042)
    Open source →
  19. 0.28.2 25 Sep 2023
    Release notes

    Fixed

    • Upgraded to tame-index 0.6.0 and gix 0.53.1 to fix a vulnerability in gix, see RUSTSEC-2023-0064 (#1015)
    • Correctly report error when encountering a stale git lockfile (#1012)
    Open source →
  20. 0.28.1 06 Sep 2023
    Release notes

    Changed

    • No longer require HTTP/2 for accessing sparse crates.io index. This degrades performance somewhat due to an additional roundtrip to crates.io, but allows index access through corporate transparent proxies that do not support HTTP/2. (#992)

    Fixed

    • Fixed a performance regression where the cached crates.io index would re-request items that are already cached (#987)
    Open source →
  21. 0.28.0 31 Aug 2023
    Release notes

    Added

    • Sparse crates.io index is now supported. This dramatically speeds up the checks for yanked crates. This crate honors the Cargo settings for the use of sparse index, should you need to opt out. (#923)
    • Added directory locking and explicit locking controls to the API to avoid several processes modifying local data at the same time. (#923, #944)
    • Added affected field to Warning, to communicate e.g. warnings specific to a particular platform. (#964)
    • Added license field to the advisory format in preparation for data import from GHSA. (#682)
    • Added a CommitHash type to represent git commit hashes independently from the git implementation used. (#961)

    Changed

    • Switched from OpenSSL to rustls as the TLS implementation. (#923, #925)
      • Due to this change CPU platforms other than x86 and ARM are no longer supported. This issue is tracked as #962.
      • The fix feature is not yet converted; enabling it will pull in OpenSSL.
    • Switched from libgit2 to gitoxide as the git implementation. (#925)
    • Switched from crates-index to tame-index for crates.io access. (#923)
    • Increased the minimum supported rust version to 1.67. (#923)

    Removed

    • Removed rustsec::registry::Index because it is impractically slow when the sparse crates.io index is used. Use rustsec::registry::CachedIndex instead. (#923)
    • Removed rustsec::registry::CachedIndex.is_yanked(). Use .find_yanked() instead. Checking a large number of crates at once is orders of magnitude faster when using the sparse index. (#937)
    • Removed many From implementations from rustsec::Error to avoid tying rustsec SemVer to that of dependency crates. This should result in less frequent SemVer bumps for rustsec in the future. (#961)

    Fixed

    • rustsec can now be used in Alpine Linux containers (#466).
    • Several users of rustsec running in parallel can now fetch Git repositories without races (#490).
    • Accessing Git repositories over SSH is now supported (#292).
    • Credential helpers to access private repositories are now supported #555.
    • Fix an edge case in git source dependency resolution when dependencies differ only in their hash. (#889)
    Open source →
  22. 0.28.0-rc.1 31 Aug 2023 pre-release

    Nothing published for this version

  23. 0.27.0 10 May 2023
    Release notes

    Added

    • Upgraded to cargo-lock v9.0.0, which enables support for sparse registries.
    Open source →
  24. 0.26.5 22 Mar 2023
    Release notes

    Changed

    • Migrated to a maintained fork of cargo-edit v0.9.x to fix CVE-2023-22742 in the transitive dependency libgit2-sys (#831)
    • Removed the experimental check for the presence of a signature on the advisory-db repository. It only verified the presence of a signature without checking for any particular key, so it provided no additional security. (#816)
    • Fixed a build failure with certain dependency versions on recent compilers due to failing type inference (#836)
    Open source →
    Release notes

    Changed

    • Migrated to a maintained fork of cargo-edit v0.9.x to fix CVE-2023-22742 in the transitive dependency libgit2-sys (#831)
    • Removed the experimental check for the presence of a signature on the advisory-db repository. It only verified the presence of a signature without checking for any particular key, so it provided no additional security. (#816)
    • Fixed a build failure with certain dependency versions on recent compilers due to failing type inference (#836)
    Open source →
  25. 0.26.4 15 Nov 2022
    Release notes

    Fixed

    • registry::CachedIndex now correctly handles invalid semver versions in crates.io registry, which crates.io allows for some reason (#762)
    Open source →
  26. 0.26.3 01 Nov 2022
    Release notes

    Added

    • registry::CachedIndex which is orders of magnitude faster than registry::Index when scanning multiple Cargo.lock files or binaries (#730)
    Open source →
  27. 0.26.2 15 Aug 2022
    Release notes

    Fixed

    • Fixed withdrawn (#642)
    Open source →
  28. 0.26.1 15 Aug 2022
    Release notes

    Changed

    • Deprecate yanked (#631)
    Open source →
  29. 0.26.0 22 May 2022
    Release notes

    Added

    • [advisory.source] (#541)
    • doc_cfg annotations when building on docs.rs (#571)

    Changed

    • Bump git2 dependency to v0.14; MSRV 1.57 (#524)
    • Bump platforms dependency to v3.0 (#532)
    • Update to 2021 edition (#538)
    • Use Query::crate_scope() as the Default (#544)
    • Bump cvss dependency to v2.0 (#550)
    • Bump cargo-lock dependency to v8.0 (#561)
    • Flatten warnings module; rename WarningKind (#572)
    • Flatten advisory::id module; rename IdKind (#573)

    Removed

    • Legacy database scopes (#541)
    Open source →
  30. 0.25.1 15 Nov 2021
    Release notes

    Changed

    • Bump platforms dependency to v2.0.0 (#485)
    Open source →
  31. 0.25.0 12 Nov 2021 withdrawn
    Release notes

    Changed

    • Bump cargo-edit dependency from 0.7.0 to 0.8.0 (#439)
    • Make advisory::id::Kind lowercase (#471)
    • Bump MSRV to 1.52 (#476)
    • Flatten API: make modules with one type non-pub; re-export type from parent (#478)
    Open source →
  32. 0.24.3 12 Sep 2021
    Release notes

    Added

    • vendored-libgit2 feature (#432)

    Changed

    Open source →
  33. 0.24.2 20 Jul 2021
    Release notes

    Changed

    • Support ~ and = operators in version specification (#402)
    • Bump crates-index from 0.16.7 to 0.17.0 (#403)
    Open source →
  34. 0.24.1 02 Jul 2021 withdrawn
    Release notes

    Changed

    • Do not lint year in CVE IDs (#393)
    Open source →
  35. 0.24.0 28 Jun 2021 withdrawn
    Release notes

    Added

    Changed

    • Bump cargo-lock to v7.0 (#379)
    Open source →
  36. 0.23.3 08 Mar 2021
    Release notes

    Fixed

    • Workaround for stale git refs
    Open source →
  37. 0.23.2 07 Mar 2021
    Release notes

    Changed

    • Rename advisory-db master branch to main
    Open source →
  38. 0.23.1 24 Feb 2021 withdrawn
    Release notes

    Fixed

    • Parsing error on Windows
    Open source →
  39. 0.23.0 26 Jan 2021 withdrawn
    Release notes

    Added

    • Advisory references as a URL list
    • Support for omitting leading [advisory] table
    • thread-safety category

    Changed

    • Rename previous references field to related
    • Use url crate to parse metadata URL
    • Bump smol_str to v0.1.17; MSRV 1.46+
    • Replace chrono with humantime
    • Mark enums as non_exhaustive
    • Use SystemTime instead of a git::Timestamp type
    • Rename fetch Cargo feature to git
    • Rename repository::GitRepository to repository::git::Repository

    Removed

    • markdown feature
    Open source →
  40. 0.23.0-pre 23 Nov 2020 pre-release

    Nothing published for this version

  41. 0.22.2 27 Oct 2020
    Release notes

    What's Changed

    • Disable embedded file timestamps in rust-embed by @kpcyrd in #1554
    • rustsec: avoid warning about packages that are not from crates.io by @djc in #1573
    • cargo-audit: add CLI option to skip checking for yanked crates by @djc in #1574
    • cargo-audit: cap input size for audit bin by @glaziermag in #1516
    • Show affected functions in binaries by @smoelius in #1542
    • cargo-audit: when run with -q, suppress dependency trees by @djc in #1587
    • build(deps): bump object from 0.38.1 to 0.39.0 by @dependabot[bot] in #1589
    • Affected binary tweaks by @djc in #1588
    Open source →
    Release notes

    Changed

    • Revert "Refactor Advisory type handling"
    Open source →
  42. 0.22.1 26 Oct 2020 withdrawn
    Release notes

    Changed

    • Refactor Advisory and VulnerabilityInfo
    Open source →
  43. 0.22.0 25 Oct 2020 withdrawn
    Release notes

    Added

    • fetch feature

    Changed

    • Bump cargo-lock to v6; semver to v0.11
    • Make advisory.title and advisory.description struct fields
    • Remove support for the V2 advisory format
    • Mark the advisory::parser module as pub
    • Bump cargo-edit to 0.7.0
    • Bump crates-index from 0.15.4 to 0.16.0
    • advisory: laxer function path handling
    • linter: fully deprecate obsolete in favor of yanked
    • advisory: markdown feature and Advisory::description_html
    • linter: add support for V3 advisory format
    • MSRV 1.41+
    • Bump platforms crate to v1

    Fixed

    • linter: correctly handle crates with dashes in names

    Removed

    • advisory.metadata.title and advisory.metadata.description
    Open source →
  44. 0.22.0-pre3 25 Oct 2020 pre-release

    Nothing published for this version

  45. 0.22.0-pre2 22 Oct 2020 pre-release

    Nothing published for this version

  46. 0.22.0-pre 01 Oct 2020 pre-release

    Nothing published for this version

  47. 0.21.0 23 Jun 2020
    Release notes

    Added

    • year, month, and day methods to advisory::Date
    • unsound informational advisory kind

    Changed

    • Bump crates-index from 0.14 to 0.15
    • Rename obsolete advisories to yanked
    • Rename warning::Kind::Informational to ::Notice
    • Make warning::Kind a #[non_exhausive] enum
    • Make Informational a #[non_exhausive] enum

    Removed

    • Legacy patched_versions and unaffected_versions
    Open source →
  48. 0.20.1 14 Jun 2020
    Release notes

    Added

    • advisory::Id::numerical_part()
    Open source →
  49. 0.20.0 06 May 2020
    Release notes

    Changed

    • Make WarningInfo into a simple type alias
    Open source →
  50. 0.19.0 05 May 2020
    Release notes
    • Refactor package scopes
    • Prototype V3 Advisory Format
    • Bump dependencies to link libgit2 dynamically
    • Add WarningInfo and modify Warning struct
    • Drop support for the V1 advisory format
    Open source →
  51. 0.18.0 05 Feb 2020
    Release notes
    • Move yanked crate auditing to cargo-audit
    Open source →
  52. 0.17.1 23 Jan 2020
    Release notes
    • Update cargo-lock requirement from 3.0 to 4.0
    Open source →
  53. 0.17.0 20 Jan 2020 withdrawn
    Release notes
    • Bump MSRV to 1.39
    • Extract cargo audit fix logic into Fixer
    • Warn for yanked crates
    • Add vendored-openssl feature
    • Support crate sources as a vulnerability query attribute
    • Try to auto-detect proxy setting
    Open source →
  54. 0.16.0 13 Oct 2019
    Release notes
    • Remove support.toml parsing
    Open source →
  55. 0.15.2 08 Oct 2019
    Release notes
    • version: Fix matching bug for > version requirements
    Open source →
  56. 0.15.1 08 Oct 2019
    Release notes
    • linter: Add informational as an allowable [advisory] key
    • repository: Expose authentication module
    Open source →
  57. 0.15.0 01 Oct 2019
    Release notes
    • Upgrade to cargo-lock crate v3.0
    Open source →
  58. 0.14.1 26 Sep 2019
    Release notes
    • Upgrade to cargo-lock crate v2.0
    Open source →
  59. 0.14.0 24 Sep 2019
    Release notes
    • warning: Extract into module; make more like Vulnerability
    • Upgrade to cvss crate v1.0
    • Upgrade to cargo-lock crate v1.0
    Open source →
  60. 0.13.0 23 Sep 2019
    Release notes
    • linter: Ensure advisory date's year matches year in advisory ID
    • Use the cargo-lock crate
    • lockfile: Add (optional) DependencyGraph analysis
    • Rename rustsec::db module to rustsec::database
    • report: Generate warnings for selected informational advisories
    • vulnerability: Add affected_functions()
    • Add rustsec::advisory::Linter
    • package: Parse dependencies from Cargo.lock
    • Initial report module and built-in report-generating
    • Basic query support
    • Index the rust advisory directory from RustSec/advisory-db
    • Add first-class support for GitHub Security Advisories (GHSA)
    • Re-vendor Cargo's git authentication code
    • support.toml for indicating supported versions
    • Add support for "informational" advisories
    • Add rustsec::advisory::Category
    • Refactor advisory types: add [affected] and [versions] sections
    • advisory: Add (optional) cvss field with CVSS v3.1 score
    • Freshen deps: add home, remove directories and failure
    • Improved handling of prereleases; MSRV 1.35+
    • Add Version and VersionReq newtypes
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive