PackageTrack
Sign in Get early access

secrecy

Wrapper types and traits for secret management which help ensure they aren't accidentally copied, logged, or otherwise exposed (as much as possible), and also ensure secrets are securely wiped from memory when dropped.

0.10.3 148M downloads/mo #616 most downloaded on crates.io iqlusioninc/crates

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Ships unpredictably

gaps range from 2 weeks to 3.0 years

Nearly every release is documented

notes for 18 of 19 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

20 releases · first in 2018

0 releases in the last 12 months

see the full history below

Release timeline

20 releases · Oct 2018 to Oct 2024
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 20
  1. 0.10.3 09 Oct 2024
    Release notes

    Added

    • Make integer primitive SecretSlices cloneable (#1236)
    • Impl From<&str> for SecretString (#1237)
    Open source →
  2. 0.10.2 20 Sep 2024
    Release notes

    Added

    • Impl Deserialize for SecretString (#1220)
    Open source →
  3. 0.10.1 18 Sep 2024
    Release notes

    secrecy v0.10.1 (#1218)

    Open source →
    Release notes

    Added

    • Impl Clone for SecretString (#1217)
    Open source →
  4. 0.10.0 17 Sep 2024
    Release notes

    secrecy v0.10.0 (#1215)

    Open source →
    Release notes

    This release represents a significant redesign of the secrecy crate. We will update this section with upgrade instructions based on feedback from people upgrading, as it's been a long time since the previous release, and this release includes a number of breaking changes.

    The most notable change is the generic Secret<T> type has been removed: instead use SecretBox<T> which stores secrets on the heap instead of the stack. Many of the other changes fall out of this change and things which were previously type aliases of Secret<T> are now type aliases of SecretBox<T>.

    This unfortunately means this crate no longer has support for "heapless" no_std targets. We don't have a good solution for these targets, which was a motivation for this change in the first place.

    Added

    • SecretBox::{init_with, try_init_with} (#1212)
    • SecretBox::init_with_mut (#1213)
    • ?Sized bounds for SecretBox (#1213)
    • SecretSlice<T> (#1214)

    Changed

    • Rust 2021 edition upgrade (#889)
    • MSRV 1.60 (#1105)
    • SecretBox<T> is now a newtype rather than a type alias of `Secret<Box<T>> (#1140)
    • SecretString is now a type alias for SecretBox<str> (#1213)
    • Disable serde default features (#1194)

    Removed

    • alloc feature: now a hard dependency (#1140)
    • bytes crate integration: no replacement (#1140)
    • DebugSecret trait: no replacement (#1140)
    • Secret<T>: use SecretBox<T> instead (#1140)
    Open source →
  5. 0.9.0-pre.0 30 Jul 2024 pre-release
    Release notes

    secrecy v0.9.0-pre.0 (#1199)

    Open source →
  6. 0.8.0 18 Jul 2021
    Release notes

    NOTE: This release includes an MSRV bump to Rust 1.56. Please use secrecy = "0.7.0" if you would like to support older Rust versions.

    Added

    • impl From<T> for Secret (#482)

    Changed

    • Bump bytes to v1.0 (#592)
    • Switch to resolver = "2"; MSRV 1.56 (#755)
    Open source →
  7. 0.7.0 08 Jul 2020
    Release notes

    Added

    • Re-export zeroize (#466)
    • rustdoc improvements (#464, #465)

    Changed

    • Have DebugSecret take a formatter (#467)
    • Make FromStr impl for SecretString be Infallible (#323)

    Fixed

    • Use SerializableSecret in Serialize bounds (#463)
    Open source →
  8. 0.6.0 12 Dec 2019
    Release notes
    • Impl CloneableSecret for Secret<[T; N]> where T: Clone (#311)
    • Impl DebugSecret for [T; N] where N <= 64 (#310)
    • Impl FromStr for SecretString (#309)
    • Upgrade to bytes v0.5 (#301, #308, #312)
    Open source →
  9. 0.5.2 18 Dec 2019
    Release notes
    • Backport Impl FromStr for SecretString (#309)
    Open source →
  10. 0.5.1 30 Nov 2019
    Release notes
    • Change default DebugSecret string to [REDACTED] (#290)
    Open source →
  11. 0.5.0 14 Oct 2019
    Release notes
    • Upgrade to zeroize v1.0.0 (#279)
    Open source →
  12. 0.4.1 13 Oct 2019
    Release notes
    • Upgrade to zeroize v1.0.0-pre (#268)
    Open source →
  13. 0.4.0 03 Sep 2019
    Release notes
    Open source →
  14. 0.3.1 26 Aug 2019
    Release notes
    • Impl CloneableSecret for String (#256)
    Open source →
  15. 0.3.0 21 Aug 2019
    Release notes
    • Add support for alloc types (#253)
    • zeroize v0.10.0 (#248)
    • Add a default impl for DebugSecret trait (#241)
    Open source →
  16. 0.2.2 28 Jun 2019
    Release notes
    • README.md: add Gitter badges; update image links (#221)
    Open source →
  17. 0.2.1 04 Jun 2019
    Release notes
    • zeroize v0.9.0 (#215)
    Open source →
  18. 0.2.0 29 May 2019
    Release notes
    • Add CloneableSecret marker trait (#210)
    Open source →
  19. 0.1.0 23 May 2019
    Release notes
    • Initial release
    Open source →
  20. 0.0.0 04 Oct 2018

    Nothing published for this version

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