NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #338 most downloaded on crates.io
A LRU cache implementation
Last release 15 days ago
23 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
6 versions withdrawn
withdrawn after publishing
10 years old
76 releases · first in 2016
Releasing version 0.18.5
Releasing version 0.18.5
Releasing version 0.18.4
One column per quarter.
Releasing version 0.18.3
Releasing version 0.18.2
Releasing version 0.18.2
Releasing version 0.18.1
Releasing version 0.18.0
Releasing version 0.18.0
Releasing version 0.17.0
Releasing version 0.17.0
Releasing version 0.16.4
Releasing version 0.16.4
Releasing version 0.16.3
Releasing version 0.16.3
Releasing version 0.16.2
Releasing version 0.16.2
Releasing version 0.16.1
Releasing version 0.16.0
Releasing version 0.16.0
Releasing version 0.15.0
Releasing version 0.15.0
promote and demote to indicate whether key was found.Use NonZeroUsize::MAX instead of unwrap(), and update MSRV to 1.70.0.
NonZeroUsize::MAX instead of unwrap(), and update MSRV to 1.70.0.Add peek_mru and pop_mru methods, upgrade dependency on hashbrown to 0.15.2, and update MSRV to 1.65.0.
peek_mru and pop_mru methods, upgrade dependency on hashbrown to 0.15.2, and update MSRV to 1.65.0.Upgrade hashbrown dependency to 0.15.
Add methods that take a reference to the key that should be inserted.
- Add get_key_value_mut method.
get_key_value_mut method.- Add clone method.
clone method.- Add get_key_value method.
get_key_value method.Add lifetime specifier to try_get_or_insert_mut.
try_get_or_insert_mut.BuildHasher trait bound to Debug for LruCache.Add try_get_or_insert_mut method.
try_get_or_insert_mut method.Update dependency on hashbrown to 0.14 and update MSRV to 1.64.0.
- Add try_get_or_insert method.
try_get_or_insert method.Remove KeyRef from the public API.
KeyRef from the public API.Update dependency on hashbrown to 0.13.
LruCache.map to hold a pointer, rather than owned LruEntry.Add "caching" and "no-std" to list of categories.
Use NonZeroUsize for LRU capacity instead of usize.
NonZeroUsize for LRU capacity instead of usize.get_or_insert_mut method which is similiar to get_or_insert but returns a mutable
reference instead of an immutable reference.LruCache::promote and LruCache::demote API to manipulate LRU order of the entry directly.Update dependency on hashbrown to 0.12.
Use FnOnce instead of Fn for trait bound of fn in get_or_insert.
FnOnce instead of Fn for trait bound of fn in get_or_insert.- Add pop_entry method.
pop_entry method.- Add push method.
push method.Implement IntoIterator trait and fix lifetime bug in get_or_insert.
IntoIterator trait and fix lifetime bug in get_or_insert.- Add get_or_insert method.
get_or_insert method.Explicitly implement Borrow for Box for non-nightly.
- Fix lifetime of iterators.
Explicitly implement Borrow for String and Vec types for non-nightly.
Update dependency on hashbrown to 0.11.2.
Add unbounded_with_hasher constructor.
unbounded_with_hasher constructor.Fix memory leak when keys contain heap allocated data and ensure send/sync bounds apply to all conforming hashers.
Fix memory leak in clear and resize methods.
clear and resize methods.Rename optin_builtin_traits to auto_traits.
optin_builtin_traits to auto_traits.Update dependency on hashbrown to 0.9.
Update dependency on hashbrown to 0.8.
Fix bug that causes crash when putting an item into a zero-capacity cache.
- Fix nightly feature.
Fix memory leak whereby old entries wouldn't be dropped when cache is full.
Stop gating the alloc crate behind the nightly flag.
alloc crate behind the nightly flag.Use as_mut_ptr in drop to fix memory leak.
as_mut_ptr in drop to fix memory leak.Use mem::MaybeUninit for key and value fields of nodes and not the nodes themselves.
mem::MaybeUninit for key and value fields of nodes and not the nodes themselves.Add back import of alloc crate on nightly which was accidentally removed.
Make hasbrown usage optional and add MSRV documentation.
Use mem::MaybeUninit instead of mem::uninitialized.
mem::MaybeUninit instead of mem::uninitialized.Use Borrow trait in contains and pop methods.
Borrow trait in contains and pop methods.- Implement Debug for LruCache.
Debug for LruCache.Update the signature of the peek methods to use the Borrow trait and add a peek_mut method.
peek methods to use the Borrow trait and add a peek_mut method.Release a new minor version because of an accidental breaking change in the previous release (#50).
Add borrowed type support for get_mut.
Return Option from put method which contains old value if it exists.
Implement Borrow trait for KeyRef with nightly OIBIT feature.
Your coding agent can read these notes before it upgrades. Set up the MCP server →