PackageTrack
Sign in Get early access

nanorand

A tiny, fast, zero-dep library for random number generation.

0.8.0 73M downloads/mo #976 most downloaded on crates.io Absolucy/nanorand-rs

What this package is like to depend on

Last release 1 years ago

08 Jun 2025

Ships unpredictably

gaps range from 2 weeks to 3.3 years

Some releases are documented

notes for 5 of 17 stable releases

1 version withdrawn

withdrawn after publishing

6 years old

18 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

18 releases · Sep 2020 to Jun 2025
2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 18
  1. 0.8.0 08 Jun 2025
    Release notes

    What's Changed

    • Fix lower bound for signed generate_range function by @smvilar in #38
    • Add OpenBSD support by @n1000 in #40
    • Implement Fisher-Yates shuffle by @jklott in #42
    • Fix SmallCrush by @jklott in #44
    • Add FreeBSD support. by @MikaelUrankar in #46
    • fix: underlying issue of generate_range of signed integers being off by 1 by @StT191 in #48
    • feat: add chacha counter initialization by @xpe in #51
    • Fix signature of RtlGenRandom and update entropy correspondingly by @cakarsubasi in #53
    • Update getrandom to 0.3 by @robert3005 in #54

    New Contributors

    Full Changelog: 0.7.0...0.8.0

    Open source →
  2. 0.7.0 09 Mar 2022
    Release notes

    Changelog (from 0.6.1)

    • Reworked the API heavily
      • The Rng trait now uses const generics for output length, rather than an associated type
      • Added Rng::fill_bytes, and reworked RandomGen implementations to use it.
      • Rng::reseed was move into the new SeedableRng trait.
      • All RNGs now have a Debug implementation
    • Completely reworked the C API.
    • Added BufferedRng, a wrapper around an Rng that buffers output, and will use buffered output rather than wasting perfectly good random bytes.
    • Set MSRV at Rust 1.56.0
      • Rust 2021 is used.
    • Removed nanorand-py (not like anyone used it anyways)
    • Fixed signed integer generation!
    • Clarified in the docs that RandomRange will panic with an invalid range.
    Open source →
  3. 0.6.1 24 Jul 2021
    Release notes

    Changelog

    • Fixed an unsoundness in TlsWyrand allowing for aliased mutable references.
    Open source →
  4. 0.6.0 08 Jul 2021
    Release notes

    This is the big one, folks! Breaking changes, obviously.

    Changelog

    • Renamed RNG to Rng
    • RandomGen will no longer panic if lower > upper (#24)
    • Added RandomGen support for signed integers (#9) and floats (#20)
      • RandomGen for float will generate an float in the range of 0 <= x <= 1
    • Added RandomRange support for signed integers (#9)
    • Fixed RandomRange having weird in/exclusivity (#21)
    • ChaCha now has a const generic of how many rounds it is. This speeds it up slightly.
    • TlsWyRand is now reference-counted.
    • Added some unit tests to ensure that RandomRange works properly.
    Open source →
  5. 0.5.2 30 Dec 2020

    Nothing published for this version

  6. 0.5.1 07 Dec 2020
    Release notes

    (cargo-release) nanorand-py version 0.5.1

    Open source →
    Release notes

    (cargo-release) nanorand version 0.5.1

    Open source →
  7. 0.5.0 03 Dec 2020 withdrawn

    Nothing published for this version

  8. 0.4.4 23 Sep 2020

    Nothing published for this version

  9. 0.4.3 23 Sep 2020

    Nothing published for this version

  10. 0.4.2 22 Sep 2020

    Nothing published for this version

  11. 0.4.1 22 Sep 2020

    Nothing published for this version

  12. 0.4.0 19 Sep 2020

    Nothing published for this version

  13. 0.3.0 13 Sep 2020

    Nothing published for this version

  14. 0.2.1 10 Sep 2020

    Nothing published for this version

  15. 0.2.0 10 Sep 2020

    Nothing published for this version

  16. 0.1.1 10 Sep 2020

    Nothing published for this version

  17. 0.1.0 10 Sep 2020

    Nothing published for this version

  18. 0.0.0 06 Sep 2020

    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