PackageTrack
Sign in Get early access

lru

A LRU cache implementation

0.18.2 318M downloads/mo #345 most downloaded on crates.io jeromefroe/lru-rs

What this package is like to depend on

Last release 20 days ago

03 Aug 2026

Ships fairly regularly

a new release about every 2 months

Nearly every release is documented

notes for 67 of 67 stable releases

6 versions withdrawn

withdrawn after publishing

10 years old

73 releases · first in 2016

8 releases in the last 12 months

see the full history below

Release timeline

73 releases · Dec 2016 to Aug 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 73
  1. 0.18.2 03 Aug 2026
    Release notes

    Releasing version 0.18.2

    Open source →
    Release notes
    • Fix panic-safety unsoundness in pop method.
    Open source →
  2. 0.18.1 09 Jul 2026
    Release notes

    Releasing version 0.18.1

    Open source →
    Release notes
    • Add find_and_promote method.
    Open source →
  3. 0.18.0 27 Apr 2026
    Release notes

    Releasing version 0.18.0

    Open source →
    Release notes
    • Fix unconstrained lifetime in get_or_insert_mut_ref.
    Open source →
  4. 0.17.0 15 Apr 2026
    Release notes

    Releasing version 0.17.0

    Open source →
    Release notes
    • Upgrade hashbrown to 0.17.0 and update MSRV to 1.85.0.
    Open source →
  5. 0.16.4 13 Apr 2026
    Release notes

    Releasing version 0.16.4

    Open source →
    Release notes
    • Add get_or_insert_with_key and variants.
    Open source →
  6. 0.16.3 07 Jan 2026
    Release notes

    Releasing version 0.16.3

    Open source →
    Release notes
    • Fix Stacked Borrows violation in IterMut.
    Open source →
  7. 0.16.2 14 Oct 2025
    Release notes

    Releasing version 0.16.2

    Open source →
    Release notes
    • Upgrade hashbrown dependency to 0.16.0.
    Open source →
  8. 0.16.1 09 Sep 2025
    Release notes

    Releasing version 0.16.1

    Open source →
    Release notes
    • Fix Clone for unbounded cache.
    Open source →
  9. 0.16.0 03 Jul 2025
    Release notes

    Releasing version 0.16.0

    Open source →
    Release notes
    • Implement Clone for caches with custom hashers.
    Open source →
  10. 0.15.0 27 Jun 2025
    Release notes

    Releasing version 0.15.0

    Open source →
    Release notes
    • Return bool from promote and demote to indicate whether key was found.
    Open source →
  11. 0.14.0 12 Apr 2025
    Release notes
    • Use NonZeroUsize::MAX instead of unwrap(), and update MSRV to 1.70.0.
    Open source →
  12. 0.13.0 28 Jan 2025
    Release notes
    • Add peek_mru and pop_mru methods, upgrade dependency on hashbrown to 0.15.2, and update MSRV to 1.65.0.
    Open source →
  13. 0.12.5 07 Oct 2024
    Release notes
    • Upgrade hashbrown dependency to 0.15.
    Open source →
  14. 0.12.4 31 Jul 2024
    Release notes
    • Add methods that take a reference to the key that should be inserted.
    Open source →
  15. 0.12.3 24 Feb 2024
    Release notes
    • Add get_key_value_mut method.
    Open source →
  16. 0.12.2 28 Jan 2024
    Release notes
    • Add clone method.
    Open source →
  17. 0.12.1 22 Nov 2023
    Release notes
    • Add get_key_value method.
    Open source →
  18. 0.12.0 04 Oct 2023
    Release notes
    • Add lifetime specifier to try_get_or_insert_mut.
    • Add BuildHasher trait bound to Debug for LruCache.
    Open source →
  19. 0.11.1 06 Sep 2023
    Release notes
    • Add try_get_or_insert_mut method.
    Open source →
  20. 0.11.0 11 Jul 2023
    Release notes
    • Update dependency on hashbrown to 0.14 and update MSRV to 1.64.0.
    Open source →
  21. 0.10.1 30 Jun 2023
    Release notes
    • Add try_get_or_insert method.
    Open source →
  22. 0.10.0 04 Mar 2023
    Release notes
    • Remove KeyRef from the public API.
    Open source →
  23. 0.9.0 31 Dec 2022
    Release notes
    • Update dependency on hashbrown to 0.13.
    • Change LruCache.map to hold a pointer, rather than owned LruEntry.
    Open source →
  24. 0.8.1 01 Oct 2022
    Release notes
    • Add "caching" and "no-std" to list of categories.
    Open source →
  25. 0.8.0 11 Sep 2022
    Release notes
    • Use NonZeroUsize for LRU capacity instead of usize.
    • Add get_or_insert_mut method which is similiar to get_or_insert but returns a mutable reference instead of an immutable reference.
    • Add LruCache::promote and LruCache::demote API to manipulate LRU order of the entry directly.
    Open source →
  26. 0.7.8 19 Jul 2022
    Release notes
    • Update dependency on hashbrown to 0.12.
    Open source →
  27. 0.7.7 14 Jun 2022
    Release notes
    • Use FnOnce instead of Fn for trait bound of fn in get_or_insert.
    Open source →
  28. 0.7.6 26 May 2022
    Release notes
    • Add pop_entry method.
    Open source →
  29. 0.7.5 04 Apr 2022
    Release notes
    • Add push method.
    Open source →
  30. 0.7.4 04 Apr 2022
    Release notes
    • Implement IntoIterator trait and fix lifetime bug in get_or_insert.
    Open source →
  31. 0.7.3 01 Mar 2022 withdrawn
    Release notes
    • Add get_or_insert method.
    Open source →
  32. 0.7.2 28 Dec 2021
    Release notes
    • Explicitly implement Borrow for Box for non-nightly.
    Open source →
  33. 0.7.1 18 Dec 2021
    Release notes
    • Fix lifetime of iterators.
    Open source →
  34. 0.7.0 05 Oct 2021
    Release notes
    • Explicitly implement Borrow for String and Vec types for non-nightly.
    Open source →
  35. 0.6.6 29 Jul 2021
    Release notes
    • Update dependency on hashbrown to 0.11.2.
    Open source →
  36. 0.6.5 12 Feb 2021
    Release notes
    • Add unbounded_with_hasher constructor.
    Open source →
  37. 0.6.4 04 Feb 2021
    Release notes
    • Fix memory leak when keys contain heap allocated data and ensure send/sync bounds apply to all conforming hashers.
    Open source →
  38. 0.6.3 19 Dec 2020
    Release notes
    • Fix memory leak in clear and resize methods.
    Open source →
  39. 0.6.2 12 Dec 2020
    Release notes
    • Rename optin_builtin_traits to auto_traits.
    Open source →
  40. 0.6.1 02 Nov 2020
    Release notes
    • Update dependency on hashbrown to 0.9.
    Open source →
  41. 0.6.0 02 Aug 2020
    Release notes
    • Update dependency on hashbrown to 0.8.
    Open source →
  42. 0.5.3 06 Jul 2020
    Release notes
    • Fix bug that causes crash when putting an item into a zero-capacity cache.
    Open source →
  43. 0.5.2 17 Jun 2020
    Release notes
    • Fix nightly feature.
    Open source →
  44. 0.5.1 02 Jun 2020
    Release notes
    • Fix memory leak whereby old entries wouldn't be dropped when cache is full.
    Open source →
  45. 0.5.0 28 May 2020 withdrawn
    Release notes
    • Stop gating the alloc crate behind the nightly flag.
    Open source →
  46. 0.4.5 25 May 2020 withdrawn
    Release notes
    • Use as_mut_ptr in drop to fix memory leak.
    Open source →
  47. 0.4.4 19 May 2020 withdrawn
    Release notes
    • Use mem::MaybeUninit for key and value fields of nodes and not the nodes themselves.
    Open source →
  48. 0.4.3 11 Dec 2019
    Release notes
    • Add back import of alloc crate on nightly which was accidentally removed.
    Open source →
  49. 0.4.2 09 Dec 2019 withdrawn
    Release notes
    • Make hasbrown usage optional and add MSRV documentation.
    Open source →
  50. 0.4.1 26 Nov 2019
    Release notes
    • Use mem::MaybeUninit instead of mem::uninitialized.
    Open source →
  51. 0.4.0 28 Oct 2019
    Release notes
    • Use Borrow trait in contains and pop methods.
    Open source →
  52. 0.3.1 08 Oct 2019
    Release notes
    • Implement Debug for LruCache.
    Open source →
  53. 0.3.0 06 Oct 2019
    Release notes
    • Update the signature of the peek methods to use the Borrow trait and add a peek_mut method.
    Open source →
  54. 0.2.0 27 Sep 2019
    Release notes
    • Release a new minor version because of an accidental breaking change in the previous release (#50).
    Open source →
  55. 0.1.18 26 Sep 2019 withdrawn
    Release notes
    • Add borrowed type support for get_mut.
    Open source →
  56. 0.1.17 21 Aug 2019
    Release notes
    • Return Option from put method which contains old value if it exists.
    Open source →
  57. 0.1.16 25 Jul 2019
    Release notes
    • Implement Borrow trait for KeyRef with nightly OIBIT feature.
    Open source →
  58. 0.1.15 13 Apr 2019
    Release notes
    • Make crate no_std compatible with nightly feature.
    Open source →
  59. 0.1.14 13 Apr 2019
    Release notes
    • Implement IterMut to be able to get a mutable iterator for the cache.
    Open source →
  60. 0.1.13 12 Mar 2019
    Release notes
    • Bug fix to ensure that popped items are released.
    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